diff --git a/csbindgen-tests/build.rs b/csbindgen-tests/build.rs index ddf1226..87f0b29 100644 --- a/csbindgen-tests/build.rs +++ b/csbindgen-tests/build.rs @@ -1,7 +1,7 @@ -// use std::error::Error; +use std::error::Error; -// fn main() -> Result<(), Box> { -fn main() { +fn main() -> Result<(), Box> { + //fn main() { // bindgen::Builder::default() // .header("c/lz4/lz4.h") // .header("c/lz4/lz4hc.h") @@ -21,24 +21,24 @@ fn main() { ]) .compile("lz4"); - // bindgen::Builder::default() - // .header("c/zstd/zstd.h") - // .generate()? - // .write_to_file("src/zstd.rs")?; + bindgen::Builder::default() + .header("c/zstd/zstd.h") + .generate()? + .write_to_file("src/zstd.rs")?; - // bindgen::Builder::default() - // .header("c/quiche/quiche.h") - // .generate()? - // .write_to_file("src/quiche.rs")?; + bindgen::Builder::default() + .header("c/quiche/quiche.h") + .generate()? + .write_to_file("src/quiche.rs")?; - // bindgen::Builder::default() - // .header("c/bullet3/PhysicsClientC_API.h") - // .header("c/bullet3/PhysicsClientSharedMemory_C_API.h") - // .header("c/bullet3/PhysicsClientSharedMemory2_C_API.h") - // .header("c/bullet3/PhysicsDirectC_API.h") - // .header("c/bullet3/SharedMemoryPublic.h") - // .generate()? - // .write_to_file("src/bullet3.rs")?; + bindgen::Builder::default() + .header("c/bullet3/PhysicsClientC_API.h") + .header("c/bullet3/PhysicsClientSharedMemory_C_API.h") + .header("c/bullet3/PhysicsClientSharedMemory2_C_API.h") + .header("c/bullet3/PhysicsDirectC_API.h") + .header("c/bullet3/SharedMemoryPublic.h") + .generate()? + .write_to_file("src/bullet3.rs")?; csbindgen::Builder::default() .input_bindgen_file("src/lz4.rs") @@ -65,26 +65,29 @@ fn main() { .generate_csharp_file("../dotnet-sandbox/method_call.cs") .unwrap(); - // csbindgen::Builder::new() - // .input_bindgen_file("src/zstd.rs") - // .rust_method_prefix("csbindgen_zstd_") - // .csharp_class_name("LibZstd") - // .csharp_dll_name("libzsd") - // .generate_to_file("src/zstd_ffi.rs", "../dotnet-sandbox/zstd_bindgen.cs")?; + csbindgen::Builder::new() + .input_bindgen_file("src/zstd.rs") + .method_filter(|x| x.starts_with("ZSTD_")) + .rust_method_prefix("csbindgen_zstd_") + .csharp_class_name("LibZstd") + .csharp_dll_name("libzsd") + .generate_to_file("src/zstd_ffi.rs", "../dotnet-sandbox/zstd_bindgen.cs")?; - // csbindgen::Builder::new() - // .input_bindgen_file("src/quiche.rs") - // .rust_method_prefix("csbindgen_quiche_") - // .csharp_class_name("LibQuiche") - // .csharp_dll_name("libquiche") - // .generate_to_file("src/quiche_ffi.rs", "../dotnet-sandbox/quiche_bindgen.cs")?; + csbindgen::Builder::new() + .input_bindgen_file("src/quiche.rs") + .method_filter(|x| x.starts_with("quiche_")) + .rust_method_prefix("csbindgen_quiche_") + .csharp_class_name("LibQuiche") + .csharp_dll_name("libquiche") + .generate_to_file("src/quiche_ffi.rs", "../dotnet-sandbox/quiche_bindgen.cs")?; - // csbindgen::Builder::new() - // .input_bindgen_file("src/bullet3.rs") - // .rust_method_prefix("csbindgen_bullet3_") - // .csharp_class_name("LibBullet3") - // .csharp_dll_name("libbullet3") - // .generate_to_file("src/bullet3_ffi.rs", "../dotnet-sandbox/bullet3_bindgen.cs")?; + csbindgen::Builder::new() + .input_bindgen_file("src/bullet3.rs") + .method_filter(|x| x.starts_with("b3")) + .rust_method_prefix("csbindgen_bullet3_") + .csharp_class_name("LibBullet3") + .csharp_dll_name("libbullet3") + .generate_to_file("src/bullet3_ffi.rs", "../dotnet-sandbox/bullet3_bindgen.cs")?; - // Ok(()) + Ok(()) } diff --git a/csbindgen-tests/src/bullet3.rs b/csbindgen-tests/src/bullet3.rs new file mode 100644 index 0000000..149d811 --- /dev/null +++ b/csbindgen-tests/src/bullet3.rs @@ -0,0 +1,7369 @@ +/* automatically generated by rust-bindgen 0.64.0 */ + +pub const SHARED_MEMORY_KEY: u32 = 12347; +pub const SHARED_MEMORY_MAGIC_NUMBER: u32 = 202010061; +pub const MAX_VR_ANALOG_AXIS: u32 = 5; +pub const MAX_VR_BUTTONS: u32 = 64; +pub const MAX_VR_CONTROLLERS: u32 = 8; +pub const MAX_KEYBOARD_EVENTS: u32 = 256; +pub const MAX_MOUSE_EVENTS: u32 = 256; +pub const MAX_SDF_BODIES: u32 = 512; +pub const MAX_USER_DATA_KEY_LENGTH: u32 = 256; +pub const MAX_REQUESTED_BODIES_LENGTH: u32 = 256; +pub const MAX_RAY_INTERSECTION_BATCH_SIZE: u32 = 256; +pub const MAX_RAY_INTERSECTION_BATCH_SIZE_STREAMING: u32 = 16384; +pub const MAX_RAY_HITS: u32 = 256; +pub const VISUAL_SHAPE_MAX_PATH_LEN: u32 = 1024; +pub const B3_MAX_PLUGIN_ARG_SIZE: u32 = 128; +pub const B3_MAX_PLUGIN_ARG_TEXT_LEN: u32 = 1024; +pub const MAX_ISLANDS_ANALYTICS: u32 = 64; +pub const B3_MAX_NUM_VERTICES: u32 = 131072; +pub const B3_MAX_NUM_INDICES: u32 = 524288; +pub const EnumSharedMemoryClientCommand_CMD_INVALID: EnumSharedMemoryClientCommand = 0; +pub const EnumSharedMemoryClientCommand_CMD_LOAD_SDF: EnumSharedMemoryClientCommand = 1; +pub const EnumSharedMemoryClientCommand_CMD_LOAD_URDF: EnumSharedMemoryClientCommand = 2; +pub const EnumSharedMemoryClientCommand_CMD_LOAD_BULLET: EnumSharedMemoryClientCommand = 3; +pub const EnumSharedMemoryClientCommand_CMD_SAVE_BULLET: EnumSharedMemoryClientCommand = 4; +pub const EnumSharedMemoryClientCommand_CMD_LOAD_MJCF: EnumSharedMemoryClientCommand = 5; +pub const EnumSharedMemoryClientCommand_CMD_LOAD_SOFT_BODY: EnumSharedMemoryClientCommand = 6; +pub const EnumSharedMemoryClientCommand_CMD_SEND_BULLET_DATA_STREAM: EnumSharedMemoryClientCommand = + 7; +pub const EnumSharedMemoryClientCommand_CMD_CREATE_BOX_COLLISION_SHAPE: + EnumSharedMemoryClientCommand = 8; +pub const EnumSharedMemoryClientCommand_CMD_CREATE_RIGID_BODY: EnumSharedMemoryClientCommand = 9; +pub const EnumSharedMemoryClientCommand_CMD_DELETE_RIGID_BODY: EnumSharedMemoryClientCommand = 10; +pub const EnumSharedMemoryClientCommand_CMD_CREATE_SENSOR: EnumSharedMemoryClientCommand = 11; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_INIT_POSE: EnumSharedMemoryClientCommand = 12; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_SEND_PHYSICS_SIMULATION_PARAMETERS: + EnumSharedMemoryClientCommand = 13; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_SEND_DESIRED_STATE: EnumSharedMemoryClientCommand = 14; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_ACTUAL_STATE: EnumSharedMemoryClientCommand = + 15; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_DEBUG_LINES: EnumSharedMemoryClientCommand = 16; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_BODY_INFO: EnumSharedMemoryClientCommand = 17; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_INTERNAL_DATA: EnumSharedMemoryClientCommand = + 18; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_STEP_FORWARD_SIMULATION: EnumSharedMemoryClientCommand = + 19; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_RESET_SIMULATION: EnumSharedMemoryClientCommand = 20; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_PICK_BODY: EnumSharedMemoryClientCommand = 21; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_MOVE_PICKED_BODY: EnumSharedMemoryClientCommand = 22; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REMOVE_PICKING_CONSTRAINT_BODY: + EnumSharedMemoryClientCommand = 23; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_CAMERA_IMAGE_DATA: + EnumSharedMemoryClientCommand = 24; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_APPLY_EXTERNAL_FORCE: EnumSharedMemoryClientCommand = + 25; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CALCULATE_INVERSE_DYNAMICS: + EnumSharedMemoryClientCommand = 26; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CALCULATE_INVERSE_KINEMATICS: + EnumSharedMemoryClientCommand = 27; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CALCULATE_JACOBIAN: EnumSharedMemoryClientCommand = 28; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CALCULATE_MASS_MATRIX: EnumSharedMemoryClientCommand = + 29; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_USER_CONSTRAINT: EnumSharedMemoryClientCommand = 30; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_CONTACT_POINT_INFORMATION: + EnumSharedMemoryClientCommand = 31; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_RAY_CAST_INTERSECTIONS: + EnumSharedMemoryClientCommand = 32; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_AABB_OVERLAP: EnumSharedMemoryClientCommand = + 33; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_SAVE_WORLD: EnumSharedMemoryClientCommand = 34; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_VISUAL_SHAPE_INFO: + EnumSharedMemoryClientCommand = 35; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_UPDATE_VISUAL_SHAPE: EnumSharedMemoryClientCommand = 36; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_LOAD_TEXTURE: EnumSharedMemoryClientCommand = 37; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_SET_SHADOW: EnumSharedMemoryClientCommand = 38; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_USER_DEBUG_DRAW: EnumSharedMemoryClientCommand = 39; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_VR_EVENTS_DATA: EnumSharedMemoryClientCommand = + 40; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_SET_VR_CAMERA_STATE: EnumSharedMemoryClientCommand = 41; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_SYNC_BODY_INFO: EnumSharedMemoryClientCommand = 42; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_STATE_LOGGING: EnumSharedMemoryClientCommand = 43; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CONFIGURE_OPENGL_VISUALIZER: + EnumSharedMemoryClientCommand = 44; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_KEYBOARD_EVENTS_DATA: + EnumSharedMemoryClientCommand = 45; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_OPENGL_VISUALIZER_CAMERA: + EnumSharedMemoryClientCommand = 46; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REMOVE_BODY: EnumSharedMemoryClientCommand = 47; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CHANGE_DYNAMICS_INFO: EnumSharedMemoryClientCommand = + 48; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_GET_DYNAMICS_INFO: EnumSharedMemoryClientCommand = 49; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_PROFILE_TIMING: EnumSharedMemoryClientCommand = 50; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CREATE_COLLISION_SHAPE: EnumSharedMemoryClientCommand = + 51; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CREATE_VISUAL_SHAPE: EnumSharedMemoryClientCommand = 52; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CREATE_MULTI_BODY: EnumSharedMemoryClientCommand = 53; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_COLLISION_INFO: EnumSharedMemoryClientCommand = + 54; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_MOUSE_EVENTS_DATA: + EnumSharedMemoryClientCommand = 55; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CHANGE_TEXTURE: EnumSharedMemoryClientCommand = 56; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_SET_ADDITIONAL_SEARCH_PATH: + EnumSharedMemoryClientCommand = 57; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_CUSTOM_COMMAND: EnumSharedMemoryClientCommand = 58; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_PHYSICS_SIMULATION_PARAMETERS: + EnumSharedMemoryClientCommand = 59; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_SAVE_STATE: EnumSharedMemoryClientCommand = 60; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_RESTORE_STATE: EnumSharedMemoryClientCommand = 61; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REMOVE_STATE: EnumSharedMemoryClientCommand = 62; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_COLLISION_SHAPE_INFO: + EnumSharedMemoryClientCommand = 63; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_SYNC_USER_DATA: EnumSharedMemoryClientCommand = 64; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_USER_DATA: EnumSharedMemoryClientCommand = 65; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_ADD_USER_DATA: EnumSharedMemoryClientCommand = 66; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REMOVE_USER_DATA: EnumSharedMemoryClientCommand = 67; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_COLLISION_FILTER: EnumSharedMemoryClientCommand = 68; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_MESH_DATA: EnumSharedMemoryClientCommand = 69; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_PERFORM_COLLISION_DETECTION: + EnumSharedMemoryClientCommand = 70; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_RESET_MESH_DATA: EnumSharedMemoryClientCommand = 71; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_REQUEST_TETRA_MESH_DATA: EnumSharedMemoryClientCommand = + 72; +#[doc = "enable or disable joint feedback for force/torque sensors"] +pub const EnumSharedMemoryClientCommand_CMD_MAX_CLIENT_COMMANDS: EnumSharedMemoryClientCommand = 73; +pub type EnumSharedMemoryClientCommand = ::std::os::raw::c_int; +pub const EnumSharedMemoryServerStatus_CMD_SHARED_MEMORY_NOT_INITIALIZED: + EnumSharedMemoryServerStatus = 0; +pub const EnumSharedMemoryServerStatus_CMD_WAITING_FOR_CLIENT_COMMAND: + EnumSharedMemoryServerStatus = 1; +pub const EnumSharedMemoryServerStatus_CMD_CLIENT_COMMAND_COMPLETED: EnumSharedMemoryServerStatus = + 2; +pub const EnumSharedMemoryServerStatus_CMD_UNKNOWN_COMMAND_FLUSHED: EnumSharedMemoryServerStatus = + 3; +pub const EnumSharedMemoryServerStatus_CMD_SDF_LOADING_COMPLETED: EnumSharedMemoryServerStatus = 4; +pub const EnumSharedMemoryServerStatus_CMD_SDF_LOADING_FAILED: EnumSharedMemoryServerStatus = 5; +pub const EnumSharedMemoryServerStatus_CMD_URDF_LOADING_COMPLETED: EnumSharedMemoryServerStatus = 6; +pub const EnumSharedMemoryServerStatus_CMD_URDF_LOADING_FAILED: EnumSharedMemoryServerStatus = 7; +pub const EnumSharedMemoryServerStatus_CMD_BULLET_LOADING_COMPLETED: EnumSharedMemoryServerStatus = + 8; +pub const EnumSharedMemoryServerStatus_CMD_BULLET_LOADING_FAILED: EnumSharedMemoryServerStatus = 9; +pub const EnumSharedMemoryServerStatus_CMD_BULLET_SAVING_COMPLETED: EnumSharedMemoryServerStatus = + 10; +pub const EnumSharedMemoryServerStatus_CMD_BULLET_SAVING_FAILED: EnumSharedMemoryServerStatus = 11; +pub const EnumSharedMemoryServerStatus_CMD_MJCF_LOADING_COMPLETED: EnumSharedMemoryServerStatus = + 12; +pub const EnumSharedMemoryServerStatus_CMD_MJCF_LOADING_FAILED: EnumSharedMemoryServerStatus = 13; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_INTERNAL_DATA_COMPLETED: + EnumSharedMemoryServerStatus = 14; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_INTERNAL_DATA_FAILED: + EnumSharedMemoryServerStatus = 15; +pub const EnumSharedMemoryServerStatus_CMD_BULLET_DATA_STREAM_RECEIVED_COMPLETED: + EnumSharedMemoryServerStatus = 16; +pub const EnumSharedMemoryServerStatus_CMD_BULLET_DATA_STREAM_RECEIVED_FAILED: + EnumSharedMemoryServerStatus = 17; +pub const EnumSharedMemoryServerStatus_CMD_BOX_COLLISION_SHAPE_CREATION_COMPLETED: + EnumSharedMemoryServerStatus = 18; +pub const EnumSharedMemoryServerStatus_CMD_RIGID_BODY_CREATION_COMPLETED: + EnumSharedMemoryServerStatus = 19; +pub const EnumSharedMemoryServerStatus_CMD_SET_JOINT_FEEDBACK_COMPLETED: + EnumSharedMemoryServerStatus = 20; +pub const EnumSharedMemoryServerStatus_CMD_ACTUAL_STATE_UPDATE_COMPLETED: + EnumSharedMemoryServerStatus = 21; +pub const EnumSharedMemoryServerStatus_CMD_ACTUAL_STATE_UPDATE_FAILED: + EnumSharedMemoryServerStatus = 22; +pub const EnumSharedMemoryServerStatus_CMD_DEBUG_LINES_COMPLETED: EnumSharedMemoryServerStatus = 23; +pub const EnumSharedMemoryServerStatus_CMD_DEBUG_LINES_OVERFLOW_FAILED: + EnumSharedMemoryServerStatus = 24; +pub const EnumSharedMemoryServerStatus_CMD_DESIRED_STATE_RECEIVED_COMPLETED: + EnumSharedMemoryServerStatus = 25; +pub const EnumSharedMemoryServerStatus_CMD_STEP_FORWARD_SIMULATION_COMPLETED: + EnumSharedMemoryServerStatus = 26; +pub const EnumSharedMemoryServerStatus_CMD_RESET_SIMULATION_COMPLETED: + EnumSharedMemoryServerStatus = 27; +pub const EnumSharedMemoryServerStatus_CMD_CAMERA_IMAGE_COMPLETED: EnumSharedMemoryServerStatus = + 28; +pub const EnumSharedMemoryServerStatus_CMD_CAMERA_IMAGE_FAILED: EnumSharedMemoryServerStatus = 29; +pub const EnumSharedMemoryServerStatus_CMD_BODY_INFO_COMPLETED: EnumSharedMemoryServerStatus = 30; +pub const EnumSharedMemoryServerStatus_CMD_BODY_INFO_FAILED: EnumSharedMemoryServerStatus = 31; +pub const EnumSharedMemoryServerStatus_CMD_INVALID_STATUS: EnumSharedMemoryServerStatus = 32; +pub const EnumSharedMemoryServerStatus_CMD_CALCULATED_INVERSE_DYNAMICS_COMPLETED: + EnumSharedMemoryServerStatus = 33; +pub const EnumSharedMemoryServerStatus_CMD_CALCULATED_INVERSE_DYNAMICS_FAILED: + EnumSharedMemoryServerStatus = 34; +pub const EnumSharedMemoryServerStatus_CMD_CALCULATED_JACOBIAN_COMPLETED: + EnumSharedMemoryServerStatus = 35; +pub const EnumSharedMemoryServerStatus_CMD_CALCULATED_JACOBIAN_FAILED: + EnumSharedMemoryServerStatus = 36; +pub const EnumSharedMemoryServerStatus_CMD_CALCULATED_MASS_MATRIX_COMPLETED: + EnumSharedMemoryServerStatus = 37; +pub const EnumSharedMemoryServerStatus_CMD_CALCULATED_MASS_MATRIX_FAILED: + EnumSharedMemoryServerStatus = 38; +pub const EnumSharedMemoryServerStatus_CMD_CONTACT_POINT_INFORMATION_COMPLETED: + EnumSharedMemoryServerStatus = 39; +pub const EnumSharedMemoryServerStatus_CMD_CONTACT_POINT_INFORMATION_FAILED: + EnumSharedMemoryServerStatus = 40; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_AABB_OVERLAP_COMPLETED: + EnumSharedMemoryServerStatus = 41; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_AABB_OVERLAP_FAILED: + EnumSharedMemoryServerStatus = 42; +pub const EnumSharedMemoryServerStatus_CMD_CALCULATE_INVERSE_KINEMATICS_COMPLETED: + EnumSharedMemoryServerStatus = 43; +pub const EnumSharedMemoryServerStatus_CMD_CALCULATE_INVERSE_KINEMATICS_FAILED: + EnumSharedMemoryServerStatus = 44; +pub const EnumSharedMemoryServerStatus_CMD_SAVE_WORLD_COMPLETED: EnumSharedMemoryServerStatus = 45; +pub const EnumSharedMemoryServerStatus_CMD_SAVE_WORLD_FAILED: EnumSharedMemoryServerStatus = 46; +pub const EnumSharedMemoryServerStatus_CMD_VISUAL_SHAPE_INFO_COMPLETED: + EnumSharedMemoryServerStatus = 47; +pub const EnumSharedMemoryServerStatus_CMD_VISUAL_SHAPE_INFO_FAILED: EnumSharedMemoryServerStatus = + 48; +pub const EnumSharedMemoryServerStatus_CMD_VISUAL_SHAPE_UPDATE_COMPLETED: + EnumSharedMemoryServerStatus = 49; +pub const EnumSharedMemoryServerStatus_CMD_VISUAL_SHAPE_UPDATE_FAILED: + EnumSharedMemoryServerStatus = 50; +pub const EnumSharedMemoryServerStatus_CMD_LOAD_TEXTURE_COMPLETED: EnumSharedMemoryServerStatus = + 51; +pub const EnumSharedMemoryServerStatus_CMD_LOAD_TEXTURE_FAILED: EnumSharedMemoryServerStatus = 52; +pub const EnumSharedMemoryServerStatus_CMD_USER_DEBUG_DRAW_COMPLETED: EnumSharedMemoryServerStatus = + 53; +pub const EnumSharedMemoryServerStatus_CMD_USER_DEBUG_DRAW_PARAMETER_COMPLETED: + EnumSharedMemoryServerStatus = 54; +pub const EnumSharedMemoryServerStatus_CMD_USER_DEBUG_DRAW_FAILED: EnumSharedMemoryServerStatus = + 55; +pub const EnumSharedMemoryServerStatus_CMD_USER_CONSTRAINT_COMPLETED: EnumSharedMemoryServerStatus = + 56; +pub const EnumSharedMemoryServerStatus_CMD_USER_CONSTRAINT_INFO_COMPLETED: + EnumSharedMemoryServerStatus = 57; +pub const EnumSharedMemoryServerStatus_CMD_USER_CONSTRAINT_REQUEST_STATE_COMPLETED: + EnumSharedMemoryServerStatus = 58; +pub const EnumSharedMemoryServerStatus_CMD_REMOVE_USER_CONSTRAINT_COMPLETED: + EnumSharedMemoryServerStatus = 59; +pub const EnumSharedMemoryServerStatus_CMD_CHANGE_USER_CONSTRAINT_COMPLETED: + EnumSharedMemoryServerStatus = 60; +pub const EnumSharedMemoryServerStatus_CMD_REMOVE_USER_CONSTRAINT_FAILED: + EnumSharedMemoryServerStatus = 61; +pub const EnumSharedMemoryServerStatus_CMD_CHANGE_USER_CONSTRAINT_FAILED: + EnumSharedMemoryServerStatus = 62; +pub const EnumSharedMemoryServerStatus_CMD_USER_CONSTRAINT_FAILED: EnumSharedMemoryServerStatus = + 63; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_VR_EVENTS_DATA_COMPLETED: + EnumSharedMemoryServerStatus = 64; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_RAY_CAST_INTERSECTIONS_COMPLETED: + EnumSharedMemoryServerStatus = 65; +pub const EnumSharedMemoryServerStatus_CMD_SYNC_BODY_INFO_COMPLETED: EnumSharedMemoryServerStatus = + 66; +pub const EnumSharedMemoryServerStatus_CMD_SYNC_BODY_INFO_FAILED: EnumSharedMemoryServerStatus = 67; +pub const EnumSharedMemoryServerStatus_CMD_STATE_LOGGING_COMPLETED: EnumSharedMemoryServerStatus = + 68; +pub const EnumSharedMemoryServerStatus_CMD_STATE_LOGGING_START_COMPLETED: + EnumSharedMemoryServerStatus = 69; +pub const EnumSharedMemoryServerStatus_CMD_STATE_LOGGING_FAILED: EnumSharedMemoryServerStatus = 70; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_KEYBOARD_EVENTS_DATA_COMPLETED: + EnumSharedMemoryServerStatus = 71; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_KEYBOARD_EVENTS_DATA_FAILED: + EnumSharedMemoryServerStatus = 72; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_OPENGL_VISUALIZER_CAMERA_FAILED: + EnumSharedMemoryServerStatus = 73; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_OPENGL_VISUALIZER_CAMERA_COMPLETED: + EnumSharedMemoryServerStatus = 74; +pub const EnumSharedMemoryServerStatus_CMD_REMOVE_BODY_COMPLETED: EnumSharedMemoryServerStatus = 75; +pub const EnumSharedMemoryServerStatus_CMD_REMOVE_BODY_FAILED: EnumSharedMemoryServerStatus = 76; +pub const EnumSharedMemoryServerStatus_CMD_GET_DYNAMICS_INFO_COMPLETED: + EnumSharedMemoryServerStatus = 77; +pub const EnumSharedMemoryServerStatus_CMD_GET_DYNAMICS_INFO_FAILED: EnumSharedMemoryServerStatus = + 78; +pub const EnumSharedMemoryServerStatus_CMD_CREATE_COLLISION_SHAPE_FAILED: + EnumSharedMemoryServerStatus = 79; +pub const EnumSharedMemoryServerStatus_CMD_CREATE_COLLISION_SHAPE_COMPLETED: + EnumSharedMemoryServerStatus = 80; +pub const EnumSharedMemoryServerStatus_CMD_CREATE_VISUAL_SHAPE_FAILED: + EnumSharedMemoryServerStatus = 81; +pub const EnumSharedMemoryServerStatus_CMD_CREATE_VISUAL_SHAPE_COMPLETED: + EnumSharedMemoryServerStatus = 82; +pub const EnumSharedMemoryServerStatus_CMD_CREATE_MULTI_BODY_FAILED: EnumSharedMemoryServerStatus = + 83; +pub const EnumSharedMemoryServerStatus_CMD_CREATE_MULTI_BODY_COMPLETED: + EnumSharedMemoryServerStatus = 84; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_COLLISION_INFO_COMPLETED: + EnumSharedMemoryServerStatus = 85; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_COLLISION_INFO_FAILED: + EnumSharedMemoryServerStatus = 86; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_MOUSE_EVENTS_DATA_COMPLETED: + EnumSharedMemoryServerStatus = 87; +pub const EnumSharedMemoryServerStatus_CMD_CHANGE_TEXTURE_COMMAND_FAILED: + EnumSharedMemoryServerStatus = 88; +pub const EnumSharedMemoryServerStatus_CMD_CUSTOM_COMMAND_COMPLETED: EnumSharedMemoryServerStatus = + 89; +pub const EnumSharedMemoryServerStatus_CMD_CUSTOM_COMMAND_FAILED: EnumSharedMemoryServerStatus = 90; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_PHYSICS_SIMULATION_PARAMETERS_COMPLETED: + EnumSharedMemoryServerStatus = 91; +pub const EnumSharedMemoryServerStatus_CMD_SAVE_STATE_FAILED: EnumSharedMemoryServerStatus = 92; +pub const EnumSharedMemoryServerStatus_CMD_SAVE_STATE_COMPLETED: EnumSharedMemoryServerStatus = 93; +pub const EnumSharedMemoryServerStatus_CMD_RESTORE_STATE_FAILED: EnumSharedMemoryServerStatus = 94; +pub const EnumSharedMemoryServerStatus_CMD_RESTORE_STATE_COMPLETED: EnumSharedMemoryServerStatus = + 95; +pub const EnumSharedMemoryServerStatus_CMD_COLLISION_SHAPE_INFO_COMPLETED: + EnumSharedMemoryServerStatus = 96; +pub const EnumSharedMemoryServerStatus_CMD_COLLISION_SHAPE_INFO_FAILED: + EnumSharedMemoryServerStatus = 97; +pub const EnumSharedMemoryServerStatus_CMD_LOAD_SOFT_BODY_FAILED: EnumSharedMemoryServerStatus = 98; +pub const EnumSharedMemoryServerStatus_CMD_LOAD_SOFT_BODY_COMPLETED: EnumSharedMemoryServerStatus = + 99; +pub const EnumSharedMemoryServerStatus_CMD_SYNC_USER_DATA_COMPLETED: EnumSharedMemoryServerStatus = + 100; +pub const EnumSharedMemoryServerStatus_CMD_SYNC_USER_DATA_FAILED: EnumSharedMemoryServerStatus = + 101; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_USER_DATA_COMPLETED: + EnumSharedMemoryServerStatus = 102; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_USER_DATA_FAILED: EnumSharedMemoryServerStatus = + 103; +pub const EnumSharedMemoryServerStatus_CMD_ADD_USER_DATA_COMPLETED: EnumSharedMemoryServerStatus = + 104; +pub const EnumSharedMemoryServerStatus_CMD_ADD_USER_DATA_FAILED: EnumSharedMemoryServerStatus = 105; +pub const EnumSharedMemoryServerStatus_CMD_REMOVE_USER_DATA_COMPLETED: + EnumSharedMemoryServerStatus = 106; +pub const EnumSharedMemoryServerStatus_CMD_REMOVE_USER_DATA_FAILED: EnumSharedMemoryServerStatus = + 107; +pub const EnumSharedMemoryServerStatus_CMD_REMOVE_STATE_COMPLETED: EnumSharedMemoryServerStatus = + 108; +pub const EnumSharedMemoryServerStatus_CMD_REMOVE_STATE_FAILED: EnumSharedMemoryServerStatus = 109; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_MESH_DATA_COMPLETED: + EnumSharedMemoryServerStatus = 110; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_MESH_DATA_FAILED: EnumSharedMemoryServerStatus = + 111; +pub const EnumSharedMemoryServerStatus_CMD_PERFORM_COLLISION_DETECTION_COMPLETED: + EnumSharedMemoryServerStatus = 112; +pub const EnumSharedMemoryServerStatus_CMD_RESET_MESH_DATA_COMPLETED: EnumSharedMemoryServerStatus = + 113; +pub const EnumSharedMemoryServerStatus_CMD_RESET_MESH_DATA_FAILED: EnumSharedMemoryServerStatus = + 114; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_TETRA_MESH_DATA_COMPLETED: + EnumSharedMemoryServerStatus = 115; +pub const EnumSharedMemoryServerStatus_CMD_REQUEST_TETRA_MESH_DATA_FAILED: + EnumSharedMemoryServerStatus = 116; +pub const EnumSharedMemoryServerStatus_CMD_MAX_SERVER_COMMANDS: EnumSharedMemoryServerStatus = 117; +pub type EnumSharedMemoryServerStatus = ::std::os::raw::c_int; +pub const JointInfoFlags_JOINT_HAS_MOTORIZED_POWER: JointInfoFlags = 1; +pub type JointInfoFlags = ::std::os::raw::c_int; +pub const COLLISION_SHAPE_TYPE_BOX: _bindgen_ty_1 = 1; +pub const COLLISION_SHAPE_TYPE_CYLINDER_X: _bindgen_ty_1 = 2; +pub const COLLISION_SHAPE_TYPE_CYLINDER_Y: _bindgen_ty_1 = 3; +pub const COLLISION_SHAPE_TYPE_CYLINDER_Z: _bindgen_ty_1 = 4; +pub const COLLISION_SHAPE_TYPE_CAPSULE_X: _bindgen_ty_1 = 5; +pub const COLLISION_SHAPE_TYPE_CAPSULE_Y: _bindgen_ty_1 = 6; +pub const COLLISION_SHAPE_TYPE_CAPSULE_Z: _bindgen_ty_1 = 7; +pub const COLLISION_SHAPE_TYPE_SPHERE: _bindgen_ty_1 = 8; +pub type _bindgen_ty_1 = ::std::os::raw::c_int; +pub const JointType_eRevoluteType: JointType = 0; +pub const JointType_ePrismaticType: JointType = 1; +pub const JointType_eSphericalType: JointType = 2; +pub const JointType_ePlanarType: JointType = 3; +pub const JointType_eFixedType: JointType = 4; +pub const JointType_ePoint2PointType: JointType = 5; +pub const JointType_eGearType: JointType = 6; +pub type JointType = ::std::os::raw::c_int; +pub const b3JointInfoFlags_eJointChangeMaxForce: b3JointInfoFlags = 1; +pub const b3JointInfoFlags_eJointChangeChildFramePosition: b3JointInfoFlags = 2; +pub const b3JointInfoFlags_eJointChangeChildFrameOrientation: b3JointInfoFlags = 4; +pub type b3JointInfoFlags = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3JointInfo { + pub m_linkName: [::std::os::raw::c_char; 1024usize], + pub m_jointName: [::std::os::raw::c_char; 1024usize], + pub m_jointType: ::std::os::raw::c_int, + pub m_qIndex: ::std::os::raw::c_int, + pub m_uIndex: ::std::os::raw::c_int, + pub m_jointIndex: ::std::os::raw::c_int, + pub m_flags: ::std::os::raw::c_int, + pub m_jointDamping: f64, + pub m_jointFriction: f64, + pub m_jointLowerLimit: f64, + pub m_jointUpperLimit: f64, + pub m_jointMaxForce: f64, + pub m_jointMaxVelocity: f64, + pub m_parentFrame: [f64; 7usize], + pub m_childFrame: [f64; 7usize], + pub m_jointAxis: [f64; 3usize], + pub m_parentIndex: ::std::os::raw::c_int, + pub m_qSize: ::std::os::raw::c_int, + pub m_uSize: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3JointInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2272usize, + concat!("Size of: ", stringify!(b3JointInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3JointInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_linkName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointName) as usize - ptr as usize }, + 1024usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointType) as usize - ptr as usize }, + 2048usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_qIndex) as usize - ptr as usize }, + 2052usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_qIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_uIndex) as usize - ptr as usize }, + 2056usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_uIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointIndex) as usize - ptr as usize }, + 2060usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_flags) as usize - ptr as usize }, + 2064usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointDamping) as usize - ptr as usize }, + 2072usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointDamping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointFriction) as usize - ptr as usize }, + 2080usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointFriction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointLowerLimit) as usize - ptr as usize }, + 2088usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointLowerLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointUpperLimit) as usize - ptr as usize }, + 2096usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointUpperLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointMaxForce) as usize - ptr as usize }, + 2104usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointMaxForce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointMaxVelocity) as usize - ptr as usize }, + 2112usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointMaxVelocity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_parentFrame) as usize - ptr as usize }, + 2120usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_parentFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_childFrame) as usize - ptr as usize }, + 2176usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_childFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointAxis) as usize - ptr as usize }, + 2232usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_jointAxis) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_parentIndex) as usize - ptr as usize }, + 2256usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_parentIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_qSize) as usize - ptr as usize }, + 2260usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_qSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_uSize) as usize - ptr as usize }, + 2264usize, + concat!( + "Offset of field: ", + stringify!(b3JointInfo), + "::", + stringify!(m_uSize) + ) + ); +} +pub const UserDataValueType_USER_DATA_VALUE_TYPE_BYTES: UserDataValueType = 0; +pub const UserDataValueType_USER_DATA_VALUE_TYPE_STRING: UserDataValueType = 1; +pub type UserDataValueType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3UserDataValue { + pub m_type: ::std::os::raw::c_int, + pub m_length: ::std::os::raw::c_int, + pub m_data1: *const ::std::os::raw::c_char, +} +#[test] +fn bindgen_test_layout_b3UserDataValue() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3UserDataValue)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3UserDataValue)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3UserDataValue), + "::", + stringify!(m_type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_length) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3UserDataValue), + "::", + stringify!(m_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_data1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3UserDataValue), + "::", + stringify!(m_data1) + ) + ); +} +pub const EnumUserConstraintFlags_USER_CONSTRAINT_ADD_CONSTRAINT: EnumUserConstraintFlags = 1; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_REMOVE_CONSTRAINT: EnumUserConstraintFlags = 2; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_CHANGE_CONSTRAINT: EnumUserConstraintFlags = 4; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_CHANGE_PIVOT_IN_B: EnumUserConstraintFlags = 8; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_CHANGE_FRAME_ORN_IN_B: EnumUserConstraintFlags = + 16; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_CHANGE_MAX_FORCE: EnumUserConstraintFlags = 32; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_REQUEST_INFO: EnumUserConstraintFlags = 64; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_CHANGE_GEAR_RATIO: EnumUserConstraintFlags = 128; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_CHANGE_GEAR_AUX_LINK: EnumUserConstraintFlags = + 256; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_CHANGE_RELATIVE_POSITION_TARGET: + EnumUserConstraintFlags = 512; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_CHANGE_ERP: EnumUserConstraintFlags = 1024; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_REQUEST_STATE: EnumUserConstraintFlags = 2048; +pub const EnumUserConstraintFlags_USER_CONSTRAINT_ADD_SOFT_BODY_ANCHOR: EnumUserConstraintFlags = + 4096; +pub type EnumUserConstraintFlags = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3UserConstraint { + pub m_parentBodyIndex: ::std::os::raw::c_int, + pub m_parentJointIndex: ::std::os::raw::c_int, + pub m_childBodyIndex: ::std::os::raw::c_int, + pub m_childJointIndex: ::std::os::raw::c_int, + pub m_parentFrame: [f64; 7usize], + pub m_childFrame: [f64; 7usize], + pub m_jointAxis: [f64; 3usize], + pub m_jointType: ::std::os::raw::c_int, + pub m_maxAppliedForce: f64, + pub m_userConstraintUniqueId: ::std::os::raw::c_int, + pub m_gearRatio: f64, + pub m_gearAuxLink: ::std::os::raw::c_int, + pub m_relativePositionTarget: f64, + pub m_erp: f64, +} +#[test] +fn bindgen_test_layout_b3UserConstraint() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 208usize, + concat!("Size of: ", stringify!(b3UserConstraint)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3UserConstraint)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_parentBodyIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_parentBodyIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_parentJointIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_parentJointIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_childBodyIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_childBodyIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_childJointIndex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_childJointIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_parentFrame) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_parentFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_childFrame) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_childFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointAxis) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_jointAxis) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointType) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_jointType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_maxAppliedForce) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_maxAppliedForce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_userConstraintUniqueId) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_userConstraintUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_gearRatio) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_gearRatio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_gearAuxLink) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_gearAuxLink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_relativePositionTarget) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_relativePositionTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_erp) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraint), + "::", + stringify!(m_erp) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3BodyInfo { + pub m_baseName: [::std::os::raw::c_char; 1024usize], + pub m_bodyName: [::std::os::raw::c_char; 1024usize], +} +#[test] +fn bindgen_test_layout_b3BodyInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2048usize, + concat!("Size of: ", stringify!(b3BodyInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(b3BodyInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_baseName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3BodyInfo), + "::", + stringify!(m_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyName) as usize - ptr as usize }, + 1024usize, + concat!( + "Offset of field: ", + stringify!(b3BodyInfo), + "::", + stringify!(m_bodyName) + ) + ); +} +pub const DynamicsActivationState_eActivationStateEnableSleeping: DynamicsActivationState = 1; +pub const DynamicsActivationState_eActivationStateDisableSleeping: DynamicsActivationState = 2; +pub const DynamicsActivationState_eActivationStateWakeUp: DynamicsActivationState = 4; +pub const DynamicsActivationState_eActivationStateSleep: DynamicsActivationState = 8; +pub const DynamicsActivationState_eActivationStateEnableWakeup: DynamicsActivationState = 16; +pub const DynamicsActivationState_eActivationStateDisableWakeup: DynamicsActivationState = 32; +pub type DynamicsActivationState = ::std::os::raw::c_int; +pub const b3BodyType_BT_RIGID_BODY: b3BodyType = 1; +pub const b3BodyType_BT_MULTI_BODY: b3BodyType = 2; +pub const b3BodyType_BT_SOFT_BODY: b3BodyType = 3; +pub type b3BodyType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3DynamicsInfo { + pub m_mass: f64, + pub m_localInertialDiagonal: [f64; 3usize], + pub m_localInertialFrame: [f64; 7usize], + pub m_lateralFrictionCoeff: f64, + pub m_rollingFrictionCoeff: f64, + pub m_spinningFrictionCoeff: f64, + pub m_restitution: f64, + pub m_contactStiffness: f64, + pub m_contactDamping: f64, + pub m_activationState: ::std::os::raw::c_int, + pub m_bodyType: ::std::os::raw::c_int, + pub m_angularDamping: f64, + pub m_linearDamping: f64, + pub m_ccdSweptSphereRadius: f64, + pub m_contactProcessingThreshold: f64, + pub m_frictionAnchor: ::std::os::raw::c_int, + pub m_collisionMargin: f64, + pub m_dynamicType: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3DynamicsInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 200usize, + concat!("Size of: ", stringify!(b3DynamicsInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3DynamicsInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_mass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_mass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_localInertialDiagonal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_localInertialDiagonal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_localInertialFrame) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_localInertialFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_lateralFrictionCoeff) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_lateralFrictionCoeff) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_rollingFrictionCoeff) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_rollingFrictionCoeff) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_spinningFrictionCoeff) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_spinningFrictionCoeff) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_restitution) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_restitution) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_contactStiffness) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_contactStiffness) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_contactDamping) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_contactDamping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_activationState) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_activationState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyType) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_bodyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_angularDamping) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_angularDamping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linearDamping) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_linearDamping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_ccdSweptSphereRadius) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_ccdSweptSphereRadius) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_contactProcessingThreshold) as usize - ptr as usize + }, + 168usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_contactProcessingThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_frictionAnchor) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_frictionAnchor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_collisionMargin) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_collisionMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_dynamicType) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(b3DynamicsInfo), + "::", + stringify!(m_dynamicType) + ) + ); +} +pub const SensorType_eSensorForceTorqueType: SensorType = 1; +pub type SensorType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3JointSensorState { + pub m_jointPosition: f64, + pub m_jointVelocity: f64, + pub m_jointForceTorque: [f64; 6usize], + pub m_jointMotorTorque: f64, +} +#[test] +fn bindgen_test_layout_b3JointSensorState() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(b3JointSensorState)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3JointSensorState)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState), + "::", + stringify!(m_jointPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointVelocity) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState), + "::", + stringify!(m_jointVelocity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointForceTorque) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState), + "::", + stringify!(m_jointForceTorque) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointMotorTorque) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState), + "::", + stringify!(m_jointMotorTorque) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3JointSensorState2 { + pub m_jointPosition: [f64; 4usize], + pub m_jointVelocity: [f64; 3usize], + pub m_jointReactionForceTorque: [f64; 6usize], + pub m_jointMotorTorqueMultiDof: [f64; 3usize], + pub m_qDofSize: ::std::os::raw::c_int, + pub m_uDofSize: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3JointSensorState2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(b3JointSensorState2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3JointSensorState2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState2), + "::", + stringify!(m_jointPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointVelocity) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState2), + "::", + stringify!(m_jointVelocity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointReactionForceTorque) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState2), + "::", + stringify!(m_jointReactionForceTorque) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointMotorTorqueMultiDof) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState2), + "::", + stringify!(m_jointMotorTorqueMultiDof) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_qDofSize) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState2), + "::", + stringify!(m_qDofSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_uDofSize) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(b3JointSensorState2), + "::", + stringify!(m_uDofSize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3DebugLines { + pub m_numDebugLines: ::std::os::raw::c_int, + pub m_linesFrom: *const f32, + pub m_linesTo: *const f32, + pub m_linesColor: *const f32, +} +#[test] +fn bindgen_test_layout_b3DebugLines() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(b3DebugLines)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3DebugLines)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numDebugLines) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3DebugLines), + "::", + stringify!(m_numDebugLines) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linesFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3DebugLines), + "::", + stringify!(m_linesFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linesTo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3DebugLines), + "::", + stringify!(m_linesTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linesColor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(b3DebugLines), + "::", + stringify!(m_linesColor) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3OverlappingObject { + pub m_objectUniqueId: ::std::os::raw::c_int, + pub m_linkIndex: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3OverlappingObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(b3OverlappingObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3OverlappingObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_objectUniqueId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3OverlappingObject), + "::", + stringify!(m_objectUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3OverlappingObject), + "::", + stringify!(m_linkIndex) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3AABBOverlapData { + pub m_numOverlappingObjects: ::std::os::raw::c_int, + pub m_overlappingObjects: *mut b3OverlappingObject, +} +#[test] +fn bindgen_test_layout_b3AABBOverlapData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3AABBOverlapData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3AABBOverlapData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numOverlappingObjects) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3AABBOverlapData), + "::", + stringify!(m_numOverlappingObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_overlappingObjects) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3AABBOverlapData), + "::", + stringify!(m_overlappingObjects) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3CameraImageData { + pub m_pixelWidth: ::std::os::raw::c_int, + pub m_pixelHeight: ::std::os::raw::c_int, + pub m_rgbColorData: *const ::std::os::raw::c_uchar, + pub m_depthValues: *const f32, + pub m_segmentationMaskValues: *const ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3CameraImageData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(b3CameraImageData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3CameraImageData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_pixelWidth) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3CameraImageData), + "::", + stringify!(m_pixelWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_pixelHeight) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3CameraImageData), + "::", + stringify!(m_pixelHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_rgbColorData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3CameraImageData), + "::", + stringify!(m_rgbColorData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_depthValues) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3CameraImageData), + "::", + stringify!(m_depthValues) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_segmentationMaskValues) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(b3CameraImageData), + "::", + stringify!(m_segmentationMaskValues) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3MeshVertex { + pub x: f64, + pub y: f64, + pub z: f64, + pub w: f64, +} +#[test] +fn bindgen_test_layout_b3MeshVertex() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(b3MeshVertex)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3MeshVertex)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3MeshVertex), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3MeshVertex), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3MeshVertex), + "::", + stringify!(z) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(b3MeshVertex), + "::", + stringify!(w) + ) + ); +} +pub const eMeshDataFlags_B3_MESH_DATA_SIMULATION_MESH: eMeshDataFlags = 1; +pub const eMeshDataFlags_B3_MESH_DATA_SIMULATION_INDICES: eMeshDataFlags = 2; +pub const eMeshDataFlags_B3_MESH_DATA_GRAPHICS_INDICES: eMeshDataFlags = 4; +pub const eMeshDataFlags_B3_MESH_DATA_SIMULATION_MESH_VELOCITY: eMeshDataFlags = 8; +pub type eMeshDataFlags = ::std::os::raw::c_int; +pub const eMeshDataEnum_B3_MESH_DATA_COLLISIONSHAPEINDEX: eMeshDataEnum = 1; +pub const eMeshDataEnum_B3_MESH_DATA_FLAGS: eMeshDataEnum = 2; +pub type eMeshDataEnum = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3MeshData { + pub m_numVertices: ::std::os::raw::c_int, + pub m_vertices: *mut b3MeshVertex, +} +#[test] +fn bindgen_test_layout_b3MeshData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3MeshData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3MeshData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numVertices) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3MeshData), + "::", + stringify!(m_numVertices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_vertices) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3MeshData), + "::", + stringify!(m_vertices) + ) + ); +} +pub const eTetraMeshDataEnum_B3_TETRA_MESH_DATA_FLAGS: eTetraMeshDataEnum = 2; +pub type eTetraMeshDataEnum = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3TetraMeshData { + pub m_numVertices: ::std::os::raw::c_int, + pub m_vertices: *mut b3MeshVertex, +} +#[test] +fn bindgen_test_layout_b3TetraMeshData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3TetraMeshData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3TetraMeshData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numVertices) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3TetraMeshData), + "::", + stringify!(m_numVertices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_vertices) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3TetraMeshData), + "::", + stringify!(m_vertices) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3OpenGLVisualizerCameraInfo { + pub m_width: ::std::os::raw::c_int, + pub m_height: ::std::os::raw::c_int, + pub m_viewMatrix: [f32; 16usize], + pub m_projectionMatrix: [f32; 16usize], + pub m_camUp: [f32; 3usize], + pub m_camForward: [f32; 3usize], + pub m_horizontal: [f32; 3usize], + pub m_vertical: [f32; 3usize], + pub m_yaw: f32, + pub m_pitch: f32, + pub m_dist: f32, + pub m_target: [f32; 3usize], +} +#[test] +fn bindgen_test_layout_b3OpenGLVisualizerCameraInfo() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 208usize, + concat!("Size of: ", stringify!(b3OpenGLVisualizerCameraInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3OpenGLVisualizerCameraInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_width) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_width) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_height) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_height) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_viewMatrix) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_viewMatrix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_projectionMatrix) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_projectionMatrix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_camUp) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_camUp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_camForward) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_camForward) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_horizontal) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_horizontal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_vertical) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_vertical) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_yaw) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_yaw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_pitch) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_pitch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_dist) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_dist) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_target) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(b3OpenGLVisualizerCameraInfo), + "::", + stringify!(m_target) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3UserConstraintState { + pub m_appliedConstraintForces: [f64; 6usize], + pub m_numDofs: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3UserConstraintState() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(b3UserConstraintState)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3UserConstraintState)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_appliedConstraintForces) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraintState), + "::", + stringify!(m_appliedConstraintForces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numDofs) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(b3UserConstraintState), + "::", + stringify!(m_numDofs) + ) + ); +} +pub const b3VREventType_VR_CONTROLLER_MOVE_EVENT: b3VREventType = 1; +pub const b3VREventType_VR_CONTROLLER_BUTTON_EVENT: b3VREventType = 2; +pub const b3VREventType_VR_HMD_MOVE_EVENT: b3VREventType = 4; +pub const b3VREventType_VR_GENERIC_TRACKER_MOVE_EVENT: b3VREventType = 8; +pub type b3VREventType = ::std::os::raw::c_int; +pub const b3VRButtonInfo_eButtonIsDown: b3VRButtonInfo = 1; +pub const b3VRButtonInfo_eButtonTriggered: b3VRButtonInfo = 2; +pub const b3VRButtonInfo_eButtonReleased: b3VRButtonInfo = 4; +pub type b3VRButtonInfo = ::std::os::raw::c_int; +pub const eVRDeviceTypeEnums_VR_DEVICE_CONTROLLER: eVRDeviceTypeEnums = 1; +pub const eVRDeviceTypeEnums_VR_DEVICE_HMD: eVRDeviceTypeEnums = 2; +pub const eVRDeviceTypeEnums_VR_DEVICE_GENERIC_TRACKER: eVRDeviceTypeEnums = 4; +pub type eVRDeviceTypeEnums = ::std::os::raw::c_int; +pub const EVRCameraFlags_VR_CAMERA_TRACK_OBJECT_ORIENTATION: EVRCameraFlags = 1; +pub type EVRCameraFlags = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3VRControllerEvent { + pub m_controllerId: ::std::os::raw::c_int, + pub m_deviceType: ::std::os::raw::c_int, + pub m_numMoveEvents: ::std::os::raw::c_int, + pub m_numButtonEvents: ::std::os::raw::c_int, + pub m_pos: [f32; 4usize], + pub m_orn: [f32; 4usize], + pub m_analogAxis: f32, + pub m_auxAnalogAxis: [f32; 10usize], + pub m_buttons: [::std::os::raw::c_int; 64usize], +} +#[test] +fn bindgen_test_layout_b3VRControllerEvent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 348usize, + concat!("Size of: ", stringify!(b3VRControllerEvent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3VRControllerEvent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_controllerId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3VRControllerEvent), + "::", + stringify!(m_controllerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_deviceType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3VRControllerEvent), + "::", + stringify!(m_deviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numMoveEvents) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3VRControllerEvent), + "::", + stringify!(m_numMoveEvents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numButtonEvents) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(b3VRControllerEvent), + "::", + stringify!(m_numButtonEvents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_pos) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3VRControllerEvent), + "::", + stringify!(m_pos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_orn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(b3VRControllerEvent), + "::", + stringify!(m_orn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_analogAxis) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(b3VRControllerEvent), + "::", + stringify!(m_analogAxis) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_auxAnalogAxis) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(b3VRControllerEvent), + "::", + stringify!(m_auxAnalogAxis) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_buttons) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(b3VRControllerEvent), + "::", + stringify!(m_buttons) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3VREventsData { + pub m_numControllerEvents: ::std::os::raw::c_int, + pub m_controllerEvents: *mut b3VRControllerEvent, +} +#[test] +fn bindgen_test_layout_b3VREventsData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3VREventsData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3VREventsData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numControllerEvents) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3VREventsData), + "::", + stringify!(m_numControllerEvents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_controllerEvents) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3VREventsData), + "::", + stringify!(m_controllerEvents) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3KeyboardEvent { + pub m_keyCode: ::std::os::raw::c_int, + pub m_keyState: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3KeyboardEvent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(b3KeyboardEvent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3KeyboardEvent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_keyCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3KeyboardEvent), + "::", + stringify!(m_keyCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_keyState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3KeyboardEvent), + "::", + stringify!(m_keyState) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3KeyboardEventsData { + pub m_numKeyboardEvents: ::std::os::raw::c_int, + pub m_keyboardEvents: *mut b3KeyboardEvent, +} +#[test] +fn bindgen_test_layout_b3KeyboardEventsData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3KeyboardEventsData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3KeyboardEventsData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numKeyboardEvents) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3KeyboardEventsData), + "::", + stringify!(m_numKeyboardEvents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_keyboardEvents) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3KeyboardEventsData), + "::", + stringify!(m_keyboardEvents) + ) + ); +} +pub const eMouseEventTypeEnums_MOUSE_MOVE_EVENT: eMouseEventTypeEnums = 1; +pub const eMouseEventTypeEnums_MOUSE_BUTTON_EVENT: eMouseEventTypeEnums = 2; +pub type eMouseEventTypeEnums = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3MouseEvent { + pub m_eventType: ::std::os::raw::c_int, + pub m_mousePosX: f32, + pub m_mousePosY: f32, + pub m_buttonIndex: ::std::os::raw::c_int, + pub m_buttonState: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3MouseEvent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(b3MouseEvent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3MouseEvent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_eventType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3MouseEvent), + "::", + stringify!(m_eventType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_mousePosX) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3MouseEvent), + "::", + stringify!(m_mousePosX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_mousePosY) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3MouseEvent), + "::", + stringify!(m_mousePosY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_buttonIndex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(b3MouseEvent), + "::", + stringify!(m_buttonIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_buttonState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3MouseEvent), + "::", + stringify!(m_buttonState) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3MouseEventsData { + pub m_numMouseEvents: ::std::os::raw::c_int, + pub m_mouseEvents: *mut b3MouseEvent, +} +#[test] +fn bindgen_test_layout_b3MouseEventsData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3MouseEventsData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3MouseEventsData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numMouseEvents) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3MouseEventsData), + "::", + stringify!(m_numMouseEvents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_mouseEvents) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3MouseEventsData), + "::", + stringify!(m_mouseEvents) + ) + ); +} +pub const b3NotificationType_SIMULATION_RESET: b3NotificationType = 0; +pub const b3NotificationType_BODY_ADDED: b3NotificationType = 1; +pub const b3NotificationType_BODY_REMOVED: b3NotificationType = 2; +pub const b3NotificationType_USER_DATA_ADDED: b3NotificationType = 3; +pub const b3NotificationType_USER_DATA_REMOVED: b3NotificationType = 4; +pub const b3NotificationType_LINK_DYNAMICS_CHANGED: b3NotificationType = 5; +pub const b3NotificationType_VISUAL_SHAPE_CHANGED: b3NotificationType = 6; +pub const b3NotificationType_TRANSFORM_CHANGED: b3NotificationType = 7; +pub const b3NotificationType_SIMULATION_STEPPED: b3NotificationType = 8; +pub const b3NotificationType_SOFTBODY_CHANGED: b3NotificationType = 9; +pub type b3NotificationType = ::std::os::raw::c_int; +pub const b3ResetSimulationFlags_RESET_USE_DEFORMABLE_WORLD: b3ResetSimulationFlags = 1; +pub const b3ResetSimulationFlags_RESET_USE_DISCRETE_DYNAMICS_WORLD: b3ResetSimulationFlags = 2; +pub const b3ResetSimulationFlags_RESET_USE_SIMPLE_BROADPHASE: b3ResetSimulationFlags = 4; +pub const b3ResetSimulationFlags_RESET_USE_REDUCED_DEFORMABLE_WORLD: b3ResetSimulationFlags = 8; +pub type b3ResetSimulationFlags = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3BodyNotificationArgs { + pub m_bodyUniqueId: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3BodyNotificationArgs() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(b3BodyNotificationArgs)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3BodyNotificationArgs)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyUniqueId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3BodyNotificationArgs), + "::", + stringify!(m_bodyUniqueId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3UserDataNotificationArgs { + pub m_bodyUniqueId: ::std::os::raw::c_int, + pub m_linkIndex: ::std::os::raw::c_int, + pub m_visualShapeIndex: ::std::os::raw::c_int, + pub m_userDataId: ::std::os::raw::c_int, + pub m_key: [::std::os::raw::c_char; 256usize], +} +#[test] +fn bindgen_test_layout_b3UserDataNotificationArgs() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 272usize, + concat!("Size of: ", stringify!(b3UserDataNotificationArgs)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3UserDataNotificationArgs)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyUniqueId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3UserDataNotificationArgs), + "::", + stringify!(m_bodyUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3UserDataNotificationArgs), + "::", + stringify!(m_linkIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_visualShapeIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3UserDataNotificationArgs), + "::", + stringify!(m_visualShapeIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_userDataId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(b3UserDataNotificationArgs), + "::", + stringify!(m_userDataId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_key) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3UserDataNotificationArgs), + "::", + stringify!(m_key) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3LinkNotificationArgs { + pub m_bodyUniqueId: ::std::os::raw::c_int, + pub m_linkIndex: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3LinkNotificationArgs() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(b3LinkNotificationArgs)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3LinkNotificationArgs)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyUniqueId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3LinkNotificationArgs), + "::", + stringify!(m_bodyUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3LinkNotificationArgs), + "::", + stringify!(m_linkIndex) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3VisualShapeNotificationArgs { + pub m_bodyUniqueId: ::std::os::raw::c_int, + pub m_linkIndex: ::std::os::raw::c_int, + pub m_visualShapeIndex: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3VisualShapeNotificationArgs() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(b3VisualShapeNotificationArgs)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3VisualShapeNotificationArgs)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyUniqueId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeNotificationArgs), + "::", + stringify!(m_bodyUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeNotificationArgs), + "::", + stringify!(m_linkIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_visualShapeIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeNotificationArgs), + "::", + stringify!(m_visualShapeIndex) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3TransformChangeNotificationArgs { + pub m_bodyUniqueId: ::std::os::raw::c_int, + pub m_linkIndex: ::std::os::raw::c_int, + pub m_worldPosition: [f64; 3usize], + pub m_worldRotation: [f64; 4usize], + pub m_localScaling: [f64; 3usize], +} +#[test] +fn bindgen_test_layout_b3TransformChangeNotificationArgs() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(b3TransformChangeNotificationArgs)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(b3TransformChangeNotificationArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyUniqueId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3TransformChangeNotificationArgs), + "::", + stringify!(m_bodyUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3TransformChangeNotificationArgs), + "::", + stringify!(m_linkIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldPosition) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3TransformChangeNotificationArgs), + "::", + stringify!(m_worldPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldRotation) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(b3TransformChangeNotificationArgs), + "::", + stringify!(m_worldRotation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_localScaling) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(b3TransformChangeNotificationArgs), + "::", + stringify!(m_localScaling) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3SoftBodyChangeNotificationArgs { + pub m_bodyUniqueId: ::std::os::raw::c_int, + pub m_linkIndex: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3SoftBodyChangeNotificationArgs() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(b3SoftBodyChangeNotificationArgs)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(b3SoftBodyChangeNotificationArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyUniqueId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3SoftBodyChangeNotificationArgs), + "::", + stringify!(m_bodyUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3SoftBodyChangeNotificationArgs), + "::", + stringify!(m_linkIndex) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct b3Notification { + pub m_notificationType: ::std::os::raw::c_int, + pub __bindgen_anon_1: b3Notification__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union b3Notification__bindgen_ty_1 { + pub m_bodyArgs: b3BodyNotificationArgs, + pub m_userDataArgs: b3UserDataNotificationArgs, + pub m_linkArgs: b3LinkNotificationArgs, + pub m_visualShapeArgs: b3VisualShapeNotificationArgs, + pub m_transformChangeArgs: b3TransformChangeNotificationArgs, + pub m_softBodyChangeArgs: b3SoftBodyChangeNotificationArgs, +} +#[test] +fn bindgen_test_layout_b3Notification__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 272usize, + concat!("Size of: ", stringify!(b3Notification__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3Notification__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyArgs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3Notification__bindgen_ty_1), + "::", + stringify!(m_bodyArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_userDataArgs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3Notification__bindgen_ty_1), + "::", + stringify!(m_userDataArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkArgs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3Notification__bindgen_ty_1), + "::", + stringify!(m_linkArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_visualShapeArgs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3Notification__bindgen_ty_1), + "::", + stringify!(m_visualShapeArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_transformChangeArgs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3Notification__bindgen_ty_1), + "::", + stringify!(m_transformChangeArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_softBodyChangeArgs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3Notification__bindgen_ty_1), + "::", + stringify!(m_softBodyChangeArgs) + ) + ); +} +#[test] +fn bindgen_test_layout_b3Notification() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 280usize, + concat!("Size of: ", stringify!(b3Notification)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3Notification)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_notificationType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3Notification), + "::", + stringify!(m_notificationType) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3ContactPointData { + pub m_contactFlags: ::std::os::raw::c_int, + pub m_bodyUniqueIdA: ::std::os::raw::c_int, + pub m_bodyUniqueIdB: ::std::os::raw::c_int, + pub m_linkIndexA: ::std::os::raw::c_int, + pub m_linkIndexB: ::std::os::raw::c_int, + pub m_positionOnAInWS: [f64; 3usize], + pub m_positionOnBInWS: [f64; 3usize], + pub m_contactNormalOnBInWS: [f64; 3usize], + pub m_contactDistance: f64, + pub m_normalForce: f64, + pub m_linearFrictionForce1: f64, + pub m_linearFrictionForce2: f64, + pub m_linearFrictionDirection1: [f64; 3usize], + pub m_linearFrictionDirection2: [f64; 3usize], +} +#[test] +fn bindgen_test_layout_b3ContactPointData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 176usize, + concat!("Size of: ", stringify!(b3ContactPointData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3ContactPointData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_contactFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_contactFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyUniqueIdA) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_bodyUniqueIdA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_bodyUniqueIdB) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_bodyUniqueIdB) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndexA) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_linkIndexA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndexB) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_linkIndexB) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_positionOnAInWS) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_positionOnAInWS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_positionOnBInWS) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_positionOnBInWS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_contactNormalOnBInWS) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_contactNormalOnBInWS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_contactDistance) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_contactDistance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_normalForce) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_normalForce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linearFrictionForce1) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_linearFrictionForce1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linearFrictionForce2) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_linearFrictionForce2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linearFrictionDirection1) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_linearFrictionDirection1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linearFrictionDirection2) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(b3ContactPointData), + "::", + stringify!(m_linearFrictionDirection2) + ) + ); +} +pub const CONTACT_QUERY_MODE_REPORT_EXISTING_CONTACT_POINTS: _bindgen_ty_2 = 0; +pub const CONTACT_QUERY_MODE_COMPUTE_CLOSEST_POINTS: _bindgen_ty_2 = 1; +pub type _bindgen_ty_2 = ::std::os::raw::c_int; +pub const b3StateLoggingType_STATE_LOGGING_MINITAUR: b3StateLoggingType = 0; +pub const b3StateLoggingType_STATE_LOGGING_GENERIC_ROBOT: b3StateLoggingType = 1; +pub const b3StateLoggingType_STATE_LOGGING_VR_CONTROLLERS: b3StateLoggingType = 2; +pub const b3StateLoggingType_STATE_LOGGING_VIDEO_MP4: b3StateLoggingType = 3; +pub const b3StateLoggingType_STATE_LOGGING_COMMANDS: b3StateLoggingType = 4; +pub const b3StateLoggingType_STATE_LOGGING_CONTACT_POINTS: b3StateLoggingType = 5; +pub const b3StateLoggingType_STATE_LOGGING_PROFILE_TIMINGS: b3StateLoggingType = 6; +pub const b3StateLoggingType_STATE_LOGGING_ALL_COMMANDS: b3StateLoggingType = 7; +pub const b3StateLoggingType_STATE_REPLAY_ALL_COMMANDS: b3StateLoggingType = 8; +pub const b3StateLoggingType_STATE_LOGGING_CUSTOM_TIMER: b3StateLoggingType = 9; +pub type b3StateLoggingType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3ContactInformation { + pub m_numContactPoints: ::std::os::raw::c_int, + pub m_contactPointData: *mut b3ContactPointData, +} +#[test] +fn bindgen_test_layout_b3ContactInformation() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3ContactInformation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3ContactInformation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numContactPoints) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3ContactInformation), + "::", + stringify!(m_numContactPoints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_contactPointData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3ContactInformation), + "::", + stringify!(m_contactPointData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3RayData { + pub m_rayFromPosition: [f64; 3usize], + pub m_rayToPosition: [f64; 3usize], +} +#[test] +fn bindgen_test_layout_b3RayData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(b3RayData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3RayData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_rayFromPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3RayData), + "::", + stringify!(m_rayFromPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_rayToPosition) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(b3RayData), + "::", + stringify!(m_rayToPosition) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3RayHitInfo { + pub m_hitFraction: f64, + pub m_hitObjectUniqueId: ::std::os::raw::c_int, + pub m_hitObjectLinkIndex: ::std::os::raw::c_int, + pub m_hitPositionWorld: [f64; 3usize], + pub m_hitNormalWorld: [f64; 3usize], +} +#[test] +fn bindgen_test_layout_b3RayHitInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(b3RayHitInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3RayHitInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_hitFraction) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3RayHitInfo), + "::", + stringify!(m_hitFraction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_hitObjectUniqueId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3RayHitInfo), + "::", + stringify!(m_hitObjectUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_hitObjectLinkIndex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(b3RayHitInfo), + "::", + stringify!(m_hitObjectLinkIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_hitPositionWorld) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3RayHitInfo), + "::", + stringify!(m_hitPositionWorld) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_hitNormalWorld) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(b3RayHitInfo), + "::", + stringify!(m_hitNormalWorld) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3RaycastInformation { + pub m_numRayHits: ::std::os::raw::c_int, + pub m_rayHits: *mut b3RayHitInfo, +} +#[test] +fn bindgen_test_layout_b3RaycastInformation() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3RaycastInformation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3RaycastInformation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numRayHits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3RaycastInformation), + "::", + stringify!(m_numRayHits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_rayHits) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3RaycastInformation), + "::", + stringify!(m_rayHits) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union RAY_DATA_UNION { + pub a: b3RayData, + pub b: b3RayHitInfo, +} +#[test] +fn bindgen_test_layout_RAY_DATA_UNION() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(RAY_DATA_UNION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RAY_DATA_UNION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).a) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RAY_DATA_UNION), + "::", + stringify!(a) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RAY_DATA_UNION), + "::", + stringify!(b) + ) + ); +} +pub const b3VisualShapeDataFlags_eVISUAL_SHAPE_DATA_TEXTURE_UNIQUE_IDS: b3VisualShapeDataFlags = 1; +pub type b3VisualShapeDataFlags = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3VisualShapeData { + pub m_objectUniqueId: ::std::os::raw::c_int, + pub m_linkIndex: ::std::os::raw::c_int, + pub m_visualGeometryType: ::std::os::raw::c_int, + pub m_dimensions: [f64; 3usize], + pub m_meshAssetFileName: [::std::os::raw::c_char; 1024usize], + pub m_localVisualFrame: [f64; 7usize], + pub m_rgbaColor: [f64; 4usize], + pub m_tinyRendererTextureId: ::std::os::raw::c_int, + pub m_textureUniqueId: ::std::os::raw::c_int, + pub m_openglTextureId: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3VisualShapeData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1168usize, + concat!("Size of: ", stringify!(b3VisualShapeData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3VisualShapeData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_objectUniqueId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_objectUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_linkIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_visualGeometryType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_visualGeometryType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_dimensions) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_dimensions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_meshAssetFileName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_meshAssetFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_localVisualFrame) as usize - ptr as usize }, + 1064usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_localVisualFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_rgbaColor) as usize - ptr as usize }, + 1120usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_rgbaColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_tinyRendererTextureId) as usize - ptr as usize }, + 1152usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_tinyRendererTextureId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_textureUniqueId) as usize - ptr as usize }, + 1156usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_textureUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_openglTextureId) as usize - ptr as usize }, + 1160usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeData), + "::", + stringify!(m_openglTextureId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3VisualShapeInformation { + pub m_numVisualShapes: ::std::os::raw::c_int, + pub m_visualShapeData: *mut b3VisualShapeData, +} +#[test] +fn bindgen_test_layout_b3VisualShapeInformation() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3VisualShapeInformation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3VisualShapeInformation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numVisualShapes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeInformation), + "::", + stringify!(m_numVisualShapes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_visualShapeData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3VisualShapeInformation), + "::", + stringify!(m_visualShapeData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3CollisionShapeData { + pub m_objectUniqueId: ::std::os::raw::c_int, + pub m_linkIndex: ::std::os::raw::c_int, + pub m_collisionGeometryType: ::std::os::raw::c_int, + pub m_dimensions: [f64; 3usize], + pub m_localCollisionFrame: [f64; 7usize], + pub m_meshAssetFileName: [::std::os::raw::c_char; 1024usize], +} +#[test] +fn bindgen_test_layout_b3CollisionShapeData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1120usize, + concat!("Size of: ", stringify!(b3CollisionShapeData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3CollisionShapeData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_objectUniqueId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3CollisionShapeData), + "::", + stringify!(m_objectUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_linkIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3CollisionShapeData), + "::", + stringify!(m_linkIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_collisionGeometryType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3CollisionShapeData), + "::", + stringify!(m_collisionGeometryType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_dimensions) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3CollisionShapeData), + "::", + stringify!(m_dimensions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_localCollisionFrame) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(b3CollisionShapeData), + "::", + stringify!(m_localCollisionFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_meshAssetFileName) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(b3CollisionShapeData), + "::", + stringify!(m_meshAssetFileName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3CollisionShapeInformation { + pub m_numCollisionShapes: ::std::os::raw::c_int, + pub m_collisionShapeData: *mut b3CollisionShapeData, +} +#[test] +fn bindgen_test_layout_b3CollisionShapeInformation() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(b3CollisionShapeInformation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3CollisionShapeInformation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numCollisionShapes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3CollisionShapeInformation), + "::", + stringify!(m_numCollisionShapes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_collisionShapeData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3CollisionShapeInformation), + "::", + stringify!(m_collisionShapeData) + ) + ); +} +pub const eLinkStateFlags_ACTUAL_STATE_COMPUTE_LINKVELOCITY: eLinkStateFlags = 1; +pub const eLinkStateFlags_ACTUAL_STATE_COMPUTE_FORWARD_KINEMATICS: eLinkStateFlags = 2; +pub type eLinkStateFlags = ::std::os::raw::c_int; +#[doc = "b3LinkState provides extra information such as the Cartesian world coordinates\ncenter of mass (COM) of the link, relative to the world reference frame.\nOrientation is a quaternion x,y,z,w\nNote: to compute the URDF link frame (which equals the joint frame at joint position 0)\nuse URDF link frame = link COM frame * inertiaFrame.inverse()"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3LinkState { + pub m_worldPosition: [f64; 3usize], + pub m_worldOrientation: [f64; 4usize], + pub m_localInertialPosition: [f64; 3usize], + pub m_localInertialOrientation: [f64; 4usize], + #[doc = "world position and orientation of the (URDF) link frame"] + pub m_worldLinkFramePosition: [f64; 3usize], + pub m_worldLinkFrameOrientation: [f64; 4usize], + pub m_worldLinearVelocity: [f64; 3usize], + pub m_worldAngularVelocity: [f64; 3usize], + pub m_worldAABBMin: [f64; 3usize], + pub m_worldAABBMax: [f64; 3usize], +} +#[test] +fn bindgen_test_layout_b3LinkState() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 264usize, + concat!("Size of: ", stringify!(b3LinkState)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3LinkState)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_worldPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldOrientation) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_worldOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_localInertialPosition) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_localInertialPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_localInertialOrientation) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_localInertialOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldLinkFramePosition) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_worldLinkFramePosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldLinkFrameOrientation) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_worldLinkFrameOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldLinearVelocity) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_worldLinearVelocity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldAngularVelocity) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_worldAngularVelocity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldAABBMin) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_worldAABBMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_worldAABBMax) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(b3LinkState), + "::", + stringify!(m_worldAABBMax) + ) + ); +} +pub const CONTROL_MODE_VELOCITY: _bindgen_ty_3 = 0; +pub const CONTROL_MODE_TORQUE: _bindgen_ty_3 = 1; +pub const CONTROL_MODE_POSITION_VELOCITY_PD: _bindgen_ty_3 = 2; +pub const CONTROL_MODE_PD: _bindgen_ty_3 = 3; +pub const CONTROL_MODE_STABLE_PD: _bindgen_ty_3 = 4; +pub type _bindgen_ty_3 = ::std::os::raw::c_int; +pub const EnumExternalForceFlags_EF_LINK_FRAME: EnumExternalForceFlags = 1; +pub const EnumExternalForceFlags_EF_WORLD_FRAME: EnumExternalForceFlags = 2; +#[doc = "flags for b3ApplyExternalTorque and b3ApplyExternalForce"] +pub type EnumExternalForceFlags = ::std::os::raw::c_int; +pub const EnumRenderer_ER_TINY_RENDERER: EnumRenderer = 65536; +pub const EnumRenderer_ER_BULLET_HARDWARE_OPENGL: EnumRenderer = 131072; +#[doc = "flags to pick the renderer for synthetic camera"] +pub type EnumRenderer = ::std::os::raw::c_int; +pub const EnumRendererAuxFlags_ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX: EnumRendererAuxFlags = 1; +pub const EnumRendererAuxFlags_ER_USE_PROJECTIVE_TEXTURE: EnumRendererAuxFlags = 2; +pub const EnumRendererAuxFlags_ER_NO_SEGMENTATION_MASK: EnumRendererAuxFlags = 4; +pub type EnumRendererAuxFlags = ::std::os::raw::c_int; +pub const EnumCalculateInverseKinematicsFlags_IK_DLS: EnumCalculateInverseKinematicsFlags = 0; +pub const EnumCalculateInverseKinematicsFlags_IK_SDLS: EnumCalculateInverseKinematicsFlags = 1; +pub const EnumCalculateInverseKinematicsFlags_IK_HAS_TARGET_POSITION: + EnumCalculateInverseKinematicsFlags = 16; +pub const EnumCalculateInverseKinematicsFlags_IK_HAS_TARGET_ORIENTATION: + EnumCalculateInverseKinematicsFlags = 32; +pub const EnumCalculateInverseKinematicsFlags_IK_HAS_NULL_SPACE_VELOCITY: + EnumCalculateInverseKinematicsFlags = 64; +pub const EnumCalculateInverseKinematicsFlags_IK_HAS_JOINT_DAMPING: + EnumCalculateInverseKinematicsFlags = 128; +pub const EnumCalculateInverseKinematicsFlags_IK_HAS_CURRENT_JOINT_POSITIONS: + EnumCalculateInverseKinematicsFlags = 256; +pub const EnumCalculateInverseKinematicsFlags_IK_HAS_MAX_ITERATIONS: + EnumCalculateInverseKinematicsFlags = 512; +pub const EnumCalculateInverseKinematicsFlags_IK_HAS_RESIDUAL_THRESHOLD: + EnumCalculateInverseKinematicsFlags = 1024; +#[doc = "flags to pick the IK solver and other options"] +pub type EnumCalculateInverseKinematicsFlags = ::std::os::raw::c_int; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_GUI: b3ConfigureDebugVisualizerEnum = 1; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_SHADOWS: b3ConfigureDebugVisualizerEnum = 2; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_WIREFRAME: b3ConfigureDebugVisualizerEnum = 3; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_VR_TELEPORTING: b3ConfigureDebugVisualizerEnum = + 4; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_VR_PICKING: b3ConfigureDebugVisualizerEnum = 5; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_VR_RENDER_CONTROLLERS: + b3ConfigureDebugVisualizerEnum = 6; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_RENDERING: b3ConfigureDebugVisualizerEnum = 7; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_SYNC_RENDERING_INTERNAL: + b3ConfigureDebugVisualizerEnum = 8; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_KEYBOARD_SHORTCUTS: + b3ConfigureDebugVisualizerEnum = 9; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_MOUSE_PICKING: b3ConfigureDebugVisualizerEnum = + 10; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_Y_AXIS_UP: b3ConfigureDebugVisualizerEnum = 11; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_TINY_RENDERER: b3ConfigureDebugVisualizerEnum = + 12; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_RGB_BUFFER_PREVIEW: + b3ConfigureDebugVisualizerEnum = 13; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_DEPTH_BUFFER_PREVIEW: + b3ConfigureDebugVisualizerEnum = 14; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_SEGMENTATION_MARK_PREVIEW: + b3ConfigureDebugVisualizerEnum = 15; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_PLANAR_REFLECTION: + b3ConfigureDebugVisualizerEnum = 16; +pub const b3ConfigureDebugVisualizerEnum_COV_ENABLE_SINGLE_STEP_RENDERING: + b3ConfigureDebugVisualizerEnum = 17; +pub type b3ConfigureDebugVisualizerEnum = ::std::os::raw::c_int; +pub const b3AddUserDebugItemEnum_DEB_DEBUG_TEXT_ALWAYS_FACE_CAMERA: b3AddUserDebugItemEnum = 1; +pub const b3AddUserDebugItemEnum_DEB_DEBUG_TEXT_USE_TRUE_TYPE_FONTS: b3AddUserDebugItemEnum = 2; +pub const b3AddUserDebugItemEnum_DEB_DEBUG_TEXT_HAS_TRACKING_OBJECT: b3AddUserDebugItemEnum = 4; +pub type b3AddUserDebugItemEnum = ::std::os::raw::c_int; +pub const eCONNECT_METHOD_eCONNECT_GUI: eCONNECT_METHOD = 1; +pub const eCONNECT_METHOD_eCONNECT_DIRECT: eCONNECT_METHOD = 2; +pub const eCONNECT_METHOD_eCONNECT_SHARED_MEMORY: eCONNECT_METHOD = 3; +pub const eCONNECT_METHOD_eCONNECT_UDP: eCONNECT_METHOD = 4; +pub const eCONNECT_METHOD_eCONNECT_TCP: eCONNECT_METHOD = 5; +pub const eCONNECT_METHOD_eCONNECT_EXISTING_EXAMPLE_BROWSER: eCONNECT_METHOD = 6; +pub const eCONNECT_METHOD_eCONNECT_GUI_SERVER: eCONNECT_METHOD = 7; +pub const eCONNECT_METHOD_eCONNECT_GUI_MAIN_THREAD: eCONNECT_METHOD = 8; +pub const eCONNECT_METHOD_eCONNECT_SHARED_MEMORY_SERVER: eCONNECT_METHOD = 9; +pub const eCONNECT_METHOD_eCONNECT_DART: eCONNECT_METHOD = 10; +pub const eCONNECT_METHOD_eCONNECT_MUJOCO: eCONNECT_METHOD = 11; +pub const eCONNECT_METHOD_eCONNECT_GRPC: eCONNECT_METHOD = 12; +pub const eCONNECT_METHOD_eCONNECT_PHYSX: eCONNECT_METHOD = 13; +pub const eCONNECT_METHOD_eCONNECT_SHARED_MEMORY_GUI: eCONNECT_METHOD = 14; +pub const eCONNECT_METHOD_eCONNECT_GRAPHICS_SERVER: eCONNECT_METHOD = 15; +pub const eCONNECT_METHOD_eCONNECT_GRAPHICS_SERVER_TCP: eCONNECT_METHOD = 16; +pub const eCONNECT_METHOD_eCONNECT_GRAPHICS_SERVER_MAIN_THREAD: eCONNECT_METHOD = 17; +pub type eCONNECT_METHOD = ::std::os::raw::c_int; +pub const eURDF_Flags_URDF_USE_INERTIA_FROM_FILE: eURDF_Flags = 2; +pub const eURDF_Flags_URDF_USE_SELF_COLLISION: eURDF_Flags = 8; +pub const eURDF_Flags_URDF_USE_SELF_COLLISION_EXCLUDE_PARENT: eURDF_Flags = 16; +pub const eURDF_Flags_URDF_USE_SELF_COLLISION_EXCLUDE_ALL_PARENTS: eURDF_Flags = 32; +pub const eURDF_Flags_URDF_RESERVED: eURDF_Flags = 64; +pub const eURDF_Flags_URDF_USE_IMPLICIT_CYLINDER: eURDF_Flags = 128; +pub const eURDF_Flags_URDF_GLOBAL_VELOCITIES_MB: eURDF_Flags = 256; +pub const eURDF_Flags_MJCF_COLORS_FROM_FILE: eURDF_Flags = 512; +pub const eURDF_Flags_URDF_ENABLE_CACHED_GRAPHICS_SHAPES: eURDF_Flags = 1024; +pub const eURDF_Flags_URDF_ENABLE_SLEEPING: eURDF_Flags = 2048; +pub const eURDF_Flags_URDF_INITIALIZE_SAT_FEATURES: eURDF_Flags = 4096; +pub const eURDF_Flags_URDF_USE_SELF_COLLISION_INCLUDE_PARENT: eURDF_Flags = 8192; +pub const eURDF_Flags_URDF_PARSE_SENSORS: eURDF_Flags = 16384; +pub const eURDF_Flags_URDF_USE_MATERIAL_COLORS_FROM_MTL: eURDF_Flags = 32768; +pub const eURDF_Flags_URDF_USE_MATERIAL_TRANSPARANCY_FROM_MTL: eURDF_Flags = 65536; +pub const eURDF_Flags_URDF_MAINTAIN_LINK_ORDER: eURDF_Flags = 131072; +pub const eURDF_Flags_URDF_ENABLE_WAKEUP: eURDF_Flags = 262144; +pub const eURDF_Flags_URDF_MERGE_FIXED_LINKS: eURDF_Flags = 524288; +pub const eURDF_Flags_URDF_IGNORE_VISUAL_SHAPES: eURDF_Flags = 1048576; +pub const eURDF_Flags_URDF_IGNORE_COLLISION_SHAPES: eURDF_Flags = 2097152; +pub const eURDF_Flags_URDF_PRINT_URDF_INFO: eURDF_Flags = 4194304; +pub const eURDF_Flags_URDF_GOOGLEY_UNDEFINED_COLORS: eURDF_Flags = 8388608; +pub type eURDF_Flags = ::std::os::raw::c_int; +pub const eUrdfGeomTypes_GEOM_SPHERE: eUrdfGeomTypes = 2; +pub const eUrdfGeomTypes_GEOM_BOX: eUrdfGeomTypes = 3; +pub const eUrdfGeomTypes_GEOM_CYLINDER: eUrdfGeomTypes = 4; +pub const eUrdfGeomTypes_GEOM_MESH: eUrdfGeomTypes = 5; +pub const eUrdfGeomTypes_GEOM_PLANE: eUrdfGeomTypes = 6; +pub const eUrdfGeomTypes_GEOM_CAPSULE: eUrdfGeomTypes = 7; +pub const eUrdfGeomTypes_GEOM_SDF: eUrdfGeomTypes = 8; +pub const eUrdfGeomTypes_GEOM_HEIGHTFIELD: eUrdfGeomTypes = 9; +pub const eUrdfGeomTypes_GEOM_UNKNOWN: eUrdfGeomTypes = 10; +pub type eUrdfGeomTypes = ::std::os::raw::c_int; +pub const eUrdfCollisionFlags_GEOM_FORCE_CONCAVE_TRIMESH: eUrdfCollisionFlags = 1; +pub const eUrdfCollisionFlags_GEOM_CONCAVE_INTERNAL_EDGE: eUrdfCollisionFlags = 2; +pub const eUrdfCollisionFlags_GEOM_INITIALIZE_SAT_FEATURES: eUrdfCollisionFlags = 4096; +pub type eUrdfCollisionFlags = ::std::os::raw::c_int; +pub const eUrdfVisualFlags_GEOM_VISUAL_HAS_RGBA_COLOR: eUrdfVisualFlags = 1; +pub const eUrdfVisualFlags_GEOM_VISUAL_HAS_SPECULAR_COLOR: eUrdfVisualFlags = 2; +pub type eUrdfVisualFlags = ::std::os::raw::c_int; +pub const eStateLoggingFlags_STATE_LOG_JOINT_MOTOR_TORQUES: eStateLoggingFlags = 1; +pub const eStateLoggingFlags_STATE_LOG_JOINT_USER_TORQUES: eStateLoggingFlags = 2; +pub const eStateLoggingFlags_STATE_LOG_JOINT_TORQUES: eStateLoggingFlags = 3; +pub type eStateLoggingFlags = ::std::os::raw::c_int; +pub const eJointFeedbackModes_JOINT_FEEDBACK_IN_WORLD_SPACE: eJointFeedbackModes = 1; +pub const eJointFeedbackModes_JOINT_FEEDBACK_IN_JOINT_FRAME: eJointFeedbackModes = 2; +pub type eJointFeedbackModes = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3PluginArguments { + pub m_text: [::std::os::raw::c_char; 1024usize], + pub m_numInts: ::std::os::raw::c_int, + pub m_ints: [::std::os::raw::c_int; 128usize], + pub m_numFloats: ::std::os::raw::c_int, + pub m_floats: [f64; 128usize], +} +#[test] +fn bindgen_test_layout_b3PluginArguments() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2568usize, + concat!("Size of: ", stringify!(b3PluginArguments)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3PluginArguments)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_text) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3PluginArguments), + "::", + stringify!(m_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numInts) as usize - ptr as usize }, + 1024usize, + concat!( + "Offset of field: ", + stringify!(b3PluginArguments), + "::", + stringify!(m_numInts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_ints) as usize - ptr as usize }, + 1028usize, + concat!( + "Offset of field: ", + stringify!(b3PluginArguments), + "::", + stringify!(m_ints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numFloats) as usize - ptr as usize }, + 1540usize, + concat!( + "Offset of field: ", + stringify!(b3PluginArguments), + "::", + stringify!(m_numFloats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_floats) as usize - ptr as usize }, + 1544usize, + concat!( + "Offset of field: ", + stringify!(b3PluginArguments), + "::", + stringify!(m_floats) + ) + ); +} +pub const eInternalSimFlags_eVRTinyGUI: eInternalSimFlags = 2; +pub const eInternalSimFlags_eDeformableAlternativeIndexing: eInternalSimFlags = 4; +pub type eInternalSimFlags = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3PhysicsSimulationParameters { + pub m_deltaTime: f64, + pub m_simulationTimestamp: f64, + pub m_gravityAcceleration: [f64; 3usize], + pub m_numSimulationSubSteps: ::std::os::raw::c_int, + pub m_numSolverIterations: ::std::os::raw::c_int, + pub m_warmStartingFactor: f64, + pub m_articulatedWarmStartingFactor: f64, + pub m_useRealTimeSimulation: ::std::os::raw::c_int, + pub m_useSplitImpulse: ::std::os::raw::c_int, + pub m_splitImpulsePenetrationThreshold: f64, + pub m_contactBreakingThreshold: f64, + pub m_internalSimFlags: ::std::os::raw::c_int, + pub m_defaultContactERP: f64, + pub m_collisionFilterMode: ::std::os::raw::c_int, + pub m_enableFileCaching: ::std::os::raw::c_int, + pub m_restitutionVelocityThreshold: f64, + pub m_defaultNonContactERP: f64, + pub m_frictionERP: f64, + pub m_defaultGlobalCFM: f64, + pub m_frictionCFM: f64, + pub m_enableConeFriction: ::std::os::raw::c_int, + pub m_deterministicOverlappingPairs: ::std::os::raw::c_int, + pub m_allowedCcdPenetration: f64, + pub m_jointFeedbackMode: ::std::os::raw::c_int, + pub m_solverResidualThreshold: f64, + pub m_contactSlop: f64, + pub m_enableSAT: ::std::os::raw::c_int, + pub m_constraintSolverType: ::std::os::raw::c_int, + pub m_minimumSolverIslandSize: ::std::os::raw::c_int, + pub m_reportSolverAnalytics: ::std::os::raw::c_int, + pub m_sparseSdfVoxelSize: f64, + pub m_numNonContactInnerIterations: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3PhysicsSimulationParameters() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 224usize, + concat!("Size of: ", stringify!(b3PhysicsSimulationParameters)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3PhysicsSimulationParameters)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_deltaTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_deltaTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_simulationTimestamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_simulationTimestamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_gravityAcceleration) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_gravityAcceleration) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numSimulationSubSteps) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_numSimulationSubSteps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numSolverIterations) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_numSolverIterations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_warmStartingFactor) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_warmStartingFactor) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_articulatedWarmStartingFactor) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_articulatedWarmStartingFactor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_useRealTimeSimulation) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_useRealTimeSimulation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_useSplitImpulse) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_useSplitImpulse) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_splitImpulsePenetrationThreshold) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_splitImpulsePenetrationThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_contactBreakingThreshold) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_contactBreakingThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_internalSimFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_internalSimFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_defaultContactERP) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_defaultContactERP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_collisionFilterMode) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_collisionFilterMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_enableFileCaching) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_enableFileCaching) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_restitutionVelocityThreshold) as usize - ptr as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_restitutionVelocityThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_defaultNonContactERP) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_defaultNonContactERP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_frictionERP) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_frictionERP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_defaultGlobalCFM) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_defaultGlobalCFM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_frictionCFM) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_frictionCFM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_enableConeFriction) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_enableConeFriction) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_deterministicOverlappingPairs) as usize - ptr as usize + }, + 156usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_deterministicOverlappingPairs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_allowedCcdPenetration) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_allowedCcdPenetration) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_jointFeedbackMode) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_jointFeedbackMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_solverResidualThreshold) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_solverResidualThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_contactSlop) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_contactSlop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_enableSAT) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_enableSAT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_constraintSolverType) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_constraintSolverType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_minimumSolverIslandSize) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_minimumSolverIslandSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_reportSolverAnalytics) as usize - ptr as usize }, + 204usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_reportSolverAnalytics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_sparseSdfVoxelSize) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_sparseSdfVoxelSize) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_numNonContactInnerIterations) as usize - ptr as usize + }, + 216usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsSimulationParameters), + "::", + stringify!(m_numNonContactInnerIterations) + ) + ); +} +pub const eConstraintSolverTypes_eConstraintSolverLCP_SI: eConstraintSolverTypes = 1; +pub const eConstraintSolverTypes_eConstraintSolverLCP_PGS: eConstraintSolverTypes = 2; +pub const eConstraintSolverTypes_eConstraintSolverLCP_DANTZIG: eConstraintSolverTypes = 3; +pub const eConstraintSolverTypes_eConstraintSolverLCP_LEMKE: eConstraintSolverTypes = 4; +pub const eConstraintSolverTypes_eConstraintSolverLCP_NNCG: eConstraintSolverTypes = 5; +pub const eConstraintSolverTypes_eConstraintSolverLCP_BLOCK_PGS: eConstraintSolverTypes = 6; +pub type eConstraintSolverTypes = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3ForwardDynamicsAnalyticsIslandData { + pub m_islandId: ::std::os::raw::c_int, + pub m_numBodies: ::std::os::raw::c_int, + pub m_numContactManifolds: ::std::os::raw::c_int, + pub m_numIterationsUsed: ::std::os::raw::c_int, + pub m_remainingLeastSquaresResidual: f64, +} +#[test] +fn bindgen_test_layout_b3ForwardDynamicsAnalyticsIslandData() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(b3ForwardDynamicsAnalyticsIslandData) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(b3ForwardDynamicsAnalyticsIslandData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_islandId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3ForwardDynamicsAnalyticsIslandData), + "::", + stringify!(m_islandId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numBodies) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3ForwardDynamicsAnalyticsIslandData), + "::", + stringify!(m_numBodies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numContactManifolds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3ForwardDynamicsAnalyticsIslandData), + "::", + stringify!(m_numContactManifolds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numIterationsUsed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(b3ForwardDynamicsAnalyticsIslandData), + "::", + stringify!(m_numIterationsUsed) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).m_remainingLeastSquaresResidual) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3ForwardDynamicsAnalyticsIslandData), + "::", + stringify!(m_remainingLeastSquaresResidual) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3ForwardDynamicsAnalyticsArgs { + pub m_numSteps: ::std::os::raw::c_int, + pub m_numIslands: ::std::os::raw::c_int, + pub m_numSolverCalls: ::std::os::raw::c_int, + pub m_islandData: [b3ForwardDynamicsAnalyticsIslandData; 64usize], +} +#[test] +fn bindgen_test_layout_b3ForwardDynamicsAnalyticsArgs() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1552usize, + concat!("Size of: ", stringify!(b3ForwardDynamicsAnalyticsArgs)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(b3ForwardDynamicsAnalyticsArgs)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numSteps) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3ForwardDynamicsAnalyticsArgs), + "::", + stringify!(m_numSteps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numIslands) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(b3ForwardDynamicsAnalyticsArgs), + "::", + stringify!(m_numIslands) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_numSolverCalls) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(b3ForwardDynamicsAnalyticsArgs), + "::", + stringify!(m_numSolverCalls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m_islandData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(b3ForwardDynamicsAnalyticsArgs), + "::", + stringify!(m_islandData) + ) + ); +} +pub const eDynamicTypes_eDynamic: eDynamicTypes = 0; +pub const eDynamicTypes_eStatic: eDynamicTypes = 1; +pub const eDynamicTypes_eKinematic: eDynamicTypes = 2; +pub type eDynamicTypes = ::std::os::raw::c_int; +pub const eFileIOActions_eAddFileIOAction: eFileIOActions = 1024; +pub const eFileIOActions_eRemoveFileIOAction: eFileIOActions = 1025; +pub type eFileIOActions = ::std::os::raw::c_int; +pub const eFileIOTypes_ePosixFileIO: eFileIOTypes = 1; +pub const eFileIOTypes_eZipFileIO: eFileIOTypes = 2; +pub const eFileIOTypes_eCNSFileIO: eFileIOTypes = 3; +pub const eFileIOTypes_eInMemoryFileIO: eFileIOTypes = 4; +pub type eFileIOTypes = ::std::os::raw::c_int; +pub const eEnumUpdateVisualShapeFlags_eVISUAL_SHAPE_DOUBLE_SIDED: eEnumUpdateVisualShapeFlags = 4; +pub type eEnumUpdateVisualShapeFlags = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3PhysicsClientHandle__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3PhysicsClientHandle__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(b3PhysicsClientHandle__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3PhysicsClientHandle__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3PhysicsClientHandle__), + "::", + stringify!(unused) + ) + ); +} +pub type b3PhysicsClientHandle = *mut b3PhysicsClientHandle__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3SharedMemoryCommandHandle__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3SharedMemoryCommandHandle__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(b3SharedMemoryCommandHandle__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3SharedMemoryCommandHandle__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3SharedMemoryCommandHandle__), + "::", + stringify!(unused) + ) + ); +} +pub type b3SharedMemoryCommandHandle = *mut b3SharedMemoryCommandHandle__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct b3SharedMemoryStatusHandle__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_b3SharedMemoryStatusHandle__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(b3SharedMemoryStatusHandle__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(b3SharedMemoryStatusHandle__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(b3SharedMemoryStatusHandle__), + "::", + stringify!(unused) + ) + ); +} +pub type b3SharedMemoryStatusHandle = *mut b3SharedMemoryStatusHandle__; +extern "C" { + pub fn b3ConnectSharedMemory(key: ::std::os::raw::c_int) -> b3PhysicsClientHandle; +} +extern "C" { + pub fn b3ConnectSharedMemory2(key: ::std::os::raw::c_int) -> b3PhysicsClientHandle; +} +extern "C" { + #[doc = "think more about naming. Directly execute commands without transport (no shared memory, UDP, socket, grpc etc)"] + pub fn b3ConnectPhysicsDirect() -> b3PhysicsClientHandle; +} +extern "C" { + #[doc = "b3DisconnectSharedMemory will disconnect the client from the server and cleanup memory."] + pub fn b3DisconnectSharedMemory(physClient: b3PhysicsClientHandle); +} +extern "C" { + #[doc = "There can only be 1 outstanding command. Check if a command can be send."] + pub fn b3CanSubmitCommand(physClient: b3PhysicsClientHandle) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "blocking submit command and wait for status"] + pub fn b3SubmitClientCommandAndWaitStatus( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + ) -> b3SharedMemoryStatusHandle; +} +extern "C" { + #[doc = "In general it is better to use b3SubmitClientCommandAndWaitStatus. b3SubmitClientCommand is a non-blocking submit\ncommand, which requires checking for the status manually, using b3ProcessServerStatus. Also, before sending the\nnext command, make sure to check if you can send a command using 'b3CanSubmitCommand'."] + pub fn b3SubmitClientCommand( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "non-blocking check status"] + pub fn b3ProcessServerStatus(physClient: b3PhysicsClientHandle) -> b3SharedMemoryStatusHandle; +} +extern "C" { + #[doc = " Get the physics server return status type. See EnumSharedMemoryServerStatus in SharedMemoryPublic.h for error codes."] + pub fn b3GetStatusType(statusHandle: b3SharedMemoryStatusHandle) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "Plugin system, load and unload a plugin, execute a command"] + pub fn b3CreateCustomCommand(physClient: b3PhysicsClientHandle) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CustomCommandLoadPlugin( + commandHandle: b3SharedMemoryCommandHandle, + pluginPath: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn b3CustomCommandLoadPluginSetPostFix( + commandHandle: b3SharedMemoryCommandHandle, + postFix: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn b3GetStatusPluginUniqueId( + statusHandle: b3SharedMemoryStatusHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetStatusPluginCommandResult( + statusHandle: b3SharedMemoryStatusHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetStatusPluginCommandReturnData( + physClient: b3PhysicsClientHandle, + valueOut: *mut b3UserDataValue, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CustomCommandUnloadPlugin( + commandHandle: b3SharedMemoryCommandHandle, + pluginUniqueId: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3CustomCommandExecutePluginCommand( + commandHandle: b3SharedMemoryCommandHandle, + pluginUniqueId: ::std::os::raw::c_int, + textArguments: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn b3CustomCommandExecuteAddIntArgument( + commandHandle: b3SharedMemoryCommandHandle, + intVal: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3CustomCommandExecuteAddFloatArgument( + commandHandle: b3SharedMemoryCommandHandle, + floatVal: f32, + ); +} +extern "C" { + pub fn b3GetStatusBodyIndices( + statusHandle: b3SharedMemoryStatusHandle, + bodyIndicesOut: *mut ::std::os::raw::c_int, + bodyIndicesCapacity: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetStatusBodyIndex(statusHandle: b3SharedMemoryStatusHandle) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetStatusActualState( + statusHandle: b3SharedMemoryStatusHandle, + bodyUniqueId: *mut ::std::os::raw::c_int, + numDegreeOfFreedomQ: *mut ::std::os::raw::c_int, + numDegreeOfFreedomU: *mut ::std::os::raw::c_int, + rootLocalInertialFrame: *mut *const f64, + actualStateQ: *mut *const f64, + actualStateQdot: *mut *const f64, + jointReactionForces: *mut *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetStatusActualState2( + statusHandle: b3SharedMemoryStatusHandle, + bodyUniqueId: *mut ::std::os::raw::c_int, + numLinks: *mut ::std::os::raw::c_int, + numDegreeOfFreedomQ: *mut ::std::os::raw::c_int, + numDegreeOfFreedomU: *mut ::std::os::raw::c_int, + rootLocalInertialFrame: *mut *const f64, + actualStateQ: *mut *const f64, + actualStateQdot: *mut *const f64, + jointReactionForces: *mut *const f64, + linkLocalInertialFrames: *mut *const f64, + jointMotorForces: *mut *const f64, + linkStates: *mut *const f64, + linkWorldVelocities: *mut *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3RequestCollisionInfoCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetStatusAABB( + statusHandle: b3SharedMemoryStatusHandle, + linkIndex: ::std::os::raw::c_int, + aabbMin: *mut f64, + aabbMax: *mut f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "If you re-connected to an existing server, or server changed otherwise, sync the body info and user constraints etc."] + pub fn b3InitSyncBodyInfoCommand( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitRequestBodyInfoCommand( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitRemoveBodyCommand( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + #[doc = "return the total number of bodies in the simulation"] + pub fn b3GetNumBodies(physClient: b3PhysicsClientHandle) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " return the body unique id, given the index in range [0 , b3GetNumBodies() )"] + pub fn b3GetBodyUniqueId( + physClient: b3PhysicsClientHandle, + serialIndex: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "given a body unique id, return the body information. See b3BodyInfo in SharedMemoryPublic.h"] + pub fn b3GetBodyInfo( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + info: *mut b3BodyInfo, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "give a unique body index (after loading the body) return the number of joints."] + pub fn b3GetNumJoints( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "give a unique body index (after loading the body) return the number of degrees of freedom (DoF)."] + pub fn b3GetNumDofs( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "compute the number of degrees of freedom for this body.\nReturn -1 for unsupported spherical joint, -2 for unsupported planar joint."] + pub fn b3ComputeDofCount( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "given a body and joint index, return the joint information. See b3JointInfo in SharedMemoryPublic.h"] + pub fn b3GetJointInfo( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + jointIndex: ::std::os::raw::c_int, + info: *mut b3JointInfo, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "user data handling"] + pub fn b3InitSyncUserDataCommand( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3AddBodyToSyncUserDataRequest( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3InitAddUserDataCommand( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + visualShapeIndex: ::std::os::raw::c_int, + key: *const ::std::os::raw::c_char, + valueType: UserDataValueType, + valueLength: ::std::os::raw::c_int, + valueData: *const ::std::os::raw::c_void, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitRemoveUserDataCommand( + physClient: b3PhysicsClientHandle, + userDataId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetUserData( + physClient: b3PhysicsClientHandle, + userDataId: ::std::os::raw::c_int, + valueOut: *mut b3UserDataValue, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetUserDataId( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + visualShapeIndex: ::std::os::raw::c_int, + key: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetUserDataIdFromStatus( + statusHandle: b3SharedMemoryStatusHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetNumUserData( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetUserDataInfo( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + userDataIndex: ::std::os::raw::c_int, + keyOut: *mut *const ::std::os::raw::c_char, + userDataIdOut: *mut ::std::os::raw::c_int, + linkIndexOut: *mut ::std::os::raw::c_int, + visualShapeIndexOut: *mut ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3GetDynamicsInfoCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetDynamicsInfoCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + #[doc = "given a body unique id and link index, return the dynamics information. See b3DynamicsInfo in SharedMemoryPublic.h"] + pub fn b3GetDynamicsInfo( + statusHandle: b3SharedMemoryStatusHandle, + info: *mut b3DynamicsInfo, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitChangeDynamicsInfo( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitChangeDynamicsInfo2( + commandHandle: b3SharedMemoryCommandHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetMass( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + mass: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetLocalInertiaDiagonal( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + localInertiaDiagonal: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetAnisotropicFriction( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + anisotropicFriction: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetJointLimit( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + jointLowerLimit: f64, + jointUpperLimit: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetJointLimitForce( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + jointLimitForce: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetDynamicType( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + dynamicType: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetSleepThreshold( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + sleepThreshold: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetLateralFriction( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + lateralFriction: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetSpinningFriction( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + friction: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetRollingFriction( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + friction: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetRestitution( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + restitution: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetLinearDamping( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linearDamping: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetAngularDamping( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + angularDamping: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetJointDamping( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + jointDamping: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetContactStiffnessAndDamping( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + contactStiffness: f64, + contactDamping: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetFrictionAnchor( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + frictionAnchor: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetCcdSweptSphereRadius( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + ccdSweptSphereRadius: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetContactProcessingThreshold( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + contactProcessingThreshold: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetActivationState( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + activationState: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetMaxJointVelocity( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + maxJointVelocity: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ChangeDynamicsInfoSetCollisionMargin( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + collisionMargin: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitCreateUserConstraintCommand( + physClient: b3PhysicsClientHandle, + parentBodyUniqueId: ::std::os::raw::c_int, + parentJointIndex: ::std::os::raw::c_int, + childBodyUniqueId: ::std::os::raw::c_int, + childJointIndex: ::std::os::raw::c_int, + info: *mut b3JointInfo, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitCreateUserConstraintCommand2( + commandHandle: b3SharedMemoryCommandHandle, + parentBodyUniqueId: ::std::os::raw::c_int, + parentJointIndex: ::std::os::raw::c_int, + childBodyUniqueId: ::std::os::raw::c_int, + childJointIndex: ::std::os::raw::c_int, + info: *mut b3JointInfo, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + #[doc = "return a unique id for the user constraint, after successful creation, or -1 for an invalid constraint id"] + pub fn b3GetStatusUserConstraintUniqueId( + statusHandle: b3SharedMemoryStatusHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "change parameters of an existing user constraint"] + pub fn b3InitChangeUserConstraintCommand( + physClient: b3PhysicsClientHandle, + userConstraintUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitChangeUserConstraintSetPivotInB( + commandHandle: b3SharedMemoryCommandHandle, + jointChildPivot: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitChangeUserConstraintSetFrameInB( + commandHandle: b3SharedMemoryCommandHandle, + jointChildFrameOrn: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitChangeUserConstraintSetMaxForce( + commandHandle: b3SharedMemoryCommandHandle, + maxAppliedForce: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitChangeUserConstraintSetGearRatio( + commandHandle: b3SharedMemoryCommandHandle, + gearRatio: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitChangeUserConstraintSetGearAuxLink( + commandHandle: b3SharedMemoryCommandHandle, + gearAuxLink: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitChangeUserConstraintSetRelativePositionTarget( + commandHandle: b3SharedMemoryCommandHandle, + relativePositionTarget: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitChangeUserConstraintSetERP( + commandHandle: b3SharedMemoryCommandHandle, + erp: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitRemoveUserConstraintCommand( + physClient: b3PhysicsClientHandle, + userConstraintUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetNumUserConstraints(physClient: b3PhysicsClientHandle) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitGetUserConstraintStateCommand( + physClient: b3PhysicsClientHandle, + constraintUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetStatusUserConstraintState( + statusHandle: b3SharedMemoryStatusHandle, + constraintState: *mut b3UserConstraintState, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetUserConstraintInfo( + physClient: b3PhysicsClientHandle, + constraintUniqueId: ::std::os::raw::c_int, + info: *mut b3UserConstraint, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " return the user constraint id, given the index in range [0 , b3GetNumUserConstraints() )"] + pub fn b3GetUserConstraintId( + physClient: b3PhysicsClientHandle, + serialIndex: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "Request physics debug lines for debug visualization. The flags in debugMode are the same as used in Bullet\nSee btIDebugDraw::DebugDrawModes in Bullet/src/LinearMath/btIDebugDraw.h"] + pub fn b3InitRequestDebugLinesCommand( + physClient: b3PhysicsClientHandle, + debugMode: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + #[doc = "Get the pointers to the physics debug line information, after b3InitRequestDebugLinesCommand returns\nstatus CMD_DEBUG_LINES_COMPLETED"] + pub fn b3GetDebugLines(physClient: b3PhysicsClientHandle, lines: *mut b3DebugLines); +} +extern "C" { + #[doc = "configure the 3D OpenGL debug visualizer (enable/disable GUI widgets, shadows, position camera etc)"] + pub fn b3InitConfigureOpenGLVisualizer( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitConfigureOpenGLVisualizer2( + commandHandle: b3SharedMemoryCommandHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3ConfigureOpenGLVisualizerSetVisualizationFlags( + commandHandle: b3SharedMemoryCommandHandle, + flag: ::std::os::raw::c_int, + enabled: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3ConfigureOpenGLVisualizerSetLightPosition( + commandHandle: b3SharedMemoryCommandHandle, + lightPosition: *const f32, + ); +} +extern "C" { + pub fn b3ConfigureOpenGLVisualizerSetShadowMapResolution( + commandHandle: b3SharedMemoryCommandHandle, + shadowMapResolution: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3ConfigureOpenGLVisualizerSetShadowMapIntensity( + commandHandle: b3SharedMemoryCommandHandle, + shadowMapIntensity: f64, + ); +} +extern "C" { + pub fn b3ConfigureOpenGLVisualizerSetLightRgbBackground( + commandHandle: b3SharedMemoryCommandHandle, + rgbBackground: *const f32, + ); +} +extern "C" { + pub fn b3ConfigureOpenGLVisualizerSetShadowMapWorldSize( + commandHandle: b3SharedMemoryCommandHandle, + shadowMapWorldSize: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3ConfigureOpenGLVisualizerSetRemoteSyncTransformInterval( + commandHandle: b3SharedMemoryCommandHandle, + remoteSyncTransformInterval: f64, + ); +} +extern "C" { + pub fn b3ConfigureOpenGLVisualizerSetViewMatrix( + commandHandle: b3SharedMemoryCommandHandle, + cameraDistance: f32, + cameraPitch: f32, + cameraYaw: f32, + cameraTargetPosition: *const f32, + ); +} +extern "C" { + pub fn b3InitRequestOpenGLVisualizerCameraCommand( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetStatusOpenGLVisualizerCamera( + statusHandle: b3SharedMemoryStatusHandle, + camera: *mut b3OpenGLVisualizerCameraInfo, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " Add/remove user-specific debug lines and debug text messages"] + pub fn b3InitUserDebugDrawAddLine3D( + physClient: b3PhysicsClientHandle, + fromXYZ: *const f64, + toXYZ: *const f64, + colorRGB: *const f64, + lineWidth: f64, + lifeTime: f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitUserDebugDrawAddPoints3D( + physClient: b3PhysicsClientHandle, + positionsXYZ: *const f64, + colorsRGB: *const f64, + pointSize: f64, + lifeTime: f64, + pointNum: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitUserDebugDrawAddText3D( + physClient: b3PhysicsClientHandle, + txt: *const ::std::os::raw::c_char, + positionXYZ: *const f64, + colorRGB: *const f64, + textSize: f64, + lifeTime: f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3UserDebugTextSetOptionFlags( + commandHandle: b3SharedMemoryCommandHandle, + optionFlags: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3UserDebugTextSetOrientation( + commandHandle: b3SharedMemoryCommandHandle, + orientation: *const f64, + ); +} +extern "C" { + pub fn b3UserDebugItemSetReplaceItemUniqueId( + commandHandle: b3SharedMemoryCommandHandle, + replaceItem: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3UserDebugItemSetParentObject( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3InitUserDebugAddParameter( + physClient: b3PhysicsClientHandle, + txt: *const ::std::os::raw::c_char, + rangeMin: f64, + rangeMax: f64, + startValue: f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitUserDebugReadParameter( + physClient: b3PhysicsClientHandle, + debugItemUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetStatusDebugParameterValue( + statusHandle: b3SharedMemoryStatusHandle, + paramValue: *mut f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitUserDebugDrawRemove( + physClient: b3PhysicsClientHandle, + debugItemUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitUserDebugDrawRemoveAll( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitUserRemoveAllParameters( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitDebugDrawingCommand( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3SetDebugObjectColor( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + objectColorRGB: *const f64, + ); +} +extern "C" { + pub fn b3RemoveDebugObjectColor( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + ); +} +extern "C" { + #[doc = "All debug items unique Ids are positive: a negative unique Id means failure."] + pub fn b3GetDebugItemUniqueId( + statusHandle: b3SharedMemoryStatusHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "request an image from a simulated camera, using a software renderer."] + pub fn b3InitRequestCameraImage( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitRequestCameraImage2( + commandHandle: b3SharedMemoryCommandHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3RequestCameraImageSetCameraMatrices( + commandHandle: b3SharedMemoryCommandHandle, + viewMatrix: *mut f32, + projectionMatrix: *mut f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetPixelResolution( + commandHandle: b3SharedMemoryCommandHandle, + width: ::std::os::raw::c_int, + height: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetLightDirection( + commandHandle: b3SharedMemoryCommandHandle, + lightDirection: *const f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetLightColor( + commandHandle: b3SharedMemoryCommandHandle, + lightColor: *const f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetLightDistance( + commandHandle: b3SharedMemoryCommandHandle, + lightDistance: f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetLightAmbientCoeff( + commandHandle: b3SharedMemoryCommandHandle, + lightAmbientCoeff: f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetLightDiffuseCoeff( + commandHandle: b3SharedMemoryCommandHandle, + lightDiffuseCoeff: f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetLightSpecularCoeff( + commandHandle: b3SharedMemoryCommandHandle, + lightSpecularCoeff: f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetShadow( + commandHandle: b3SharedMemoryCommandHandle, + hasShadow: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3RequestCameraImageSelectRenderer( + commandHandle: b3SharedMemoryCommandHandle, + renderer: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3GetCameraImageData( + physClient: b3PhysicsClientHandle, + imageData: *mut b3CameraImageData, + ); +} +extern "C" { + #[doc = "set projective texture camera matrices."] + pub fn b3RequestCameraImageSetProjectiveTextureMatrices( + commandHandle: b3SharedMemoryCommandHandle, + viewMatrix: *mut f32, + projectionMatrix: *mut f32, + ); +} +extern "C" { + #[doc = "compute a view matrix, helper function for b3RequestCameraImageSetCameraMatrices"] + pub fn b3ComputeViewMatrixFromPositions( + cameraPosition: *const f32, + cameraTargetPosition: *const f32, + cameraUp: *const f32, + viewMatrix: *mut f32, + ); +} +extern "C" { + pub fn b3ComputeViewMatrixFromYawPitchRoll( + cameraTargetPosition: *const f32, + distance: f32, + yaw: f32, + pitch: f32, + roll: f32, + upAxis: ::std::os::raw::c_int, + viewMatrix: *mut f32, + ); +} +extern "C" { + pub fn b3ComputePositionFromViewMatrix( + viewMatrix: *const f32, + cameraPosition: *mut f32, + cameraTargetPosition: *mut f32, + cameraUp: *mut f32, + ); +} +extern "C" { + #[doc = "compute a projection matrix, helper function for b3RequestCameraImageSetCameraMatrices"] + pub fn b3ComputeProjectionMatrix( + left: f32, + right: f32, + bottom: f32, + top: f32, + nearVal: f32, + farVal: f32, + projectionMatrix: *mut f32, + ); +} +extern "C" { + pub fn b3ComputeProjectionMatrixFOV( + fov: f32, + aspect: f32, + nearVal: f32, + farVal: f32, + projectionMatrix: *mut f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetViewMatrix( + commandHandle: b3SharedMemoryCommandHandle, + cameraPosition: *const f32, + cameraTargetPosition: *const f32, + cameraUp: *const f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetViewMatrix2( + commandHandle: b3SharedMemoryCommandHandle, + cameraTargetPosition: *const f32, + distance: f32, + yaw: f32, + pitch: f32, + roll: f32, + upAxis: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetProjectionMatrix( + commandHandle: b3SharedMemoryCommandHandle, + left: f32, + right: f32, + bottom: f32, + top: f32, + nearVal: f32, + farVal: f32, + ); +} +extern "C" { + pub fn b3RequestCameraImageSetFOVProjectionMatrix( + commandHandle: b3SharedMemoryCommandHandle, + fov: f32, + aspect: f32, + nearVal: f32, + farVal: f32, + ); +} +extern "C" { + #[doc = "request an contact point information"] + pub fn b3InitRequestContactPointInformation( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3SetContactFilterBodyA( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdA: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetContactFilterBodyB( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdB: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetContactFilterLinkA( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexA: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetContactFilterLinkB( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexB: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3GetContactPointInformation( + physClient: b3PhysicsClientHandle, + contactPointData: *mut b3ContactInformation, + ); +} +extern "C" { + #[doc = "compute the closest points between two bodies"] + pub fn b3InitClosestDistanceQuery( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3SetClosestDistanceFilterBodyA( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdA: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetClosestDistanceFilterLinkA( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexA: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetClosestDistanceFilterBodyB( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdB: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetClosestDistanceFilterLinkB( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexB: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetClosestDistanceThreshold(commandHandle: b3SharedMemoryCommandHandle, distance: f64); +} +extern "C" { + pub fn b3SetClosestDistanceFilterCollisionShapeA( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeA: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetClosestDistanceFilterCollisionShapeB( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeB: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetClosestDistanceFilterCollisionShapePositionA( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapePositionA: *const f64, + ); +} +extern "C" { + pub fn b3SetClosestDistanceFilterCollisionShapePositionB( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapePositionB: *const f64, + ); +} +extern "C" { + pub fn b3SetClosestDistanceFilterCollisionShapeOrientationA( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeOrientationA: *const f64, + ); +} +extern "C" { + pub fn b3SetClosestDistanceFilterCollisionShapeOrientationB( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeOrientationB: *const f64, + ); +} +extern "C" { + pub fn b3GetClosestPointInformation( + physClient: b3PhysicsClientHandle, + contactPointInfo: *mut b3ContactInformation, + ); +} +extern "C" { + #[doc = "get all the bodies that touch a given axis aligned bounding box specified in world space (min and max coordinates)"] + pub fn b3InitAABBOverlapQuery( + physClient: b3PhysicsClientHandle, + aabbMin: *const f64, + aabbMax: *const f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetAABBOverlapResults(physClient: b3PhysicsClientHandle, data: *mut b3AABBOverlapData); +} +extern "C" { + pub fn b3InitRequestVisualShapeInformation( + physClient: b3PhysicsClientHandle, + bodyUniqueIdA: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetVisualShapeInformation( + physClient: b3PhysicsClientHandle, + visualShapeInfo: *mut b3VisualShapeInformation, + ); +} +extern "C" { + pub fn b3InitRequestCollisionShapeInformation( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetCollisionShapeInformation( + physClient: b3PhysicsClientHandle, + collisionShapeInfo: *mut b3CollisionShapeInformation, + ); +} +extern "C" { + pub fn b3InitLoadTexture( + physClient: b3PhysicsClientHandle, + filename: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetStatusTextureUniqueId( + statusHandle: b3SharedMemoryStatusHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateChangeTextureCommandInit( + physClient: b3PhysicsClientHandle, + textureUniqueId: ::std::os::raw::c_int, + width: ::std::os::raw::c_int, + height: ::std::os::raw::c_int, + rgbPixels: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitUpdateVisualShape( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + jointIndex: ::std::os::raw::c_int, + shapeIndex: ::std::os::raw::c_int, + textureUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitUpdateVisualShape2( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + jointIndex: ::std::os::raw::c_int, + shapeIndex: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3UpdateVisualShapeTexture( + commandHandle: b3SharedMemoryCommandHandle, + textureUniqueId: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3UpdateVisualShapeRGBAColor( + commandHandle: b3SharedMemoryCommandHandle, + rgbaColor: *const f64, + ); +} +extern "C" { + pub fn b3UpdateVisualShapeFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3UpdateVisualShapeSpecularColor( + commandHandle: b3SharedMemoryCommandHandle, + specularColor: *const f64, + ); +} +extern "C" { + pub fn b3InitPhysicsParamCommand( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitPhysicsParamCommand2( + commandHandle: b3SharedMemoryCommandHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3PhysicsParamSetGravity( + commandHandle: b3SharedMemoryCommandHandle, + gravx: f64, + gravy: f64, + gravz: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetTimeStep( + commandHandle: b3SharedMemoryCommandHandle, + timeStep: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetDefaultContactERP( + commandHandle: b3SharedMemoryCommandHandle, + defaultContactERP: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetDefaultNonContactERP( + commandHandle: b3SharedMemoryCommandHandle, + defaultNonContactERP: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetDefaultFrictionERP( + commandHandle: b3SharedMemoryCommandHandle, + frictionERP: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetDefaultGlobalCFM( + commandHandle: b3SharedMemoryCommandHandle, + defaultGlobalCFM: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetDefaultFrictionCFM( + commandHandle: b3SharedMemoryCommandHandle, + frictionCFM: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetNumSubSteps( + commandHandle: b3SharedMemoryCommandHandle, + numSubSteps: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetRealTimeSimulation( + commandHandle: b3SharedMemoryCommandHandle, + enableRealTimeSimulation: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetNumSolverIterations( + commandHandle: b3SharedMemoryCommandHandle, + numSolverIterations: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetNumNonContactInnerIterations( + commandHandle: b3SharedMemoryCommandHandle, + numMotorIterations: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetWarmStartingFactor( + commandHandle: b3SharedMemoryCommandHandle, + warmStartingFactor: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetArticulatedWarmStartingFactor( + commandHandle: b3SharedMemoryCommandHandle, + warmStartingFactor: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetCollisionFilterMode( + commandHandle: b3SharedMemoryCommandHandle, + filterMode: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetUseSplitImpulse( + commandHandle: b3SharedMemoryCommandHandle, + useSplitImpulse: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetSplitImpulsePenetrationThreshold( + commandHandle: b3SharedMemoryCommandHandle, + splitImpulsePenetrationThreshold: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetContactBreakingThreshold( + commandHandle: b3SharedMemoryCommandHandle, + contactBreakingThreshold: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetMaxNumCommandsPer1ms( + commandHandle: b3SharedMemoryCommandHandle, + maxNumCmdPer1ms: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetEnableFileCaching( + commandHandle: b3SharedMemoryCommandHandle, + enableFileCaching: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetRestitutionVelocityThreshold( + commandHandle: b3SharedMemoryCommandHandle, + restitutionVelocityThreshold: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetEnableConeFriction( + commandHandle: b3SharedMemoryCommandHandle, + enableConeFriction: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParameterSetDeterministicOverlappingPairs( + commandHandle: b3SharedMemoryCommandHandle, + deterministicOverlappingPairs: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParameterSetAllowedCcdPenetration( + commandHandle: b3SharedMemoryCommandHandle, + allowedCcdPenetration: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParameterSetJointFeedbackMode( + commandHandle: b3SharedMemoryCommandHandle, + jointFeedbackMode: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetSolverResidualThreshold( + commandHandle: b3SharedMemoryCommandHandle, + solverResidualThreshold: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetContactSlop( + commandHandle: b3SharedMemoryCommandHandle, + contactSlop: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParameterSetEnableSAT( + commandHandle: b3SharedMemoryCommandHandle, + enableSAT: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParameterSetConstraintSolverType( + commandHandle: b3SharedMemoryCommandHandle, + constraintSolverType: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParameterSetMinimumSolverIslandSize( + commandHandle: b3SharedMemoryCommandHandle, + minimumSolverIslandSize: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetSolverAnalytics( + commandHandle: b3SharedMemoryCommandHandle, + reportSolverAnalytics: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParameterSetSparseSdfVoxelSize( + commandHandle: b3SharedMemoryCommandHandle, + sparseSdfVoxelSize: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitRequestPhysicsParamCommand( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetStatusPhysicsSimulationParameters( + statusHandle: b3SharedMemoryStatusHandle, + params: *mut b3PhysicsSimulationParameters, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PhysicsParamSetInternalSimFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitStepSimulationCommand( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitStepSimulationCommand2( + commandHandle: b3SharedMemoryCommandHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitPerformCollisionDetectionCommand( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetStatusForwardDynamicsAnalyticsData( + statusHandle: b3SharedMemoryStatusHandle, + analyticsData: *mut b3ForwardDynamicsAnalyticsArgs, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitResetSimulationCommand( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitResetSimulationCommand2( + commandHandle: b3SharedMemoryCommandHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitResetSimulationSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "Load a robot from a URDF file. Status type will CMD_URDF_LOADING_COMPLETED.\nAccess the robot from the unique body index, through b3GetStatusBodyIndex(statusHandle);"] + pub fn b3LoadUrdfCommandInit( + physClient: b3PhysicsClientHandle, + urdfFileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3LoadUrdfCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + urdfFileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3LoadUrdfCommandSetStartPosition( + commandHandle: b3SharedMemoryCommandHandle, + startPosX: f64, + startPosY: f64, + startPosZ: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadUrdfCommandSetStartOrientation( + commandHandle: b3SharedMemoryCommandHandle, + startOrnX: f64, + startOrnY: f64, + startOrnZ: f64, + startOrnW: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadUrdfCommandSetUseMultiBody( + commandHandle: b3SharedMemoryCommandHandle, + useMultiBody: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadUrdfCommandSetUseFixedBase( + commandHandle: b3SharedMemoryCommandHandle, + useFixedBase: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadUrdfCommandSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadUrdfCommandSetGlobalScaling( + commandHandle: b3SharedMemoryCommandHandle, + globalScaling: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3SaveStateCommandInit(physClient: b3PhysicsClientHandle) + -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3InitRemoveStateCommand( + physClient: b3PhysicsClientHandle, + stateId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetStatusGetStateId(statusHandle: b3SharedMemoryStatusHandle) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadStateCommandInit(physClient: b3PhysicsClientHandle) + -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3LoadStateSetStateId( + commandHandle: b3SharedMemoryCommandHandle, + stateId: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadStateSetFileName( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadBulletCommandInit( + physClient: b3PhysicsClientHandle, + fileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3SaveBulletCommandInit( + physClient: b3PhysicsClientHandle, + fileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3LoadMJCFCommandInit( + physClient: b3PhysicsClientHandle, + fileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3LoadMJCFCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3LoadMJCFCommandSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3LoadMJCFCommandSetUseMultiBody( + commandHandle: b3SharedMemoryCommandHandle, + useMultiBody: ::std::os::raw::c_int, + ); +} +extern "C" { + #[doc = "compute the forces to achieve an acceleration, given a state q and qdot using inverse dynamics"] + pub fn b3CalculateInverseDynamicsCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + jointPositionsQ: *const f64, + jointVelocitiesQdot: *const f64, + jointAccelerations: *const f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CalculateInverseDynamicsCommandInit2( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + jointPositionsQ: *const f64, + dofCountQ: ::std::os::raw::c_int, + jointVelocitiesQdot: *const f64, + jointAccelerations: *const f64, + dofCountQdot: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CalculateInverseDynamicsSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3GetStatusInverseDynamicsJointForces( + statusHandle: b3SharedMemoryStatusHandle, + bodyUniqueId: *mut ::std::os::raw::c_int, + dofCount: *mut ::std::os::raw::c_int, + jointForces: *mut f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CalculateJacobianCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + localPosition: *const f64, + jointPositionsQ: *const f64, + jointVelocitiesQdot: *const f64, + jointAccelerations: *const f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetStatusJacobian( + statusHandle: b3SharedMemoryStatusHandle, + dofCount: *mut ::std::os::raw::c_int, + linearJacobian: *mut f64, + angularJacobian: *mut f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CalculateMassMatrixCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + jointPositionsQ: *const f64, + dofCountQ: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CalculateMassMatrixSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + #[doc = "the mass matrix is stored in column-major layout of size dofCount*dofCount"] + pub fn b3GetStatusMassMatrix( + physClient: b3PhysicsClientHandle, + statusHandle: b3SharedMemoryStatusHandle, + dofCount: *mut ::std::os::raw::c_int, + massMatrix: *mut f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "compute the joint positions to move the end effector to a desired target using inverse kinematics"] + pub fn b3CalculateInverseKinematicsCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CalculateInverseKinematicsAddTargetPurePosition( + commandHandle: b3SharedMemoryCommandHandle, + endEffectorLinkIndex: ::std::os::raw::c_int, + targetPosition: *const f64, + ); +} +extern "C" { + pub fn b3CalculateInverseKinematicsAddTargetsPurePosition( + commandHandle: b3SharedMemoryCommandHandle, + numEndEffectorLinkIndices: ::std::os::raw::c_int, + endEffectorIndices: *const ::std::os::raw::c_int, + targetPositions: *const f64, + ); +} +extern "C" { + pub fn b3CalculateInverseKinematicsAddTargetPositionWithOrientation( + commandHandle: b3SharedMemoryCommandHandle, + endEffectorLinkIndex: ::std::os::raw::c_int, + targetPosition: *const f64, + targetOrientation: *const f64, + ); +} +extern "C" { + pub fn b3CalculateInverseKinematicsPosWithNullSpaceVel( + commandHandle: b3SharedMemoryCommandHandle, + numDof: ::std::os::raw::c_int, + endEffectorLinkIndex: ::std::os::raw::c_int, + targetPosition: *const f64, + lowerLimit: *const f64, + upperLimit: *const f64, + jointRange: *const f64, + restPose: *const f64, + ); +} +extern "C" { + pub fn b3CalculateInverseKinematicsPosOrnWithNullSpaceVel( + commandHandle: b3SharedMemoryCommandHandle, + numDof: ::std::os::raw::c_int, + endEffectorLinkIndex: ::std::os::raw::c_int, + targetPosition: *const f64, + targetOrientation: *const f64, + lowerLimit: *const f64, + upperLimit: *const f64, + jointRange: *const f64, + restPose: *const f64, + ); +} +extern "C" { + pub fn b3CalculateInverseKinematicsSetJointDamping( + commandHandle: b3SharedMemoryCommandHandle, + numDof: ::std::os::raw::c_int, + jointDampingCoeff: *const f64, + ); +} +extern "C" { + pub fn b3CalculateInverseKinematicsSelectSolver( + commandHandle: b3SharedMemoryCommandHandle, + solver: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3GetStatusInverseKinematicsJointPositions( + statusHandle: b3SharedMemoryStatusHandle, + bodyUniqueId: *mut ::std::os::raw::c_int, + dofCount: *mut ::std::os::raw::c_int, + jointPositions: *mut f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CalculateInverseKinematicsSetCurrentPositions( + commandHandle: b3SharedMemoryCommandHandle, + numDof: ::std::os::raw::c_int, + currentJointPositions: *const f64, + ); +} +extern "C" { + pub fn b3CalculateInverseKinematicsSetMaxNumIterations( + commandHandle: b3SharedMemoryCommandHandle, + maxNumIterations: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3CalculateInverseKinematicsSetResidualThreshold( + commandHandle: b3SharedMemoryCommandHandle, + residualThreshold: f64, + ); +} +extern "C" { + pub fn b3CollisionFilterCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3SetCollisionFilterPair( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdA: ::std::os::raw::c_int, + bodyUniqueIdB: ::std::os::raw::c_int, + linkIndexA: ::std::os::raw::c_int, + linkIndexB: ::std::os::raw::c_int, + enableCollision: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetCollisionFilterGroupMask( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdA: ::std::os::raw::c_int, + linkIndexA: ::std::os::raw::c_int, + collisionFilterGroup: ::std::os::raw::c_int, + collisionFilterMask: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3LoadSdfCommandInit( + physClient: b3PhysicsClientHandle, + sdfFileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3LoadSdfCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + sdfFileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3LoadSdfCommandSetUseMultiBody( + commandHandle: b3SharedMemoryCommandHandle, + useMultiBody: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSdfCommandSetUseGlobalScaling( + commandHandle: b3SharedMemoryCommandHandle, + globalScaling: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3SaveWorldCommandInit( + physClient: b3PhysicsClientHandle, + sdfFileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + #[doc = "The b3JointControlCommandInit method is obsolete, use b3JointControlCommandInit2 instead"] + pub fn b3JointControlCommandInit( + physClient: b3PhysicsClientHandle, + controlMode: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + #[doc = "Set joint motor control variables such as desired position/angle, desired velocity,\napplied joint forces, dependent on the control mode (CONTROL_MODE_VELOCITY or CONTROL_MODE_TORQUE)"] + pub fn b3JointControlCommandInit2( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + controlMode: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3JointControlCommandInit2Internal( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + controlMode: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + #[doc = "Only use when controlMode is CONTROL_MODE_POSITION_VELOCITY_PD"] + pub fn b3JointControlSetDesiredPosition( + commandHandle: b3SharedMemoryCommandHandle, + qIndex: ::std::os::raw::c_int, + value: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetDesiredPositionMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + qIndex: ::std::os::raw::c_int, + position: *const f64, + dofCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetKp( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + value: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetKpMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + kps: *mut f64, + dofCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetKd( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + value: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetKdMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + kds: *mut f64, + dofCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetMaximumVelocity( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + maximumVelocity: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "Only use when controlMode is CONTROL_MODE_VELOCITY"] + pub fn b3JointControlSetDesiredVelocity( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + value: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetDesiredVelocityMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + velocity: *const f64, + dofCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetDesiredVelocityMultiDof2( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + velocity: *const f64, + dofCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetMaximumForce( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + value: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetDesiredForceTorqueMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + forces: *mut f64, + dofCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetDamping( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + value: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3JointControlSetDampingMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + damping: *mut f64, + dofCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "Only use if when controlMode is CONTROL_MODE_TORQUE,"] + pub fn b3JointControlSetDesiredForceTorque( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: ::std::os::raw::c_int, + value: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "the creation of collision shapes and rigid bodies etc is likely going to change,\nbut good to have a b3CreateBoxShapeCommandInit for now"] + pub fn b3CreateCollisionShapeCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreateCollisionShapeAddSphere( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionShapeAddBox( + commandHandle: b3SharedMemoryCommandHandle, + halfExtents: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionShapeAddCapsule( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + height: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionShapeAddCylinder( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + height: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionShapeAddHeightfield( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const ::std::os::raw::c_char, + meshScale: *const f64, + textureScaling: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionShapeAddHeightfield2( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + meshScale: *const f64, + textureScaling: f64, + heightfieldData: *mut f32, + numHeightfieldRows: ::std::os::raw::c_int, + numHeightfieldColumns: ::std::os::raw::c_int, + replaceHeightfieldIndex: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionShapeAddPlane( + commandHandle: b3SharedMemoryCommandHandle, + planeNormal: *const f64, + planeConstant: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionShapeAddMesh( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const ::std::os::raw::c_char, + meshScale: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionShapeAddConvexMesh( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + meshScale: *const f64, + vertices: *const f64, + numVertices: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionShapeAddConcaveMesh( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + meshScale: *const f64, + vertices: *const f64, + numVertices: ::std::os::raw::c_int, + indices: *const ::std::os::raw::c_int, + numIndices: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateCollisionSetFlag( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3CreateCollisionShapeSetChildTransform( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: ::std::os::raw::c_int, + childPosition: *const f64, + childOrientation: *const f64, + ); +} +extern "C" { + pub fn b3GetStatusCollisionShapeUniqueId( + statusHandle: b3SharedMemoryStatusHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitRemoveCollisionShapeCommand( + physClient: b3PhysicsClientHandle, + collisionShapeId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetMeshDataCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetTetraMeshDataCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetMeshDataSimulationMesh(commandHandle: b3SharedMemoryCommandHandle); +} +extern "C" { + pub fn b3MeshDataSimulationMeshVelocity(commandHandle: b3SharedMemoryCommandHandle); +} +extern "C" { + pub fn b3GetMeshDataSetCollisionShapeIndex( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3GetMeshDataSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3GetTetraMeshDataSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3GetMeshData(physClient: b3PhysicsClientHandle, meshData: *mut b3MeshData); +} +extern "C" { + pub fn b3GetTetraMeshData(physClient: b3PhysicsClientHandle, meshData: *mut b3TetraMeshData); +} +extern "C" { + pub fn b3ResetMeshDataCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + num_vertices: ::std::os::raw::c_int, + vertices: *const f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreateVisualShapeCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreateVisualShapeAddSphere( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateVisualShapeAddBox( + commandHandle: b3SharedMemoryCommandHandle, + halfExtents: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateVisualShapeAddCapsule( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + height: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateVisualShapeAddCylinder( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + height: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateVisualShapeAddPlane( + commandHandle: b3SharedMemoryCommandHandle, + planeNormal: *const f64, + planeConstant: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateVisualShapeAddMesh( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const ::std::os::raw::c_char, + meshScale: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateVisualShapeAddMesh2( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + meshScale: *const f64, + vertices: *const f64, + numVertices: ::std::os::raw::c_int, + indices: *const ::std::os::raw::c_int, + numIndices: ::std::os::raw::c_int, + normals: *const f64, + numNormals: ::std::os::raw::c_int, + uvs: *const f64, + numUVs: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateVisualSetFlag( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3CreateVisualShapeSetChildTransform( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: ::std::os::raw::c_int, + childPosition: *const f64, + childOrientation: *const f64, + ); +} +extern "C" { + pub fn b3CreateVisualShapeSetSpecularColor( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: ::std::os::raw::c_int, + specularColor: *const f64, + ); +} +extern "C" { + pub fn b3CreateVisualShapeSetRGBAColor( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: ::std::os::raw::c_int, + rgbaColor: *const f64, + ); +} +extern "C" { + pub fn b3GetStatusVisualShapeUniqueId( + statusHandle: b3SharedMemoryStatusHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateMultiBodyCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreateMultiBodyBase( + commandHandle: b3SharedMemoryCommandHandle, + mass: f64, + collisionShapeUnique: ::std::os::raw::c_int, + visualShapeUniqueId: ::std::os::raw::c_int, + basePosition: *const f64, + baseOrientation: *const f64, + baseInertialFramePosition: *const f64, + baseInertialFrameOrientation: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateMultiBodyLink( + commandHandle: b3SharedMemoryCommandHandle, + linkMass: f64, + linkCollisionShapeIndex: f64, + linkVisualShapeIndex: f64, + linkPosition: *const f64, + linkOrientation: *const f64, + linkInertialFramePosition: *const f64, + linkInertialFrameOrientation: *const f64, + linkParentIndex: ::std::os::raw::c_int, + linkJointType: ::std::os::raw::c_int, + linkJointAxis: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateMultiBodySetBatchPositions( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + batchPositions: *mut f64, + numBatchObjects: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateMultiBodyUseMaximalCoordinates(commandHandle: b3SharedMemoryCommandHandle); +} +extern "C" { + pub fn b3CreateMultiBodySetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: ::std::os::raw::c_int, + ); +} +extern "C" { + #[doc = "create a box of size (1,1,1) at world origin (0,0,0) at orientation quat (0,0,0,1)\nafter that, you can optionally adjust the initial position, orientation and size"] + pub fn b3CreateBoxShapeCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreateBoxCommandSetStartPosition( + commandHandle: b3SharedMemoryCommandHandle, + startPosX: f64, + startPosY: f64, + startPosZ: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateBoxCommandSetStartOrientation( + commandHandle: b3SharedMemoryCommandHandle, + startOrnX: f64, + startOrnY: f64, + startOrnZ: f64, + startOrnW: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateBoxCommandSetHalfExtents( + commandHandle: b3SharedMemoryCommandHandle, + halfExtentsX: f64, + halfExtentsY: f64, + halfExtentsZ: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateBoxCommandSetMass( + commandHandle: b3SharedMemoryCommandHandle, + mass: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateBoxCommandSetCollisionShapeType( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeType: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreateBoxCommandSetColorRGBA( + commandHandle: b3SharedMemoryCommandHandle, + red: f64, + green: f64, + blue: f64, + alpha: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "b3CreatePoseCommandInit will initialize (teleport) the pose of a body/robot. You can individually set the base position,\nbase orientation and joint angles. This will set all velocities of base and joints to zero.\nThis is not a robot control command using actuators/joint motors, but manual repositioning the robot."] + pub fn b3CreatePoseCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreatePoseCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreatePoseCommandSetBasePosition( + commandHandle: b3SharedMemoryCommandHandle, + startPosX: f64, + startPosY: f64, + startPosZ: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetBaseOrientation( + commandHandle: b3SharedMemoryCommandHandle, + startOrnX: f64, + startOrnY: f64, + startOrnZ: f64, + startOrnW: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetBaseLinearVelocity( + commandHandle: b3SharedMemoryCommandHandle, + linVel: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetBaseAngularVelocity( + commandHandle: b3SharedMemoryCommandHandle, + angVel: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetBaseScaling( + commandHandle: b3SharedMemoryCommandHandle, + scaling: *mut f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetJointPositions( + commandHandle: b3SharedMemoryCommandHandle, + numJointPositions: ::std::os::raw::c_int, + jointPositions: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetJointPosition( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: ::std::os::raw::c_int, + jointPosition: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetJointPositionMultiDof( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: ::std::os::raw::c_int, + jointPosition: *const f64, + posSize: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetQ( + commandHandle: b3SharedMemoryCommandHandle, + numJointPositions: ::std::os::raw::c_int, + q: *const f64, + hasQ: *const ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetQdots( + commandHandle: b3SharedMemoryCommandHandle, + numJointVelocities: ::std::os::raw::c_int, + qDots: *const f64, + hasQdots: *const ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetJointVelocities( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + numJointVelocities: ::std::os::raw::c_int, + jointVelocities: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetJointVelocity( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: ::std::os::raw::c_int, + jointVelocity: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3CreatePoseCommandSetJointVelocityMultiDof( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: ::std::os::raw::c_int, + jointVelocity: *const f64, + velSize: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "We are currently not reading the sensor information from the URDF file, and programmatically assign sensors.\nThis is rather inconsistent, to mix programmatical creation with loading from file."] + pub fn b3CreateSensorCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreateSensorEnable6DofJointForceTorqueSensor( + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: ::std::os::raw::c_int, + enable: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = "b3CreateSensorEnableIMUForLink is not implemented yet.\nFor now, if the IMU is located in the root link, use the root world transform to mimic an IMU."] + pub fn b3CreateSensorEnableIMUForLink( + commandHandle: b3SharedMemoryCommandHandle, + linkIndex: ::std::os::raw::c_int, + enable: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3RequestActualStateCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3RequestActualStateCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3RequestActualStateCommandComputeLinkVelocity( + commandHandle: b3SharedMemoryCommandHandle, + computeLinkVelocity: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3RequestActualStateCommandComputeForwardKinematics( + commandHandle: b3SharedMemoryCommandHandle, + computeForwardKinematics: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetJointState( + physClient: b3PhysicsClientHandle, + statusHandle: b3SharedMemoryStatusHandle, + jointIndex: ::std::os::raw::c_int, + state: *mut b3JointSensorState, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetJointStateMultiDof( + physClient: b3PhysicsClientHandle, + statusHandle: b3SharedMemoryStatusHandle, + jointIndex: ::std::os::raw::c_int, + state: *mut b3JointSensorState2, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetLinkState( + physClient: b3PhysicsClientHandle, + statusHandle: b3SharedMemoryStatusHandle, + linkIndex: ::std::os::raw::c_int, + state: *mut b3LinkState, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3PickBody( + physClient: b3PhysicsClientHandle, + rayFromWorldX: f64, + rayFromWorldY: f64, + rayFromWorldZ: f64, + rayToWorldX: f64, + rayToWorldY: f64, + rayToWorldZ: f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3MovePickedBody( + physClient: b3PhysicsClientHandle, + rayFromWorldX: f64, + rayFromWorldY: f64, + rayFromWorldZ: f64, + rayToWorldX: f64, + rayToWorldY: f64, + rayToWorldZ: f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3RemovePickingConstraint( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreateRaycastCommandInit( + physClient: b3PhysicsClientHandle, + rayFromWorldX: f64, + rayFromWorldY: f64, + rayFromWorldZ: f64, + rayToWorldX: f64, + rayToWorldY: f64, + rayToWorldZ: f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3CreateRaycastBatchCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3RaycastBatchSetNumThreads( + commandHandle: b3SharedMemoryCommandHandle, + numThreads: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3RaycastBatchAddRay( + commandHandle: b3SharedMemoryCommandHandle, + rayFromWorld: *const f64, + rayToWorld: *const f64, + ); +} +extern "C" { + pub fn b3RaycastBatchAddRays( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + rayFromWorld: *const f64, + rayToWorld: *const f64, + numRays: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3RaycastBatchSetParentObject( + commandHandle: b3SharedMemoryCommandHandle, + parentObjectUniqueId: ::std::os::raw::c_int, + parentLinkIndex: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3RaycastBatchSetReportHitNumber( + commandHandle: b3SharedMemoryCommandHandle, + reportHitNumber: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3RaycastBatchSetCollisionFilterMask( + commandHandle: b3SharedMemoryCommandHandle, + collisionFilterMask: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3RaycastBatchSetFractionEpsilon( + commandHandle: b3SharedMemoryCommandHandle, + fractionEpsilon: f64, + ); +} +extern "C" { + pub fn b3GetRaycastInformation( + physClient: b3PhysicsClientHandle, + raycastInfo: *mut b3RaycastInformation, + ); +} +extern "C" { + #[doc = " Apply external force at the body (or link) center of mass, in world space/Cartesian coordinates."] + pub fn b3ApplyExternalForceCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3ApplyExternalForce( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkId: ::std::os::raw::c_int, + force: *const f64, + position: *const f64, + flag: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3ApplyExternalTorque( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: ::std::os::raw::c_int, + linkId: ::std::os::raw::c_int, + torque: *const f64, + flag: ::std::os::raw::c_int, + ); +} +extern "C" { + #[doc = "experiments of robots interacting with non-rigid objects (such as btSoftBody)"] + pub fn b3LoadSoftBodyCommandInit( + physClient: b3PhysicsClientHandle, + fileName: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3LoadSoftBodySetScale( + commandHandle: b3SharedMemoryCommandHandle, + scale: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodySetMass( + commandHandle: b3SharedMemoryCommandHandle, + mass: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodySetCollisionMargin( + commandHandle: b3SharedMemoryCommandHandle, + collisionMargin: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodySetStartPosition( + commandHandle: b3SharedMemoryCommandHandle, + startPosX: f64, + startPosY: f64, + startPosZ: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodySetStartOrientation( + commandHandle: b3SharedMemoryCommandHandle, + startOrnX: f64, + startOrnY: f64, + startOrnZ: f64, + startOrnW: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodyUpdateSimMesh( + commandHandle: b3SharedMemoryCommandHandle, + filename: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodyAddCorotatedForce( + commandHandle: b3SharedMemoryCommandHandle, + corotatedMu: f64, + corotatedLambda: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodyAddNeoHookeanForce( + commandHandle: b3SharedMemoryCommandHandle, + NeoHookeanMu: f64, + NeoHookeanLambda: f64, + NeoHookeanDamping: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodyAddMassSpringForce( + commandHandle: b3SharedMemoryCommandHandle, + springElasticStiffness: f64, + springDampingStiffness: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodyAddGravityForce( + commandHandle: b3SharedMemoryCommandHandle, + gravityX: f64, + gravityY: f64, + gravityZ: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodySetCollisionHardness( + commandHandle: b3SharedMemoryCommandHandle, + collisionHardness: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodySetSelfCollision( + commandHandle: b3SharedMemoryCommandHandle, + useSelfCollision: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodySetRepulsionStiffness( + commandHandle: b3SharedMemoryCommandHandle, + stiffness: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodyUseFaceContact( + commandHandle: b3SharedMemoryCommandHandle, + useFaceContact: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodySetFrictionCoefficient( + commandHandle: b3SharedMemoryCommandHandle, + frictionCoefficient: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodyUseBendingSprings( + commandHandle: b3SharedMemoryCommandHandle, + useBendingSprings: ::std::os::raw::c_int, + bendingStiffness: f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3LoadSoftBodyUseAllDirectionDampingSprings( + commandHandle: b3SharedMemoryCommandHandle, + useAllDirectionDamping: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3InitCreateSoftBodyAnchorConstraintCommand( + physClient: b3PhysicsClientHandle, + softBodyUniqueId: ::std::os::raw::c_int, + nodeIndex: ::std::os::raw::c_int, + bodyUniqueId: ::std::os::raw::c_int, + linkIndex: ::std::os::raw::c_int, + bodyFramePosition: *const f64, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3RequestVREventsCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3VREventsSetDeviceTypeFilter( + commandHandle: b3SharedMemoryCommandHandle, + deviceTypeFilter: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3GetVREventsData(physClient: b3PhysicsClientHandle, vrEventsData: *mut b3VREventsData); +} +extern "C" { + pub fn b3SetVRCameraStateCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3SetVRCameraRootPosition( + commandHandle: b3SharedMemoryCommandHandle, + rootPos: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3SetVRCameraRootOrientation( + commandHandle: b3SharedMemoryCommandHandle, + rootOrn: *const f64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3SetVRCameraTrackingObject( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3SetVRCameraTrackingObjectFlag( + commandHandle: b3SharedMemoryCommandHandle, + flag: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3RequestKeyboardEventsCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3RequestKeyboardEventsCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetKeyboardEventsData( + physClient: b3PhysicsClientHandle, + keyboardEventsData: *mut b3KeyboardEventsData, + ); +} +extern "C" { + pub fn b3RequestMouseEventsCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3GetMouseEventsData( + physClient: b3PhysicsClientHandle, + mouseEventsData: *mut b3MouseEventsData, + ); +} +extern "C" { + pub fn b3StateLoggingCommandInit( + physClient: b3PhysicsClientHandle, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3StateLoggingStart( + commandHandle: b3SharedMemoryCommandHandle, + loggingType: ::std::os::raw::c_int, + fileName: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3StateLoggingAddLoggingObjectUniqueId( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3StateLoggingSetMaxLogDof( + commandHandle: b3SharedMemoryCommandHandle, + maxLogDof: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3StateLoggingSetLinkIndexA( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexA: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3StateLoggingSetLinkIndexB( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexB: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3StateLoggingSetBodyAUniqueId( + commandHandle: b3SharedMemoryCommandHandle, + bodyAUniqueId: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3StateLoggingSetBodyBUniqueId( + commandHandle: b3SharedMemoryCommandHandle, + bodyBUniqueId: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3StateLoggingSetDeviceTypeFilter( + commandHandle: b3SharedMemoryCommandHandle, + deviceTypeFilter: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3StateLoggingSetLogFlags( + commandHandle: b3SharedMemoryCommandHandle, + logFlags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3GetStatusLoggingUniqueId( + statusHandle: b3SharedMemoryStatusHandle, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3StateLoggingStop( + commandHandle: b3SharedMemoryCommandHandle, + loggingUid: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn b3ProfileTimingCommandInit( + physClient: b3PhysicsClientHandle, + name: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3SetProfileTimingDuractionInMicroSeconds( + commandHandle: b3SharedMemoryCommandHandle, + duration: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3SetProfileTimingType( + commandHandle: b3SharedMemoryCommandHandle, + type_: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn b3PushProfileTiming( + physClient: b3PhysicsClientHandle, + timingName: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn b3PopProfileTiming(physClient: b3PhysicsClientHandle); +} +extern "C" { + pub fn b3SetTimeOut(physClient: b3PhysicsClientHandle, timeOutInSeconds: f64); +} +extern "C" { + pub fn b3GetTimeOut(physClient: b3PhysicsClientHandle) -> f64; +} +extern "C" { + pub fn b3SetAdditionalSearchPath( + physClient: b3PhysicsClientHandle, + path: *const ::std::os::raw::c_char, + ) -> b3SharedMemoryCommandHandle; +} +extern "C" { + pub fn b3MultiplyTransforms( + posA: *const f64, + ornA: *const f64, + posB: *const f64, + ornB: *const f64, + outPos: *mut f64, + outOrn: *mut f64, + ); +} +extern "C" { + pub fn b3InvertTransform(pos: *const f64, orn: *const f64, outPos: *mut f64, outOrn: *mut f64); +} +extern "C" { + pub fn b3QuaternionSlerp( + startQuat: *const f64, + endQuat: *const f64, + interpolationFraction: f64, + outOrn: *mut f64, + ); +} +extern "C" { + pub fn b3GetQuaternionFromAxisAngle(axis: *const f64, angle: f64, outQuat: *mut f64); +} +extern "C" { + pub fn b3GetAxisAngleFromQuaternion(quat: *const f64, axis: *mut f64, angle: *mut f64); +} +extern "C" { + pub fn b3GetQuaternionDifference(startQuat: *const f64, endQuat: *const f64, outOrn: *mut f64); +} +extern "C" { + pub fn b3GetAxisDifferenceQuaternion( + startQuat: *const f64, + endQuat: *const f64, + axisOut: *mut f64, + ); +} +extern "C" { + pub fn b3CalculateVelocityQuaternion( + startQuat: *const f64, + endQuat: *const f64, + deltaTime: f64, + angVelOut: *mut f64, + ); +} +extern "C" { + pub fn b3RotateVector(quat: *const f64, vec: *const f64, vecOut: *mut f64); +} diff --git a/csbindgen-tests/src/bullet3_ffi.rs b/csbindgen-tests/src/bullet3_ffi.rs new file mode 100644 index 0000000..daf04c1 --- /dev/null +++ b/csbindgen-tests/src/bullet3_ffi.rs @@ -0,0 +1,5943 @@ +/* automatically generated by csbindgen */ + +#[allow(unused)] +use ::std::os::raw::*; + + + + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConnectSharedMemory( + key: c_int +) -> b3PhysicsClientHandle +{ + b3ConnectSharedMemory( + key + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConnectSharedMemory2( + key: c_int +) -> b3PhysicsClientHandle +{ + b3ConnectSharedMemory2( + key + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConnectPhysicsDirect( + +) -> b3PhysicsClientHandle +{ + b3ConnectPhysicsDirect( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3DisconnectSharedMemory( + physClient: b3PhysicsClientHandle +) +{ + b3DisconnectSharedMemory( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CanSubmitCommand( + physClient: b3PhysicsClientHandle +) -> c_int +{ + b3CanSubmitCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SubmitClientCommandAndWaitStatus( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle +) -> b3SharedMemoryStatusHandle +{ + b3SubmitClientCommandAndWaitStatus( + physClient, + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SubmitClientCommand( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle +) -> c_int +{ + b3SubmitClientCommand( + physClient, + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ProcessServerStatus( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryStatusHandle +{ + b3ProcessServerStatus( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusType( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusType( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCustomCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3CreateCustomCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CustomCommandLoadPlugin( + commandHandle: b3SharedMemoryCommandHandle, + pluginPath: *const c_char +) +{ + b3CustomCommandLoadPlugin( + commandHandle, + pluginPath + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CustomCommandLoadPluginSetPostFix( + commandHandle: b3SharedMemoryCommandHandle, + postFix: *const c_char +) +{ + b3CustomCommandLoadPluginSetPostFix( + commandHandle, + postFix + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusPluginUniqueId( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusPluginUniqueId( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusPluginCommandResult( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusPluginCommandResult( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusPluginCommandReturnData( + physClient: b3PhysicsClientHandle, + valueOut: *mut b3UserDataValue +) -> c_int +{ + b3GetStatusPluginCommandReturnData( + physClient, + valueOut + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CustomCommandUnloadPlugin( + commandHandle: b3SharedMemoryCommandHandle, + pluginUniqueId: c_int +) +{ + b3CustomCommandUnloadPlugin( + commandHandle, + pluginUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CustomCommandExecutePluginCommand( + commandHandle: b3SharedMemoryCommandHandle, + pluginUniqueId: c_int, + textArguments: *const c_char +) +{ + b3CustomCommandExecutePluginCommand( + commandHandle, + pluginUniqueId, + textArguments + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CustomCommandExecuteAddIntArgument( + commandHandle: b3SharedMemoryCommandHandle, + intVal: c_int +) +{ + b3CustomCommandExecuteAddIntArgument( + commandHandle, + intVal + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CustomCommandExecuteAddFloatArgument( + commandHandle: b3SharedMemoryCommandHandle, + floatVal: f32 +) +{ + b3CustomCommandExecuteAddFloatArgument( + commandHandle, + floatVal + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusBodyIndices( + statusHandle: b3SharedMemoryStatusHandle, + bodyIndicesOut: *mut c_int, + bodyIndicesCapacity: c_int +) -> c_int +{ + b3GetStatusBodyIndices( + statusHandle, + bodyIndicesOut, + bodyIndicesCapacity + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusBodyIndex( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusBodyIndex( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusActualState( + statusHandle: b3SharedMemoryStatusHandle, + bodyUniqueId: *mut c_int, + numDegreeOfFreedomQ: *mut c_int, + numDegreeOfFreedomU: *mut c_int, + rootLocalInertialFrame: *mut *mut f64, + actualStateQ: *mut *mut f64, + actualStateQdot: *mut *mut f64, + jointReactionForces: *mut *mut f64 +) -> c_int +{ + b3GetStatusActualState( + statusHandle, + bodyUniqueId, + numDegreeOfFreedomQ, + numDegreeOfFreedomU, + rootLocalInertialFrame, + actualStateQ, + actualStateQdot, + jointReactionForces + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusActualState2( + statusHandle: b3SharedMemoryStatusHandle, + bodyUniqueId: *mut c_int, + numLinks: *mut c_int, + numDegreeOfFreedomQ: *mut c_int, + numDegreeOfFreedomU: *mut c_int, + rootLocalInertialFrame: *mut *mut f64, + actualStateQ: *mut *mut f64, + actualStateQdot: *mut *mut f64, + jointReactionForces: *mut *mut f64, + linkLocalInertialFrames: *mut *mut f64, + jointMotorForces: *mut *mut f64, + linkStates: *mut *mut f64, + linkWorldVelocities: *mut *mut f64 +) -> c_int +{ + b3GetStatusActualState2( + statusHandle, + bodyUniqueId, + numLinks, + numDegreeOfFreedomQ, + numDegreeOfFreedomU, + rootLocalInertialFrame, + actualStateQ, + actualStateQdot, + jointReactionForces, + linkLocalInertialFrames, + jointMotorForces, + linkStates, + linkWorldVelocities + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCollisionInfoCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3RequestCollisionInfoCommandInit( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusAABB( + statusHandle: b3SharedMemoryStatusHandle, + linkIndex: c_int, + aabbMin: *mut f64, + aabbMax: *mut f64 +) -> c_int +{ + b3GetStatusAABB( + statusHandle, + linkIndex, + aabbMin, + aabbMax + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitSyncBodyInfoCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitSyncBodyInfoCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRequestBodyInfoCommand( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitRequestBodyInfoCommand( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRemoveBodyCommand( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitRemoveBodyCommand( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetNumBodies( + physClient: b3PhysicsClientHandle +) -> c_int +{ + b3GetNumBodies( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetBodyUniqueId( + physClient: b3PhysicsClientHandle, + serialIndex: c_int +) -> c_int +{ + b3GetBodyUniqueId( + physClient, + serialIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetBodyInfo( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + info: *mut b3BodyInfo +) -> c_int +{ + b3GetBodyInfo( + physClient, + bodyUniqueId, + info + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetNumJoints( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> c_int +{ + b3GetNumJoints( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetNumDofs( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> c_int +{ + b3GetNumDofs( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ComputeDofCount( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> c_int +{ + b3ComputeDofCount( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetJointInfo( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + jointIndex: c_int, + info: *mut b3JointInfo +) -> c_int +{ + b3GetJointInfo( + physClient, + bodyUniqueId, + jointIndex, + info + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitSyncUserDataCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitSyncUserDataCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3AddBodyToSyncUserDataRequest( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int +) +{ + b3AddBodyToSyncUserDataRequest( + commandHandle, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitAddUserDataCommand( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + visualShapeIndex: c_int, + key: *const c_char, + valueType: UserDataValueType, + valueLength: c_int, + valueData: *const c_void +) -> b3SharedMemoryCommandHandle +{ + b3InitAddUserDataCommand( + physClient, + bodyUniqueId, + linkIndex, + visualShapeIndex, + key, + valueType, + valueLength, + valueData + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRemoveUserDataCommand( + physClient: b3PhysicsClientHandle, + userDataId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitRemoveUserDataCommand( + physClient, + userDataId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetUserData( + physClient: b3PhysicsClientHandle, + userDataId: c_int, + valueOut: *mut b3UserDataValue +) -> c_int +{ + b3GetUserData( + physClient, + userDataId, + valueOut + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetUserDataId( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + visualShapeIndex: c_int, + key: *const c_char +) -> c_int +{ + b3GetUserDataId( + physClient, + bodyUniqueId, + linkIndex, + visualShapeIndex, + key + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetUserDataIdFromStatus( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetUserDataIdFromStatus( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetNumUserData( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> c_int +{ + b3GetNumUserData( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetUserDataInfo( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + userDataIndex: c_int, + keyOut: *mut *mut c_char, + userDataIdOut: *mut c_int, + linkIndexOut: *mut c_int, + visualShapeIndexOut: *mut c_int +) +{ + b3GetUserDataInfo( + physClient, + bodyUniqueId, + userDataIndex, + keyOut, + userDataIdOut, + linkIndexOut, + visualShapeIndexOut + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetDynamicsInfoCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + linkIndex: c_int +) -> b3SharedMemoryCommandHandle +{ + b3GetDynamicsInfoCommandInit( + physClient, + bodyUniqueId, + linkIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetDynamicsInfoCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int +) -> b3SharedMemoryCommandHandle +{ + b3GetDynamicsInfoCommandInit2( + commandHandle, + bodyUniqueId, + linkIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetDynamicsInfo( + statusHandle: b3SharedMemoryStatusHandle, + info: *mut b3DynamicsInfo +) -> c_int +{ + b3GetDynamicsInfo( + statusHandle, + info + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeDynamicsInfo( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitChangeDynamicsInfo( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeDynamicsInfo2( + commandHandle: b3SharedMemoryCommandHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitChangeDynamicsInfo2( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetMass( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + mass: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetMass( + commandHandle, + bodyUniqueId, + linkIndex, + mass + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetLocalInertiaDiagonal( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + localInertiaDiagonal: *const f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetLocalInertiaDiagonal( + commandHandle, + bodyUniqueId, + linkIndex, + localInertiaDiagonal + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetAnisotropicFriction( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + anisotropicFriction: *const f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetAnisotropicFriction( + commandHandle, + bodyUniqueId, + linkIndex, + anisotropicFriction + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetJointLimit( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + jointLowerLimit: f64, + jointUpperLimit: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetJointLimit( + commandHandle, + bodyUniqueId, + linkIndex, + jointLowerLimit, + jointUpperLimit + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetJointLimitForce( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + jointLimitForce: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetJointLimitForce( + commandHandle, + bodyUniqueId, + linkIndex, + jointLimitForce + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetDynamicType( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + dynamicType: c_int +) -> c_int +{ + b3ChangeDynamicsInfoSetDynamicType( + commandHandle, + bodyUniqueId, + linkIndex, + dynamicType + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetSleepThreshold( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + sleepThreshold: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetSleepThreshold( + commandHandle, + bodyUniqueId, + sleepThreshold + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetLateralFriction( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + lateralFriction: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetLateralFriction( + commandHandle, + bodyUniqueId, + linkIndex, + lateralFriction + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetSpinningFriction( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + friction: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetSpinningFriction( + commandHandle, + bodyUniqueId, + linkIndex, + friction + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetRollingFriction( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + friction: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetRollingFriction( + commandHandle, + bodyUniqueId, + linkIndex, + friction + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetRestitution( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + restitution: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetRestitution( + commandHandle, + bodyUniqueId, + linkIndex, + restitution + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetLinearDamping( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linearDamping: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetLinearDamping( + commandHandle, + bodyUniqueId, + linearDamping + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetAngularDamping( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + angularDamping: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetAngularDamping( + commandHandle, + bodyUniqueId, + angularDamping + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetJointDamping( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + jointDamping: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetJointDamping( + commandHandle, + bodyUniqueId, + linkIndex, + jointDamping + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetContactStiffnessAndDamping( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + contactStiffness: f64, + contactDamping: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetContactStiffnessAndDamping( + commandHandle, + bodyUniqueId, + linkIndex, + contactStiffness, + contactDamping + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetFrictionAnchor( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + frictionAnchor: c_int +) -> c_int +{ + b3ChangeDynamicsInfoSetFrictionAnchor( + commandHandle, + bodyUniqueId, + linkIndex, + frictionAnchor + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetCcdSweptSphereRadius( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + ccdSweptSphereRadius: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetCcdSweptSphereRadius( + commandHandle, + bodyUniqueId, + linkIndex, + ccdSweptSphereRadius + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetContactProcessingThreshold( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + contactProcessingThreshold: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetContactProcessingThreshold( + commandHandle, + bodyUniqueId, + linkIndex, + contactProcessingThreshold + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetActivationState( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + activationState: c_int +) -> c_int +{ + b3ChangeDynamicsInfoSetActivationState( + commandHandle, + bodyUniqueId, + activationState + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetMaxJointVelocity( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + maxJointVelocity: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetMaxJointVelocity( + commandHandle, + bodyUniqueId, + maxJointVelocity + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ChangeDynamicsInfoSetCollisionMargin( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + collisionMargin: f64 +) -> c_int +{ + b3ChangeDynamicsInfoSetCollisionMargin( + commandHandle, + bodyUniqueId, + collisionMargin + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitCreateUserConstraintCommand( + physClient: b3PhysicsClientHandle, + parentBodyUniqueId: c_int, + parentJointIndex: c_int, + childBodyUniqueId: c_int, + childJointIndex: c_int, + info: *mut b3JointInfo +) -> b3SharedMemoryCommandHandle +{ + b3InitCreateUserConstraintCommand( + physClient, + parentBodyUniqueId, + parentJointIndex, + childBodyUniqueId, + childJointIndex, + info + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitCreateUserConstraintCommand2( + commandHandle: b3SharedMemoryCommandHandle, + parentBodyUniqueId: c_int, + parentJointIndex: c_int, + childBodyUniqueId: c_int, + childJointIndex: c_int, + info: *mut b3JointInfo +) -> b3SharedMemoryCommandHandle +{ + b3InitCreateUserConstraintCommand2( + commandHandle, + parentBodyUniqueId, + parentJointIndex, + childBodyUniqueId, + childJointIndex, + info + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusUserConstraintUniqueId( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusUserConstraintUniqueId( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeUserConstraintCommand( + physClient: b3PhysicsClientHandle, + userConstraintUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitChangeUserConstraintCommand( + physClient, + userConstraintUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeUserConstraintSetPivotInB( + commandHandle: b3SharedMemoryCommandHandle, + jointChildPivot: *const f64 +) -> c_int +{ + b3InitChangeUserConstraintSetPivotInB( + commandHandle, + jointChildPivot + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeUserConstraintSetFrameInB( + commandHandle: b3SharedMemoryCommandHandle, + jointChildFrameOrn: *const f64 +) -> c_int +{ + b3InitChangeUserConstraintSetFrameInB( + commandHandle, + jointChildFrameOrn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeUserConstraintSetMaxForce( + commandHandle: b3SharedMemoryCommandHandle, + maxAppliedForce: f64 +) -> c_int +{ + b3InitChangeUserConstraintSetMaxForce( + commandHandle, + maxAppliedForce + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeUserConstraintSetGearRatio( + commandHandle: b3SharedMemoryCommandHandle, + gearRatio: f64 +) -> c_int +{ + b3InitChangeUserConstraintSetGearRatio( + commandHandle, + gearRatio + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeUserConstraintSetGearAuxLink( + commandHandle: b3SharedMemoryCommandHandle, + gearAuxLink: c_int +) -> c_int +{ + b3InitChangeUserConstraintSetGearAuxLink( + commandHandle, + gearAuxLink + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeUserConstraintSetRelativePositionTarget( + commandHandle: b3SharedMemoryCommandHandle, + relativePositionTarget: f64 +) -> c_int +{ + b3InitChangeUserConstraintSetRelativePositionTarget( + commandHandle, + relativePositionTarget + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitChangeUserConstraintSetERP( + commandHandle: b3SharedMemoryCommandHandle, + erp: f64 +) -> c_int +{ + b3InitChangeUserConstraintSetERP( + commandHandle, + erp + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRemoveUserConstraintCommand( + physClient: b3PhysicsClientHandle, + userConstraintUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitRemoveUserConstraintCommand( + physClient, + userConstraintUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetNumUserConstraints( + physClient: b3PhysicsClientHandle +) -> c_int +{ + b3GetNumUserConstraints( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitGetUserConstraintStateCommand( + physClient: b3PhysicsClientHandle, + constraintUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitGetUserConstraintStateCommand( + physClient, + constraintUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusUserConstraintState( + statusHandle: b3SharedMemoryStatusHandle, + constraintState: *mut b3UserConstraintState +) -> c_int +{ + b3GetStatusUserConstraintState( + statusHandle, + constraintState + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetUserConstraintInfo( + physClient: b3PhysicsClientHandle, + constraintUniqueId: c_int, + info: *mut b3UserConstraint +) -> c_int +{ + b3GetUserConstraintInfo( + physClient, + constraintUniqueId, + info + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetUserConstraintId( + physClient: b3PhysicsClientHandle, + serialIndex: c_int +) -> c_int +{ + b3GetUserConstraintId( + physClient, + serialIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRequestDebugLinesCommand( + physClient: b3PhysicsClientHandle, + debugMode: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitRequestDebugLinesCommand( + physClient, + debugMode + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetDebugLines( + physClient: b3PhysicsClientHandle, + lines: *mut b3DebugLines +) +{ + b3GetDebugLines( + physClient, + lines + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitConfigureOpenGLVisualizer( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitConfigureOpenGLVisualizer( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitConfigureOpenGLVisualizer2( + commandHandle: b3SharedMemoryCommandHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitConfigureOpenGLVisualizer2( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConfigureOpenGLVisualizerSetVisualizationFlags( + commandHandle: b3SharedMemoryCommandHandle, + flag: c_int, + enabled: c_int +) +{ + b3ConfigureOpenGLVisualizerSetVisualizationFlags( + commandHandle, + flag, + enabled + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConfigureOpenGLVisualizerSetLightPosition( + commandHandle: b3SharedMemoryCommandHandle, + lightPosition: *const f32 +) +{ + b3ConfigureOpenGLVisualizerSetLightPosition( + commandHandle, + lightPosition + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConfigureOpenGLVisualizerSetShadowMapResolution( + commandHandle: b3SharedMemoryCommandHandle, + shadowMapResolution: c_int +) +{ + b3ConfigureOpenGLVisualizerSetShadowMapResolution( + commandHandle, + shadowMapResolution + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConfigureOpenGLVisualizerSetShadowMapIntensity( + commandHandle: b3SharedMemoryCommandHandle, + shadowMapIntensity: f64 +) +{ + b3ConfigureOpenGLVisualizerSetShadowMapIntensity( + commandHandle, + shadowMapIntensity + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConfigureOpenGLVisualizerSetLightRgbBackground( + commandHandle: b3SharedMemoryCommandHandle, + rgbBackground: *const f32 +) +{ + b3ConfigureOpenGLVisualizerSetLightRgbBackground( + commandHandle, + rgbBackground + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConfigureOpenGLVisualizerSetShadowMapWorldSize( + commandHandle: b3SharedMemoryCommandHandle, + shadowMapWorldSize: c_int +) +{ + b3ConfigureOpenGLVisualizerSetShadowMapWorldSize( + commandHandle, + shadowMapWorldSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConfigureOpenGLVisualizerSetRemoteSyncTransformInterval( + commandHandle: b3SharedMemoryCommandHandle, + remoteSyncTransformInterval: f64 +) +{ + b3ConfigureOpenGLVisualizerSetRemoteSyncTransformInterval( + commandHandle, + remoteSyncTransformInterval + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ConfigureOpenGLVisualizerSetViewMatrix( + commandHandle: b3SharedMemoryCommandHandle, + cameraDistance: f32, + cameraPitch: f32, + cameraYaw: f32, + cameraTargetPosition: *const f32 +) +{ + b3ConfigureOpenGLVisualizerSetViewMatrix( + commandHandle, + cameraDistance, + cameraPitch, + cameraYaw, + cameraTargetPosition + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRequestOpenGLVisualizerCameraCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitRequestOpenGLVisualizerCameraCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusOpenGLVisualizerCamera( + statusHandle: b3SharedMemoryStatusHandle, + camera: *mut b3OpenGLVisualizerCameraInfo +) -> c_int +{ + b3GetStatusOpenGLVisualizerCamera( + statusHandle, + camera + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUserDebugDrawAddLine3D( + physClient: b3PhysicsClientHandle, + fromXYZ: *const f64, + toXYZ: *const f64, + colorRGB: *const f64, + lineWidth: f64, + lifeTime: f64 +) -> b3SharedMemoryCommandHandle +{ + b3InitUserDebugDrawAddLine3D( + physClient, + fromXYZ, + toXYZ, + colorRGB, + lineWidth, + lifeTime + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUserDebugDrawAddPoints3D( + physClient: b3PhysicsClientHandle, + positionsXYZ: *const f64, + colorsRGB: *const f64, + pointSize: f64, + lifeTime: f64, + pointNum: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitUserDebugDrawAddPoints3D( + physClient, + positionsXYZ, + colorsRGB, + pointSize, + lifeTime, + pointNum + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUserDebugDrawAddText3D( + physClient: b3PhysicsClientHandle, + txt: *const c_char, + positionXYZ: *const f64, + colorRGB: *const f64, + textSize: f64, + lifeTime: f64 +) -> b3SharedMemoryCommandHandle +{ + b3InitUserDebugDrawAddText3D( + physClient, + txt, + positionXYZ, + colorRGB, + textSize, + lifeTime + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3UserDebugTextSetOptionFlags( + commandHandle: b3SharedMemoryCommandHandle, + optionFlags: c_int +) +{ + b3UserDebugTextSetOptionFlags( + commandHandle, + optionFlags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3UserDebugTextSetOrientation( + commandHandle: b3SharedMemoryCommandHandle, + orientation: *const f64 +) +{ + b3UserDebugTextSetOrientation( + commandHandle, + orientation + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3UserDebugItemSetReplaceItemUniqueId( + commandHandle: b3SharedMemoryCommandHandle, + replaceItem: c_int +) +{ + b3UserDebugItemSetReplaceItemUniqueId( + commandHandle, + replaceItem + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3UserDebugItemSetParentObject( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: c_int, + linkIndex: c_int +) +{ + b3UserDebugItemSetParentObject( + commandHandle, + objectUniqueId, + linkIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUserDebugAddParameter( + physClient: b3PhysicsClientHandle, + txt: *const c_char, + rangeMin: f64, + rangeMax: f64, + startValue: f64 +) -> b3SharedMemoryCommandHandle +{ + b3InitUserDebugAddParameter( + physClient, + txt, + rangeMin, + rangeMax, + startValue + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUserDebugReadParameter( + physClient: b3PhysicsClientHandle, + debugItemUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitUserDebugReadParameter( + physClient, + debugItemUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusDebugParameterValue( + statusHandle: b3SharedMemoryStatusHandle, + paramValue: *mut f64 +) -> c_int +{ + b3GetStatusDebugParameterValue( + statusHandle, + paramValue + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUserDebugDrawRemove( + physClient: b3PhysicsClientHandle, + debugItemUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitUserDebugDrawRemove( + physClient, + debugItemUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUserDebugDrawRemoveAll( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitUserDebugDrawRemoveAll( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUserRemoveAllParameters( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitUserRemoveAllParameters( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitDebugDrawingCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitDebugDrawingCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetDebugObjectColor( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: c_int, + linkIndex: c_int, + objectColorRGB: *const f64 +) +{ + b3SetDebugObjectColor( + commandHandle, + objectUniqueId, + linkIndex, + objectColorRGB + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RemoveDebugObjectColor( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: c_int, + linkIndex: c_int +) +{ + b3RemoveDebugObjectColor( + commandHandle, + objectUniqueId, + linkIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetDebugItemUniqueId( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetDebugItemUniqueId( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRequestCameraImage( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitRequestCameraImage( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRequestCameraImage2( + commandHandle: b3SharedMemoryCommandHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitRequestCameraImage2( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetCameraMatrices( + commandHandle: b3SharedMemoryCommandHandle, + viewMatrix: *mut f32, + projectionMatrix: *mut f32 +) +{ + b3RequestCameraImageSetCameraMatrices( + commandHandle, + viewMatrix, + projectionMatrix + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetPixelResolution( + commandHandle: b3SharedMemoryCommandHandle, + width: c_int, + height: c_int +) +{ + b3RequestCameraImageSetPixelResolution( + commandHandle, + width, + height + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetLightDirection( + commandHandle: b3SharedMemoryCommandHandle, + lightDirection: *const f32 +) +{ + b3RequestCameraImageSetLightDirection( + commandHandle, + lightDirection + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetLightColor( + commandHandle: b3SharedMemoryCommandHandle, + lightColor: *const f32 +) +{ + b3RequestCameraImageSetLightColor( + commandHandle, + lightColor + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetLightDistance( + commandHandle: b3SharedMemoryCommandHandle, + lightDistance: f32 +) +{ + b3RequestCameraImageSetLightDistance( + commandHandle, + lightDistance + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetLightAmbientCoeff( + commandHandle: b3SharedMemoryCommandHandle, + lightAmbientCoeff: f32 +) +{ + b3RequestCameraImageSetLightAmbientCoeff( + commandHandle, + lightAmbientCoeff + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetLightDiffuseCoeff( + commandHandle: b3SharedMemoryCommandHandle, + lightDiffuseCoeff: f32 +) +{ + b3RequestCameraImageSetLightDiffuseCoeff( + commandHandle, + lightDiffuseCoeff + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetLightSpecularCoeff( + commandHandle: b3SharedMemoryCommandHandle, + lightSpecularCoeff: f32 +) +{ + b3RequestCameraImageSetLightSpecularCoeff( + commandHandle, + lightSpecularCoeff + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetShadow( + commandHandle: b3SharedMemoryCommandHandle, + hasShadow: c_int +) +{ + b3RequestCameraImageSetShadow( + commandHandle, + hasShadow + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSelectRenderer( + commandHandle: b3SharedMemoryCommandHandle, + renderer: c_int +) +{ + b3RequestCameraImageSelectRenderer( + commandHandle, + renderer + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) +{ + b3RequestCameraImageSetFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetCameraImageData( + physClient: b3PhysicsClientHandle, + imageData: *mut b3CameraImageData +) +{ + b3GetCameraImageData( + physClient, + imageData + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetProjectiveTextureMatrices( + commandHandle: b3SharedMemoryCommandHandle, + viewMatrix: *mut f32, + projectionMatrix: *mut f32 +) +{ + b3RequestCameraImageSetProjectiveTextureMatrices( + commandHandle, + viewMatrix, + projectionMatrix + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ComputeViewMatrixFromPositions( + cameraPosition: *const f32, + cameraTargetPosition: *const f32, + cameraUp: *const f32, + viewMatrix: *mut f32 +) +{ + b3ComputeViewMatrixFromPositions( + cameraPosition, + cameraTargetPosition, + cameraUp, + viewMatrix + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ComputeViewMatrixFromYawPitchRoll( + cameraTargetPosition: *const f32, + distance: f32, + yaw: f32, + pitch: f32, + roll: f32, + upAxis: c_int, + viewMatrix: *mut f32 +) +{ + b3ComputeViewMatrixFromYawPitchRoll( + cameraTargetPosition, + distance, + yaw, + pitch, + roll, + upAxis, + viewMatrix + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ComputePositionFromViewMatrix( + viewMatrix: *const f32, + cameraPosition: *mut f32, + cameraTargetPosition: *mut f32, + cameraUp: *mut f32 +) +{ + b3ComputePositionFromViewMatrix( + viewMatrix, + cameraPosition, + cameraTargetPosition, + cameraUp + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ComputeProjectionMatrix( + left: f32, + right: f32, + bottom: f32, + top: f32, + nearVal: f32, + farVal: f32, + projectionMatrix: *mut f32 +) +{ + b3ComputeProjectionMatrix( + left, + right, + bottom, + top, + nearVal, + farVal, + projectionMatrix + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ComputeProjectionMatrixFOV( + fov: f32, + aspect: f32, + nearVal: f32, + farVal: f32, + projectionMatrix: *mut f32 +) +{ + b3ComputeProjectionMatrixFOV( + fov, + aspect, + nearVal, + farVal, + projectionMatrix + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetViewMatrix( + commandHandle: b3SharedMemoryCommandHandle, + cameraPosition: *const f32, + cameraTargetPosition: *const f32, + cameraUp: *const f32 +) +{ + b3RequestCameraImageSetViewMatrix( + commandHandle, + cameraPosition, + cameraTargetPosition, + cameraUp + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetViewMatrix2( + commandHandle: b3SharedMemoryCommandHandle, + cameraTargetPosition: *const f32, + distance: f32, + yaw: f32, + pitch: f32, + roll: f32, + upAxis: c_int +) +{ + b3RequestCameraImageSetViewMatrix2( + commandHandle, + cameraTargetPosition, + distance, + yaw, + pitch, + roll, + upAxis + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetProjectionMatrix( + commandHandle: b3SharedMemoryCommandHandle, + left: f32, + right: f32, + bottom: f32, + top: f32, + nearVal: f32, + farVal: f32 +) +{ + b3RequestCameraImageSetProjectionMatrix( + commandHandle, + left, + right, + bottom, + top, + nearVal, + farVal + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestCameraImageSetFOVProjectionMatrix( + commandHandle: b3SharedMemoryCommandHandle, + fov: f32, + aspect: f32, + nearVal: f32, + farVal: f32 +) +{ + b3RequestCameraImageSetFOVProjectionMatrix( + commandHandle, + fov, + aspect, + nearVal, + farVal + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRequestContactPointInformation( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitRequestContactPointInformation( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetContactFilterBodyA( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdA: c_int +) +{ + b3SetContactFilterBodyA( + commandHandle, + bodyUniqueIdA + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetContactFilterBodyB( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdB: c_int +) +{ + b3SetContactFilterBodyB( + commandHandle, + bodyUniqueIdB + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetContactFilterLinkA( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexA: c_int +) +{ + b3SetContactFilterLinkA( + commandHandle, + linkIndexA + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetContactFilterLinkB( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexB: c_int +) +{ + b3SetContactFilterLinkB( + commandHandle, + linkIndexB + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetContactPointInformation( + physClient: b3PhysicsClientHandle, + contactPointData: *mut b3ContactInformation +) +{ + b3GetContactPointInformation( + physClient, + contactPointData + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitClosestDistanceQuery( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitClosestDistanceQuery( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterBodyA( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdA: c_int +) +{ + b3SetClosestDistanceFilterBodyA( + commandHandle, + bodyUniqueIdA + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterLinkA( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexA: c_int +) +{ + b3SetClosestDistanceFilterLinkA( + commandHandle, + linkIndexA + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterBodyB( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdB: c_int +) +{ + b3SetClosestDistanceFilterBodyB( + commandHandle, + bodyUniqueIdB + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterLinkB( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexB: c_int +) +{ + b3SetClosestDistanceFilterLinkB( + commandHandle, + linkIndexB + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceThreshold( + commandHandle: b3SharedMemoryCommandHandle, + distance: f64 +) +{ + b3SetClosestDistanceThreshold( + commandHandle, + distance + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterCollisionShapeA( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeA: c_int +) +{ + b3SetClosestDistanceFilterCollisionShapeA( + commandHandle, + collisionShapeA + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterCollisionShapeB( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeB: c_int +) +{ + b3SetClosestDistanceFilterCollisionShapeB( + commandHandle, + collisionShapeB + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterCollisionShapePositionA( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapePositionA: *const f64 +) +{ + b3SetClosestDistanceFilterCollisionShapePositionA( + commandHandle, + collisionShapePositionA + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterCollisionShapePositionB( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapePositionB: *const f64 +) +{ + b3SetClosestDistanceFilterCollisionShapePositionB( + commandHandle, + collisionShapePositionB + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterCollisionShapeOrientationA( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeOrientationA: *const f64 +) +{ + b3SetClosestDistanceFilterCollisionShapeOrientationA( + commandHandle, + collisionShapeOrientationA + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetClosestDistanceFilterCollisionShapeOrientationB( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeOrientationB: *const f64 +) +{ + b3SetClosestDistanceFilterCollisionShapeOrientationB( + commandHandle, + collisionShapeOrientationB + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetClosestPointInformation( + physClient: b3PhysicsClientHandle, + contactPointInfo: *mut b3ContactInformation +) +{ + b3GetClosestPointInformation( + physClient, + contactPointInfo + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitAABBOverlapQuery( + physClient: b3PhysicsClientHandle, + aabbMin: *const f64, + aabbMax: *const f64 +) -> b3SharedMemoryCommandHandle +{ + b3InitAABBOverlapQuery( + physClient, + aabbMin, + aabbMax + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetAABBOverlapResults( + physClient: b3PhysicsClientHandle, + data: *mut b3AABBOverlapData +) +{ + b3GetAABBOverlapResults( + physClient, + data + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRequestVisualShapeInformation( + physClient: b3PhysicsClientHandle, + bodyUniqueIdA: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitRequestVisualShapeInformation( + physClient, + bodyUniqueIdA + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetVisualShapeInformation( + physClient: b3PhysicsClientHandle, + visualShapeInfo: *mut b3VisualShapeInformation +) +{ + b3GetVisualShapeInformation( + physClient, + visualShapeInfo + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRequestCollisionShapeInformation( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + linkIndex: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitRequestCollisionShapeInformation( + physClient, + bodyUniqueId, + linkIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetCollisionShapeInformation( + physClient: b3PhysicsClientHandle, + collisionShapeInfo: *mut b3CollisionShapeInformation +) +{ + b3GetCollisionShapeInformation( + physClient, + collisionShapeInfo + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitLoadTexture( + physClient: b3PhysicsClientHandle, + filename: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3InitLoadTexture( + physClient, + filename + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusTextureUniqueId( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusTextureUniqueId( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateChangeTextureCommandInit( + physClient: b3PhysicsClientHandle, + textureUniqueId: c_int, + width: c_int, + height: c_int, + rgbPixels: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3CreateChangeTextureCommandInit( + physClient, + textureUniqueId, + width, + height, + rgbPixels + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUpdateVisualShape( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + jointIndex: c_int, + shapeIndex: c_int, + textureUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitUpdateVisualShape( + physClient, + bodyUniqueId, + jointIndex, + shapeIndex, + textureUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitUpdateVisualShape2( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + jointIndex: c_int, + shapeIndex: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitUpdateVisualShape2( + physClient, + bodyUniqueId, + jointIndex, + shapeIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3UpdateVisualShapeTexture( + commandHandle: b3SharedMemoryCommandHandle, + textureUniqueId: c_int +) +{ + b3UpdateVisualShapeTexture( + commandHandle, + textureUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3UpdateVisualShapeRGBAColor( + commandHandle: b3SharedMemoryCommandHandle, + rgbaColor: *const f64 +) +{ + b3UpdateVisualShapeRGBAColor( + commandHandle, + rgbaColor + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3UpdateVisualShapeFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) +{ + b3UpdateVisualShapeFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3UpdateVisualShapeSpecularColor( + commandHandle: b3SharedMemoryCommandHandle, + specularColor: *const f64 +) +{ + b3UpdateVisualShapeSpecularColor( + commandHandle, + specularColor + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitPhysicsParamCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitPhysicsParamCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitPhysicsParamCommand2( + commandHandle: b3SharedMemoryCommandHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitPhysicsParamCommand2( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetGravity( + commandHandle: b3SharedMemoryCommandHandle, + gravx: f64, + gravy: f64, + gravz: f64 +) -> c_int +{ + b3PhysicsParamSetGravity( + commandHandle, + gravx, + gravy, + gravz + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetTimeStep( + commandHandle: b3SharedMemoryCommandHandle, + timeStep: f64 +) -> c_int +{ + b3PhysicsParamSetTimeStep( + commandHandle, + timeStep + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetDefaultContactERP( + commandHandle: b3SharedMemoryCommandHandle, + defaultContactERP: f64 +) -> c_int +{ + b3PhysicsParamSetDefaultContactERP( + commandHandle, + defaultContactERP + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetDefaultNonContactERP( + commandHandle: b3SharedMemoryCommandHandle, + defaultNonContactERP: f64 +) -> c_int +{ + b3PhysicsParamSetDefaultNonContactERP( + commandHandle, + defaultNonContactERP + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetDefaultFrictionERP( + commandHandle: b3SharedMemoryCommandHandle, + frictionERP: f64 +) -> c_int +{ + b3PhysicsParamSetDefaultFrictionERP( + commandHandle, + frictionERP + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetDefaultGlobalCFM( + commandHandle: b3SharedMemoryCommandHandle, + defaultGlobalCFM: f64 +) -> c_int +{ + b3PhysicsParamSetDefaultGlobalCFM( + commandHandle, + defaultGlobalCFM + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetDefaultFrictionCFM( + commandHandle: b3SharedMemoryCommandHandle, + frictionCFM: f64 +) -> c_int +{ + b3PhysicsParamSetDefaultFrictionCFM( + commandHandle, + frictionCFM + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetNumSubSteps( + commandHandle: b3SharedMemoryCommandHandle, + numSubSteps: c_int +) -> c_int +{ + b3PhysicsParamSetNumSubSteps( + commandHandle, + numSubSteps + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetRealTimeSimulation( + commandHandle: b3SharedMemoryCommandHandle, + enableRealTimeSimulation: c_int +) -> c_int +{ + b3PhysicsParamSetRealTimeSimulation( + commandHandle, + enableRealTimeSimulation + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetNumSolverIterations( + commandHandle: b3SharedMemoryCommandHandle, + numSolverIterations: c_int +) -> c_int +{ + b3PhysicsParamSetNumSolverIterations( + commandHandle, + numSolverIterations + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetNumNonContactInnerIterations( + commandHandle: b3SharedMemoryCommandHandle, + numMotorIterations: c_int +) -> c_int +{ + b3PhysicsParamSetNumNonContactInnerIterations( + commandHandle, + numMotorIterations + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetWarmStartingFactor( + commandHandle: b3SharedMemoryCommandHandle, + warmStartingFactor: f64 +) -> c_int +{ + b3PhysicsParamSetWarmStartingFactor( + commandHandle, + warmStartingFactor + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetArticulatedWarmStartingFactor( + commandHandle: b3SharedMemoryCommandHandle, + warmStartingFactor: f64 +) -> c_int +{ + b3PhysicsParamSetArticulatedWarmStartingFactor( + commandHandle, + warmStartingFactor + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetCollisionFilterMode( + commandHandle: b3SharedMemoryCommandHandle, + filterMode: c_int +) -> c_int +{ + b3PhysicsParamSetCollisionFilterMode( + commandHandle, + filterMode + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetUseSplitImpulse( + commandHandle: b3SharedMemoryCommandHandle, + useSplitImpulse: c_int +) -> c_int +{ + b3PhysicsParamSetUseSplitImpulse( + commandHandle, + useSplitImpulse + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetSplitImpulsePenetrationThreshold( + commandHandle: b3SharedMemoryCommandHandle, + splitImpulsePenetrationThreshold: f64 +) -> c_int +{ + b3PhysicsParamSetSplitImpulsePenetrationThreshold( + commandHandle, + splitImpulsePenetrationThreshold + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetContactBreakingThreshold( + commandHandle: b3SharedMemoryCommandHandle, + contactBreakingThreshold: f64 +) -> c_int +{ + b3PhysicsParamSetContactBreakingThreshold( + commandHandle, + contactBreakingThreshold + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetMaxNumCommandsPer1ms( + commandHandle: b3SharedMemoryCommandHandle, + maxNumCmdPer1ms: c_int +) -> c_int +{ + b3PhysicsParamSetMaxNumCommandsPer1ms( + commandHandle, + maxNumCmdPer1ms + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetEnableFileCaching( + commandHandle: b3SharedMemoryCommandHandle, + enableFileCaching: c_int +) -> c_int +{ + b3PhysicsParamSetEnableFileCaching( + commandHandle, + enableFileCaching + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetRestitutionVelocityThreshold( + commandHandle: b3SharedMemoryCommandHandle, + restitutionVelocityThreshold: f64 +) -> c_int +{ + b3PhysicsParamSetRestitutionVelocityThreshold( + commandHandle, + restitutionVelocityThreshold + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetEnableConeFriction( + commandHandle: b3SharedMemoryCommandHandle, + enableConeFriction: c_int +) -> c_int +{ + b3PhysicsParamSetEnableConeFriction( + commandHandle, + enableConeFriction + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParameterSetDeterministicOverlappingPairs( + commandHandle: b3SharedMemoryCommandHandle, + deterministicOverlappingPairs: c_int +) -> c_int +{ + b3PhysicsParameterSetDeterministicOverlappingPairs( + commandHandle, + deterministicOverlappingPairs + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParameterSetAllowedCcdPenetration( + commandHandle: b3SharedMemoryCommandHandle, + allowedCcdPenetration: f64 +) -> c_int +{ + b3PhysicsParameterSetAllowedCcdPenetration( + commandHandle, + allowedCcdPenetration + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParameterSetJointFeedbackMode( + commandHandle: b3SharedMemoryCommandHandle, + jointFeedbackMode: c_int +) -> c_int +{ + b3PhysicsParameterSetJointFeedbackMode( + commandHandle, + jointFeedbackMode + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetSolverResidualThreshold( + commandHandle: b3SharedMemoryCommandHandle, + solverResidualThreshold: f64 +) -> c_int +{ + b3PhysicsParamSetSolverResidualThreshold( + commandHandle, + solverResidualThreshold + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetContactSlop( + commandHandle: b3SharedMemoryCommandHandle, + contactSlop: f64 +) -> c_int +{ + b3PhysicsParamSetContactSlop( + commandHandle, + contactSlop + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParameterSetEnableSAT( + commandHandle: b3SharedMemoryCommandHandle, + enableSAT: c_int +) -> c_int +{ + b3PhysicsParameterSetEnableSAT( + commandHandle, + enableSAT + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParameterSetConstraintSolverType( + commandHandle: b3SharedMemoryCommandHandle, + constraintSolverType: c_int +) -> c_int +{ + b3PhysicsParameterSetConstraintSolverType( + commandHandle, + constraintSolverType + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParameterSetMinimumSolverIslandSize( + commandHandle: b3SharedMemoryCommandHandle, + minimumSolverIslandSize: c_int +) -> c_int +{ + b3PhysicsParameterSetMinimumSolverIslandSize( + commandHandle, + minimumSolverIslandSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetSolverAnalytics( + commandHandle: b3SharedMemoryCommandHandle, + reportSolverAnalytics: c_int +) -> c_int +{ + b3PhysicsParamSetSolverAnalytics( + commandHandle, + reportSolverAnalytics + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParameterSetSparseSdfVoxelSize( + commandHandle: b3SharedMemoryCommandHandle, + sparseSdfVoxelSize: f64 +) -> c_int +{ + b3PhysicsParameterSetSparseSdfVoxelSize( + commandHandle, + sparseSdfVoxelSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRequestPhysicsParamCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitRequestPhysicsParamCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusPhysicsSimulationParameters( + statusHandle: b3SharedMemoryStatusHandle, + params: *mut b3PhysicsSimulationParameters +) -> c_int +{ + b3GetStatusPhysicsSimulationParameters( + statusHandle, + params + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PhysicsParamSetInternalSimFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) -> c_int +{ + b3PhysicsParamSetInternalSimFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitStepSimulationCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitStepSimulationCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitStepSimulationCommand2( + commandHandle: b3SharedMemoryCommandHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitStepSimulationCommand2( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitPerformCollisionDetectionCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitPerformCollisionDetectionCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusForwardDynamicsAnalyticsData( + statusHandle: b3SharedMemoryStatusHandle, + analyticsData: *mut b3ForwardDynamicsAnalyticsArgs +) -> c_int +{ + b3GetStatusForwardDynamicsAnalyticsData( + statusHandle, + analyticsData + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitResetSimulationCommand( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitResetSimulationCommand( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitResetSimulationCommand2( + commandHandle: b3SharedMemoryCommandHandle +) -> b3SharedMemoryCommandHandle +{ + b3InitResetSimulationCommand2( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitResetSimulationSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) -> c_int +{ + b3InitResetSimulationSetFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadUrdfCommandInit( + physClient: b3PhysicsClientHandle, + urdfFileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3LoadUrdfCommandInit( + physClient, + urdfFileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadUrdfCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + urdfFileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3LoadUrdfCommandInit2( + commandHandle, + urdfFileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadUrdfCommandSetStartPosition( + commandHandle: b3SharedMemoryCommandHandle, + startPosX: f64, + startPosY: f64, + startPosZ: f64 +) -> c_int +{ + b3LoadUrdfCommandSetStartPosition( + commandHandle, + startPosX, + startPosY, + startPosZ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadUrdfCommandSetStartOrientation( + commandHandle: b3SharedMemoryCommandHandle, + startOrnX: f64, + startOrnY: f64, + startOrnZ: f64, + startOrnW: f64 +) -> c_int +{ + b3LoadUrdfCommandSetStartOrientation( + commandHandle, + startOrnX, + startOrnY, + startOrnZ, + startOrnW + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadUrdfCommandSetUseMultiBody( + commandHandle: b3SharedMemoryCommandHandle, + useMultiBody: c_int +) -> c_int +{ + b3LoadUrdfCommandSetUseMultiBody( + commandHandle, + useMultiBody + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadUrdfCommandSetUseFixedBase( + commandHandle: b3SharedMemoryCommandHandle, + useFixedBase: c_int +) -> c_int +{ + b3LoadUrdfCommandSetUseFixedBase( + commandHandle, + useFixedBase + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadUrdfCommandSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) -> c_int +{ + b3LoadUrdfCommandSetFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadUrdfCommandSetGlobalScaling( + commandHandle: b3SharedMemoryCommandHandle, + globalScaling: f64 +) -> c_int +{ + b3LoadUrdfCommandSetGlobalScaling( + commandHandle, + globalScaling + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SaveStateCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3SaveStateCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRemoveStateCommand( + physClient: b3PhysicsClientHandle, + stateId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitRemoveStateCommand( + physClient, + stateId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusGetStateId( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusGetStateId( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadStateCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3LoadStateCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadStateSetStateId( + commandHandle: b3SharedMemoryCommandHandle, + stateId: c_int +) -> c_int +{ + b3LoadStateSetStateId( + commandHandle, + stateId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadStateSetFileName( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const c_char +) -> c_int +{ + b3LoadStateSetFileName( + commandHandle, + fileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadBulletCommandInit( + physClient: b3PhysicsClientHandle, + fileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3LoadBulletCommandInit( + physClient, + fileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SaveBulletCommandInit( + physClient: b3PhysicsClientHandle, + fileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3SaveBulletCommandInit( + physClient, + fileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadMJCFCommandInit( + physClient: b3PhysicsClientHandle, + fileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3LoadMJCFCommandInit( + physClient, + fileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadMJCFCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3LoadMJCFCommandInit2( + commandHandle, + fileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadMJCFCommandSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) +{ + b3LoadMJCFCommandSetFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadMJCFCommandSetUseMultiBody( + commandHandle: b3SharedMemoryCommandHandle, + useMultiBody: c_int +) +{ + b3LoadMJCFCommandSetUseMultiBody( + commandHandle, + useMultiBody + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseDynamicsCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + jointPositionsQ: *const f64, + jointVelocitiesQdot: *const f64, + jointAccelerations: *const f64 +) -> b3SharedMemoryCommandHandle +{ + b3CalculateInverseDynamicsCommandInit( + physClient, + bodyUniqueId, + jointPositionsQ, + jointVelocitiesQdot, + jointAccelerations + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseDynamicsCommandInit2( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + jointPositionsQ: *const f64, + dofCountQ: c_int, + jointVelocitiesQdot: *const f64, + jointAccelerations: *const f64, + dofCountQdot: c_int +) -> b3SharedMemoryCommandHandle +{ + b3CalculateInverseDynamicsCommandInit2( + physClient, + bodyUniqueId, + jointPositionsQ, + dofCountQ, + jointVelocitiesQdot, + jointAccelerations, + dofCountQdot + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseDynamicsSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) +{ + b3CalculateInverseDynamicsSetFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusInverseDynamicsJointForces( + statusHandle: b3SharedMemoryStatusHandle, + bodyUniqueId: *mut c_int, + dofCount: *mut c_int, + jointForces: *mut f64 +) -> c_int +{ + b3GetStatusInverseDynamicsJointForces( + statusHandle, + bodyUniqueId, + dofCount, + jointForces + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateJacobianCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + linkIndex: c_int, + localPosition: *const f64, + jointPositionsQ: *const f64, + jointVelocitiesQdot: *const f64, + jointAccelerations: *const f64 +) -> b3SharedMemoryCommandHandle +{ + b3CalculateJacobianCommandInit( + physClient, + bodyUniqueId, + linkIndex, + localPosition, + jointPositionsQ, + jointVelocitiesQdot, + jointAccelerations + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusJacobian( + statusHandle: b3SharedMemoryStatusHandle, + dofCount: *mut c_int, + linearJacobian: *mut f64, + angularJacobian: *mut f64 +) -> c_int +{ + b3GetStatusJacobian( + statusHandle, + dofCount, + linearJacobian, + angularJacobian + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateMassMatrixCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + jointPositionsQ: *const f64, + dofCountQ: c_int +) -> b3SharedMemoryCommandHandle +{ + b3CalculateMassMatrixCommandInit( + physClient, + bodyUniqueId, + jointPositionsQ, + dofCountQ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateMassMatrixSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) +{ + b3CalculateMassMatrixSetFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusMassMatrix( + physClient: b3PhysicsClientHandle, + statusHandle: b3SharedMemoryStatusHandle, + dofCount: *mut c_int, + massMatrix: *mut f64 +) -> c_int +{ + b3GetStatusMassMatrix( + physClient, + statusHandle, + dofCount, + massMatrix + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3CalculateInverseKinematicsCommandInit( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsAddTargetPurePosition( + commandHandle: b3SharedMemoryCommandHandle, + endEffectorLinkIndex: c_int, + targetPosition: *const f64 +) +{ + b3CalculateInverseKinematicsAddTargetPurePosition( + commandHandle, + endEffectorLinkIndex, + targetPosition + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsAddTargetsPurePosition( + commandHandle: b3SharedMemoryCommandHandle, + numEndEffectorLinkIndices: c_int, + endEffectorIndices: *const c_int, + targetPositions: *const f64 +) +{ + b3CalculateInverseKinematicsAddTargetsPurePosition( + commandHandle, + numEndEffectorLinkIndices, + endEffectorIndices, + targetPositions + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsAddTargetPositionWithOrientation( + commandHandle: b3SharedMemoryCommandHandle, + endEffectorLinkIndex: c_int, + targetPosition: *const f64, + targetOrientation: *const f64 +) +{ + b3CalculateInverseKinematicsAddTargetPositionWithOrientation( + commandHandle, + endEffectorLinkIndex, + targetPosition, + targetOrientation + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsPosWithNullSpaceVel( + commandHandle: b3SharedMemoryCommandHandle, + numDof: c_int, + endEffectorLinkIndex: c_int, + targetPosition: *const f64, + lowerLimit: *const f64, + upperLimit: *const f64, + jointRange: *const f64, + restPose: *const f64 +) +{ + b3CalculateInverseKinematicsPosWithNullSpaceVel( + commandHandle, + numDof, + endEffectorLinkIndex, + targetPosition, + lowerLimit, + upperLimit, + jointRange, + restPose + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsPosOrnWithNullSpaceVel( + commandHandle: b3SharedMemoryCommandHandle, + numDof: c_int, + endEffectorLinkIndex: c_int, + targetPosition: *const f64, + targetOrientation: *const f64, + lowerLimit: *const f64, + upperLimit: *const f64, + jointRange: *const f64, + restPose: *const f64 +) +{ + b3CalculateInverseKinematicsPosOrnWithNullSpaceVel( + commandHandle, + numDof, + endEffectorLinkIndex, + targetPosition, + targetOrientation, + lowerLimit, + upperLimit, + jointRange, + restPose + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsSetJointDamping( + commandHandle: b3SharedMemoryCommandHandle, + numDof: c_int, + jointDampingCoeff: *const f64 +) +{ + b3CalculateInverseKinematicsSetJointDamping( + commandHandle, + numDof, + jointDampingCoeff + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsSelectSolver( + commandHandle: b3SharedMemoryCommandHandle, + solver: c_int +) +{ + b3CalculateInverseKinematicsSelectSolver( + commandHandle, + solver + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusInverseKinematicsJointPositions( + statusHandle: b3SharedMemoryStatusHandle, + bodyUniqueId: *mut c_int, + dofCount: *mut c_int, + jointPositions: *mut f64 +) -> c_int +{ + b3GetStatusInverseKinematicsJointPositions( + statusHandle, + bodyUniqueId, + dofCount, + jointPositions + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsSetCurrentPositions( + commandHandle: b3SharedMemoryCommandHandle, + numDof: c_int, + currentJointPositions: *const f64 +) +{ + b3CalculateInverseKinematicsSetCurrentPositions( + commandHandle, + numDof, + currentJointPositions + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsSetMaxNumIterations( + commandHandle: b3SharedMemoryCommandHandle, + maxNumIterations: c_int +) +{ + b3CalculateInverseKinematicsSetMaxNumIterations( + commandHandle, + maxNumIterations + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateInverseKinematicsSetResidualThreshold( + commandHandle: b3SharedMemoryCommandHandle, + residualThreshold: f64 +) +{ + b3CalculateInverseKinematicsSetResidualThreshold( + commandHandle, + residualThreshold + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CollisionFilterCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3CollisionFilterCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetCollisionFilterPair( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdA: c_int, + bodyUniqueIdB: c_int, + linkIndexA: c_int, + linkIndexB: c_int, + enableCollision: c_int +) +{ + b3SetCollisionFilterPair( + commandHandle, + bodyUniqueIdA, + bodyUniqueIdB, + linkIndexA, + linkIndexB, + enableCollision + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetCollisionFilterGroupMask( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueIdA: c_int, + linkIndexA: c_int, + collisionFilterGroup: c_int, + collisionFilterMask: c_int +) +{ + b3SetCollisionFilterGroupMask( + commandHandle, + bodyUniqueIdA, + linkIndexA, + collisionFilterGroup, + collisionFilterMask + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSdfCommandInit( + physClient: b3PhysicsClientHandle, + sdfFileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3LoadSdfCommandInit( + physClient, + sdfFileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSdfCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + sdfFileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3LoadSdfCommandInit2( + commandHandle, + sdfFileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSdfCommandSetUseMultiBody( + commandHandle: b3SharedMemoryCommandHandle, + useMultiBody: c_int +) -> c_int +{ + b3LoadSdfCommandSetUseMultiBody( + commandHandle, + useMultiBody + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSdfCommandSetUseGlobalScaling( + commandHandle: b3SharedMemoryCommandHandle, + globalScaling: f64 +) -> c_int +{ + b3LoadSdfCommandSetUseGlobalScaling( + commandHandle, + globalScaling + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SaveWorldCommandInit( + physClient: b3PhysicsClientHandle, + sdfFileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3SaveWorldCommandInit( + physClient, + sdfFileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlCommandInit( + physClient: b3PhysicsClientHandle, + controlMode: c_int +) -> b3SharedMemoryCommandHandle +{ + b3JointControlCommandInit( + physClient, + controlMode + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlCommandInit2( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + controlMode: c_int +) -> b3SharedMemoryCommandHandle +{ + b3JointControlCommandInit2( + physClient, + bodyUniqueId, + controlMode + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlCommandInit2Internal( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + controlMode: c_int +) -> b3SharedMemoryCommandHandle +{ + b3JointControlCommandInit2Internal( + commandHandle, + bodyUniqueId, + controlMode + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetDesiredPosition( + commandHandle: b3SharedMemoryCommandHandle, + qIndex: c_int, + value: f64 +) -> c_int +{ + b3JointControlSetDesiredPosition( + commandHandle, + qIndex, + value + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetDesiredPositionMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + qIndex: c_int, + position: *const f64, + dofCount: c_int +) -> c_int +{ + b3JointControlSetDesiredPositionMultiDof( + commandHandle, + qIndex, + position, + dofCount + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetKp( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + value: f64 +) -> c_int +{ + b3JointControlSetKp( + commandHandle, + dofIndex, + value + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetKpMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + kps: *mut f64, + dofCount: c_int +) -> c_int +{ + b3JointControlSetKpMultiDof( + commandHandle, + dofIndex, + kps, + dofCount + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetKd( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + value: f64 +) -> c_int +{ + b3JointControlSetKd( + commandHandle, + dofIndex, + value + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetKdMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + kds: *mut f64, + dofCount: c_int +) -> c_int +{ + b3JointControlSetKdMultiDof( + commandHandle, + dofIndex, + kds, + dofCount + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetMaximumVelocity( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + maximumVelocity: f64 +) -> c_int +{ + b3JointControlSetMaximumVelocity( + commandHandle, + dofIndex, + maximumVelocity + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetDesiredVelocity( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + value: f64 +) -> c_int +{ + b3JointControlSetDesiredVelocity( + commandHandle, + dofIndex, + value + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetDesiredVelocityMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + velocity: *const f64, + dofCount: c_int +) -> c_int +{ + b3JointControlSetDesiredVelocityMultiDof( + commandHandle, + dofIndex, + velocity, + dofCount + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetDesiredVelocityMultiDof2( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + velocity: *const f64, + dofCount: c_int +) -> c_int +{ + b3JointControlSetDesiredVelocityMultiDof2( + commandHandle, + dofIndex, + velocity, + dofCount + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetMaximumForce( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + value: f64 +) -> c_int +{ + b3JointControlSetMaximumForce( + commandHandle, + dofIndex, + value + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetDesiredForceTorqueMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + forces: *mut f64, + dofCount: c_int +) -> c_int +{ + b3JointControlSetDesiredForceTorqueMultiDof( + commandHandle, + dofIndex, + forces, + dofCount + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetDamping( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + value: f64 +) -> c_int +{ + b3JointControlSetDamping( + commandHandle, + dofIndex, + value + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetDampingMultiDof( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + damping: *mut f64, + dofCount: c_int +) -> c_int +{ + b3JointControlSetDampingMultiDof( + commandHandle, + dofIndex, + damping, + dofCount + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3JointControlSetDesiredForceTorque( + commandHandle: b3SharedMemoryCommandHandle, + dofIndex: c_int, + value: f64 +) -> c_int +{ + b3JointControlSetDesiredForceTorque( + commandHandle, + dofIndex, + value + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3CreateCollisionShapeCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddSphere( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64 +) -> c_int +{ + b3CreateCollisionShapeAddSphere( + commandHandle, + radius + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddBox( + commandHandle: b3SharedMemoryCommandHandle, + halfExtents: *const f64 +) -> c_int +{ + b3CreateCollisionShapeAddBox( + commandHandle, + halfExtents + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddCapsule( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + height: f64 +) -> c_int +{ + b3CreateCollisionShapeAddCapsule( + commandHandle, + radius, + height + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddCylinder( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + height: f64 +) -> c_int +{ + b3CreateCollisionShapeAddCylinder( + commandHandle, + radius, + height + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddHeightfield( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const c_char, + meshScale: *const f64, + textureScaling: f64 +) -> c_int +{ + b3CreateCollisionShapeAddHeightfield( + commandHandle, + fileName, + meshScale, + textureScaling + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddHeightfield2( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + meshScale: *const f64, + textureScaling: f64, + heightfieldData: *mut f32, + numHeightfieldRows: c_int, + numHeightfieldColumns: c_int, + replaceHeightfieldIndex: c_int +) -> c_int +{ + b3CreateCollisionShapeAddHeightfield2( + physClient, + commandHandle, + meshScale, + textureScaling, + heightfieldData, + numHeightfieldRows, + numHeightfieldColumns, + replaceHeightfieldIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddPlane( + commandHandle: b3SharedMemoryCommandHandle, + planeNormal: *const f64, + planeConstant: f64 +) -> c_int +{ + b3CreateCollisionShapeAddPlane( + commandHandle, + planeNormal, + planeConstant + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddMesh( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const c_char, + meshScale: *const f64 +) -> c_int +{ + b3CreateCollisionShapeAddMesh( + commandHandle, + fileName, + meshScale + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddConvexMesh( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + meshScale: *const f64, + vertices: *const f64, + numVertices: c_int +) -> c_int +{ + b3CreateCollisionShapeAddConvexMesh( + physClient, + commandHandle, + meshScale, + vertices, + numVertices + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeAddConcaveMesh( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + meshScale: *const f64, + vertices: *const f64, + numVertices: c_int, + indices: *const c_int, + numIndices: c_int +) -> c_int +{ + b3CreateCollisionShapeAddConcaveMesh( + physClient, + commandHandle, + meshScale, + vertices, + numVertices, + indices, + numIndices + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionSetFlag( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: c_int, + flags: c_int +) +{ + b3CreateCollisionSetFlag( + commandHandle, + shapeIndex, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateCollisionShapeSetChildTransform( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: c_int, + childPosition: *const f64, + childOrientation: *const f64 +) +{ + b3CreateCollisionShapeSetChildTransform( + commandHandle, + shapeIndex, + childPosition, + childOrientation + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusCollisionShapeUniqueId( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusCollisionShapeUniqueId( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitRemoveCollisionShapeCommand( + physClient: b3PhysicsClientHandle, + collisionShapeId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3InitRemoveCollisionShapeCommand( + physClient, + collisionShapeId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetMeshDataCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + linkIndex: c_int +) -> b3SharedMemoryCommandHandle +{ + b3GetMeshDataCommandInit( + physClient, + bodyUniqueId, + linkIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetTetraMeshDataCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3GetTetraMeshDataCommandInit( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetMeshDataSimulationMesh( + commandHandle: b3SharedMemoryCommandHandle +) +{ + b3GetMeshDataSimulationMesh( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3MeshDataSimulationMeshVelocity( + commandHandle: b3SharedMemoryCommandHandle +) +{ + b3MeshDataSimulationMeshVelocity( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetMeshDataSetCollisionShapeIndex( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: c_int +) +{ + b3GetMeshDataSetCollisionShapeIndex( + commandHandle, + shapeIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetMeshDataSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) +{ + b3GetMeshDataSetFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetTetraMeshDataSetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) +{ + b3GetTetraMeshDataSetFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetMeshData( + physClient: b3PhysicsClientHandle, + meshData: *mut b3MeshData +) +{ + b3GetMeshData( + physClient, + meshData + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetTetraMeshData( + physClient: b3PhysicsClientHandle, + meshData: *mut b3TetraMeshData +) +{ + b3GetTetraMeshData( + physClient, + meshData + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ResetMeshDataCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int, + num_vertices: c_int, + vertices: *const f64 +) -> b3SharedMemoryCommandHandle +{ + b3ResetMeshDataCommandInit( + physClient, + bodyUniqueId, + num_vertices, + vertices + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3CreateVisualShapeCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeAddSphere( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64 +) -> c_int +{ + b3CreateVisualShapeAddSphere( + commandHandle, + radius + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeAddBox( + commandHandle: b3SharedMemoryCommandHandle, + halfExtents: *const f64 +) -> c_int +{ + b3CreateVisualShapeAddBox( + commandHandle, + halfExtents + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeAddCapsule( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + height: f64 +) -> c_int +{ + b3CreateVisualShapeAddCapsule( + commandHandle, + radius, + height + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeAddCylinder( + commandHandle: b3SharedMemoryCommandHandle, + radius: f64, + height: f64 +) -> c_int +{ + b3CreateVisualShapeAddCylinder( + commandHandle, + radius, + height + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeAddPlane( + commandHandle: b3SharedMemoryCommandHandle, + planeNormal: *const f64, + planeConstant: f64 +) -> c_int +{ + b3CreateVisualShapeAddPlane( + commandHandle, + planeNormal, + planeConstant + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeAddMesh( + commandHandle: b3SharedMemoryCommandHandle, + fileName: *const c_char, + meshScale: *const f64 +) -> c_int +{ + b3CreateVisualShapeAddMesh( + commandHandle, + fileName, + meshScale + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeAddMesh2( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + meshScale: *const f64, + vertices: *const f64, + numVertices: c_int, + indices: *const c_int, + numIndices: c_int, + normals: *const f64, + numNormals: c_int, + uvs: *const f64, + numUVs: c_int +) -> c_int +{ + b3CreateVisualShapeAddMesh2( + physClient, + commandHandle, + meshScale, + vertices, + numVertices, + indices, + numIndices, + normals, + numNormals, + uvs, + numUVs + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualSetFlag( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: c_int, + flags: c_int +) +{ + b3CreateVisualSetFlag( + commandHandle, + shapeIndex, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeSetChildTransform( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: c_int, + childPosition: *const f64, + childOrientation: *const f64 +) +{ + b3CreateVisualShapeSetChildTransform( + commandHandle, + shapeIndex, + childPosition, + childOrientation + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeSetSpecularColor( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: c_int, + specularColor: *const f64 +) +{ + b3CreateVisualShapeSetSpecularColor( + commandHandle, + shapeIndex, + specularColor + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateVisualShapeSetRGBAColor( + commandHandle: b3SharedMemoryCommandHandle, + shapeIndex: c_int, + rgbaColor: *const f64 +) +{ + b3CreateVisualShapeSetRGBAColor( + commandHandle, + shapeIndex, + rgbaColor + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusVisualShapeUniqueId( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusVisualShapeUniqueId( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateMultiBodyCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3CreateMultiBodyCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateMultiBodyBase( + commandHandle: b3SharedMemoryCommandHandle, + mass: f64, + collisionShapeUnique: c_int, + visualShapeUniqueId: c_int, + basePosition: *const f64, + baseOrientation: *const f64, + baseInertialFramePosition: *const f64, + baseInertialFrameOrientation: *const f64 +) -> c_int +{ + b3CreateMultiBodyBase( + commandHandle, + mass, + collisionShapeUnique, + visualShapeUniqueId, + basePosition, + baseOrientation, + baseInertialFramePosition, + baseInertialFrameOrientation + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateMultiBodyLink( + commandHandle: b3SharedMemoryCommandHandle, + linkMass: f64, + linkCollisionShapeIndex: f64, + linkVisualShapeIndex: f64, + linkPosition: *const f64, + linkOrientation: *const f64, + linkInertialFramePosition: *const f64, + linkInertialFrameOrientation: *const f64, + linkParentIndex: c_int, + linkJointType: c_int, + linkJointAxis: *const f64 +) -> c_int +{ + b3CreateMultiBodyLink( + commandHandle, + linkMass, + linkCollisionShapeIndex, + linkVisualShapeIndex, + linkPosition, + linkOrientation, + linkInertialFramePosition, + linkInertialFrameOrientation, + linkParentIndex, + linkJointType, + linkJointAxis + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateMultiBodySetBatchPositions( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + batchPositions: *mut f64, + numBatchObjects: c_int +) -> c_int +{ + b3CreateMultiBodySetBatchPositions( + physClient, + commandHandle, + batchPositions, + numBatchObjects + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateMultiBodyUseMaximalCoordinates( + commandHandle: b3SharedMemoryCommandHandle +) +{ + b3CreateMultiBodyUseMaximalCoordinates( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateMultiBodySetFlags( + commandHandle: b3SharedMemoryCommandHandle, + flags: c_int +) +{ + b3CreateMultiBodySetFlags( + commandHandle, + flags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateBoxShapeCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3CreateBoxShapeCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateBoxCommandSetStartPosition( + commandHandle: b3SharedMemoryCommandHandle, + startPosX: f64, + startPosY: f64, + startPosZ: f64 +) -> c_int +{ + b3CreateBoxCommandSetStartPosition( + commandHandle, + startPosX, + startPosY, + startPosZ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateBoxCommandSetStartOrientation( + commandHandle: b3SharedMemoryCommandHandle, + startOrnX: f64, + startOrnY: f64, + startOrnZ: f64, + startOrnW: f64 +) -> c_int +{ + b3CreateBoxCommandSetStartOrientation( + commandHandle, + startOrnX, + startOrnY, + startOrnZ, + startOrnW + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateBoxCommandSetHalfExtents( + commandHandle: b3SharedMemoryCommandHandle, + halfExtentsX: f64, + halfExtentsY: f64, + halfExtentsZ: f64 +) -> c_int +{ + b3CreateBoxCommandSetHalfExtents( + commandHandle, + halfExtentsX, + halfExtentsY, + halfExtentsZ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateBoxCommandSetMass( + commandHandle: b3SharedMemoryCommandHandle, + mass: f64 +) -> c_int +{ + b3CreateBoxCommandSetMass( + commandHandle, + mass + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateBoxCommandSetCollisionShapeType( + commandHandle: b3SharedMemoryCommandHandle, + collisionShapeType: c_int +) -> c_int +{ + b3CreateBoxCommandSetCollisionShapeType( + commandHandle, + collisionShapeType + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateBoxCommandSetColorRGBA( + commandHandle: b3SharedMemoryCommandHandle, + red: f64, + green: f64, + blue: f64, + alpha: f64 +) -> c_int +{ + b3CreateBoxCommandSetColorRGBA( + commandHandle, + red, + green, + blue, + alpha + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3CreatePoseCommandInit( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3CreatePoseCommandInit2( + commandHandle, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetBasePosition( + commandHandle: b3SharedMemoryCommandHandle, + startPosX: f64, + startPosY: f64, + startPosZ: f64 +) -> c_int +{ + b3CreatePoseCommandSetBasePosition( + commandHandle, + startPosX, + startPosY, + startPosZ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetBaseOrientation( + commandHandle: b3SharedMemoryCommandHandle, + startOrnX: f64, + startOrnY: f64, + startOrnZ: f64, + startOrnW: f64 +) -> c_int +{ + b3CreatePoseCommandSetBaseOrientation( + commandHandle, + startOrnX, + startOrnY, + startOrnZ, + startOrnW + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetBaseLinearVelocity( + commandHandle: b3SharedMemoryCommandHandle, + linVel: *const f64 +) -> c_int +{ + b3CreatePoseCommandSetBaseLinearVelocity( + commandHandle, + linVel + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetBaseAngularVelocity( + commandHandle: b3SharedMemoryCommandHandle, + angVel: *const f64 +) -> c_int +{ + b3CreatePoseCommandSetBaseAngularVelocity( + commandHandle, + angVel + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetBaseScaling( + commandHandle: b3SharedMemoryCommandHandle, + scaling: *mut f64 +) -> c_int +{ + b3CreatePoseCommandSetBaseScaling( + commandHandle, + scaling + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetJointPositions( + commandHandle: b3SharedMemoryCommandHandle, + numJointPositions: c_int, + jointPositions: *const f64 +) -> c_int +{ + b3CreatePoseCommandSetJointPositions( + commandHandle, + numJointPositions, + jointPositions + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetJointPosition( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: c_int, + jointPosition: f64 +) -> c_int +{ + b3CreatePoseCommandSetJointPosition( + physClient, + commandHandle, + jointIndex, + jointPosition + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetJointPositionMultiDof( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: c_int, + jointPosition: *const f64, + posSize: c_int +) -> c_int +{ + b3CreatePoseCommandSetJointPositionMultiDof( + physClient, + commandHandle, + jointIndex, + jointPosition, + posSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetQ( + commandHandle: b3SharedMemoryCommandHandle, + numJointPositions: c_int, + q: *const f64, + hasQ: *const c_int +) -> c_int +{ + b3CreatePoseCommandSetQ( + commandHandle, + numJointPositions, + q, + hasQ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetQdots( + commandHandle: b3SharedMemoryCommandHandle, + numJointVelocities: c_int, + qDots: *const f64, + hasQdots: *const c_int +) -> c_int +{ + b3CreatePoseCommandSetQdots( + commandHandle, + numJointVelocities, + qDots, + hasQdots + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetJointVelocities( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + numJointVelocities: c_int, + jointVelocities: *const f64 +) -> c_int +{ + b3CreatePoseCommandSetJointVelocities( + physClient, + commandHandle, + numJointVelocities, + jointVelocities + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetJointVelocity( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: c_int, + jointVelocity: f64 +) -> c_int +{ + b3CreatePoseCommandSetJointVelocity( + physClient, + commandHandle, + jointIndex, + jointVelocity + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreatePoseCommandSetJointVelocityMultiDof( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: c_int, + jointVelocity: *const f64, + velSize: c_int +) -> c_int +{ + b3CreatePoseCommandSetJointVelocityMultiDof( + physClient, + commandHandle, + jointIndex, + jointVelocity, + velSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateSensorCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3CreateSensorCommandInit( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateSensorEnable6DofJointForceTorqueSensor( + commandHandle: b3SharedMemoryCommandHandle, + jointIndex: c_int, + enable: c_int +) -> c_int +{ + b3CreateSensorEnable6DofJointForceTorqueSensor( + commandHandle, + jointIndex, + enable + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateSensorEnableIMUForLink( + commandHandle: b3SharedMemoryCommandHandle, + linkIndex: c_int, + enable: c_int +) -> c_int +{ + b3CreateSensorEnableIMUForLink( + commandHandle, + linkIndex, + enable + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestActualStateCommandInit( + physClient: b3PhysicsClientHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3RequestActualStateCommandInit( + physClient, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestActualStateCommandInit2( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int +) -> b3SharedMemoryCommandHandle +{ + b3RequestActualStateCommandInit2( + commandHandle, + bodyUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestActualStateCommandComputeLinkVelocity( + commandHandle: b3SharedMemoryCommandHandle, + computeLinkVelocity: c_int +) -> c_int +{ + b3RequestActualStateCommandComputeLinkVelocity( + commandHandle, + computeLinkVelocity + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestActualStateCommandComputeForwardKinematics( + commandHandle: b3SharedMemoryCommandHandle, + computeForwardKinematics: c_int +) -> c_int +{ + b3RequestActualStateCommandComputeForwardKinematics( + commandHandle, + computeForwardKinematics + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetJointState( + physClient: b3PhysicsClientHandle, + statusHandle: b3SharedMemoryStatusHandle, + jointIndex: c_int, + state: *mut b3JointSensorState +) -> c_int +{ + b3GetJointState( + physClient, + statusHandle, + jointIndex, + state + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetJointStateMultiDof( + physClient: b3PhysicsClientHandle, + statusHandle: b3SharedMemoryStatusHandle, + jointIndex: c_int, + state: *mut b3JointSensorState2 +) -> c_int +{ + b3GetJointStateMultiDof( + physClient, + statusHandle, + jointIndex, + state + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetLinkState( + physClient: b3PhysicsClientHandle, + statusHandle: b3SharedMemoryStatusHandle, + linkIndex: c_int, + state: *mut b3LinkState +) -> c_int +{ + b3GetLinkState( + physClient, + statusHandle, + linkIndex, + state + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PickBody( + physClient: b3PhysicsClientHandle, + rayFromWorldX: f64, + rayFromWorldY: f64, + rayFromWorldZ: f64, + rayToWorldX: f64, + rayToWorldY: f64, + rayToWorldZ: f64 +) -> b3SharedMemoryCommandHandle +{ + b3PickBody( + physClient, + rayFromWorldX, + rayFromWorldY, + rayFromWorldZ, + rayToWorldX, + rayToWorldY, + rayToWorldZ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3MovePickedBody( + physClient: b3PhysicsClientHandle, + rayFromWorldX: f64, + rayFromWorldY: f64, + rayFromWorldZ: f64, + rayToWorldX: f64, + rayToWorldY: f64, + rayToWorldZ: f64 +) -> b3SharedMemoryCommandHandle +{ + b3MovePickedBody( + physClient, + rayFromWorldX, + rayFromWorldY, + rayFromWorldZ, + rayToWorldX, + rayToWorldY, + rayToWorldZ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RemovePickingConstraint( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3RemovePickingConstraint( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateRaycastCommandInit( + physClient: b3PhysicsClientHandle, + rayFromWorldX: f64, + rayFromWorldY: f64, + rayFromWorldZ: f64, + rayToWorldX: f64, + rayToWorldY: f64, + rayToWorldZ: f64 +) -> b3SharedMemoryCommandHandle +{ + b3CreateRaycastCommandInit( + physClient, + rayFromWorldX, + rayFromWorldY, + rayFromWorldZ, + rayToWorldX, + rayToWorldY, + rayToWorldZ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CreateRaycastBatchCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3CreateRaycastBatchCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RaycastBatchSetNumThreads( + commandHandle: b3SharedMemoryCommandHandle, + numThreads: c_int +) +{ + b3RaycastBatchSetNumThreads( + commandHandle, + numThreads + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RaycastBatchAddRay( + commandHandle: b3SharedMemoryCommandHandle, + rayFromWorld: *const f64, + rayToWorld: *const f64 +) +{ + b3RaycastBatchAddRay( + commandHandle, + rayFromWorld, + rayToWorld + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RaycastBatchAddRays( + physClient: b3PhysicsClientHandle, + commandHandle: b3SharedMemoryCommandHandle, + rayFromWorld: *const f64, + rayToWorld: *const f64, + numRays: c_int +) +{ + b3RaycastBatchAddRays( + physClient, + commandHandle, + rayFromWorld, + rayToWorld, + numRays + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RaycastBatchSetParentObject( + commandHandle: b3SharedMemoryCommandHandle, + parentObjectUniqueId: c_int, + parentLinkIndex: c_int +) +{ + b3RaycastBatchSetParentObject( + commandHandle, + parentObjectUniqueId, + parentLinkIndex + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RaycastBatchSetReportHitNumber( + commandHandle: b3SharedMemoryCommandHandle, + reportHitNumber: c_int +) +{ + b3RaycastBatchSetReportHitNumber( + commandHandle, + reportHitNumber + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RaycastBatchSetCollisionFilterMask( + commandHandle: b3SharedMemoryCommandHandle, + collisionFilterMask: c_int +) +{ + b3RaycastBatchSetCollisionFilterMask( + commandHandle, + collisionFilterMask + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RaycastBatchSetFractionEpsilon( + commandHandle: b3SharedMemoryCommandHandle, + fractionEpsilon: f64 +) +{ + b3RaycastBatchSetFractionEpsilon( + commandHandle, + fractionEpsilon + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetRaycastInformation( + physClient: b3PhysicsClientHandle, + raycastInfo: *mut b3RaycastInformation +) +{ + b3GetRaycastInformation( + physClient, + raycastInfo + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ApplyExternalForceCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3ApplyExternalForceCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ApplyExternalForce( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkId: c_int, + force: *const f64, + position: *const f64, + flag: c_int +) +{ + b3ApplyExternalForce( + commandHandle, + bodyUniqueId, + linkId, + force, + position, + flag + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ApplyExternalTorque( + commandHandle: b3SharedMemoryCommandHandle, + bodyUniqueId: c_int, + linkId: c_int, + torque: *const f64, + flag: c_int +) +{ + b3ApplyExternalTorque( + commandHandle, + bodyUniqueId, + linkId, + torque, + flag + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodyCommandInit( + physClient: b3PhysicsClientHandle, + fileName: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3LoadSoftBodyCommandInit( + physClient, + fileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodySetScale( + commandHandle: b3SharedMemoryCommandHandle, + scale: f64 +) -> c_int +{ + b3LoadSoftBodySetScale( + commandHandle, + scale + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodySetMass( + commandHandle: b3SharedMemoryCommandHandle, + mass: f64 +) -> c_int +{ + b3LoadSoftBodySetMass( + commandHandle, + mass + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodySetCollisionMargin( + commandHandle: b3SharedMemoryCommandHandle, + collisionMargin: f64 +) -> c_int +{ + b3LoadSoftBodySetCollisionMargin( + commandHandle, + collisionMargin + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodySetStartPosition( + commandHandle: b3SharedMemoryCommandHandle, + startPosX: f64, + startPosY: f64, + startPosZ: f64 +) -> c_int +{ + b3LoadSoftBodySetStartPosition( + commandHandle, + startPosX, + startPosY, + startPosZ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodySetStartOrientation( + commandHandle: b3SharedMemoryCommandHandle, + startOrnX: f64, + startOrnY: f64, + startOrnZ: f64, + startOrnW: f64 +) -> c_int +{ + b3LoadSoftBodySetStartOrientation( + commandHandle, + startOrnX, + startOrnY, + startOrnZ, + startOrnW + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodyUpdateSimMesh( + commandHandle: b3SharedMemoryCommandHandle, + filename: *const c_char +) -> c_int +{ + b3LoadSoftBodyUpdateSimMesh( + commandHandle, + filename + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodyAddCorotatedForce( + commandHandle: b3SharedMemoryCommandHandle, + corotatedMu: f64, + corotatedLambda: f64 +) -> c_int +{ + b3LoadSoftBodyAddCorotatedForce( + commandHandle, + corotatedMu, + corotatedLambda + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodyAddNeoHookeanForce( + commandHandle: b3SharedMemoryCommandHandle, + NeoHookeanMu: f64, + NeoHookeanLambda: f64, + NeoHookeanDamping: f64 +) -> c_int +{ + b3LoadSoftBodyAddNeoHookeanForce( + commandHandle, + NeoHookeanMu, + NeoHookeanLambda, + NeoHookeanDamping + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodyAddMassSpringForce( + commandHandle: b3SharedMemoryCommandHandle, + springElasticStiffness: f64, + springDampingStiffness: f64 +) -> c_int +{ + b3LoadSoftBodyAddMassSpringForce( + commandHandle, + springElasticStiffness, + springDampingStiffness + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodyAddGravityForce( + commandHandle: b3SharedMemoryCommandHandle, + gravityX: f64, + gravityY: f64, + gravityZ: f64 +) -> c_int +{ + b3LoadSoftBodyAddGravityForce( + commandHandle, + gravityX, + gravityY, + gravityZ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodySetCollisionHardness( + commandHandle: b3SharedMemoryCommandHandle, + collisionHardness: f64 +) -> c_int +{ + b3LoadSoftBodySetCollisionHardness( + commandHandle, + collisionHardness + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodySetSelfCollision( + commandHandle: b3SharedMemoryCommandHandle, + useSelfCollision: c_int +) -> c_int +{ + b3LoadSoftBodySetSelfCollision( + commandHandle, + useSelfCollision + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodySetRepulsionStiffness( + commandHandle: b3SharedMemoryCommandHandle, + stiffness: f64 +) -> c_int +{ + b3LoadSoftBodySetRepulsionStiffness( + commandHandle, + stiffness + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodyUseFaceContact( + commandHandle: b3SharedMemoryCommandHandle, + useFaceContact: c_int +) -> c_int +{ + b3LoadSoftBodyUseFaceContact( + commandHandle, + useFaceContact + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodySetFrictionCoefficient( + commandHandle: b3SharedMemoryCommandHandle, + frictionCoefficient: f64 +) -> c_int +{ + b3LoadSoftBodySetFrictionCoefficient( + commandHandle, + frictionCoefficient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodyUseBendingSprings( + commandHandle: b3SharedMemoryCommandHandle, + useBendingSprings: c_int, + bendingStiffness: f64 +) -> c_int +{ + b3LoadSoftBodyUseBendingSprings( + commandHandle, + useBendingSprings, + bendingStiffness + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3LoadSoftBodyUseAllDirectionDampingSprings( + commandHandle: b3SharedMemoryCommandHandle, + useAllDirectionDamping: c_int +) -> c_int +{ + b3LoadSoftBodyUseAllDirectionDampingSprings( + commandHandle, + useAllDirectionDamping + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InitCreateSoftBodyAnchorConstraintCommand( + physClient: b3PhysicsClientHandle, + softBodyUniqueId: c_int, + nodeIndex: c_int, + bodyUniqueId: c_int, + linkIndex: c_int, + bodyFramePosition: *const f64 +) -> b3SharedMemoryCommandHandle +{ + b3InitCreateSoftBodyAnchorConstraintCommand( + physClient, + softBodyUniqueId, + nodeIndex, + bodyUniqueId, + linkIndex, + bodyFramePosition + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestVREventsCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3RequestVREventsCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3VREventsSetDeviceTypeFilter( + commandHandle: b3SharedMemoryCommandHandle, + deviceTypeFilter: c_int +) +{ + b3VREventsSetDeviceTypeFilter( + commandHandle, + deviceTypeFilter + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetVREventsData( + physClient: b3PhysicsClientHandle, + vrEventsData: *mut b3VREventsData +) +{ + b3GetVREventsData( + physClient, + vrEventsData + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetVRCameraStateCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3SetVRCameraStateCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetVRCameraRootPosition( + commandHandle: b3SharedMemoryCommandHandle, + rootPos: *const f64 +) -> c_int +{ + b3SetVRCameraRootPosition( + commandHandle, + rootPos + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetVRCameraRootOrientation( + commandHandle: b3SharedMemoryCommandHandle, + rootOrn: *const f64 +) -> c_int +{ + b3SetVRCameraRootOrientation( + commandHandle, + rootOrn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetVRCameraTrackingObject( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: c_int +) -> c_int +{ + b3SetVRCameraTrackingObject( + commandHandle, + objectUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetVRCameraTrackingObjectFlag( + commandHandle: b3SharedMemoryCommandHandle, + flag: c_int +) -> c_int +{ + b3SetVRCameraTrackingObjectFlag( + commandHandle, + flag + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestKeyboardEventsCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3RequestKeyboardEventsCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestKeyboardEventsCommandInit2( + commandHandle: b3SharedMemoryCommandHandle +) -> b3SharedMemoryCommandHandle +{ + b3RequestKeyboardEventsCommandInit2( + commandHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetKeyboardEventsData( + physClient: b3PhysicsClientHandle, + keyboardEventsData: *mut b3KeyboardEventsData +) +{ + b3GetKeyboardEventsData( + physClient, + keyboardEventsData + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RequestMouseEventsCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3RequestMouseEventsCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetMouseEventsData( + physClient: b3PhysicsClientHandle, + mouseEventsData: *mut b3MouseEventsData +) +{ + b3GetMouseEventsData( + physClient, + mouseEventsData + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingCommandInit( + physClient: b3PhysicsClientHandle +) -> b3SharedMemoryCommandHandle +{ + b3StateLoggingCommandInit( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingStart( + commandHandle: b3SharedMemoryCommandHandle, + loggingType: c_int, + fileName: *const c_char +) -> c_int +{ + b3StateLoggingStart( + commandHandle, + loggingType, + fileName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingAddLoggingObjectUniqueId( + commandHandle: b3SharedMemoryCommandHandle, + objectUniqueId: c_int +) -> c_int +{ + b3StateLoggingAddLoggingObjectUniqueId( + commandHandle, + objectUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingSetMaxLogDof( + commandHandle: b3SharedMemoryCommandHandle, + maxLogDof: c_int +) -> c_int +{ + b3StateLoggingSetMaxLogDof( + commandHandle, + maxLogDof + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingSetLinkIndexA( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexA: c_int +) -> c_int +{ + b3StateLoggingSetLinkIndexA( + commandHandle, + linkIndexA + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingSetLinkIndexB( + commandHandle: b3SharedMemoryCommandHandle, + linkIndexB: c_int +) -> c_int +{ + b3StateLoggingSetLinkIndexB( + commandHandle, + linkIndexB + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingSetBodyAUniqueId( + commandHandle: b3SharedMemoryCommandHandle, + bodyAUniqueId: c_int +) -> c_int +{ + b3StateLoggingSetBodyAUniqueId( + commandHandle, + bodyAUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingSetBodyBUniqueId( + commandHandle: b3SharedMemoryCommandHandle, + bodyBUniqueId: c_int +) -> c_int +{ + b3StateLoggingSetBodyBUniqueId( + commandHandle, + bodyBUniqueId + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingSetDeviceTypeFilter( + commandHandle: b3SharedMemoryCommandHandle, + deviceTypeFilter: c_int +) -> c_int +{ + b3StateLoggingSetDeviceTypeFilter( + commandHandle, + deviceTypeFilter + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingSetLogFlags( + commandHandle: b3SharedMemoryCommandHandle, + logFlags: c_int +) -> c_int +{ + b3StateLoggingSetLogFlags( + commandHandle, + logFlags + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetStatusLoggingUniqueId( + statusHandle: b3SharedMemoryStatusHandle +) -> c_int +{ + b3GetStatusLoggingUniqueId( + statusHandle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3StateLoggingStop( + commandHandle: b3SharedMemoryCommandHandle, + loggingUid: c_int +) -> c_int +{ + b3StateLoggingStop( + commandHandle, + loggingUid + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3ProfileTimingCommandInit( + physClient: b3PhysicsClientHandle, + name: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3ProfileTimingCommandInit( + physClient, + name + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetProfileTimingDuractionInMicroSeconds( + commandHandle: b3SharedMemoryCommandHandle, + duration: c_int +) +{ + b3SetProfileTimingDuractionInMicroSeconds( + commandHandle, + duration + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetProfileTimingType( + commandHandle: b3SharedMemoryCommandHandle, + type_: c_int +) +{ + b3SetProfileTimingType( + commandHandle, + type_ + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PushProfileTiming( + physClient: b3PhysicsClientHandle, + timingName: *const c_char +) +{ + b3PushProfileTiming( + physClient, + timingName + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3PopProfileTiming( + physClient: b3PhysicsClientHandle +) +{ + b3PopProfileTiming( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetTimeOut( + physClient: b3PhysicsClientHandle, + timeOutInSeconds: f64 +) +{ + b3SetTimeOut( + physClient, + timeOutInSeconds + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetTimeOut( + physClient: b3PhysicsClientHandle +) -> f64 +{ + b3GetTimeOut( + physClient + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3SetAdditionalSearchPath( + physClient: b3PhysicsClientHandle, + path: *const c_char +) -> b3SharedMemoryCommandHandle +{ + b3SetAdditionalSearchPath( + physClient, + path + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3MultiplyTransforms( + posA: *const f64, + ornA: *const f64, + posB: *const f64, + ornB: *const f64, + outPos: *mut f64, + outOrn: *mut f64 +) +{ + b3MultiplyTransforms( + posA, + ornA, + posB, + ornB, + outPos, + outOrn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3InvertTransform( + pos: *const f64, + orn: *const f64, + outPos: *mut f64, + outOrn: *mut f64 +) +{ + b3InvertTransform( + pos, + orn, + outPos, + outOrn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3QuaternionSlerp( + startQuat: *const f64, + endQuat: *const f64, + interpolationFraction: f64, + outOrn: *mut f64 +) +{ + b3QuaternionSlerp( + startQuat, + endQuat, + interpolationFraction, + outOrn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetQuaternionFromAxisAngle( + axis: *const f64, + angle: f64, + outQuat: *mut f64 +) +{ + b3GetQuaternionFromAxisAngle( + axis, + angle, + outQuat + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetAxisAngleFromQuaternion( + quat: *const f64, + axis: *mut f64, + angle: *mut f64 +) +{ + b3GetAxisAngleFromQuaternion( + quat, + axis, + angle + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetQuaternionDifference( + startQuat: *const f64, + endQuat: *const f64, + outOrn: *mut f64 +) +{ + b3GetQuaternionDifference( + startQuat, + endQuat, + outOrn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3GetAxisDifferenceQuaternion( + startQuat: *const f64, + endQuat: *const f64, + axisOut: *mut f64 +) +{ + b3GetAxisDifferenceQuaternion( + startQuat, + endQuat, + axisOut + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3CalculateVelocityQuaternion( + startQuat: *const f64, + endQuat: *const f64, + deltaTime: f64, + angVelOut: *mut f64 +) +{ + b3CalculateVelocityQuaternion( + startQuat, + endQuat, + deltaTime, + angVelOut + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_bullet3_b3RotateVector( + quat: *const f64, + vec: *const f64, + vecOut: *mut f64 +) +{ + b3RotateVector( + quat, + vec, + vecOut + ) +} + + \ No newline at end of file diff --git a/csbindgen-tests/src/quiche.rs b/csbindgen-tests/src/quiche.rs new file mode 100644 index 0000000..6edaa80 --- /dev/null +++ b/csbindgen-tests/src/quiche.rs @@ -0,0 +1,329473 @@ +/* automatically generated by rust-bindgen 0.64.0 */ + +#[repr(C)] +#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct __BindgenBitfieldUnit { + storage: Storage, +} +impl __BindgenBitfieldUnit { + #[inline] + pub const fn new(storage: Storage) -> Self { + Self { storage } + } +} +impl __BindgenBitfieldUnit +where + Storage: AsRef<[u8]> + AsMut<[u8]>, +{ + #[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 const fn new() -> Self { + __IncompleteArrayField(::std::marker::PhantomData, []) + } + #[inline] + pub fn as_ptr(&self) -> *const T { + self as *const _ as *const T + } + #[inline] + pub fn as_mut_ptr(&mut self) -> *mut T { + self as *mut _ as *mut T + } + #[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") + } +} +#[repr(C)] +pub struct __BindgenUnionField(::std::marker::PhantomData); +impl __BindgenUnionField { + #[inline] + pub const fn new() -> Self { + __BindgenUnionField(::std::marker::PhantomData) + } + #[inline] + pub unsafe fn as_ref(&self) -> &T { + ::std::mem::transmute(self) + } + #[inline] + pub unsafe fn as_mut(&mut self) -> &mut T { + ::std::mem::transmute(self) + } +} +impl ::std::default::Default for __BindgenUnionField { + #[inline] + fn default() -> Self { + Self::new() + } +} +impl ::std::clone::Clone for __BindgenUnionField { + #[inline] + fn clone(&self) -> Self { + Self::new() + } +} +impl ::std::marker::Copy for __BindgenUnionField {} +impl ::std::fmt::Debug for __BindgenUnionField { + fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + fmt.write_str("__BindgenUnionField") + } +} +impl ::std::hash::Hash for __BindgenUnionField { + fn hash(&self, _state: &mut H) {} +} +impl ::std::cmp::PartialEq for __BindgenUnionField { + fn eq(&self, _other: &__BindgenUnionField) -> bool { + true + } +} +impl ::std::cmp::Eq for __BindgenUnionField {} +pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1; +pub const _SAL_VERSION: u32 = 20; +pub const __SAL_H_VERSION: u32 = 180000000; +pub const _USE_DECLSPECS_FOR_SAL: u32 = 0; +pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0; +pub const _CRT_PACKING: u32 = 8; +pub const _HAS_EXCEPTIONS: u32 = 1; +pub const _STL_LANG: u32 = 0; +pub const _HAS_CXX17: u32 = 0; +pub const _HAS_CXX20: u32 = 0; +pub const _HAS_CXX23: u32 = 0; +pub const _HAS_NODISCARD: u32 = 0; +pub const WCHAR_MIN: u32 = 0; +pub const WCHAR_MAX: u32 = 65535; +pub const WINT_MIN: u32 = 0; +pub const WINT_MAX: u32 = 65535; +pub const __bool_true_false_are_defined: u32 = 1; +pub const true_: u32 = 1; +pub const false_: u32 = 0; +pub const WINAPI_FAMILY_PC_APP: u32 = 2; +pub const WINAPI_FAMILY_PHONE_APP: u32 = 3; +pub const WINAPI_FAMILY_SYSTEM: u32 = 4; +pub const WINAPI_FAMILY_SERVER: u32 = 5; +pub const WINAPI_FAMILY_GAMES: u32 = 6; +pub const WINAPI_FAMILY_DESKTOP_APP: u32 = 100; +pub const WINAPI_FAMILY_APP: u32 = 2; +pub const WINAPI_FAMILY: u32 = 100; +pub const INCL_WINSOCK_API_PROTOTYPES: u32 = 1; +pub const INCL_WINSOCK_API_TYPEDEFS: u32 = 0; +pub const _WIN32_WINNT_NT4: u32 = 1024; +pub const _WIN32_WINNT_WIN2K: u32 = 1280; +pub const _WIN32_WINNT_WINXP: u32 = 1281; +pub const _WIN32_WINNT_WS03: u32 = 1282; +pub const _WIN32_WINNT_WIN6: u32 = 1536; +pub const _WIN32_WINNT_VISTA: u32 = 1536; +pub const _WIN32_WINNT_WS08: u32 = 1536; +pub const _WIN32_WINNT_LONGHORN: u32 = 1536; +pub const _WIN32_WINNT_WIN7: u32 = 1537; +pub const _WIN32_WINNT_WIN8: u32 = 1538; +pub const _WIN32_WINNT_WINBLUE: u32 = 1539; +pub const _WIN32_WINNT_WINTHRESHOLD: u32 = 2560; +pub const _WIN32_WINNT_WIN10: u32 = 2560; +pub const _WIN32_IE_IE20: u32 = 512; +pub const _WIN32_IE_IE30: u32 = 768; +pub const _WIN32_IE_IE302: u32 = 770; +pub const _WIN32_IE_IE40: u32 = 1024; +pub const _WIN32_IE_IE401: u32 = 1025; +pub const _WIN32_IE_IE50: u32 = 1280; +pub const _WIN32_IE_IE501: u32 = 1281; +pub const _WIN32_IE_IE55: u32 = 1360; +pub const _WIN32_IE_IE60: u32 = 1536; +pub const _WIN32_IE_IE60SP1: u32 = 1537; +pub const _WIN32_IE_IE60SP2: u32 = 1539; +pub const _WIN32_IE_IE70: u32 = 1792; +pub const _WIN32_IE_IE80: u32 = 2048; +pub const _WIN32_IE_IE90: u32 = 2304; +pub const _WIN32_IE_IE100: u32 = 2560; +pub const _WIN32_IE_IE110: u32 = 2560; +pub const _WIN32_IE_NT4: u32 = 512; +pub const _WIN32_IE_NT4SP1: u32 = 512; +pub const _WIN32_IE_NT4SP2: u32 = 512; +pub const _WIN32_IE_NT4SP3: u32 = 770; +pub const _WIN32_IE_NT4SP4: u32 = 1025; +pub const _WIN32_IE_NT4SP5: u32 = 1025; +pub const _WIN32_IE_NT4SP6: u32 = 1280; +pub const _WIN32_IE_WIN98: u32 = 1025; +pub const _WIN32_IE_WIN98SE: u32 = 1280; +pub const _WIN32_IE_WINME: u32 = 1360; +pub const _WIN32_IE_WIN2K: u32 = 1281; +pub const _WIN32_IE_WIN2KSP1: u32 = 1281; +pub const _WIN32_IE_WIN2KSP2: u32 = 1281; +pub const _WIN32_IE_WIN2KSP3: u32 = 1281; +pub const _WIN32_IE_WIN2KSP4: u32 = 1281; +pub const _WIN32_IE_XP: u32 = 1536; +pub const _WIN32_IE_XPSP1: u32 = 1537; +pub const _WIN32_IE_XPSP2: u32 = 1539; +pub const _WIN32_IE_WS03: u32 = 1538; +pub const _WIN32_IE_WS03SP1: u32 = 1539; +pub const _WIN32_IE_WIN6: u32 = 1792; +pub const _WIN32_IE_LONGHORN: u32 = 1792; +pub const _WIN32_IE_WIN7: u32 = 2048; +pub const _WIN32_IE_WIN8: u32 = 2560; +pub const _WIN32_IE_WINBLUE: u32 = 2560; +pub const _WIN32_IE_WINTHRESHOLD: u32 = 2560; +pub const _WIN32_IE_WIN10: u32 = 2560; +pub const NTDDI_WIN2K: u32 = 83886080; +pub const NTDDI_WIN2KSP1: u32 = 83886336; +pub const NTDDI_WIN2KSP2: u32 = 83886592; +pub const NTDDI_WIN2KSP3: u32 = 83886848; +pub const NTDDI_WIN2KSP4: u32 = 83887104; +pub const NTDDI_WINXP: u32 = 83951616; +pub const NTDDI_WINXPSP1: u32 = 83951872; +pub const NTDDI_WINXPSP2: u32 = 83952128; +pub const NTDDI_WINXPSP3: u32 = 83952384; +pub const NTDDI_WINXPSP4: u32 = 83952640; +pub const NTDDI_WS03: u32 = 84017152; +pub const NTDDI_WS03SP1: u32 = 84017408; +pub const NTDDI_WS03SP2: u32 = 84017664; +pub const NTDDI_WS03SP3: u32 = 84017920; +pub const NTDDI_WS03SP4: u32 = 84018176; +pub const NTDDI_WIN6: u32 = 100663296; +pub const NTDDI_WIN6SP1: u32 = 100663552; +pub const NTDDI_WIN6SP2: u32 = 100663808; +pub const NTDDI_WIN6SP3: u32 = 100664064; +pub const NTDDI_WIN6SP4: u32 = 100664320; +pub const NTDDI_VISTA: u32 = 100663296; +pub const NTDDI_VISTASP1: u32 = 100663552; +pub const NTDDI_VISTASP2: u32 = 100663808; +pub const NTDDI_VISTASP3: u32 = 100664064; +pub const NTDDI_VISTASP4: u32 = 100664320; +pub const NTDDI_LONGHORN: u32 = 100663296; +pub const NTDDI_WS08: u32 = 100663552; +pub const NTDDI_WS08SP2: u32 = 100663808; +pub const NTDDI_WS08SP3: u32 = 100664064; +pub const NTDDI_WS08SP4: u32 = 100664320; +pub const NTDDI_WIN7: u32 = 100728832; +pub const NTDDI_WIN8: u32 = 100794368; +pub const NTDDI_WINBLUE: u32 = 100859904; +pub const NTDDI_WINTHRESHOLD: u32 = 167772160; +pub const NTDDI_WIN10: u32 = 167772160; +pub const NTDDI_WIN10_TH2: u32 = 167772161; +pub const NTDDI_WIN10_RS1: u32 = 167772162; +pub const NTDDI_WIN10_RS2: u32 = 167772163; +pub const NTDDI_WIN10_RS3: u32 = 167772164; +pub const NTDDI_WIN10_RS4: u32 = 167772165; +pub const NTDDI_WIN10_RS5: u32 = 167772166; +pub const NTDDI_WIN10_19H1: u32 = 167772167; +pub const NTDDI_WIN10_VB: u32 = 167772168; +pub const WDK_NTDDI_VERSION: u32 = 167772168; +pub const OSVERSION_MASK: u32 = 4294901760; +pub const SPVERSION_MASK: u32 = 65280; +pub const SUBVERSION_MASK: u32 = 255; +pub const _WIN32_WINNT: u32 = 2560; +pub const NTDDI_VERSION: u32 = 167772168; +pub const WINVER: u32 = 2560; +pub const _WIN32_IE: u32 = 2560; +pub const EXCEPTION_EXECUTE_HANDLER: u32 = 1; +pub const EXCEPTION_CONTINUE_SEARCH: u32 = 0; +pub const EXCEPTION_CONTINUE_EXECUTION: i32 = -1; +pub const __GNUC_VA_LIST: u32 = 1; +pub const __SAL_H_FULL_VER: u32 = 140050727; +pub const __SPECSTRINGS_STRICT_LEVEL: u32 = 1; +pub const __drv_typeConst: u32 = 0; +pub const __drv_typeCond: u32 = 1; +pub const __drv_typeBitset: u32 = 2; +pub const __drv_typeExpr: u32 = 3; +pub const STRICT: u32 = 1; +pub const MAX_PATH: u32 = 260; +pub const FALSE: u32 = 0; +pub const TRUE: u32 = 1; +pub const _ARGMAX: u32 = 100; +pub const _CRT_INT_MAX: u32 = 2147483647; +pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1; +pub const _CRT_HAS_CXX17: u32 = 0; +pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1; +pub const _CRT_BUILD_DESKTOP_APP: u32 = 1; +pub const _CRT_INTERNAL_NONSTDC_NAMES: u32 = 1; +pub const __STDC_SECURE_LIB__: u32 = 200411; +pub const __GOT_SECURE_LIB__: u32 = 200411; +pub const __STDC_WANT_SECURE_LIB__: u32 = 1; +pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254; +pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0; +pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0; +pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1; +pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0; +pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0; +pub const _UPPER: u32 = 1; +pub const _LOWER: u32 = 2; +pub const _DIGIT: u32 = 4; +pub const _SPACE: u32 = 8; +pub const _PUNCT: u32 = 16; +pub const _CONTROL: u32 = 32; +pub const _BLANK: u32 = 64; +pub const _HEX: u32 = 128; +pub const _LEADBYTE: u32 = 32768; +pub const _ALPHA: u32 = 259; +pub const ANYSIZE_ARRAY: u32 = 1; +pub const DISPATCH_LEVEL: u32 = 2; +pub const APC_LEVEL: u32 = 1; +pub const PASSIVE_LEVEL: u32 = 0; +pub const HIGH_LEVEL: u32 = 15; +pub const MEMORY_ALLOCATION_ALIGNMENT: u32 = 16; +pub const SYSTEM_CACHE_ALIGNMENT_SIZE: u32 = 64; +pub const PRAGMA_DEPRECATED_DDK: u32 = 0; +pub const UCSCHAR_INVALID_CHARACTER: u32 = 4294967295; +pub const MIN_UCSCHAR: u32 = 0; +pub const MAX_UCSCHAR: u32 = 1114111; +pub const ALL_PROCESSOR_GROUPS: u32 = 65535; +pub const MAXIMUM_PROC_PER_GROUP: u32 = 64; +pub const MAXIMUM_PROCESSORS: u32 = 64; +pub const APPLICATION_ERROR_MASK: u32 = 536870912; +pub const ERROR_SEVERITY_SUCCESS: u32 = 0; +pub const ERROR_SEVERITY_INFORMATIONAL: u32 = 1073741824; +pub const ERROR_SEVERITY_WARNING: u32 = 2147483648; +pub const ERROR_SEVERITY_ERROR: u32 = 3221225472; +pub const MAXLONGLONG: u64 = 9223372036854775807; +pub const UNICODE_STRING_MAX_CHARS: u32 = 32767; +pub const EPERM: u32 = 1; +pub const ENOENT: u32 = 2; +pub const ESRCH: u32 = 3; +pub const EINTR: u32 = 4; +pub const EIO: u32 = 5; +pub const ENXIO: u32 = 6; +pub const E2BIG: u32 = 7; +pub const ENOEXEC: u32 = 8; +pub const EBADF: u32 = 9; +pub const ECHILD: u32 = 10; +pub const EAGAIN: u32 = 11; +pub const ENOMEM: u32 = 12; +pub const EACCES: u32 = 13; +pub const EFAULT: u32 = 14; +pub const EBUSY: u32 = 16; +pub const EEXIST: u32 = 17; +pub const EXDEV: u32 = 18; +pub const ENODEV: u32 = 19; +pub const ENOTDIR: u32 = 20; +pub const EISDIR: u32 = 21; +pub const ENFILE: u32 = 23; +pub const EMFILE: u32 = 24; +pub const ENOTTY: u32 = 25; +pub const EFBIG: u32 = 27; +pub const ENOSPC: u32 = 28; +pub const ESPIPE: u32 = 29; +pub const EROFS: u32 = 30; +pub const EMLINK: u32 = 31; +pub const EPIPE: u32 = 32; +pub const EDOM: u32 = 33; +pub const EDEADLK: u32 = 36; +pub const ENAMETOOLONG: u32 = 38; +pub const ENOLCK: u32 = 39; +pub const ENOSYS: u32 = 40; +pub const ENOTEMPTY: u32 = 41; +pub const EINVAL: u32 = 22; +pub const ERANGE: u32 = 34; +pub const EILSEQ: u32 = 42; +pub const STRUNCATE: u32 = 80; +pub const EDEADLOCK: u32 = 36; +pub const EADDRINUSE: u32 = 100; +pub const EADDRNOTAVAIL: u32 = 101; +pub const EAFNOSUPPORT: u32 = 102; +pub const EALREADY: u32 = 103; +pub const EBADMSG: u32 = 104; +pub const ECANCELED: u32 = 105; +pub const ECONNABORTED: u32 = 106; +pub const ECONNREFUSED: u32 = 107; +pub const ECONNRESET: u32 = 108; +pub const EDESTADDRREQ: u32 = 109; +pub const EHOSTUNREACH: u32 = 110; +pub const EIDRM: u32 = 111; +pub const EINPROGRESS: u32 = 112; +pub const EISCONN: u32 = 113; +pub const ELOOP: u32 = 114; +pub const EMSGSIZE: u32 = 115; +pub const ENETDOWN: u32 = 116; +pub const ENETRESET: u32 = 117; +pub const ENETUNREACH: u32 = 118; +pub const ENOBUFS: u32 = 119; +pub const ENODATA: u32 = 120; +pub const ENOLINK: u32 = 121; +pub const ENOMSG: u32 = 122; +pub const ENOPROTOOPT: u32 = 123; +pub const ENOSR: u32 = 124; +pub const ENOSTR: u32 = 125; +pub const ENOTCONN: u32 = 126; +pub const ENOTRECOVERABLE: u32 = 127; +pub const ENOTSOCK: u32 = 128; +pub const ENOTSUP: u32 = 129; +pub const EOPNOTSUPP: u32 = 130; +pub const EOTHER: u32 = 131; +pub const EOVERFLOW: u32 = 132; +pub const EOWNERDEAD: u32 = 133; +pub const EPROTO: u32 = 134; +pub const EPROTONOSUPPORT: u32 = 135; +pub const EPROTOTYPE: u32 = 136; +pub const ETIME: u32 = 137; +pub const ETIMEDOUT: u32 = 138; +pub const ETXTBSY: u32 = 139; +pub const EWOULDBLOCK: u32 = 140; +pub const _NLSCMPERROR: u32 = 2147483647; +pub const MINCHAR: u32 = 128; +pub const MAXCHAR: u32 = 127; +pub const MINSHORT: u32 = 32768; +pub const MAXSHORT: u32 = 32767; +pub const MINLONG: u32 = 2147483648; +pub const MAXLONG: u32 = 2147483647; +pub const MAXBYTE: u32 = 255; +pub const MAXWORD: u32 = 65535; +pub const MAXDWORD: u32 = 4294967295; +pub const ENCLAVE_SHORT_ID_LENGTH: u32 = 16; +pub const ENCLAVE_LONG_ID_LENGTH: u32 = 32; +pub const VER_SERVER_NT: u32 = 2147483648; +pub const VER_WORKSTATION_NT: u32 = 1073741824; +pub const VER_SUITE_SMALLBUSINESS: u32 = 1; +pub const VER_SUITE_ENTERPRISE: u32 = 2; +pub const VER_SUITE_BACKOFFICE: u32 = 4; +pub const VER_SUITE_COMMUNICATIONS: u32 = 8; +pub const VER_SUITE_TERMINAL: u32 = 16; +pub const VER_SUITE_SMALLBUSINESS_RESTRICTED: u32 = 32; +pub const VER_SUITE_EMBEDDEDNT: u32 = 64; +pub const VER_SUITE_DATACENTER: u32 = 128; +pub const VER_SUITE_SINGLEUSERTS: u32 = 256; +pub const VER_SUITE_PERSONAL: u32 = 512; +pub const VER_SUITE_BLADE: u32 = 1024; +pub const VER_SUITE_EMBEDDED_RESTRICTED: u32 = 2048; +pub const VER_SUITE_SECURITY_APPLIANCE: u32 = 4096; +pub const VER_SUITE_STORAGE_SERVER: u32 = 8192; +pub const VER_SUITE_COMPUTE_SERVER: u32 = 16384; +pub const VER_SUITE_WH_SERVER: u32 = 32768; +pub const VER_SUITE_MULTIUSERTS: u32 = 131072; +pub const PRODUCT_UNDEFINED: u32 = 0; +pub const PRODUCT_ULTIMATE: u32 = 1; +pub const PRODUCT_HOME_BASIC: u32 = 2; +pub const PRODUCT_HOME_PREMIUM: u32 = 3; +pub const PRODUCT_ENTERPRISE: u32 = 4; +pub const PRODUCT_HOME_BASIC_N: u32 = 5; +pub const PRODUCT_BUSINESS: u32 = 6; +pub const PRODUCT_STANDARD_SERVER: u32 = 7; +pub const PRODUCT_DATACENTER_SERVER: u32 = 8; +pub const PRODUCT_SMALLBUSINESS_SERVER: u32 = 9; +pub const PRODUCT_ENTERPRISE_SERVER: u32 = 10; +pub const PRODUCT_STARTER: u32 = 11; +pub const PRODUCT_DATACENTER_SERVER_CORE: u32 = 12; +pub const PRODUCT_STANDARD_SERVER_CORE: u32 = 13; +pub const PRODUCT_ENTERPRISE_SERVER_CORE: u32 = 14; +pub const PRODUCT_ENTERPRISE_SERVER_IA64: u32 = 15; +pub const PRODUCT_BUSINESS_N: u32 = 16; +pub const PRODUCT_WEB_SERVER: u32 = 17; +pub const PRODUCT_CLUSTER_SERVER: u32 = 18; +pub const PRODUCT_HOME_SERVER: u32 = 19; +pub const PRODUCT_STORAGE_EXPRESS_SERVER: u32 = 20; +pub const PRODUCT_STORAGE_STANDARD_SERVER: u32 = 21; +pub const PRODUCT_STORAGE_WORKGROUP_SERVER: u32 = 22; +pub const PRODUCT_STORAGE_ENTERPRISE_SERVER: u32 = 23; +pub const PRODUCT_SERVER_FOR_SMALLBUSINESS: u32 = 24; +pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: u32 = 25; +pub const PRODUCT_HOME_PREMIUM_N: u32 = 26; +pub const PRODUCT_ENTERPRISE_N: u32 = 27; +pub const PRODUCT_ULTIMATE_N: u32 = 28; +pub const PRODUCT_WEB_SERVER_CORE: u32 = 29; +pub const PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT: u32 = 30; +pub const PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY: u32 = 31; +pub const PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING: u32 = 32; +pub const PRODUCT_SERVER_FOUNDATION: u32 = 33; +pub const PRODUCT_HOME_PREMIUM_SERVER: u32 = 34; +pub const PRODUCT_SERVER_FOR_SMALLBUSINESS_V: u32 = 35; +pub const PRODUCT_STANDARD_SERVER_V: u32 = 36; +pub const PRODUCT_DATACENTER_SERVER_V: u32 = 37; +pub const PRODUCT_ENTERPRISE_SERVER_V: u32 = 38; +pub const PRODUCT_DATACENTER_SERVER_CORE_V: u32 = 39; +pub const PRODUCT_STANDARD_SERVER_CORE_V: u32 = 40; +pub const PRODUCT_ENTERPRISE_SERVER_CORE_V: u32 = 41; +pub const PRODUCT_HYPERV: u32 = 42; +pub const PRODUCT_STORAGE_EXPRESS_SERVER_CORE: u32 = 43; +pub const PRODUCT_STORAGE_STANDARD_SERVER_CORE: u32 = 44; +pub const PRODUCT_STORAGE_WORKGROUP_SERVER_CORE: u32 = 45; +pub const PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE: u32 = 46; +pub const PRODUCT_STARTER_N: u32 = 47; +pub const PRODUCT_PROFESSIONAL: u32 = 48; +pub const PRODUCT_PROFESSIONAL_N: u32 = 49; +pub const PRODUCT_SB_SOLUTION_SERVER: u32 = 50; +pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS: u32 = 51; +pub const PRODUCT_STANDARD_SERVER_SOLUTIONS: u32 = 52; +pub const PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE: u32 = 53; +pub const PRODUCT_SB_SOLUTION_SERVER_EM: u32 = 54; +pub const PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM: u32 = 55; +pub const PRODUCT_SOLUTION_EMBEDDEDSERVER: u32 = 56; +pub const PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE: u32 = 57; +pub const PRODUCT_PROFESSIONAL_EMBEDDED: u32 = 58; +pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT: u32 = 59; +pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL: u32 = 60; +pub const PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC: u32 = 61; +pub const PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC: u32 = 62; +pub const PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE: u32 = 63; +pub const PRODUCT_CLUSTER_SERVER_V: u32 = 64; +pub const PRODUCT_EMBEDDED: u32 = 65; +pub const PRODUCT_STARTER_E: u32 = 66; +pub const PRODUCT_HOME_BASIC_E: u32 = 67; +pub const PRODUCT_HOME_PREMIUM_E: u32 = 68; +pub const PRODUCT_PROFESSIONAL_E: u32 = 69; +pub const PRODUCT_ENTERPRISE_E: u32 = 70; +pub const PRODUCT_ULTIMATE_E: u32 = 71; +pub const PRODUCT_ENTERPRISE_EVALUATION: u32 = 72; +pub const PRODUCT_MULTIPOINT_STANDARD_SERVER: u32 = 76; +pub const PRODUCT_MULTIPOINT_PREMIUM_SERVER: u32 = 77; +pub const PRODUCT_STANDARD_EVALUATION_SERVER: u32 = 79; +pub const PRODUCT_DATACENTER_EVALUATION_SERVER: u32 = 80; +pub const PRODUCT_ENTERPRISE_N_EVALUATION: u32 = 84; +pub const PRODUCT_EMBEDDED_AUTOMOTIVE: u32 = 85; +pub const PRODUCT_EMBEDDED_INDUSTRY_A: u32 = 86; +pub const PRODUCT_THINPC: u32 = 87; +pub const PRODUCT_EMBEDDED_A: u32 = 88; +pub const PRODUCT_EMBEDDED_INDUSTRY: u32 = 89; +pub const PRODUCT_EMBEDDED_E: u32 = 90; +pub const PRODUCT_EMBEDDED_INDUSTRY_E: u32 = 91; +pub const PRODUCT_EMBEDDED_INDUSTRY_A_E: u32 = 92; +pub const PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER: u32 = 95; +pub const PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER: u32 = 96; +pub const PRODUCT_CORE_ARM: u32 = 97; +pub const PRODUCT_CORE_N: u32 = 98; +pub const PRODUCT_CORE_COUNTRYSPECIFIC: u32 = 99; +pub const PRODUCT_CORE_SINGLELANGUAGE: u32 = 100; +pub const PRODUCT_CORE: u32 = 101; +pub const PRODUCT_PROFESSIONAL_WMC: u32 = 103; +pub const PRODUCT_EMBEDDED_INDUSTRY_EVAL: u32 = 105; +pub const PRODUCT_EMBEDDED_INDUSTRY_E_EVAL: u32 = 106; +pub const PRODUCT_EMBEDDED_EVAL: u32 = 107; +pub const PRODUCT_EMBEDDED_E_EVAL: u32 = 108; +pub const PRODUCT_NANO_SERVER: u32 = 109; +pub const PRODUCT_CLOUD_STORAGE_SERVER: u32 = 110; +pub const PRODUCT_CORE_CONNECTED: u32 = 111; +pub const PRODUCT_PROFESSIONAL_STUDENT: u32 = 112; +pub const PRODUCT_CORE_CONNECTED_N: u32 = 113; +pub const PRODUCT_PROFESSIONAL_STUDENT_N: u32 = 114; +pub const PRODUCT_CORE_CONNECTED_SINGLELANGUAGE: u32 = 115; +pub const PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC: u32 = 116; +pub const PRODUCT_CONNECTED_CAR: u32 = 117; +pub const PRODUCT_INDUSTRY_HANDHELD: u32 = 118; +pub const PRODUCT_PPI_PRO: u32 = 119; +pub const PRODUCT_ARM64_SERVER: u32 = 120; +pub const PRODUCT_EDUCATION: u32 = 121; +pub const PRODUCT_EDUCATION_N: u32 = 122; +pub const PRODUCT_IOTUAP: u32 = 123; +pub const PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER: u32 = 124; +pub const PRODUCT_ENTERPRISE_S: u32 = 125; +pub const PRODUCT_ENTERPRISE_S_N: u32 = 126; +pub const PRODUCT_PROFESSIONAL_S: u32 = 127; +pub const PRODUCT_PROFESSIONAL_S_N: u32 = 128; +pub const PRODUCT_ENTERPRISE_S_EVALUATION: u32 = 129; +pub const PRODUCT_ENTERPRISE_S_N_EVALUATION: u32 = 130; +pub const PRODUCT_HOLOGRAPHIC: u32 = 135; +pub const PRODUCT_HOLOGRAPHIC_BUSINESS: u32 = 136; +pub const PRODUCT_PRO_SINGLE_LANGUAGE: u32 = 138; +pub const PRODUCT_PRO_CHINA: u32 = 139; +pub const PRODUCT_ENTERPRISE_SUBSCRIPTION: u32 = 140; +pub const PRODUCT_ENTERPRISE_SUBSCRIPTION_N: u32 = 141; +pub const PRODUCT_DATACENTER_NANO_SERVER: u32 = 143; +pub const PRODUCT_STANDARD_NANO_SERVER: u32 = 144; +pub const PRODUCT_DATACENTER_A_SERVER_CORE: u32 = 145; +pub const PRODUCT_STANDARD_A_SERVER_CORE: u32 = 146; +pub const PRODUCT_DATACENTER_WS_SERVER_CORE: u32 = 147; +pub const PRODUCT_STANDARD_WS_SERVER_CORE: u32 = 148; +pub const PRODUCT_UTILITY_VM: u32 = 149; +pub const PRODUCT_DATACENTER_EVALUATION_SERVER_CORE: u32 = 159; +pub const PRODUCT_STANDARD_EVALUATION_SERVER_CORE: u32 = 160; +pub const PRODUCT_PRO_WORKSTATION: u32 = 161; +pub const PRODUCT_PRO_WORKSTATION_N: u32 = 162; +pub const PRODUCT_PRO_FOR_EDUCATION: u32 = 164; +pub const PRODUCT_PRO_FOR_EDUCATION_N: u32 = 165; +pub const PRODUCT_AZURE_SERVER_CORE: u32 = 168; +pub const PRODUCT_AZURE_NANO_SERVER: u32 = 169; +pub const PRODUCT_ENTERPRISEG: u32 = 171; +pub const PRODUCT_ENTERPRISEGN: u32 = 172; +pub const PRODUCT_SERVERRDSH: u32 = 175; +pub const PRODUCT_CLOUD: u32 = 178; +pub const PRODUCT_CLOUDN: u32 = 179; +pub const PRODUCT_HUBOS: u32 = 180; +pub const PRODUCT_ONECOREUPDATEOS: u32 = 182; +pub const PRODUCT_CLOUDE: u32 = 183; +pub const PRODUCT_ANDROMEDA: u32 = 184; +pub const PRODUCT_IOTOS: u32 = 185; +pub const PRODUCT_CLOUDEN: u32 = 186; +pub const PRODUCT_IOTEDGEOS: u32 = 187; +pub const PRODUCT_IOTENTERPRISE: u32 = 188; +pub const PRODUCT_LITE: u32 = 189; +pub const PRODUCT_IOTENTERPRISES: u32 = 191; +pub const PRODUCT_XBOX_SYSTEMOS: u32 = 192; +pub const PRODUCT_XBOX_NATIVEOS: u32 = 193; +pub const PRODUCT_XBOX_GAMEOS: u32 = 194; +pub const PRODUCT_XBOX_ERAOS: u32 = 195; +pub const PRODUCT_XBOX_DURANGOHOSTOS: u32 = 196; +pub const PRODUCT_XBOX_SCARLETTHOSTOS: u32 = 197; +pub const PRODUCT_UNLICENSED: u32 = 2882382797; +pub const LANG_NEUTRAL: u32 = 0; +pub const LANG_INVARIANT: u32 = 127; +pub const LANG_AFRIKAANS: u32 = 54; +pub const LANG_ALBANIAN: u32 = 28; +pub const LANG_ALSATIAN: u32 = 132; +pub const LANG_AMHARIC: u32 = 94; +pub const LANG_ARABIC: u32 = 1; +pub const LANG_ARMENIAN: u32 = 43; +pub const LANG_ASSAMESE: u32 = 77; +pub const LANG_AZERI: u32 = 44; +pub const LANG_AZERBAIJANI: u32 = 44; +pub const LANG_BANGLA: u32 = 69; +pub const LANG_BASHKIR: u32 = 109; +pub const LANG_BASQUE: u32 = 45; +pub const LANG_BELARUSIAN: u32 = 35; +pub const LANG_BENGALI: u32 = 69; +pub const LANG_BRETON: u32 = 126; +pub const LANG_BOSNIAN: u32 = 26; +pub const LANG_BOSNIAN_NEUTRAL: u32 = 30746; +pub const LANG_BULGARIAN: u32 = 2; +pub const LANG_CATALAN: u32 = 3; +pub const LANG_CENTRAL_KURDISH: u32 = 146; +pub const LANG_CHEROKEE: u32 = 92; +pub const LANG_CHINESE: u32 = 4; +pub const LANG_CHINESE_SIMPLIFIED: u32 = 4; +pub const LANG_CHINESE_TRADITIONAL: u32 = 31748; +pub const LANG_CORSICAN: u32 = 131; +pub const LANG_CROATIAN: u32 = 26; +pub const LANG_CZECH: u32 = 5; +pub const LANG_DANISH: u32 = 6; +pub const LANG_DARI: u32 = 140; +pub const LANG_DIVEHI: u32 = 101; +pub const LANG_DUTCH: u32 = 19; +pub const LANG_ENGLISH: u32 = 9; +pub const LANG_ESTONIAN: u32 = 37; +pub const LANG_FAEROESE: u32 = 56; +pub const LANG_FARSI: u32 = 41; +pub const LANG_FILIPINO: u32 = 100; +pub const LANG_FINNISH: u32 = 11; +pub const LANG_FRENCH: u32 = 12; +pub const LANG_FRISIAN: u32 = 98; +pub const LANG_FULAH: u32 = 103; +pub const LANG_GALICIAN: u32 = 86; +pub const LANG_GEORGIAN: u32 = 55; +pub const LANG_GERMAN: u32 = 7; +pub const LANG_GREEK: u32 = 8; +pub const LANG_GREENLANDIC: u32 = 111; +pub const LANG_GUJARATI: u32 = 71; +pub const LANG_HAUSA: u32 = 104; +pub const LANG_HAWAIIAN: u32 = 117; +pub const LANG_HEBREW: u32 = 13; +pub const LANG_HINDI: u32 = 57; +pub const LANG_HUNGARIAN: u32 = 14; +pub const LANG_ICELANDIC: u32 = 15; +pub const LANG_IGBO: u32 = 112; +pub const LANG_INDONESIAN: u32 = 33; +pub const LANG_INUKTITUT: u32 = 93; +pub const LANG_IRISH: u32 = 60; +pub const LANG_ITALIAN: u32 = 16; +pub const LANG_JAPANESE: u32 = 17; +pub const LANG_KANNADA: u32 = 75; +pub const LANG_KASHMIRI: u32 = 96; +pub const LANG_KAZAK: u32 = 63; +pub const LANG_KHMER: u32 = 83; +pub const LANG_KICHE: u32 = 134; +pub const LANG_KINYARWANDA: u32 = 135; +pub const LANG_KONKANI: u32 = 87; +pub const LANG_KOREAN: u32 = 18; +pub const LANG_KYRGYZ: u32 = 64; +pub const LANG_LAO: u32 = 84; +pub const LANG_LATVIAN: u32 = 38; +pub const LANG_LITHUANIAN: u32 = 39; +pub const LANG_LOWER_SORBIAN: u32 = 46; +pub const LANG_LUXEMBOURGISH: u32 = 110; +pub const LANG_MACEDONIAN: u32 = 47; +pub const LANG_MALAY: u32 = 62; +pub const LANG_MALAYALAM: u32 = 76; +pub const LANG_MALTESE: u32 = 58; +pub const LANG_MANIPURI: u32 = 88; +pub const LANG_MAORI: u32 = 129; +pub const LANG_MAPUDUNGUN: u32 = 122; +pub const LANG_MARATHI: u32 = 78; +pub const LANG_MOHAWK: u32 = 124; +pub const LANG_MONGOLIAN: u32 = 80; +pub const LANG_NEPALI: u32 = 97; +pub const LANG_NORWEGIAN: u32 = 20; +pub const LANG_OCCITAN: u32 = 130; +pub const LANG_ODIA: u32 = 72; +pub const LANG_ORIYA: u32 = 72; +pub const LANG_PASHTO: u32 = 99; +pub const LANG_PERSIAN: u32 = 41; +pub const LANG_POLISH: u32 = 21; +pub const LANG_PORTUGUESE: u32 = 22; +pub const LANG_PULAR: u32 = 103; +pub const LANG_PUNJABI: u32 = 70; +pub const LANG_QUECHUA: u32 = 107; +pub const LANG_ROMANIAN: u32 = 24; +pub const LANG_ROMANSH: u32 = 23; +pub const LANG_RUSSIAN: u32 = 25; +pub const LANG_SAKHA: u32 = 133; +pub const LANG_SAMI: u32 = 59; +pub const LANG_SANSKRIT: u32 = 79; +pub const LANG_SCOTTISH_GAELIC: u32 = 145; +pub const LANG_SERBIAN: u32 = 26; +pub const LANG_SERBIAN_NEUTRAL: u32 = 31770; +pub const LANG_SINDHI: u32 = 89; +pub const LANG_SINHALESE: u32 = 91; +pub const LANG_SLOVAK: u32 = 27; +pub const LANG_SLOVENIAN: u32 = 36; +pub const LANG_SOTHO: u32 = 108; +pub const LANG_SPANISH: u32 = 10; +pub const LANG_SWAHILI: u32 = 65; +pub const LANG_SWEDISH: u32 = 29; +pub const LANG_SYRIAC: u32 = 90; +pub const LANG_TAJIK: u32 = 40; +pub const LANG_TAMAZIGHT: u32 = 95; +pub const LANG_TAMIL: u32 = 73; +pub const LANG_TATAR: u32 = 68; +pub const LANG_TELUGU: u32 = 74; +pub const LANG_THAI: u32 = 30; +pub const LANG_TIBETAN: u32 = 81; +pub const LANG_TIGRIGNA: u32 = 115; +pub const LANG_TIGRINYA: u32 = 115; +pub const LANG_TSWANA: u32 = 50; +pub const LANG_TURKISH: u32 = 31; +pub const LANG_TURKMEN: u32 = 66; +pub const LANG_UIGHUR: u32 = 128; +pub const LANG_UKRAINIAN: u32 = 34; +pub const LANG_UPPER_SORBIAN: u32 = 46; +pub const LANG_URDU: u32 = 32; +pub const LANG_UZBEK: u32 = 67; +pub const LANG_VALENCIAN: u32 = 3; +pub const LANG_VIETNAMESE: u32 = 42; +pub const LANG_WELSH: u32 = 82; +pub const LANG_WOLOF: u32 = 136; +pub const LANG_XHOSA: u32 = 52; +pub const LANG_YAKUT: u32 = 133; +pub const LANG_YI: u32 = 120; +pub const LANG_YORUBA: u32 = 106; +pub const LANG_ZULU: u32 = 53; +pub const SUBLANG_NEUTRAL: u32 = 0; +pub const SUBLANG_DEFAULT: u32 = 1; +pub const SUBLANG_SYS_DEFAULT: u32 = 2; +pub const SUBLANG_CUSTOM_DEFAULT: u32 = 3; +pub const SUBLANG_CUSTOM_UNSPECIFIED: u32 = 4; +pub const SUBLANG_UI_CUSTOM_DEFAULT: u32 = 5; +pub const SUBLANG_AFRIKAANS_SOUTH_AFRICA: u32 = 1; +pub const SUBLANG_ALBANIAN_ALBANIA: u32 = 1; +pub const SUBLANG_ALSATIAN_FRANCE: u32 = 1; +pub const SUBLANG_AMHARIC_ETHIOPIA: u32 = 1; +pub const SUBLANG_ARABIC_SAUDI_ARABIA: u32 = 1; +pub const SUBLANG_ARABIC_IRAQ: u32 = 2; +pub const SUBLANG_ARABIC_EGYPT: u32 = 3; +pub const SUBLANG_ARABIC_LIBYA: u32 = 4; +pub const SUBLANG_ARABIC_ALGERIA: u32 = 5; +pub const SUBLANG_ARABIC_MOROCCO: u32 = 6; +pub const SUBLANG_ARABIC_TUNISIA: u32 = 7; +pub const SUBLANG_ARABIC_OMAN: u32 = 8; +pub const SUBLANG_ARABIC_YEMEN: u32 = 9; +pub const SUBLANG_ARABIC_SYRIA: u32 = 10; +pub const SUBLANG_ARABIC_JORDAN: u32 = 11; +pub const SUBLANG_ARABIC_LEBANON: u32 = 12; +pub const SUBLANG_ARABIC_KUWAIT: u32 = 13; +pub const SUBLANG_ARABIC_UAE: u32 = 14; +pub const SUBLANG_ARABIC_BAHRAIN: u32 = 15; +pub const SUBLANG_ARABIC_QATAR: u32 = 16; +pub const SUBLANG_ARMENIAN_ARMENIA: u32 = 1; +pub const SUBLANG_ASSAMESE_INDIA: u32 = 1; +pub const SUBLANG_AZERI_LATIN: u32 = 1; +pub const SUBLANG_AZERI_CYRILLIC: u32 = 2; +pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN: u32 = 1; +pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC: u32 = 2; +pub const SUBLANG_BANGLA_INDIA: u32 = 1; +pub const SUBLANG_BANGLA_BANGLADESH: u32 = 2; +pub const SUBLANG_BASHKIR_RUSSIA: u32 = 1; +pub const SUBLANG_BASQUE_BASQUE: u32 = 1; +pub const SUBLANG_BELARUSIAN_BELARUS: u32 = 1; +pub const SUBLANG_BENGALI_INDIA: u32 = 1; +pub const SUBLANG_BENGALI_BANGLADESH: u32 = 2; +pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: u32 = 5; +pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: u32 = 8; +pub const SUBLANG_BRETON_FRANCE: u32 = 1; +pub const SUBLANG_BULGARIAN_BULGARIA: u32 = 1; +pub const SUBLANG_CATALAN_CATALAN: u32 = 1; +pub const SUBLANG_CENTRAL_KURDISH_IRAQ: u32 = 1; +pub const SUBLANG_CHEROKEE_CHEROKEE: u32 = 1; +pub const SUBLANG_CHINESE_TRADITIONAL: u32 = 1; +pub const SUBLANG_CHINESE_SIMPLIFIED: u32 = 2; +pub const SUBLANG_CHINESE_HONGKONG: u32 = 3; +pub const SUBLANG_CHINESE_SINGAPORE: u32 = 4; +pub const SUBLANG_CHINESE_MACAU: u32 = 5; +pub const SUBLANG_CORSICAN_FRANCE: u32 = 1; +pub const SUBLANG_CZECH_CZECH_REPUBLIC: u32 = 1; +pub const SUBLANG_CROATIAN_CROATIA: u32 = 1; +pub const SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: u32 = 4; +pub const SUBLANG_DANISH_DENMARK: u32 = 1; +pub const SUBLANG_DARI_AFGHANISTAN: u32 = 1; +pub const SUBLANG_DIVEHI_MALDIVES: u32 = 1; +pub const SUBLANG_DUTCH: u32 = 1; +pub const SUBLANG_DUTCH_BELGIAN: u32 = 2; +pub const SUBLANG_ENGLISH_US: u32 = 1; +pub const SUBLANG_ENGLISH_UK: u32 = 2; +pub const SUBLANG_ENGLISH_AUS: u32 = 3; +pub const SUBLANG_ENGLISH_CAN: u32 = 4; +pub const SUBLANG_ENGLISH_NZ: u32 = 5; +pub const SUBLANG_ENGLISH_EIRE: u32 = 6; +pub const SUBLANG_ENGLISH_SOUTH_AFRICA: u32 = 7; +pub const SUBLANG_ENGLISH_JAMAICA: u32 = 8; +pub const SUBLANG_ENGLISH_CARIBBEAN: u32 = 9; +pub const SUBLANG_ENGLISH_BELIZE: u32 = 10; +pub const SUBLANG_ENGLISH_TRINIDAD: u32 = 11; +pub const SUBLANG_ENGLISH_ZIMBABWE: u32 = 12; +pub const SUBLANG_ENGLISH_PHILIPPINES: u32 = 13; +pub const SUBLANG_ENGLISH_INDIA: u32 = 16; +pub const SUBLANG_ENGLISH_MALAYSIA: u32 = 17; +pub const SUBLANG_ENGLISH_SINGAPORE: u32 = 18; +pub const SUBLANG_ESTONIAN_ESTONIA: u32 = 1; +pub const SUBLANG_FAEROESE_FAROE_ISLANDS: u32 = 1; +pub const SUBLANG_FILIPINO_PHILIPPINES: u32 = 1; +pub const SUBLANG_FINNISH_FINLAND: u32 = 1; +pub const SUBLANG_FRENCH: u32 = 1; +pub const SUBLANG_FRENCH_BELGIAN: u32 = 2; +pub const SUBLANG_FRENCH_CANADIAN: u32 = 3; +pub const SUBLANG_FRENCH_SWISS: u32 = 4; +pub const SUBLANG_FRENCH_LUXEMBOURG: u32 = 5; +pub const SUBLANG_FRENCH_MONACO: u32 = 6; +pub const SUBLANG_FRISIAN_NETHERLANDS: u32 = 1; +pub const SUBLANG_FULAH_SENEGAL: u32 = 2; +pub const SUBLANG_GALICIAN_GALICIAN: u32 = 1; +pub const SUBLANG_GEORGIAN_GEORGIA: u32 = 1; +pub const SUBLANG_GERMAN: u32 = 1; +pub const SUBLANG_GERMAN_SWISS: u32 = 2; +pub const SUBLANG_GERMAN_AUSTRIAN: u32 = 3; +pub const SUBLANG_GERMAN_LUXEMBOURG: u32 = 4; +pub const SUBLANG_GERMAN_LIECHTENSTEIN: u32 = 5; +pub const SUBLANG_GREEK_GREECE: u32 = 1; +pub const SUBLANG_GREENLANDIC_GREENLAND: u32 = 1; +pub const SUBLANG_GUJARATI_INDIA: u32 = 1; +pub const SUBLANG_HAUSA_NIGERIA_LATIN: u32 = 1; +pub const SUBLANG_HAWAIIAN_US: u32 = 1; +pub const SUBLANG_HEBREW_ISRAEL: u32 = 1; +pub const SUBLANG_HINDI_INDIA: u32 = 1; +pub const SUBLANG_HUNGARIAN_HUNGARY: u32 = 1; +pub const SUBLANG_ICELANDIC_ICELAND: u32 = 1; +pub const SUBLANG_IGBO_NIGERIA: u32 = 1; +pub const SUBLANG_INDONESIAN_INDONESIA: u32 = 1; +pub const SUBLANG_INUKTITUT_CANADA: u32 = 1; +pub const SUBLANG_INUKTITUT_CANADA_LATIN: u32 = 2; +pub const SUBLANG_IRISH_IRELAND: u32 = 2; +pub const SUBLANG_ITALIAN: u32 = 1; +pub const SUBLANG_ITALIAN_SWISS: u32 = 2; +pub const SUBLANG_JAPANESE_JAPAN: u32 = 1; +pub const SUBLANG_KANNADA_INDIA: u32 = 1; +pub const SUBLANG_KASHMIRI_SASIA: u32 = 2; +pub const SUBLANG_KASHMIRI_INDIA: u32 = 2; +pub const SUBLANG_KAZAK_KAZAKHSTAN: u32 = 1; +pub const SUBLANG_KHMER_CAMBODIA: u32 = 1; +pub const SUBLANG_KICHE_GUATEMALA: u32 = 1; +pub const SUBLANG_KINYARWANDA_RWANDA: u32 = 1; +pub const SUBLANG_KONKANI_INDIA: u32 = 1; +pub const SUBLANG_KOREAN: u32 = 1; +pub const SUBLANG_KYRGYZ_KYRGYZSTAN: u32 = 1; +pub const SUBLANG_LAO_LAO: u32 = 1; +pub const SUBLANG_LATVIAN_LATVIA: u32 = 1; +pub const SUBLANG_LITHUANIAN: u32 = 1; +pub const SUBLANG_LOWER_SORBIAN_GERMANY: u32 = 2; +pub const SUBLANG_LUXEMBOURGISH_LUXEMBOURG: u32 = 1; +pub const SUBLANG_MACEDONIAN_MACEDONIA: u32 = 1; +pub const SUBLANG_MALAY_MALAYSIA: u32 = 1; +pub const SUBLANG_MALAY_BRUNEI_DARUSSALAM: u32 = 2; +pub const SUBLANG_MALAYALAM_INDIA: u32 = 1; +pub const SUBLANG_MALTESE_MALTA: u32 = 1; +pub const SUBLANG_MAORI_NEW_ZEALAND: u32 = 1; +pub const SUBLANG_MAPUDUNGUN_CHILE: u32 = 1; +pub const SUBLANG_MARATHI_INDIA: u32 = 1; +pub const SUBLANG_MOHAWK_MOHAWK: u32 = 1; +pub const SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: u32 = 1; +pub const SUBLANG_MONGOLIAN_PRC: u32 = 2; +pub const SUBLANG_NEPALI_INDIA: u32 = 2; +pub const SUBLANG_NEPALI_NEPAL: u32 = 1; +pub const SUBLANG_NORWEGIAN_BOKMAL: u32 = 1; +pub const SUBLANG_NORWEGIAN_NYNORSK: u32 = 2; +pub const SUBLANG_OCCITAN_FRANCE: u32 = 1; +pub const SUBLANG_ODIA_INDIA: u32 = 1; +pub const SUBLANG_ORIYA_INDIA: u32 = 1; +pub const SUBLANG_PASHTO_AFGHANISTAN: u32 = 1; +pub const SUBLANG_PERSIAN_IRAN: u32 = 1; +pub const SUBLANG_POLISH_POLAND: u32 = 1; +pub const SUBLANG_PORTUGUESE: u32 = 2; +pub const SUBLANG_PORTUGUESE_BRAZILIAN: u32 = 1; +pub const SUBLANG_PULAR_SENEGAL: u32 = 2; +pub const SUBLANG_PUNJABI_INDIA: u32 = 1; +pub const SUBLANG_PUNJABI_PAKISTAN: u32 = 2; +pub const SUBLANG_QUECHUA_BOLIVIA: u32 = 1; +pub const SUBLANG_QUECHUA_ECUADOR: u32 = 2; +pub const SUBLANG_QUECHUA_PERU: u32 = 3; +pub const SUBLANG_ROMANIAN_ROMANIA: u32 = 1; +pub const SUBLANG_ROMANSH_SWITZERLAND: u32 = 1; +pub const SUBLANG_RUSSIAN_RUSSIA: u32 = 1; +pub const SUBLANG_SAKHA_RUSSIA: u32 = 1; +pub const SUBLANG_SAMI_NORTHERN_NORWAY: u32 = 1; +pub const SUBLANG_SAMI_NORTHERN_SWEDEN: u32 = 2; +pub const SUBLANG_SAMI_NORTHERN_FINLAND: u32 = 3; +pub const SUBLANG_SAMI_LULE_NORWAY: u32 = 4; +pub const SUBLANG_SAMI_LULE_SWEDEN: u32 = 5; +pub const SUBLANG_SAMI_SOUTHERN_NORWAY: u32 = 6; +pub const SUBLANG_SAMI_SOUTHERN_SWEDEN: u32 = 7; +pub const SUBLANG_SAMI_SKOLT_FINLAND: u32 = 8; +pub const SUBLANG_SAMI_INARI_FINLAND: u32 = 9; +pub const SUBLANG_SANSKRIT_INDIA: u32 = 1; +pub const SUBLANG_SCOTTISH_GAELIC: u32 = 1; +pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN: u32 = 6; +pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC: u32 = 7; +pub const SUBLANG_SERBIAN_MONTENEGRO_LATIN: u32 = 11; +pub const SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC: u32 = 12; +pub const SUBLANG_SERBIAN_SERBIA_LATIN: u32 = 9; +pub const SUBLANG_SERBIAN_SERBIA_CYRILLIC: u32 = 10; +pub const SUBLANG_SERBIAN_CROATIA: u32 = 1; +pub const SUBLANG_SERBIAN_LATIN: u32 = 2; +pub const SUBLANG_SERBIAN_CYRILLIC: u32 = 3; +pub const SUBLANG_SINDHI_INDIA: u32 = 1; +pub const SUBLANG_SINDHI_PAKISTAN: u32 = 2; +pub const SUBLANG_SINDHI_AFGHANISTAN: u32 = 2; +pub const SUBLANG_SINHALESE_SRI_LANKA: u32 = 1; +pub const SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA: u32 = 1; +pub const SUBLANG_SLOVAK_SLOVAKIA: u32 = 1; +pub const SUBLANG_SLOVENIAN_SLOVENIA: u32 = 1; +pub const SUBLANG_SPANISH: u32 = 1; +pub const SUBLANG_SPANISH_MEXICAN: u32 = 2; +pub const SUBLANG_SPANISH_MODERN: u32 = 3; +pub const SUBLANG_SPANISH_GUATEMALA: u32 = 4; +pub const SUBLANG_SPANISH_COSTA_RICA: u32 = 5; +pub const SUBLANG_SPANISH_PANAMA: u32 = 6; +pub const SUBLANG_SPANISH_DOMINICAN_REPUBLIC: u32 = 7; +pub const SUBLANG_SPANISH_VENEZUELA: u32 = 8; +pub const SUBLANG_SPANISH_COLOMBIA: u32 = 9; +pub const SUBLANG_SPANISH_PERU: u32 = 10; +pub const SUBLANG_SPANISH_ARGENTINA: u32 = 11; +pub const SUBLANG_SPANISH_ECUADOR: u32 = 12; +pub const SUBLANG_SPANISH_CHILE: u32 = 13; +pub const SUBLANG_SPANISH_URUGUAY: u32 = 14; +pub const SUBLANG_SPANISH_PARAGUAY: u32 = 15; +pub const SUBLANG_SPANISH_BOLIVIA: u32 = 16; +pub const SUBLANG_SPANISH_EL_SALVADOR: u32 = 17; +pub const SUBLANG_SPANISH_HONDURAS: u32 = 18; +pub const SUBLANG_SPANISH_NICARAGUA: u32 = 19; +pub const SUBLANG_SPANISH_PUERTO_RICO: u32 = 20; +pub const SUBLANG_SPANISH_US: u32 = 21; +pub const SUBLANG_SWAHILI_KENYA: u32 = 1; +pub const SUBLANG_SWEDISH: u32 = 1; +pub const SUBLANG_SWEDISH_FINLAND: u32 = 2; +pub const SUBLANG_SYRIAC_SYRIA: u32 = 1; +pub const SUBLANG_TAJIK_TAJIKISTAN: u32 = 1; +pub const SUBLANG_TAMAZIGHT_ALGERIA_LATIN: u32 = 2; +pub const SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH: u32 = 4; +pub const SUBLANG_TAMIL_INDIA: u32 = 1; +pub const SUBLANG_TAMIL_SRI_LANKA: u32 = 2; +pub const SUBLANG_TATAR_RUSSIA: u32 = 1; +pub const SUBLANG_TELUGU_INDIA: u32 = 1; +pub const SUBLANG_THAI_THAILAND: u32 = 1; +pub const SUBLANG_TIBETAN_PRC: u32 = 1; +pub const SUBLANG_TIGRIGNA_ERITREA: u32 = 2; +pub const SUBLANG_TIGRINYA_ERITREA: u32 = 2; +pub const SUBLANG_TIGRINYA_ETHIOPIA: u32 = 1; +pub const SUBLANG_TSWANA_BOTSWANA: u32 = 2; +pub const SUBLANG_TSWANA_SOUTH_AFRICA: u32 = 1; +pub const SUBLANG_TURKISH_TURKEY: u32 = 1; +pub const SUBLANG_TURKMEN_TURKMENISTAN: u32 = 1; +pub const SUBLANG_UIGHUR_PRC: u32 = 1; +pub const SUBLANG_UKRAINIAN_UKRAINE: u32 = 1; +pub const SUBLANG_UPPER_SORBIAN_GERMANY: u32 = 1; +pub const SUBLANG_URDU_PAKISTAN: u32 = 1; +pub const SUBLANG_URDU_INDIA: u32 = 2; +pub const SUBLANG_UZBEK_LATIN: u32 = 1; +pub const SUBLANG_UZBEK_CYRILLIC: u32 = 2; +pub const SUBLANG_VALENCIAN_VALENCIA: u32 = 2; +pub const SUBLANG_VIETNAMESE_VIETNAM: u32 = 1; +pub const SUBLANG_WELSH_UNITED_KINGDOM: u32 = 1; +pub const SUBLANG_WOLOF_SENEGAL: u32 = 1; +pub const SUBLANG_XHOSA_SOUTH_AFRICA: u32 = 1; +pub const SUBLANG_YAKUT_RUSSIA: u32 = 1; +pub const SUBLANG_YI_PRC: u32 = 1; +pub const SUBLANG_YORUBA_NIGERIA: u32 = 1; +pub const SUBLANG_ZULU_SOUTH_AFRICA: u32 = 1; +pub const SORT_DEFAULT: u32 = 0; +pub const SORT_INVARIANT_MATH: u32 = 1; +pub const SORT_JAPANESE_XJIS: u32 = 0; +pub const SORT_JAPANESE_UNICODE: u32 = 1; +pub const SORT_JAPANESE_RADICALSTROKE: u32 = 4; +pub const SORT_CHINESE_BIG5: u32 = 0; +pub const SORT_CHINESE_PRCP: u32 = 0; +pub const SORT_CHINESE_UNICODE: u32 = 1; +pub const SORT_CHINESE_PRC: u32 = 2; +pub const SORT_CHINESE_BOPOMOFO: u32 = 3; +pub const SORT_CHINESE_RADICALSTROKE: u32 = 4; +pub const SORT_KOREAN_KSC: u32 = 0; +pub const SORT_KOREAN_UNICODE: u32 = 1; +pub const SORT_GERMAN_PHONE_BOOK: u32 = 1; +pub const SORT_HUNGARIAN_DEFAULT: u32 = 0; +pub const SORT_HUNGARIAN_TECHNICAL: u32 = 1; +pub const SORT_GEORGIAN_TRADITIONAL: u32 = 0; +pub const SORT_GEORGIAN_MODERN: u32 = 1; +pub const NLS_VALID_LOCALE_MASK: u32 = 1048575; +pub const LOCALE_NAME_MAX_LENGTH: u32 = 85; +pub const LOCALE_TRANSIENT_KEYBOARD1: u32 = 8192; +pub const LOCALE_TRANSIENT_KEYBOARD2: u32 = 9216; +pub const LOCALE_TRANSIENT_KEYBOARD3: u32 = 10240; +pub const LOCALE_TRANSIENT_KEYBOARD4: u32 = 11264; +pub const MAXIMUM_WAIT_OBJECTS: u32 = 64; +pub const MAXIMUM_SUSPEND_COUNT: u32 = 127; +pub const _MM_HINT_T0: u32 = 1; +pub const _MM_HINT_T1: u32 = 2; +pub const _MM_HINT_T2: u32 = 3; +pub const _MM_HINT_NTA: u32 = 0; +pub const PF_TEMPORAL_LEVEL_1: u32 = 1; +pub const PF_TEMPORAL_LEVEL_2: u32 = 2; +pub const PF_TEMPORAL_LEVEL_3: u32 = 3; +pub const PF_NON_TEMPORAL_LEVEL_ALL: u32 = 0; +pub const EXCEPTION_READ_FAULT: u32 = 0; +pub const EXCEPTION_WRITE_FAULT: u32 = 1; +pub const EXCEPTION_EXECUTE_FAULT: u32 = 8; +pub const CONTEXT_AMD64: u32 = 1048576; +pub const CONTEXT_CONTROL: u32 = 1048577; +pub const CONTEXT_INTEGER: u32 = 1048578; +pub const CONTEXT_SEGMENTS: u32 = 1048580; +pub const CONTEXT_FLOATING_POINT: u32 = 1048584; +pub const CONTEXT_DEBUG_REGISTERS: u32 = 1048592; +pub const CONTEXT_FULL: u32 = 1048587; +pub const CONTEXT_ALL: u32 = 1048607; +pub const CONTEXT_XSTATE: u32 = 1048640; +pub const CONTEXT_EXCEPTION_ACTIVE: u32 = 134217728; +pub const CONTEXT_SERVICE_ACTIVE: u32 = 268435456; +pub const CONTEXT_EXCEPTION_REQUEST: u32 = 1073741824; +pub const CONTEXT_EXCEPTION_REPORTING: u32 = 2147483648; +pub const INITIAL_MXCSR: u32 = 8064; +pub const INITIAL_FPCSR: u32 = 639; +pub const RUNTIME_FUNCTION_INDIRECT: u32 = 1; +pub const UNW_FLAG_NHANDLER: u32 = 0; +pub const UNW_FLAG_EHANDLER: u32 = 1; +pub const UNW_FLAG_UHANDLER: u32 = 2; +pub const UNW_FLAG_CHAININFO: u32 = 4; +pub const UNW_FLAG_NO_EPILOGUE: u32 = 2147483648; +pub const UNWIND_CHAIN_LIMIT: u32 = 32; +pub const UNWIND_HISTORY_TABLE_SIZE: u32 = 12; +pub const OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME: &[u8; 34usize] = + b"OutOfProcessFunctionTableCallback\0"; +pub const WOW64_CONTEXT_i386: u32 = 65536; +pub const WOW64_CONTEXT_i486: u32 = 65536; +pub const WOW64_CONTEXT_CONTROL: u32 = 65537; +pub const WOW64_CONTEXT_INTEGER: u32 = 65538; +pub const WOW64_CONTEXT_SEGMENTS: u32 = 65540; +pub const WOW64_CONTEXT_FLOATING_POINT: u32 = 65544; +pub const WOW64_CONTEXT_DEBUG_REGISTERS: u32 = 65552; +pub const WOW64_CONTEXT_EXTENDED_REGISTERS: u32 = 65568; +pub const WOW64_CONTEXT_FULL: u32 = 65543; +pub const WOW64_CONTEXT_ALL: u32 = 65599; +pub const WOW64_CONTEXT_XSTATE: u32 = 65600; +pub const WOW64_CONTEXT_EXCEPTION_ACTIVE: u32 = 134217728; +pub const WOW64_CONTEXT_SERVICE_ACTIVE: u32 = 268435456; +pub const WOW64_CONTEXT_EXCEPTION_REQUEST: u32 = 1073741824; +pub const WOW64_CONTEXT_EXCEPTION_REPORTING: u32 = 2147483648; +pub const WOW64_SIZE_OF_80387_REGISTERS: u32 = 80; +pub const WOW64_MAXIMUM_SUPPORTED_EXTENSION: u32 = 512; +pub const EXCEPTION_NONCONTINUABLE: u32 = 1; +pub const EXCEPTION_UNWINDING: u32 = 2; +pub const EXCEPTION_EXIT_UNWIND: u32 = 4; +pub const EXCEPTION_STACK_INVALID: u32 = 8; +pub const EXCEPTION_NESTED_CALL: u32 = 16; +pub const EXCEPTION_TARGET_UNWIND: u32 = 32; +pub const EXCEPTION_COLLIDED_UNWIND: u32 = 64; +pub const EXCEPTION_UNWIND: u32 = 102; +pub const EXCEPTION_MAXIMUM_PARAMETERS: u32 = 15; +pub const DELETE: u32 = 65536; +pub const READ_CONTROL: u32 = 131072; +pub const WRITE_DAC: u32 = 262144; +pub const WRITE_OWNER: u32 = 524288; +pub const SYNCHRONIZE: u32 = 1048576; +pub const STANDARD_RIGHTS_REQUIRED: u32 = 983040; +pub const STANDARD_RIGHTS_READ: u32 = 131072; +pub const STANDARD_RIGHTS_WRITE: u32 = 131072; +pub const STANDARD_RIGHTS_EXECUTE: u32 = 131072; +pub const STANDARD_RIGHTS_ALL: u32 = 2031616; +pub const SPECIFIC_RIGHTS_ALL: u32 = 65535; +pub const ACCESS_SYSTEM_SECURITY: u32 = 16777216; +pub const MAXIMUM_ALLOWED: u32 = 33554432; +pub const GENERIC_READ: u32 = 2147483648; +pub const GENERIC_WRITE: u32 = 1073741824; +pub const GENERIC_EXECUTE: u32 = 536870912; +pub const GENERIC_ALL: u32 = 268435456; +pub const SID_REVISION: u32 = 1; +pub const SID_MAX_SUB_AUTHORITIES: u32 = 15; +pub const SID_RECOMMENDED_SUB_AUTHORITIES: u32 = 1; +pub const SECURITY_MAX_SID_STRING_CHARACTERS: u32 = 187; +pub const SID_HASH_SIZE: u32 = 32; +pub const SECURITY_NULL_RID: u32 = 0; +pub const SECURITY_WORLD_RID: u32 = 0; +pub const SECURITY_LOCAL_RID: u32 = 0; +pub const SECURITY_LOCAL_LOGON_RID: u32 = 1; +pub const SECURITY_CREATOR_OWNER_RID: u32 = 0; +pub const SECURITY_CREATOR_GROUP_RID: u32 = 1; +pub const SECURITY_CREATOR_OWNER_SERVER_RID: u32 = 2; +pub const SECURITY_CREATOR_GROUP_SERVER_RID: u32 = 3; +pub const SECURITY_CREATOR_OWNER_RIGHTS_RID: u32 = 4; +pub const SECURITY_DIALUP_RID: u32 = 1; +pub const SECURITY_NETWORK_RID: u32 = 2; +pub const SECURITY_BATCH_RID: u32 = 3; +pub const SECURITY_INTERACTIVE_RID: u32 = 4; +pub const SECURITY_LOGON_IDS_RID: u32 = 5; +pub const SECURITY_LOGON_IDS_RID_COUNT: u32 = 3; +pub const SECURITY_SERVICE_RID: u32 = 6; +pub const SECURITY_ANONYMOUS_LOGON_RID: u32 = 7; +pub const SECURITY_PROXY_RID: u32 = 8; +pub const SECURITY_ENTERPRISE_CONTROLLERS_RID: u32 = 9; +pub const SECURITY_SERVER_LOGON_RID: u32 = 9; +pub const SECURITY_PRINCIPAL_SELF_RID: u32 = 10; +pub const SECURITY_AUTHENTICATED_USER_RID: u32 = 11; +pub const SECURITY_RESTRICTED_CODE_RID: u32 = 12; +pub const SECURITY_TERMINAL_SERVER_RID: u32 = 13; +pub const SECURITY_REMOTE_LOGON_RID: u32 = 14; +pub const SECURITY_THIS_ORGANIZATION_RID: u32 = 15; +pub const SECURITY_IUSER_RID: u32 = 17; +pub const SECURITY_LOCAL_SYSTEM_RID: u32 = 18; +pub const SECURITY_LOCAL_SERVICE_RID: u32 = 19; +pub const SECURITY_NETWORK_SERVICE_RID: u32 = 20; +pub const SECURITY_NT_NON_UNIQUE: u32 = 21; +pub const SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT: u32 = 3; +pub const SECURITY_ENTERPRISE_READONLY_CONTROLLERS_RID: u32 = 22; +pub const SECURITY_BUILTIN_DOMAIN_RID: u32 = 32; +pub const SECURITY_WRITE_RESTRICTED_CODE_RID: u32 = 33; +pub const SECURITY_PACKAGE_BASE_RID: u32 = 64; +pub const SECURITY_PACKAGE_RID_COUNT: u32 = 2; +pub const SECURITY_PACKAGE_NTLM_RID: u32 = 10; +pub const SECURITY_PACKAGE_SCHANNEL_RID: u32 = 14; +pub const SECURITY_PACKAGE_DIGEST_RID: u32 = 21; +pub const SECURITY_CRED_TYPE_BASE_RID: u32 = 65; +pub const SECURITY_CRED_TYPE_RID_COUNT: u32 = 2; +pub const SECURITY_CRED_TYPE_THIS_ORG_CERT_RID: u32 = 1; +pub const SECURITY_MIN_BASE_RID: u32 = 80; +pub const SECURITY_SERVICE_ID_BASE_RID: u32 = 80; +pub const SECURITY_SERVICE_ID_RID_COUNT: u32 = 6; +pub const SECURITY_RESERVED_ID_BASE_RID: u32 = 81; +pub const SECURITY_APPPOOL_ID_BASE_RID: u32 = 82; +pub const SECURITY_APPPOOL_ID_RID_COUNT: u32 = 6; +pub const SECURITY_VIRTUALSERVER_ID_BASE_RID: u32 = 83; +pub const SECURITY_VIRTUALSERVER_ID_RID_COUNT: u32 = 6; +pub const SECURITY_USERMODEDRIVERHOST_ID_BASE_RID: u32 = 84; +pub const SECURITY_USERMODEDRIVERHOST_ID_RID_COUNT: u32 = 6; +pub const SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_BASE_RID: u32 = 85; +pub const SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_RID_COUNT: u32 = 6; +pub const SECURITY_WMIHOST_ID_BASE_RID: u32 = 86; +pub const SECURITY_WMIHOST_ID_RID_COUNT: u32 = 6; +pub const SECURITY_TASK_ID_BASE_RID: u32 = 87; +pub const SECURITY_NFS_ID_BASE_RID: u32 = 88; +pub const SECURITY_COM_ID_BASE_RID: u32 = 89; +pub const SECURITY_WINDOW_MANAGER_BASE_RID: u32 = 90; +pub const SECURITY_RDV_GFX_BASE_RID: u32 = 91; +pub const SECURITY_DASHOST_ID_BASE_RID: u32 = 92; +pub const SECURITY_DASHOST_ID_RID_COUNT: u32 = 6; +pub const SECURITY_USERMANAGER_ID_BASE_RID: u32 = 93; +pub const SECURITY_USERMANAGER_ID_RID_COUNT: u32 = 6; +pub const SECURITY_WINRM_ID_BASE_RID: u32 = 94; +pub const SECURITY_WINRM_ID_RID_COUNT: u32 = 6; +pub const SECURITY_CCG_ID_BASE_RID: u32 = 95; +pub const SECURITY_UMFD_BASE_RID: u32 = 96; +pub const SECURITY_VIRTUALACCOUNT_ID_RID_COUNT: u32 = 6; +pub const SECURITY_MAX_BASE_RID: u32 = 111; +pub const SECURITY_MAX_ALWAYS_FILTERED: u32 = 999; +pub const SECURITY_MIN_NEVER_FILTERED: u32 = 1000; +pub const SECURITY_OTHER_ORGANIZATION_RID: u32 = 1000; +pub const SECURITY_WINDOWSMOBILE_ID_BASE_RID: u32 = 112; +pub const SECURITY_INSTALLER_GROUP_CAPABILITY_BASE: u32 = 32; +pub const SECURITY_INSTALLER_GROUP_CAPABILITY_RID_COUNT: u32 = 9; +pub const SECURITY_INSTALLER_CAPABILITY_RID_COUNT: u32 = 10; +pub const SECURITY_LOCAL_ACCOUNT_RID: u32 = 113; +pub const SECURITY_LOCAL_ACCOUNT_AND_ADMIN_RID: u32 = 114; +pub const DOMAIN_GROUP_RID_AUTHORIZATION_DATA_IS_COMPOUNDED: u32 = 496; +pub const DOMAIN_GROUP_RID_AUTHORIZATION_DATA_CONTAINS_CLAIMS: u32 = 497; +pub const DOMAIN_GROUP_RID_ENTERPRISE_READONLY_DOMAIN_CONTROLLERS: u32 = 498; +pub const FOREST_USER_RID_MAX: u32 = 499; +pub const DOMAIN_USER_RID_ADMIN: u32 = 500; +pub const DOMAIN_USER_RID_GUEST: u32 = 501; +pub const DOMAIN_USER_RID_KRBTGT: u32 = 502; +pub const DOMAIN_USER_RID_DEFAULT_ACCOUNT: u32 = 503; +pub const DOMAIN_USER_RID_WDAG_ACCOUNT: u32 = 504; +pub const DOMAIN_USER_RID_MAX: u32 = 999; +pub const DOMAIN_GROUP_RID_ADMINS: u32 = 512; +pub const DOMAIN_GROUP_RID_USERS: u32 = 513; +pub const DOMAIN_GROUP_RID_GUESTS: u32 = 514; +pub const DOMAIN_GROUP_RID_COMPUTERS: u32 = 515; +pub const DOMAIN_GROUP_RID_CONTROLLERS: u32 = 516; +pub const DOMAIN_GROUP_RID_CERT_ADMINS: u32 = 517; +pub const DOMAIN_GROUP_RID_SCHEMA_ADMINS: u32 = 518; +pub const DOMAIN_GROUP_RID_ENTERPRISE_ADMINS: u32 = 519; +pub const DOMAIN_GROUP_RID_POLICY_ADMINS: u32 = 520; +pub const DOMAIN_GROUP_RID_READONLY_CONTROLLERS: u32 = 521; +pub const DOMAIN_GROUP_RID_CLONEABLE_CONTROLLERS: u32 = 522; +pub const DOMAIN_GROUP_RID_CDC_RESERVED: u32 = 524; +pub const DOMAIN_GROUP_RID_PROTECTED_USERS: u32 = 525; +pub const DOMAIN_GROUP_RID_KEY_ADMINS: u32 = 526; +pub const DOMAIN_GROUP_RID_ENTERPRISE_KEY_ADMINS: u32 = 527; +pub const DOMAIN_ALIAS_RID_ADMINS: u32 = 544; +pub const DOMAIN_ALIAS_RID_USERS: u32 = 545; +pub const DOMAIN_ALIAS_RID_GUESTS: u32 = 546; +pub const DOMAIN_ALIAS_RID_POWER_USERS: u32 = 547; +pub const DOMAIN_ALIAS_RID_ACCOUNT_OPS: u32 = 548; +pub const DOMAIN_ALIAS_RID_SYSTEM_OPS: u32 = 549; +pub const DOMAIN_ALIAS_RID_PRINT_OPS: u32 = 550; +pub const DOMAIN_ALIAS_RID_BACKUP_OPS: u32 = 551; +pub const DOMAIN_ALIAS_RID_REPLICATOR: u32 = 552; +pub const DOMAIN_ALIAS_RID_RAS_SERVERS: u32 = 553; +pub const DOMAIN_ALIAS_RID_PREW2KCOMPACCESS: u32 = 554; +pub const DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS: u32 = 555; +pub const DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS: u32 = 556; +pub const DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS: u32 = 557; +pub const DOMAIN_ALIAS_RID_MONITORING_USERS: u32 = 558; +pub const DOMAIN_ALIAS_RID_LOGGING_USERS: u32 = 559; +pub const DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS: u32 = 560; +pub const DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS: u32 = 561; +pub const DOMAIN_ALIAS_RID_DCOM_USERS: u32 = 562; +pub const DOMAIN_ALIAS_RID_IUSERS: u32 = 568; +pub const DOMAIN_ALIAS_RID_CRYPTO_OPERATORS: u32 = 569; +pub const DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP: u32 = 571; +pub const DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP: u32 = 572; +pub const DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP: u32 = 573; +pub const DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP: u32 = 574; +pub const DOMAIN_ALIAS_RID_RDS_REMOTE_ACCESS_SERVERS: u32 = 575; +pub const DOMAIN_ALIAS_RID_RDS_ENDPOINT_SERVERS: u32 = 576; +pub const DOMAIN_ALIAS_RID_RDS_MANAGEMENT_SERVERS: u32 = 577; +pub const DOMAIN_ALIAS_RID_HYPER_V_ADMINS: u32 = 578; +pub const DOMAIN_ALIAS_RID_ACCESS_CONTROL_ASSISTANCE_OPS: u32 = 579; +pub const DOMAIN_ALIAS_RID_REMOTE_MANAGEMENT_USERS: u32 = 580; +pub const DOMAIN_ALIAS_RID_DEFAULT_ACCOUNT: u32 = 581; +pub const DOMAIN_ALIAS_RID_STORAGE_REPLICA_ADMINS: u32 = 582; +pub const DOMAIN_ALIAS_RID_DEVICE_OWNERS: u32 = 583; +pub const SECURITY_APP_PACKAGE_BASE_RID: u32 = 2; +pub const SECURITY_BUILTIN_APP_PACKAGE_RID_COUNT: u32 = 2; +pub const SECURITY_APP_PACKAGE_RID_COUNT: u32 = 8; +pub const SECURITY_CAPABILITY_BASE_RID: u32 = 3; +pub const SECURITY_CAPABILITY_APP_RID: u32 = 1024; +pub const SECURITY_BUILTIN_CAPABILITY_RID_COUNT: u32 = 2; +pub const SECURITY_CAPABILITY_RID_COUNT: u32 = 5; +pub const SECURITY_PARENT_PACKAGE_RID_COUNT: u32 = 8; +pub const SECURITY_CHILD_PACKAGE_RID_COUNT: u32 = 12; +pub const SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE: u32 = 1; +pub const SECURITY_BUILTIN_PACKAGE_ANY_RESTRICTED_PACKAGE: u32 = 2; +pub const SECURITY_CAPABILITY_INTERNET_CLIENT: u32 = 1; +pub const SECURITY_CAPABILITY_INTERNET_CLIENT_SERVER: u32 = 2; +pub const SECURITY_CAPABILITY_PRIVATE_NETWORK_CLIENT_SERVER: u32 = 3; +pub const SECURITY_CAPABILITY_PICTURES_LIBRARY: u32 = 4; +pub const SECURITY_CAPABILITY_VIDEOS_LIBRARY: u32 = 5; +pub const SECURITY_CAPABILITY_MUSIC_LIBRARY: u32 = 6; +pub const SECURITY_CAPABILITY_DOCUMENTS_LIBRARY: u32 = 7; +pub const SECURITY_CAPABILITY_ENTERPRISE_AUTHENTICATION: u32 = 8; +pub const SECURITY_CAPABILITY_SHARED_USER_CERTIFICATES: u32 = 9; +pub const SECURITY_CAPABILITY_REMOVABLE_STORAGE: u32 = 10; +pub const SECURITY_CAPABILITY_APPOINTMENTS: u32 = 11; +pub const SECURITY_CAPABILITY_CONTACTS: u32 = 12; +pub const SECURITY_CAPABILITY_INTERNET_EXPLORER: u32 = 4096; +pub const SECURITY_MANDATORY_UNTRUSTED_RID: u32 = 0; +pub const SECURITY_MANDATORY_LOW_RID: u32 = 4096; +pub const SECURITY_MANDATORY_MEDIUM_RID: u32 = 8192; +pub const SECURITY_MANDATORY_MEDIUM_PLUS_RID: u32 = 8448; +pub const SECURITY_MANDATORY_HIGH_RID: u32 = 12288; +pub const SECURITY_MANDATORY_SYSTEM_RID: u32 = 16384; +pub const SECURITY_MANDATORY_PROTECTED_PROCESS_RID: u32 = 20480; +pub const SECURITY_MANDATORY_MAXIMUM_USER_RID: u32 = 16384; +pub const SECURITY_AUTHENTICATION_AUTHORITY_RID_COUNT: u32 = 1; +pub const SECURITY_AUTHENTICATION_AUTHORITY_ASSERTED_RID: u32 = 1; +pub const SECURITY_AUTHENTICATION_SERVICE_ASSERTED_RID: u32 = 2; +pub const SECURITY_AUTHENTICATION_FRESH_KEY_AUTH_RID: u32 = 3; +pub const SECURITY_AUTHENTICATION_KEY_TRUST_RID: u32 = 4; +pub const SECURITY_AUTHENTICATION_KEY_PROPERTY_MFA_RID: u32 = 5; +pub const SECURITY_AUTHENTICATION_KEY_PROPERTY_ATTESTATION_RID: u32 = 6; +pub const SECURITY_PROCESS_TRUST_AUTHORITY_RID_COUNT: u32 = 2; +pub const SECURITY_PROCESS_PROTECTION_TYPE_FULL_RID: u32 = 1024; +pub const SECURITY_PROCESS_PROTECTION_TYPE_LITE_RID: u32 = 512; +pub const SECURITY_PROCESS_PROTECTION_TYPE_NONE_RID: u32 = 0; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_WINTCB_RID: u32 = 8192; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_WINDOWS_RID: u32 = 4096; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_APP_RID: u32 = 2048; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_ANTIMALWARE_RID: u32 = 1536; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_AUTHENTICODE_RID: u32 = 1024; +pub const SECURITY_PROCESS_PROTECTION_LEVEL_NONE_RID: u32 = 0; +pub const SECURITY_TRUSTED_INSTALLER_RID1: u32 = 956008885; +pub const SECURITY_TRUSTED_INSTALLER_RID2: u32 = 3418522649; +pub const SECURITY_TRUSTED_INSTALLER_RID3: u32 = 1831038044; +pub const SECURITY_TRUSTED_INSTALLER_RID4: u32 = 1853292631; +pub const SECURITY_TRUSTED_INSTALLER_RID5: u32 = 2271478464; +pub const SE_GROUP_MANDATORY: u32 = 1; +pub const SE_GROUP_ENABLED_BY_DEFAULT: u32 = 2; +pub const SE_GROUP_ENABLED: u32 = 4; +pub const SE_GROUP_OWNER: u32 = 8; +pub const SE_GROUP_USE_FOR_DENY_ONLY: u32 = 16; +pub const SE_GROUP_INTEGRITY: u32 = 32; +pub const SE_GROUP_INTEGRITY_ENABLED: u32 = 64; +pub const SE_GROUP_LOGON_ID: u32 = 3221225472; +pub const SE_GROUP_RESOURCE: u32 = 536870912; +pub const SE_GROUP_VALID_ATTRIBUTES: u32 = 3758096511; +pub const ACL_REVISION: u32 = 2; +pub const ACL_REVISION_DS: u32 = 4; +pub const ACL_REVISION1: u32 = 1; +pub const ACL_REVISION2: u32 = 2; +pub const ACL_REVISION3: u32 = 3; +pub const ACL_REVISION4: u32 = 4; +pub const MAX_ACL_REVISION: u32 = 4; +pub const ACCESS_MIN_MS_ACE_TYPE: u32 = 0; +pub const ACCESS_ALLOWED_ACE_TYPE: u32 = 0; +pub const ACCESS_DENIED_ACE_TYPE: u32 = 1; +pub const SYSTEM_AUDIT_ACE_TYPE: u32 = 2; +pub const SYSTEM_ALARM_ACE_TYPE: u32 = 3; +pub const ACCESS_MAX_MS_V2_ACE_TYPE: u32 = 3; +pub const ACCESS_ALLOWED_COMPOUND_ACE_TYPE: u32 = 4; +pub const ACCESS_MAX_MS_V3_ACE_TYPE: u32 = 4; +pub const ACCESS_MIN_MS_OBJECT_ACE_TYPE: u32 = 5; +pub const ACCESS_ALLOWED_OBJECT_ACE_TYPE: u32 = 5; +pub const ACCESS_DENIED_OBJECT_ACE_TYPE: u32 = 6; +pub const SYSTEM_AUDIT_OBJECT_ACE_TYPE: u32 = 7; +pub const SYSTEM_ALARM_OBJECT_ACE_TYPE: u32 = 8; +pub const ACCESS_MAX_MS_OBJECT_ACE_TYPE: u32 = 8; +pub const ACCESS_MAX_MS_V4_ACE_TYPE: u32 = 8; +pub const ACCESS_MAX_MS_ACE_TYPE: u32 = 8; +pub const ACCESS_ALLOWED_CALLBACK_ACE_TYPE: u32 = 9; +pub const ACCESS_DENIED_CALLBACK_ACE_TYPE: u32 = 10; +pub const ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE: u32 = 11; +pub const ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE: u32 = 12; +pub const SYSTEM_AUDIT_CALLBACK_ACE_TYPE: u32 = 13; +pub const SYSTEM_ALARM_CALLBACK_ACE_TYPE: u32 = 14; +pub const SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE: u32 = 15; +pub const SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE: u32 = 16; +pub const SYSTEM_MANDATORY_LABEL_ACE_TYPE: u32 = 17; +pub const SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE: u32 = 18; +pub const SYSTEM_SCOPED_POLICY_ID_ACE_TYPE: u32 = 19; +pub const SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE: u32 = 20; +pub const SYSTEM_ACCESS_FILTER_ACE_TYPE: u32 = 21; +pub const ACCESS_MAX_MS_V5_ACE_TYPE: u32 = 21; +pub const OBJECT_INHERIT_ACE: u32 = 1; +pub const CONTAINER_INHERIT_ACE: u32 = 2; +pub const NO_PROPAGATE_INHERIT_ACE: u32 = 4; +pub const INHERIT_ONLY_ACE: u32 = 8; +pub const INHERITED_ACE: u32 = 16; +pub const VALID_INHERIT_FLAGS: u32 = 31; +pub const CRITICAL_ACE_FLAG: u32 = 32; +pub const SUCCESSFUL_ACCESS_ACE_FLAG: u32 = 64; +pub const FAILED_ACCESS_ACE_FLAG: u32 = 128; +pub const TRUST_PROTECTED_FILTER_ACE_FLAG: u32 = 64; +pub const SYSTEM_MANDATORY_LABEL_NO_WRITE_UP: u32 = 1; +pub const SYSTEM_MANDATORY_LABEL_NO_READ_UP: u32 = 2; +pub const SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP: u32 = 4; +pub const SYSTEM_MANDATORY_LABEL_VALID_MASK: u32 = 7; +pub const SYSTEM_PROCESS_TRUST_LABEL_VALID_MASK: u32 = 16777215; +pub const SYSTEM_PROCESS_TRUST_NOCONSTRAINT_MASK: u32 = 4294967295; +pub const SYSTEM_ACCESS_FILTER_VALID_MASK: u32 = 16777215; +pub const SYSTEM_ACCESS_FILTER_NOCONSTRAINT_MASK: u32 = 4294967295; +pub const ACE_OBJECT_TYPE_PRESENT: u32 = 1; +pub const ACE_INHERITED_OBJECT_TYPE_PRESENT: u32 = 2; +pub const SECURITY_DESCRIPTOR_REVISION: u32 = 1; +pub const SECURITY_DESCRIPTOR_REVISION1: u32 = 1; +pub const SE_OWNER_DEFAULTED: u32 = 1; +pub const SE_GROUP_DEFAULTED: u32 = 2; +pub const SE_DACL_PRESENT: u32 = 4; +pub const SE_DACL_DEFAULTED: u32 = 8; +pub const SE_SACL_PRESENT: u32 = 16; +pub const SE_SACL_DEFAULTED: u32 = 32; +pub const SE_DACL_AUTO_INHERIT_REQ: u32 = 256; +pub const SE_SACL_AUTO_INHERIT_REQ: u32 = 512; +pub const SE_DACL_AUTO_INHERITED: u32 = 1024; +pub const SE_SACL_AUTO_INHERITED: u32 = 2048; +pub const SE_DACL_PROTECTED: u32 = 4096; +pub const SE_SACL_PROTECTED: u32 = 8192; +pub const SE_RM_CONTROL_VALID: u32 = 16384; +pub const SE_SELF_RELATIVE: u32 = 32768; +pub const ACCESS_OBJECT_GUID: u32 = 0; +pub const ACCESS_PROPERTY_SET_GUID: u32 = 1; +pub const ACCESS_PROPERTY_GUID: u32 = 2; +pub const ACCESS_MAX_LEVEL: u32 = 4; +pub const AUDIT_ALLOW_NO_PRIVILEGE: u32 = 1; +pub const ACCESS_DS_SOURCE_A: &[u8; 3usize] = b"DS\0"; +pub const ACCESS_DS_SOURCE_W: &[u8; 3usize] = b"DS\0"; +pub const ACCESS_DS_OBJECT_TYPE_NAME_A: &[u8; 25usize] = b"Directory Service Object\0"; +pub const ACCESS_DS_OBJECT_TYPE_NAME_W: &[u8; 25usize] = b"Directory Service Object\0"; +pub const SE_PRIVILEGE_ENABLED_BY_DEFAULT: u32 = 1; +pub const SE_PRIVILEGE_ENABLED: u32 = 2; +pub const SE_PRIVILEGE_REMOVED: u32 = 4; +pub const SE_PRIVILEGE_USED_FOR_ACCESS: u32 = 2147483648; +pub const SE_PRIVILEGE_VALID_ATTRIBUTES: u32 = 2147483655; +pub const PRIVILEGE_SET_ALL_NECESSARY: u32 = 1; +pub const ACCESS_REASON_TYPE_MASK: u32 = 16711680; +pub const ACCESS_REASON_DATA_MASK: u32 = 65535; +pub const ACCESS_REASON_STAGING_MASK: u32 = 2147483648; +pub const ACCESS_REASON_EXDATA_MASK: u32 = 2130706432; +pub const SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE: u32 = 1; +pub const SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE: u32 = 2; +pub const SE_SECURITY_DESCRIPTOR_FLAG_NO_ACCESS_FILTER_ACE: u32 = 4; +pub const SE_SECURITY_DESCRIPTOR_VALID_FLAGS: u32 = 7; +pub const SE_ACCESS_CHECK_FLAG_NO_LEARNING_MODE_LOGGING: u32 = 8; +pub const SE_ACCESS_CHECK_VALID_FLAGS: u32 = 8; +pub const SE_ACTIVATE_AS_USER_CAPABILITY: &[u8; 15usize] = b"activateAsUser\0"; +pub const SE_CONSTRAINED_IMPERSONATION_CAPABILITY: &[u8; 25usize] = b"constrainedImpersonation\0"; +pub const SE_SESSION_IMPERSONATION_CAPABILITY: &[u8; 21usize] = b"sessionImpersonation\0"; +pub const SE_MUMA_CAPABILITY: &[u8; 5usize] = b"muma\0"; +pub const SE_DEVELOPMENT_MODE_NETWORK_CAPABILITY: &[u8; 23usize] = b"developmentModeNetwork\0"; +pub const TOKEN_ASSIGN_PRIMARY: u32 = 1; +pub const TOKEN_DUPLICATE: u32 = 2; +pub const TOKEN_IMPERSONATE: u32 = 4; +pub const TOKEN_QUERY: u32 = 8; +pub const TOKEN_QUERY_SOURCE: u32 = 16; +pub const TOKEN_ADJUST_PRIVILEGES: u32 = 32; +pub const TOKEN_ADJUST_GROUPS: u32 = 64; +pub const TOKEN_ADJUST_DEFAULT: u32 = 128; +pub const TOKEN_ADJUST_SESSIONID: u32 = 256; +pub const TOKEN_ALL_ACCESS_P: u32 = 983295; +pub const TOKEN_ALL_ACCESS: u32 = 983551; +pub const TOKEN_READ: u32 = 131080; +pub const TOKEN_WRITE: u32 = 131296; +pub const TOKEN_EXECUTE: u32 = 131072; +pub const TOKEN_TRUST_CONSTRAINT_MASK: u32 = 131096; +pub const TOKEN_ACCESS_PSEUDO_HANDLE_WIN8: u32 = 24; +pub const TOKEN_ACCESS_PSEUDO_HANDLE: u32 = 24; +pub const TOKEN_MANDATORY_POLICY_OFF: u32 = 0; +pub const TOKEN_MANDATORY_POLICY_NO_WRITE_UP: u32 = 1; +pub const TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN: u32 = 2; +pub const TOKEN_MANDATORY_POLICY_VALID_MASK: u32 = 3; +pub const POLICY_AUDIT_SUBCATEGORY_COUNT: u32 = 59; +pub const TOKEN_SOURCE_LENGTH: u32 = 8; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID: u32 = 0; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64: u32 = 1; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64: u32 = 2; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING: u32 = 3; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN: u32 = 4; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_SID: u32 = 5; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN: u32 = 6; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING: u32 = 16; +pub const CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE: u32 = 1; +pub const CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE: u32 = 2; +pub const CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY: u32 = 4; +pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT: u32 = 8; +pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED: u32 = 16; +pub const CLAIM_SECURITY_ATTRIBUTE_MANDATORY: u32 = 32; +pub const CLAIM_SECURITY_ATTRIBUTE_VALID_FLAGS: u32 = 63; +pub const CLAIM_SECURITY_ATTRIBUTE_CUSTOM_FLAGS: u32 = 4294901760; +pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1: u32 = 1; +pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION: u32 = 1; +pub const SECURITY_DYNAMIC_TRACKING: u32 = 1; +pub const SECURITY_STATIC_TRACKING: u32 = 0; +pub const DISABLE_MAX_PRIVILEGE: u32 = 1; +pub const SANDBOX_INERT: u32 = 2; +pub const LUA_TOKEN: u32 = 4; +pub const WRITE_RESTRICTED: u32 = 8; +pub const OWNER_SECURITY_INFORMATION: u32 = 1; +pub const GROUP_SECURITY_INFORMATION: u32 = 2; +pub const DACL_SECURITY_INFORMATION: u32 = 4; +pub const SACL_SECURITY_INFORMATION: u32 = 8; +pub const LABEL_SECURITY_INFORMATION: u32 = 16; +pub const ATTRIBUTE_SECURITY_INFORMATION: u32 = 32; +pub const SCOPE_SECURITY_INFORMATION: u32 = 64; +pub const PROCESS_TRUST_LABEL_SECURITY_INFORMATION: u32 = 128; +pub const ACCESS_FILTER_SECURITY_INFORMATION: u32 = 256; +pub const BACKUP_SECURITY_INFORMATION: u32 = 65536; +pub const PROTECTED_DACL_SECURITY_INFORMATION: u32 = 2147483648; +pub const PROTECTED_SACL_SECURITY_INFORMATION: u32 = 1073741824; +pub const UNPROTECTED_DACL_SECURITY_INFORMATION: u32 = 536870912; +pub const UNPROTECTED_SACL_SECURITY_INFORMATION: u32 = 268435456; +pub const SE_SIGNING_LEVEL_UNCHECKED: u32 = 0; +pub const SE_SIGNING_LEVEL_UNSIGNED: u32 = 1; +pub const SE_SIGNING_LEVEL_ENTERPRISE: u32 = 2; +pub const SE_SIGNING_LEVEL_CUSTOM_1: u32 = 3; +pub const SE_SIGNING_LEVEL_DEVELOPER: u32 = 3; +pub const SE_SIGNING_LEVEL_AUTHENTICODE: u32 = 4; +pub const SE_SIGNING_LEVEL_CUSTOM_2: u32 = 5; +pub const SE_SIGNING_LEVEL_STORE: u32 = 6; +pub const SE_SIGNING_LEVEL_CUSTOM_3: u32 = 7; +pub const SE_SIGNING_LEVEL_ANTIMALWARE: u32 = 7; +pub const SE_SIGNING_LEVEL_MICROSOFT: u32 = 8; +pub const SE_SIGNING_LEVEL_CUSTOM_4: u32 = 9; +pub const SE_SIGNING_LEVEL_CUSTOM_5: u32 = 10; +pub const SE_SIGNING_LEVEL_DYNAMIC_CODEGEN: u32 = 11; +pub const SE_SIGNING_LEVEL_WINDOWS: u32 = 12; +pub const SE_SIGNING_LEVEL_CUSTOM_7: u32 = 13; +pub const SE_SIGNING_LEVEL_WINDOWS_TCB: u32 = 14; +pub const SE_SIGNING_LEVEL_CUSTOM_6: u32 = 15; +pub const SE_LEARNING_MODE_FLAG_PERMISSIVE: u32 = 1; +pub const PROCESS_TERMINATE: u32 = 1; +pub const PROCESS_CREATE_THREAD: u32 = 2; +pub const PROCESS_SET_SESSIONID: u32 = 4; +pub const PROCESS_VM_OPERATION: u32 = 8; +pub const PROCESS_VM_READ: u32 = 16; +pub const PROCESS_VM_WRITE: u32 = 32; +pub const PROCESS_DUP_HANDLE: u32 = 64; +pub const PROCESS_CREATE_PROCESS: u32 = 128; +pub const PROCESS_SET_QUOTA: u32 = 256; +pub const PROCESS_SET_INFORMATION: u32 = 512; +pub const PROCESS_QUERY_INFORMATION: u32 = 1024; +pub const PROCESS_SUSPEND_RESUME: u32 = 2048; +pub const PROCESS_QUERY_LIMITED_INFORMATION: u32 = 4096; +pub const PROCESS_SET_LIMITED_INFORMATION: u32 = 8192; +pub const PROCESS_ALL_ACCESS: u32 = 2097151; +pub const THREAD_TERMINATE: u32 = 1; +pub const THREAD_SUSPEND_RESUME: u32 = 2; +pub const THREAD_GET_CONTEXT: u32 = 8; +pub const THREAD_SET_CONTEXT: u32 = 16; +pub const THREAD_QUERY_INFORMATION: u32 = 64; +pub const THREAD_SET_INFORMATION: u32 = 32; +pub const THREAD_SET_THREAD_TOKEN: u32 = 128; +pub const THREAD_IMPERSONATE: u32 = 256; +pub const THREAD_DIRECT_IMPERSONATION: u32 = 512; +pub const THREAD_SET_LIMITED_INFORMATION: u32 = 1024; +pub const THREAD_QUERY_LIMITED_INFORMATION: u32 = 2048; +pub const THREAD_RESUME: u32 = 4096; +pub const THREAD_ALL_ACCESS: u32 = 2097151; +pub const JOB_OBJECT_ASSIGN_PROCESS: u32 = 1; +pub const JOB_OBJECT_SET_ATTRIBUTES: u32 = 2; +pub const JOB_OBJECT_QUERY: u32 = 4; +pub const JOB_OBJECT_TERMINATE: u32 = 8; +pub const JOB_OBJECT_SET_SECURITY_ATTRIBUTES: u32 = 16; +pub const JOB_OBJECT_IMPERSONATE: u32 = 32; +pub const JOB_OBJECT_ALL_ACCESS: u32 = 2031679; +pub const FLS_MAXIMUM_AVAILABLE: u32 = 4080; +pub const TLS_MINIMUM_AVAILABLE: u32 = 64; +pub const THREAD_DYNAMIC_CODE_ALLOW: u32 = 1; +pub const THREAD_BASE_PRIORITY_LOWRT: u32 = 15; +pub const THREAD_BASE_PRIORITY_MAX: u32 = 2; +pub const THREAD_BASE_PRIORITY_MIN: i32 = -2; +pub const THREAD_BASE_PRIORITY_IDLE: i32 = -15; +pub const MEMORY_PRIORITY_LOWEST: u32 = 0; +pub const MEMORY_PRIORITY_VERY_LOW: u32 = 1; +pub const MEMORY_PRIORITY_LOW: u32 = 2; +pub const MEMORY_PRIORITY_MEDIUM: u32 = 3; +pub const MEMORY_PRIORITY_BELOW_NORMAL: u32 = 4; +pub const MEMORY_PRIORITY_NORMAL: u32 = 5; +pub const DYNAMIC_EH_CONTINUATION_TARGET_ADD: u32 = 1; +pub const DYNAMIC_EH_CONTINUATION_TARGET_PROCESSED: u32 = 2; +pub const DYNAMIC_ENFORCED_ADDRESS_RANGE_ADD: u32 = 1; +pub const DYNAMIC_ENFORCED_ADDRESS_RANGE_PROCESSED: u32 = 2; +pub const QUOTA_LIMITS_HARDWS_MIN_ENABLE: u32 = 1; +pub const QUOTA_LIMITS_HARDWS_MIN_DISABLE: u32 = 2; +pub const QUOTA_LIMITS_HARDWS_MAX_ENABLE: u32 = 4; +pub const QUOTA_LIMITS_HARDWS_MAX_DISABLE: u32 = 8; +pub const QUOTA_LIMITS_USE_DEFAULT_LIMITS: u32 = 16; +pub const MAX_HW_COUNTERS: u32 = 16; +pub const THREAD_PROFILING_FLAG_DISPATCH: u32 = 1; +pub const JOB_OBJECT_NET_RATE_CONTROL_MAX_DSCP_TAG: u32 = 64; +pub const JOB_OBJECT_TERMINATE_AT_END_OF_JOB: u32 = 0; +pub const JOB_OBJECT_POST_AT_END_OF_JOB: u32 = 1; +pub const JOB_OBJECT_MSG_END_OF_JOB_TIME: u32 = 1; +pub const JOB_OBJECT_MSG_END_OF_PROCESS_TIME: u32 = 2; +pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT: u32 = 3; +pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO: u32 = 4; +pub const JOB_OBJECT_MSG_NEW_PROCESS: u32 = 6; +pub const JOB_OBJECT_MSG_EXIT_PROCESS: u32 = 7; +pub const JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: u32 = 8; +pub const JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT: u32 = 9; +pub const JOB_OBJECT_MSG_JOB_MEMORY_LIMIT: u32 = 10; +pub const JOB_OBJECT_MSG_NOTIFICATION_LIMIT: u32 = 11; +pub const JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT: u32 = 12; +pub const JOB_OBJECT_MSG_SILO_TERMINATED: u32 = 13; +pub const JOB_OBJECT_MSG_MINIMUM: u32 = 1; +pub const JOB_OBJECT_MSG_MAXIMUM: u32 = 13; +pub const JOB_OBJECT_VALID_COMPLETION_FILTER: u32 = 16382; +pub const JOB_OBJECT_LIMIT_WORKINGSET: u32 = 1; +pub const JOB_OBJECT_LIMIT_PROCESS_TIME: u32 = 2; +pub const JOB_OBJECT_LIMIT_JOB_TIME: u32 = 4; +pub const JOB_OBJECT_LIMIT_ACTIVE_PROCESS: u32 = 8; +pub const JOB_OBJECT_LIMIT_AFFINITY: u32 = 16; +pub const JOB_OBJECT_LIMIT_PRIORITY_CLASS: u32 = 32; +pub const JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME: u32 = 64; +pub const JOB_OBJECT_LIMIT_SCHEDULING_CLASS: u32 = 128; +pub const JOB_OBJECT_LIMIT_PROCESS_MEMORY: u32 = 256; +pub const JOB_OBJECT_LIMIT_JOB_MEMORY: u32 = 512; +pub const JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH: u32 = 512; +pub const JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: u32 = 1024; +pub const JOB_OBJECT_LIMIT_BREAKAWAY_OK: u32 = 2048; +pub const JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK: u32 = 4096; +pub const JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: u32 = 8192; +pub const JOB_OBJECT_LIMIT_SUBSET_AFFINITY: u32 = 16384; +pub const JOB_OBJECT_LIMIT_JOB_MEMORY_LOW: u32 = 32768; +pub const JOB_OBJECT_LIMIT_JOB_READ_BYTES: u32 = 65536; +pub const JOB_OBJECT_LIMIT_JOB_WRITE_BYTES: u32 = 131072; +pub const JOB_OBJECT_LIMIT_RATE_CONTROL: u32 = 262144; +pub const JOB_OBJECT_LIMIT_CPU_RATE_CONTROL: u32 = 262144; +pub const JOB_OBJECT_LIMIT_IO_RATE_CONTROL: u32 = 524288; +pub const JOB_OBJECT_LIMIT_NET_RATE_CONTROL: u32 = 1048576; +pub const JOB_OBJECT_LIMIT_VALID_FLAGS: u32 = 524287; +pub const JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS: u32 = 255; +pub const JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS: u32 = 32767; +pub const JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS: u32 = 2064900; +pub const JOB_OBJECT_UILIMIT_NONE: u32 = 0; +pub const JOB_OBJECT_UILIMIT_HANDLES: u32 = 1; +pub const JOB_OBJECT_UILIMIT_READCLIPBOARD: u32 = 2; +pub const JOB_OBJECT_UILIMIT_WRITECLIPBOARD: u32 = 4; +pub const JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS: u32 = 8; +pub const JOB_OBJECT_UILIMIT_DISPLAYSETTINGS: u32 = 16; +pub const JOB_OBJECT_UILIMIT_GLOBALATOMS: u32 = 32; +pub const JOB_OBJECT_UILIMIT_DESKTOP: u32 = 64; +pub const JOB_OBJECT_UILIMIT_EXITWINDOWS: u32 = 128; +pub const JOB_OBJECT_UILIMIT_ALL: u32 = 255; +pub const JOB_OBJECT_UI_VALID_FLAGS: u32 = 255; +pub const JOB_OBJECT_SECURITY_NO_ADMIN: u32 = 1; +pub const JOB_OBJECT_SECURITY_RESTRICTED_TOKEN: u32 = 2; +pub const JOB_OBJECT_SECURITY_ONLY_TOKEN: u32 = 4; +pub const JOB_OBJECT_SECURITY_FILTER_TOKENS: u32 = 8; +pub const JOB_OBJECT_SECURITY_VALID_FLAGS: u32 = 15; +pub const JOB_OBJECT_CPU_RATE_CONTROL_ENABLE: u32 = 1; +pub const JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED: u32 = 2; +pub const JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP: u32 = 4; +pub const JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY: u32 = 8; +pub const JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE: u32 = 16; +pub const JOB_OBJECT_CPU_RATE_CONTROL_VALID_FLAGS: u32 = 31; +pub const EVENT_MODIFY_STATE: u32 = 2; +pub const EVENT_ALL_ACCESS: u32 = 2031619; +pub const MUTANT_QUERY_STATE: u32 = 1; +pub const MUTANT_ALL_ACCESS: u32 = 2031617; +pub const SEMAPHORE_MODIFY_STATE: u32 = 2; +pub const SEMAPHORE_ALL_ACCESS: u32 = 2031619; +pub const TIMER_QUERY_STATE: u32 = 1; +pub const TIMER_MODIFY_STATE: u32 = 2; +pub const TIMER_ALL_ACCESS: u32 = 2031619; +pub const TIME_ZONE_ID_UNKNOWN: u32 = 0; +pub const TIME_ZONE_ID_STANDARD: u32 = 1; +pub const TIME_ZONE_ID_DAYLIGHT: u32 = 2; +pub const LTP_PC_SMT: u32 = 1; +pub const CACHE_FULLY_ASSOCIATIVE: u32 = 255; +pub const SYSTEM_CPU_SET_INFORMATION_PARKED: u32 = 1; +pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED: u32 = 2; +pub const SYSTEM_CPU_SET_INFORMATION_ALLOCATED_TO_TARGET_PROCESS: u32 = 4; +pub const SYSTEM_CPU_SET_INFORMATION_REALTIME: u32 = 8; +pub const PROCESSOR_INTEL_386: u32 = 386; +pub const PROCESSOR_INTEL_486: u32 = 486; +pub const PROCESSOR_INTEL_PENTIUM: u32 = 586; +pub const PROCESSOR_INTEL_IA64: u32 = 2200; +pub const PROCESSOR_AMD_X8664: u32 = 8664; +pub const PROCESSOR_MIPS_R4000: u32 = 4000; +pub const PROCESSOR_ALPHA_21064: u32 = 21064; +pub const PROCESSOR_PPC_601: u32 = 601; +pub const PROCESSOR_PPC_603: u32 = 603; +pub const PROCESSOR_PPC_604: u32 = 604; +pub const PROCESSOR_PPC_620: u32 = 620; +pub const PROCESSOR_HITACHI_SH3: u32 = 10003; +pub const PROCESSOR_HITACHI_SH3E: u32 = 10004; +pub const PROCESSOR_HITACHI_SH4: u32 = 10005; +pub const PROCESSOR_MOTOROLA_821: u32 = 821; +pub const PROCESSOR_SHx_SH3: u32 = 103; +pub const PROCESSOR_SHx_SH4: u32 = 104; +pub const PROCESSOR_STRONGARM: u32 = 2577; +pub const PROCESSOR_ARM720: u32 = 1824; +pub const PROCESSOR_ARM820: u32 = 2080; +pub const PROCESSOR_ARM920: u32 = 2336; +pub const PROCESSOR_ARM_7TDMI: u32 = 70001; +pub const PROCESSOR_OPTIL: u32 = 18767; +pub const PROCESSOR_ARCHITECTURE_INTEL: u32 = 0; +pub const PROCESSOR_ARCHITECTURE_MIPS: u32 = 1; +pub const PROCESSOR_ARCHITECTURE_ALPHA: u32 = 2; +pub const PROCESSOR_ARCHITECTURE_PPC: u32 = 3; +pub const PROCESSOR_ARCHITECTURE_SHX: u32 = 4; +pub const PROCESSOR_ARCHITECTURE_ARM: u32 = 5; +pub const PROCESSOR_ARCHITECTURE_IA64: u32 = 6; +pub const PROCESSOR_ARCHITECTURE_ALPHA64: u32 = 7; +pub const PROCESSOR_ARCHITECTURE_MSIL: u32 = 8; +pub const PROCESSOR_ARCHITECTURE_AMD64: u32 = 9; +pub const PROCESSOR_ARCHITECTURE_IA32_ON_WIN64: u32 = 10; +pub const PROCESSOR_ARCHITECTURE_NEUTRAL: u32 = 11; +pub const PROCESSOR_ARCHITECTURE_ARM64: u32 = 12; +pub const PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64: u32 = 13; +pub const PROCESSOR_ARCHITECTURE_IA32_ON_ARM64: u32 = 14; +pub const PROCESSOR_ARCHITECTURE_UNKNOWN: u32 = 65535; +pub const PF_FLOATING_POINT_PRECISION_ERRATA: u32 = 0; +pub const PF_FLOATING_POINT_EMULATED: u32 = 1; +pub const PF_COMPARE_EXCHANGE_DOUBLE: u32 = 2; +pub const PF_MMX_INSTRUCTIONS_AVAILABLE: u32 = 3; +pub const PF_PPC_MOVEMEM_64BIT_OK: u32 = 4; +pub const PF_ALPHA_BYTE_INSTRUCTIONS: u32 = 5; +pub const PF_XMMI_INSTRUCTIONS_AVAILABLE: u32 = 6; +pub const PF_3DNOW_INSTRUCTIONS_AVAILABLE: u32 = 7; +pub const PF_RDTSC_INSTRUCTION_AVAILABLE: u32 = 8; +pub const PF_PAE_ENABLED: u32 = 9; +pub const PF_XMMI64_INSTRUCTIONS_AVAILABLE: u32 = 10; +pub const PF_SSE_DAZ_MODE_AVAILABLE: u32 = 11; +pub const PF_NX_ENABLED: u32 = 12; +pub const PF_SSE3_INSTRUCTIONS_AVAILABLE: u32 = 13; +pub const PF_COMPARE_EXCHANGE128: u32 = 14; +pub const PF_COMPARE64_EXCHANGE128: u32 = 15; +pub const PF_CHANNELS_ENABLED: u32 = 16; +pub const PF_XSAVE_ENABLED: u32 = 17; +pub const PF_ARM_VFP_32_REGISTERS_AVAILABLE: u32 = 18; +pub const PF_ARM_NEON_INSTRUCTIONS_AVAILABLE: u32 = 19; +pub const PF_SECOND_LEVEL_ADDRESS_TRANSLATION: u32 = 20; +pub const PF_VIRT_FIRMWARE_ENABLED: u32 = 21; +pub const PF_RDWRFSGSBASE_AVAILABLE: u32 = 22; +pub const PF_FASTFAIL_AVAILABLE: u32 = 23; +pub const PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE: u32 = 24; +pub const PF_ARM_64BIT_LOADSTORE_ATOMIC: u32 = 25; +pub const PF_ARM_EXTERNAL_CACHE_AVAILABLE: u32 = 26; +pub const PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE: u32 = 27; +pub const PF_RDRAND_INSTRUCTION_AVAILABLE: u32 = 28; +pub const PF_ARM_V8_INSTRUCTIONS_AVAILABLE: u32 = 29; +pub const PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE: u32 = 30; +pub const PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE: u32 = 31; +pub const PF_RDTSCP_INSTRUCTION_AVAILABLE: u32 = 32; +pub const PF_RDPID_INSTRUCTION_AVAILABLE: u32 = 33; +pub const PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE: u32 = 34; +pub const PF_MONITORX_INSTRUCTION_AVAILABLE: u32 = 35; +pub const PF_SSSE3_INSTRUCTIONS_AVAILABLE: u32 = 36; +pub const PF_SSE4_1_INSTRUCTIONS_AVAILABLE: u32 = 37; +pub const PF_SSE4_2_INSTRUCTIONS_AVAILABLE: u32 = 38; +pub const PF_AVX_INSTRUCTIONS_AVAILABLE: u32 = 39; +pub const PF_AVX2_INSTRUCTIONS_AVAILABLE: u32 = 40; +pub const PF_AVX512F_INSTRUCTIONS_AVAILABLE: u32 = 41; +pub const XSTATE_LEGACY_FLOATING_POINT: u32 = 0; +pub const XSTATE_LEGACY_SSE: u32 = 1; +pub const XSTATE_GSSE: u32 = 2; +pub const XSTATE_AVX: u32 = 2; +pub const XSTATE_MPX_BNDREGS: u32 = 3; +pub const XSTATE_MPX_BNDCSR: u32 = 4; +pub const XSTATE_AVX512_KMASK: u32 = 5; +pub const XSTATE_AVX512_ZMM_H: u32 = 6; +pub const XSTATE_AVX512_ZMM: u32 = 7; +pub const XSTATE_IPT: u32 = 8; +pub const XSTATE_CET_U: u32 = 11; +pub const XSTATE_LWP: u32 = 62; +pub const MAXIMUM_XSTATE_FEATURES: u32 = 64; +pub const XSTATE_COMPACTION_ENABLE: u32 = 63; +pub const XSTATE_ALIGN_BIT: u32 = 1; +pub const XSTATE_CONTROLFLAG_XSAVEOPT_MASK: u32 = 1; +pub const XSTATE_CONTROLFLAG_XSAVEC_MASK: u32 = 2; +pub const XSTATE_CONTROLFLAG_VALID_MASK: u32 = 3; +pub const CFG_CALL_TARGET_VALID: u32 = 1; +pub const CFG_CALL_TARGET_PROCESSED: u32 = 2; +pub const CFG_CALL_TARGET_CONVERT_EXPORT_SUPPRESSED_TO_VALID: u32 = 4; +pub const SECTION_QUERY: u32 = 1; +pub const SECTION_MAP_WRITE: u32 = 2; +pub const SECTION_MAP_READ: u32 = 4; +pub const SECTION_MAP_EXECUTE: u32 = 8; +pub const SECTION_EXTEND_SIZE: u32 = 16; +pub const SECTION_MAP_EXECUTE_EXPLICIT: u32 = 32; +pub const SECTION_ALL_ACCESS: u32 = 983071; +pub const SESSION_QUERY_ACCESS: u32 = 1; +pub const SESSION_MODIFY_ACCESS: u32 = 2; +pub const SESSION_ALL_ACCESS: u32 = 983043; +pub const PAGE_NOACCESS: u32 = 1; +pub const PAGE_READONLY: u32 = 2; +pub const PAGE_READWRITE: u32 = 4; +pub const PAGE_WRITECOPY: u32 = 8; +pub const PAGE_EXECUTE: u32 = 16; +pub const PAGE_EXECUTE_READ: u32 = 32; +pub const PAGE_EXECUTE_READWRITE: u32 = 64; +pub const PAGE_EXECUTE_WRITECOPY: u32 = 128; +pub const PAGE_GUARD: u32 = 256; +pub const PAGE_NOCACHE: u32 = 512; +pub const PAGE_WRITECOMBINE: u32 = 1024; +pub const PAGE_GRAPHICS_NOACCESS: u32 = 2048; +pub const PAGE_GRAPHICS_READONLY: u32 = 4096; +pub const PAGE_GRAPHICS_READWRITE: u32 = 8192; +pub const PAGE_GRAPHICS_EXECUTE: u32 = 16384; +pub const PAGE_GRAPHICS_EXECUTE_READ: u32 = 32768; +pub const PAGE_GRAPHICS_EXECUTE_READWRITE: u32 = 65536; +pub const PAGE_GRAPHICS_COHERENT: u32 = 131072; +pub const PAGE_GRAPHICS_NOCACHE: u32 = 262144; +pub const PAGE_ENCLAVE_THREAD_CONTROL: u32 = 2147483648; +pub const PAGE_REVERT_TO_FILE_MAP: u32 = 2147483648; +pub const PAGE_TARGETS_NO_UPDATE: u32 = 1073741824; +pub const PAGE_TARGETS_INVALID: u32 = 1073741824; +pub const PAGE_ENCLAVE_UNVALIDATED: u32 = 536870912; +pub const PAGE_ENCLAVE_MASK: u32 = 268435456; +pub const PAGE_ENCLAVE_DECOMMIT: u32 = 268435456; +pub const PAGE_ENCLAVE_SS_FIRST: u32 = 268435457; +pub const PAGE_ENCLAVE_SS_REST: u32 = 268435458; +pub const MEM_COMMIT: u32 = 4096; +pub const MEM_RESERVE: u32 = 8192; +pub const MEM_REPLACE_PLACEHOLDER: u32 = 16384; +pub const MEM_RESERVE_PLACEHOLDER: u32 = 262144; +pub const MEM_RESET: u32 = 524288; +pub const MEM_TOP_DOWN: u32 = 1048576; +pub const MEM_WRITE_WATCH: u32 = 2097152; +pub const MEM_PHYSICAL: u32 = 4194304; +pub const MEM_ROTATE: u32 = 8388608; +pub const MEM_DIFFERENT_IMAGE_BASE_OK: u32 = 8388608; +pub const MEM_RESET_UNDO: u32 = 16777216; +pub const MEM_LARGE_PAGES: u32 = 536870912; +pub const MEM_4MB_PAGES: u32 = 2147483648; +pub const MEM_64K_PAGES: u32 = 541065216; +pub const MEM_UNMAP_WITH_TRANSIENT_BOOST: u32 = 1; +pub const MEM_COALESCE_PLACEHOLDERS: u32 = 1; +pub const MEM_PRESERVE_PLACEHOLDER: u32 = 2; +pub const MEM_DECOMMIT: u32 = 16384; +pub const MEM_RELEASE: u32 = 32768; +pub const MEM_FREE: u32 = 65536; +pub const MEM_EXTENDED_PARAMETER_GRAPHICS: u32 = 1; +pub const MEM_EXTENDED_PARAMETER_NONPAGED: u32 = 2; +pub const MEM_EXTENDED_PARAMETER_ZERO_PAGES_OPTIONAL: u32 = 4; +pub const MEM_EXTENDED_PARAMETER_NONPAGED_LARGE: u32 = 8; +pub const MEM_EXTENDED_PARAMETER_NONPAGED_HUGE: u32 = 16; +pub const MEM_EXTENDED_PARAMETER_SOFT_FAULT_PAGES: u32 = 32; +pub const MEM_EXTENDED_PARAMETER_TYPE_BITS: u32 = 8; +pub const SEC_PARTITION_OWNER_HANDLE: u32 = 262144; +pub const SEC_64K_PAGES: u32 = 524288; +pub const SEC_FILE: u32 = 8388608; +pub const SEC_IMAGE: u32 = 16777216; +pub const SEC_PROTECTED_IMAGE: u32 = 33554432; +pub const SEC_RESERVE: u32 = 67108864; +pub const SEC_COMMIT: u32 = 134217728; +pub const SEC_NOCACHE: u32 = 268435456; +pub const SEC_WRITECOMBINE: u32 = 1073741824; +pub const SEC_LARGE_PAGES: u32 = 2147483648; +pub const SEC_IMAGE_NO_EXECUTE: u32 = 285212672; +pub const MEM_PRIVATE: u32 = 131072; +pub const MEM_MAPPED: u32 = 262144; +pub const MEM_IMAGE: u32 = 16777216; +pub const WRITE_WATCH_FLAG_RESET: u32 = 1; +pub const ENCLAVE_TYPE_SGX: u32 = 1; +pub const ENCLAVE_TYPE_SGX2: u32 = 2; +pub const ENCLAVE_TYPE_VBS: u32 = 16; +pub const ENCLAVE_VBS_FLAG_DEBUG: u32 = 1; +pub const ENCLAVE_TYPE_VBS_BASIC: u32 = 17; +pub const VBS_BASIC_PAGE_MEASURED_DATA: u32 = 1; +pub const VBS_BASIC_PAGE_UNMEASURED_DATA: u32 = 2; +pub const VBS_BASIC_PAGE_ZERO_FILL: u32 = 3; +pub const VBS_BASIC_PAGE_THREAD_DESCRIPTOR: u32 = 4; +pub const VBS_BASIC_PAGE_SYSTEM_CALL: u32 = 5; +pub const FILE_READ_DATA: u32 = 1; +pub const FILE_LIST_DIRECTORY: u32 = 1; +pub const FILE_WRITE_DATA: u32 = 2; +pub const FILE_ADD_FILE: u32 = 2; +pub const FILE_APPEND_DATA: u32 = 4; +pub const FILE_ADD_SUBDIRECTORY: u32 = 4; +pub const FILE_CREATE_PIPE_INSTANCE: u32 = 4; +pub const FILE_READ_EA: u32 = 8; +pub const FILE_WRITE_EA: u32 = 16; +pub const FILE_EXECUTE: u32 = 32; +pub const FILE_TRAVERSE: u32 = 32; +pub const FILE_DELETE_CHILD: u32 = 64; +pub const FILE_READ_ATTRIBUTES: u32 = 128; +pub const FILE_WRITE_ATTRIBUTES: u32 = 256; +pub const FILE_ALL_ACCESS: u32 = 2032127; +pub const FILE_GENERIC_READ: u32 = 1179785; +pub const FILE_GENERIC_WRITE: u32 = 1179926; +pub const FILE_GENERIC_EXECUTE: u32 = 1179808; +pub const FILE_SHARE_READ: u32 = 1; +pub const FILE_SHARE_WRITE: u32 = 2; +pub const FILE_SHARE_DELETE: u32 = 4; +pub const FILE_ATTRIBUTE_READONLY: u32 = 1; +pub const FILE_ATTRIBUTE_HIDDEN: u32 = 2; +pub const FILE_ATTRIBUTE_SYSTEM: u32 = 4; +pub const FILE_ATTRIBUTE_DIRECTORY: u32 = 16; +pub const FILE_ATTRIBUTE_ARCHIVE: u32 = 32; +pub const FILE_ATTRIBUTE_DEVICE: u32 = 64; +pub const FILE_ATTRIBUTE_NORMAL: u32 = 128; +pub const FILE_ATTRIBUTE_TEMPORARY: u32 = 256; +pub const FILE_ATTRIBUTE_SPARSE_FILE: u32 = 512; +pub const FILE_ATTRIBUTE_REPARSE_POINT: u32 = 1024; +pub const FILE_ATTRIBUTE_COMPRESSED: u32 = 2048; +pub const FILE_ATTRIBUTE_OFFLINE: u32 = 4096; +pub const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: u32 = 8192; +pub const FILE_ATTRIBUTE_ENCRYPTED: u32 = 16384; +pub const FILE_ATTRIBUTE_INTEGRITY_STREAM: u32 = 32768; +pub const FILE_ATTRIBUTE_VIRTUAL: u32 = 65536; +pub const FILE_ATTRIBUTE_NO_SCRUB_DATA: u32 = 131072; +pub const FILE_ATTRIBUTE_EA: u32 = 262144; +pub const FILE_ATTRIBUTE_PINNED: u32 = 524288; +pub const FILE_ATTRIBUTE_UNPINNED: u32 = 1048576; +pub const FILE_ATTRIBUTE_RECALL_ON_OPEN: u32 = 262144; +pub const FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS: u32 = 4194304; +pub const TREE_CONNECT_ATTRIBUTE_PRIVACY: u32 = 16384; +pub const TREE_CONNECT_ATTRIBUTE_INTEGRITY: u32 = 32768; +pub const TREE_CONNECT_ATTRIBUTE_GLOBAL: u32 = 4; +pub const TREE_CONNECT_ATTRIBUTE_PINNED: u32 = 2; +pub const FILE_ATTRIBUTE_STRICTLY_SEQUENTIAL: u32 = 536870912; +pub const FILE_NOTIFY_CHANGE_FILE_NAME: u32 = 1; +pub const FILE_NOTIFY_CHANGE_DIR_NAME: u32 = 2; +pub const FILE_NOTIFY_CHANGE_ATTRIBUTES: u32 = 4; +pub const FILE_NOTIFY_CHANGE_SIZE: u32 = 8; +pub const FILE_NOTIFY_CHANGE_LAST_WRITE: u32 = 16; +pub const FILE_NOTIFY_CHANGE_LAST_ACCESS: u32 = 32; +pub const FILE_NOTIFY_CHANGE_CREATION: u32 = 64; +pub const FILE_NOTIFY_CHANGE_SECURITY: u32 = 256; +pub const FILE_ACTION_ADDED: u32 = 1; +pub const FILE_ACTION_REMOVED: u32 = 2; +pub const FILE_ACTION_MODIFIED: u32 = 3; +pub const FILE_ACTION_RENAMED_OLD_NAME: u32 = 4; +pub const FILE_ACTION_RENAMED_NEW_NAME: u32 = 5; +pub const FILE_CASE_SENSITIVE_SEARCH: u32 = 1; +pub const FILE_CASE_PRESERVED_NAMES: u32 = 2; +pub const FILE_UNICODE_ON_DISK: u32 = 4; +pub const FILE_PERSISTENT_ACLS: u32 = 8; +pub const FILE_FILE_COMPRESSION: u32 = 16; +pub const FILE_VOLUME_QUOTAS: u32 = 32; +pub const FILE_SUPPORTS_SPARSE_FILES: u32 = 64; +pub const FILE_SUPPORTS_REPARSE_POINTS: u32 = 128; +pub const FILE_SUPPORTS_REMOTE_STORAGE: u32 = 256; +pub const FILE_RETURNS_CLEANUP_RESULT_INFO: u32 = 512; +pub const FILE_SUPPORTS_POSIX_UNLINK_RENAME: u32 = 1024; +pub const FILE_VOLUME_IS_COMPRESSED: u32 = 32768; +pub const FILE_SUPPORTS_OBJECT_IDS: u32 = 65536; +pub const FILE_SUPPORTS_ENCRYPTION: u32 = 131072; +pub const FILE_NAMED_STREAMS: u32 = 262144; +pub const FILE_READ_ONLY_VOLUME: u32 = 524288; +pub const FILE_SEQUENTIAL_WRITE_ONCE: u32 = 1048576; +pub const FILE_SUPPORTS_TRANSACTIONS: u32 = 2097152; +pub const FILE_SUPPORTS_HARD_LINKS: u32 = 4194304; +pub const FILE_SUPPORTS_EXTENDED_ATTRIBUTES: u32 = 8388608; +pub const FILE_SUPPORTS_OPEN_BY_FILE_ID: u32 = 16777216; +pub const FILE_SUPPORTS_USN_JOURNAL: u32 = 33554432; +pub const FILE_SUPPORTS_INTEGRITY_STREAMS: u32 = 67108864; +pub const FILE_SUPPORTS_BLOCK_REFCOUNTING: u32 = 134217728; +pub const FILE_SUPPORTS_SPARSE_VDL: u32 = 268435456; +pub const FILE_DAX_VOLUME: u32 = 536870912; +pub const FILE_SUPPORTS_GHOSTING: u32 = 1073741824; +pub const FILE_CS_FLAG_CASE_SENSITIVE_DIR: u32 = 1; +pub const FLUSH_FLAGS_FILE_DATA_ONLY: u32 = 1; +pub const FLUSH_FLAGS_NO_SYNC: u32 = 2; +pub const FLUSH_FLAGS_FILE_DATA_SYNC_ONLY: u32 = 4; +pub const MAXIMUM_REPARSE_DATA_BUFFER_SIZE: u32 = 16384; +pub const IO_REPARSE_TAG_RESERVED_ZERO: u32 = 0; +pub const IO_REPARSE_TAG_RESERVED_ONE: u32 = 1; +pub const IO_REPARSE_TAG_RESERVED_TWO: u32 = 2; +pub const IO_REPARSE_TAG_RESERVED_RANGE: u32 = 2; +pub const IO_REPARSE_TAG_MOUNT_POINT: u32 = 2684354563; +pub const IO_REPARSE_TAG_HSM: u32 = 3221225476; +pub const IO_REPARSE_TAG_HSM2: u32 = 2147483654; +pub const IO_REPARSE_TAG_SIS: u32 = 2147483655; +pub const IO_REPARSE_TAG_WIM: u32 = 2147483656; +pub const IO_REPARSE_TAG_CSV: u32 = 2147483657; +pub const IO_REPARSE_TAG_DFS: u32 = 2147483658; +pub const IO_REPARSE_TAG_SYMLINK: u32 = 2684354572; +pub const IO_REPARSE_TAG_DFSR: u32 = 2147483666; +pub const IO_REPARSE_TAG_DEDUP: u32 = 2147483667; +pub const IO_REPARSE_TAG_NFS: u32 = 2147483668; +pub const IO_REPARSE_TAG_FILE_PLACEHOLDER: u32 = 2147483669; +pub const IO_REPARSE_TAG_WOF: u32 = 2147483671; +pub const IO_REPARSE_TAG_WCI: u32 = 2147483672; +pub const IO_REPARSE_TAG_WCI_1: u32 = 2415923224; +pub const IO_REPARSE_TAG_GLOBAL_REPARSE: u32 = 2684354585; +pub const IO_REPARSE_TAG_CLOUD: u32 = 2415919130; +pub const IO_REPARSE_TAG_CLOUD_1: u32 = 2415923226; +pub const IO_REPARSE_TAG_CLOUD_2: u32 = 2415927322; +pub const IO_REPARSE_TAG_CLOUD_3: u32 = 2415931418; +pub const IO_REPARSE_TAG_CLOUD_4: u32 = 2415935514; +pub const IO_REPARSE_TAG_CLOUD_5: u32 = 2415939610; +pub const IO_REPARSE_TAG_CLOUD_6: u32 = 2415943706; +pub const IO_REPARSE_TAG_CLOUD_7: u32 = 2415947802; +pub const IO_REPARSE_TAG_CLOUD_8: u32 = 2415951898; +pub const IO_REPARSE_TAG_CLOUD_9: u32 = 2415955994; +pub const IO_REPARSE_TAG_CLOUD_A: u32 = 2415960090; +pub const IO_REPARSE_TAG_CLOUD_B: u32 = 2415964186; +pub const IO_REPARSE_TAG_CLOUD_C: u32 = 2415968282; +pub const IO_REPARSE_TAG_CLOUD_D: u32 = 2415972378; +pub const IO_REPARSE_TAG_CLOUD_E: u32 = 2415976474; +pub const IO_REPARSE_TAG_CLOUD_F: u32 = 2415980570; +pub const IO_REPARSE_TAG_CLOUD_MASK: u32 = 61440; +pub const IO_REPARSE_TAG_APPEXECLINK: u32 = 2147483675; +pub const IO_REPARSE_TAG_PROJFS: u32 = 2415919132; +pub const IO_REPARSE_TAG_STORAGE_SYNC: u32 = 2147483678; +pub const IO_REPARSE_TAG_WCI_TOMBSTONE: u32 = 2684354591; +pub const IO_REPARSE_TAG_UNHANDLED: u32 = 2147483680; +pub const IO_REPARSE_TAG_ONEDRIVE: u32 = 2147483681; +pub const IO_REPARSE_TAG_PROJFS_TOMBSTONE: u32 = 2684354594; +pub const IO_REPARSE_TAG_AF_UNIX: u32 = 2147483683; +pub const IO_REPARSE_TAG_WCI_LINK: u32 = 2684354599; +pub const IO_REPARSE_TAG_WCI_LINK_1: u32 = 2684358695; +pub const SCRUB_DATA_INPUT_FLAG_RESUME: u32 = 1; +pub const SCRUB_DATA_INPUT_FLAG_SKIP_IN_SYNC: u32 = 2; +pub const SCRUB_DATA_INPUT_FLAG_SKIP_NON_INTEGRITY_DATA: u32 = 4; +pub const SCRUB_DATA_INPUT_FLAG_IGNORE_REDUNDANCY: u32 = 8; +pub const SCRUB_DATA_INPUT_FLAG_SKIP_DATA: u32 = 16; +pub const SCRUB_DATA_INPUT_FLAG_SCRUB_BY_OBJECT_ID: u32 = 32; +pub const SCRUB_DATA_INPUT_FLAG_OPLOCK_NOT_ACQUIRED: u32 = 64; +pub const SCRUB_DATA_OUTPUT_FLAG_INCOMPLETE: u32 = 1; +pub const SCRUB_DATA_OUTPUT_FLAG_NON_USER_DATA_RANGE: u32 = 65536; +pub const SCRUB_DATA_OUTPUT_FLAG_PARITY_EXTENT_DATA_RETURNED: u32 = 131072; +pub const SCRUB_DATA_OUTPUT_FLAG_RESUME_CONTEXT_LENGTH_SPECIFIED: u32 = 262144; +pub const SHUFFLE_FILE_FLAG_SKIP_INITIALIZING_NEW_CLUSTERS: u32 = 1; +pub const IO_COMPLETION_MODIFY_STATE: u32 = 2; +pub const IO_COMPLETION_ALL_ACCESS: u32 = 2031619; +pub const IO_QOS_MAX_RESERVATION: u32 = 1000000000; +pub const SMB_CCF_APP_INSTANCE_EA_NAME: &[u8; 29usize] = b"ClusteredApplicationInstance\0"; +pub const NETWORK_APP_INSTANCE_CSV_FLAGS_VALID_ONLY_IF_CSV_COORDINATOR: u32 = 1; +pub const DUPLICATE_CLOSE_SOURCE: u32 = 1; +pub const DUPLICATE_SAME_ACCESS: u32 = 2; +pub const POWERBUTTON_ACTION_INDEX_NOTHING: u32 = 0; +pub const POWERBUTTON_ACTION_INDEX_SLEEP: u32 = 1; +pub const POWERBUTTON_ACTION_INDEX_HIBERNATE: u32 = 2; +pub const POWERBUTTON_ACTION_INDEX_SHUTDOWN: u32 = 3; +pub const POWERBUTTON_ACTION_INDEX_TURN_OFF_THE_DISPLAY: u32 = 4; +pub const POWERBUTTON_ACTION_VALUE_NOTHING: u32 = 0; +pub const POWERBUTTON_ACTION_VALUE_SLEEP: u32 = 2; +pub const POWERBUTTON_ACTION_VALUE_HIBERNATE: u32 = 3; +pub const POWERBUTTON_ACTION_VALUE_SHUTDOWN: u32 = 6; +pub const POWERBUTTON_ACTION_VALUE_TURN_OFF_THE_DISPLAY: u32 = 8; +pub const PERFSTATE_POLICY_CHANGE_IDEAL: u32 = 0; +pub const PERFSTATE_POLICY_CHANGE_SINGLE: u32 = 1; +pub const PERFSTATE_POLICY_CHANGE_ROCKET: u32 = 2; +pub const PERFSTATE_POLICY_CHANGE_IDEAL_AGGRESSIVE: u32 = 3; +pub const PERFSTATE_POLICY_CHANGE_DECREASE_MAX: u32 = 2; +pub const PERFSTATE_POLICY_CHANGE_INCREASE_MAX: u32 = 3; +pub const PROCESSOR_THROTTLE_DISABLED: u32 = 0; +pub const PROCESSOR_THROTTLE_ENABLED: u32 = 1; +pub const PROCESSOR_THROTTLE_AUTOMATIC: u32 = 2; +pub const PROCESSOR_PERF_BOOST_POLICY_DISABLED: u32 = 0; +pub const PROCESSOR_PERF_BOOST_POLICY_MAX: u32 = 100; +pub const PROCESSOR_PERF_BOOST_MODE_DISABLED: u32 = 0; +pub const PROCESSOR_PERF_BOOST_MODE_ENABLED: u32 = 1; +pub const PROCESSOR_PERF_BOOST_MODE_AGGRESSIVE: u32 = 2; +pub const PROCESSOR_PERF_BOOST_MODE_EFFICIENT_ENABLED: u32 = 3; +pub const PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE: u32 = 4; +pub const PROCESSOR_PERF_BOOST_MODE_AGGRESSIVE_AT_GUARANTEED: u32 = 5; +pub const PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE_AT_GUARANTEED: u32 = 6; +pub const PROCESSOR_PERF_BOOST_MODE_MAX: u32 = 6; +pub const PROCESSOR_PERF_AUTONOMOUS_MODE_DISABLED: u32 = 0; +pub const PROCESSOR_PERF_AUTONOMOUS_MODE_ENABLED: u32 = 1; +pub const PROCESSOR_PERF_PERFORMANCE_PREFERENCE: u32 = 255; +pub const PROCESSOR_PERF_ENERGY_PREFERENCE: u32 = 0; +pub const PROCESSOR_PERF_MINIMUM_ACTIVITY_WINDOW: u32 = 0; +pub const PROCESSOR_PERF_MAXIMUM_ACTIVITY_WINDOW: u32 = 1270000000; +pub const PROCESSOR_DUTY_CYCLING_DISABLED: u32 = 0; +pub const PROCESSOR_DUTY_CYCLING_ENABLED: u32 = 1; +pub const CORE_PARKING_POLICY_CHANGE_IDEAL: u32 = 0; +pub const CORE_PARKING_POLICY_CHANGE_SINGLE: u32 = 1; +pub const CORE_PARKING_POLICY_CHANGE_ROCKET: u32 = 2; +pub const CORE_PARKING_POLICY_CHANGE_MULTISTEP: u32 = 3; +pub const CORE_PARKING_POLICY_CHANGE_MAX: u32 = 3; +pub const POWER_DEVICE_IDLE_POLICY_PERFORMANCE: u32 = 0; +pub const POWER_DEVICE_IDLE_POLICY_CONSERVATIVE: u32 = 1; +pub const POWER_CONNECTIVITY_IN_STANDBY_DISABLED: u32 = 0; +pub const POWER_CONNECTIVITY_IN_STANDBY_ENABLED: u32 = 1; +pub const POWER_CONNECTIVITY_IN_STANDBY_SYSTEM_MANAGED: u32 = 2; +pub const POWER_DISCONNECTED_STANDBY_MODE_NORMAL: u32 = 0; +pub const POWER_DISCONNECTED_STANDBY_MODE_AGGRESSIVE: u32 = 1; +pub const POWER_SYSTEM_MAXIMUM: u32 = 7; +pub const DIAGNOSTIC_REASON_VERSION: u32 = 0; +pub const DIAGNOSTIC_REASON_SIMPLE_STRING: u32 = 1; +pub const DIAGNOSTIC_REASON_DETAILED_STRING: u32 = 2; +pub const DIAGNOSTIC_REASON_NOT_SPECIFIED: u32 = 2147483648; +pub const DIAGNOSTIC_REASON_INVALID_FLAGS: i64 = -2147483656; +pub const POWER_REQUEST_CONTEXT_VERSION: u32 = 0; +pub const POWER_REQUEST_CONTEXT_SIMPLE_STRING: u32 = 1; +pub const POWER_REQUEST_CONTEXT_DETAILED_STRING: u32 = 2; +pub const PDCAP_D0_SUPPORTED: u32 = 1; +pub const PDCAP_D1_SUPPORTED: u32 = 2; +pub const PDCAP_D2_SUPPORTED: u32 = 4; +pub const PDCAP_D3_SUPPORTED: u32 = 8; +pub const PDCAP_WAKE_FROM_D0_SUPPORTED: u32 = 16; +pub const PDCAP_WAKE_FROM_D1_SUPPORTED: u32 = 32; +pub const PDCAP_WAKE_FROM_D2_SUPPORTED: u32 = 64; +pub const PDCAP_WAKE_FROM_D3_SUPPORTED: u32 = 128; +pub const PDCAP_WARM_EJECT_SUPPORTED: u32 = 256; +pub const POWER_SETTING_VALUE_VERSION: u32 = 1; +pub const POWER_PLATFORM_ROLE_V1: u32 = 1; +pub const POWER_PLATFORM_ROLE_V2: u32 = 2; +pub const POWER_PLATFORM_ROLE_VERSION: u32 = 2; +pub const PROC_IDLE_BUCKET_COUNT: u32 = 6; +pub const PROC_IDLE_BUCKET_COUNT_EX: u32 = 16; +pub const ACPI_PPM_SOFTWARE_ALL: u32 = 252; +pub const ACPI_PPM_SOFTWARE_ANY: u32 = 253; +pub const ACPI_PPM_HARDWARE_ALL: u32 = 254; +pub const MS_PPM_SOFTWARE_ALL: u32 = 1; +pub const PPM_FIRMWARE_ACPI1C2: u32 = 1; +pub const PPM_FIRMWARE_ACPI1C3: u32 = 2; +pub const PPM_FIRMWARE_ACPI1TSTATES: u32 = 4; +pub const PPM_FIRMWARE_CST: u32 = 8; +pub const PPM_FIRMWARE_CSD: u32 = 16; +pub const PPM_FIRMWARE_PCT: u32 = 32; +pub const PPM_FIRMWARE_PSS: u32 = 64; +pub const PPM_FIRMWARE_XPSS: u32 = 128; +pub const PPM_FIRMWARE_PPC: u32 = 256; +pub const PPM_FIRMWARE_PSD: u32 = 512; +pub const PPM_FIRMWARE_PTC: u32 = 1024; +pub const PPM_FIRMWARE_TSS: u32 = 2048; +pub const PPM_FIRMWARE_TPC: u32 = 4096; +pub const PPM_FIRMWARE_TSD: u32 = 8192; +pub const PPM_FIRMWARE_PCCH: u32 = 16384; +pub const PPM_FIRMWARE_PCCP: u32 = 32768; +pub const PPM_FIRMWARE_OSC: u32 = 65536; +pub const PPM_FIRMWARE_PDC: u32 = 131072; +pub const PPM_FIRMWARE_CPC: u32 = 262144; +pub const PPM_FIRMWARE_LPI: u32 = 524288; +pub const PPM_PERFORMANCE_IMPLEMENTATION_NONE: u32 = 0; +pub const PPM_PERFORMANCE_IMPLEMENTATION_PSTATES: u32 = 1; +pub const PPM_PERFORMANCE_IMPLEMENTATION_PCCV1: u32 = 2; +pub const PPM_PERFORMANCE_IMPLEMENTATION_CPPC: u32 = 3; +pub const PPM_PERFORMANCE_IMPLEMENTATION_PEP: u32 = 4; +pub const PPM_IDLE_IMPLEMENTATION_NONE: u32 = 0; +pub const PPM_IDLE_IMPLEMENTATION_CSTATES: u32 = 1; +pub const PPM_IDLE_IMPLEMENTATION_PEP: u32 = 2; +pub const PPM_IDLE_IMPLEMENTATION_MICROPEP: u32 = 3; +pub const PPM_IDLE_IMPLEMENTATION_LPISTATES: u32 = 4; +pub const POWER_ACTION_QUERY_ALLOWED: u32 = 1; +pub const POWER_ACTION_UI_ALLOWED: u32 = 2; +pub const POWER_ACTION_OVERRIDE_APPS: u32 = 4; +pub const POWER_ACTION_HIBERBOOT: u32 = 8; +pub const POWER_ACTION_USER_NOTIFY: u32 = 16; +pub const POWER_ACTION_DOZE_TO_HIBERNATE: u32 = 32; +pub const POWER_ACTION_ACPI_CRITICAL: u32 = 16777216; +pub const POWER_ACTION_ACPI_USER_NOTIFY: u32 = 33554432; +pub const POWER_ACTION_DIRECTED_DRIPS: u32 = 67108864; +pub const POWER_ACTION_PSEUDO_TRANSITION: u32 = 134217728; +pub const POWER_ACTION_LIGHTEST_FIRST: u32 = 268435456; +pub const POWER_ACTION_LOCK_CONSOLE: u32 = 536870912; +pub const POWER_ACTION_DISABLE_WAKES: u32 = 1073741824; +pub const POWER_ACTION_CRITICAL: u32 = 2147483648; +pub const POWER_LEVEL_USER_NOTIFY_TEXT: u32 = 1; +pub const POWER_LEVEL_USER_NOTIFY_SOUND: u32 = 2; +pub const POWER_LEVEL_USER_NOTIFY_EXEC: u32 = 4; +pub const POWER_USER_NOTIFY_BUTTON: u32 = 8; +pub const POWER_USER_NOTIFY_SHUTDOWN: u32 = 16; +pub const POWER_USER_NOTIFY_FORCED_SHUTDOWN: u32 = 32; +pub const POWER_FORCE_TRIGGER_RESET: u32 = 2147483648; +pub const BATTERY_DISCHARGE_FLAGS_EVENTCODE_MASK: u32 = 7; +pub const BATTERY_DISCHARGE_FLAGS_ENABLE: u32 = 2147483648; +pub const NUM_DISCHARGE_POLICIES: u32 = 4; +pub const DISCHARGE_POLICY_CRITICAL: u32 = 0; +pub const DISCHARGE_POLICY_LOW: u32 = 1; +pub const PROCESSOR_IDLESTATE_POLICY_COUNT: u32 = 3; +pub const PO_THROTTLE_NONE: u32 = 0; +pub const PO_THROTTLE_CONSTANT: u32 = 1; +pub const PO_THROTTLE_DEGRADE: u32 = 2; +pub const PO_THROTTLE_ADAPTIVE: u32 = 3; +pub const PO_THROTTLE_MAXIMUM: u32 = 4; +pub const HIBERFILE_TYPE_NONE: u32 = 0; +pub const HIBERFILE_TYPE_REDUCED: u32 = 1; +pub const HIBERFILE_TYPE_FULL: u32 = 2; +pub const HIBERFILE_TYPE_MAX: u32 = 3; +pub const IMAGE_DOS_SIGNATURE: u32 = 23117; +pub const IMAGE_OS2_SIGNATURE: u32 = 17742; +pub const IMAGE_OS2_SIGNATURE_LE: u32 = 17740; +pub const IMAGE_VXD_SIGNATURE: u32 = 17740; +pub const IMAGE_NT_SIGNATURE: u32 = 17744; +pub const IMAGE_SIZEOF_FILE_HEADER: u32 = 20; +pub const IMAGE_FILE_RELOCS_STRIPPED: u32 = 1; +pub const IMAGE_FILE_EXECUTABLE_IMAGE: u32 = 2; +pub const IMAGE_FILE_LINE_NUMS_STRIPPED: u32 = 4; +pub const IMAGE_FILE_LOCAL_SYMS_STRIPPED: u32 = 8; +pub const IMAGE_FILE_AGGRESIVE_WS_TRIM: u32 = 16; +pub const IMAGE_FILE_LARGE_ADDRESS_AWARE: u32 = 32; +pub const IMAGE_FILE_BYTES_REVERSED_LO: u32 = 128; +pub const IMAGE_FILE_32BIT_MACHINE: u32 = 256; +pub const IMAGE_FILE_DEBUG_STRIPPED: u32 = 512; +pub const IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP: u32 = 1024; +pub const IMAGE_FILE_NET_RUN_FROM_SWAP: u32 = 2048; +pub const IMAGE_FILE_SYSTEM: u32 = 4096; +pub const IMAGE_FILE_DLL: u32 = 8192; +pub const IMAGE_FILE_UP_SYSTEM_ONLY: u32 = 16384; +pub const IMAGE_FILE_BYTES_REVERSED_HI: u32 = 32768; +pub const IMAGE_FILE_MACHINE_UNKNOWN: u32 = 0; +pub const IMAGE_FILE_MACHINE_TARGET_HOST: u32 = 1; +pub const IMAGE_FILE_MACHINE_I386: u32 = 332; +pub const IMAGE_FILE_MACHINE_R3000: u32 = 354; +pub const IMAGE_FILE_MACHINE_R4000: u32 = 358; +pub const IMAGE_FILE_MACHINE_R10000: u32 = 360; +pub const IMAGE_FILE_MACHINE_WCEMIPSV2: u32 = 361; +pub const IMAGE_FILE_MACHINE_ALPHA: u32 = 388; +pub const IMAGE_FILE_MACHINE_SH3: u32 = 418; +pub const IMAGE_FILE_MACHINE_SH3DSP: u32 = 419; +pub const IMAGE_FILE_MACHINE_SH3E: u32 = 420; +pub const IMAGE_FILE_MACHINE_SH4: u32 = 422; +pub const IMAGE_FILE_MACHINE_SH5: u32 = 424; +pub const IMAGE_FILE_MACHINE_ARM: u32 = 448; +pub const IMAGE_FILE_MACHINE_THUMB: u32 = 450; +pub const IMAGE_FILE_MACHINE_ARMNT: u32 = 452; +pub const IMAGE_FILE_MACHINE_AM33: u32 = 467; +pub const IMAGE_FILE_MACHINE_POWERPC: u32 = 496; +pub const IMAGE_FILE_MACHINE_POWERPCFP: u32 = 497; +pub const IMAGE_FILE_MACHINE_IA64: u32 = 512; +pub const IMAGE_FILE_MACHINE_MIPS16: u32 = 614; +pub const IMAGE_FILE_MACHINE_ALPHA64: u32 = 644; +pub const IMAGE_FILE_MACHINE_MIPSFPU: u32 = 870; +pub const IMAGE_FILE_MACHINE_MIPSFPU16: u32 = 1126; +pub const IMAGE_FILE_MACHINE_AXP64: u32 = 644; +pub const IMAGE_FILE_MACHINE_TRICORE: u32 = 1312; +pub const IMAGE_FILE_MACHINE_CEF: u32 = 3311; +pub const IMAGE_FILE_MACHINE_EBC: u32 = 3772; +pub const IMAGE_FILE_MACHINE_AMD64: u32 = 34404; +pub const IMAGE_FILE_MACHINE_M32R: u32 = 36929; +pub const IMAGE_FILE_MACHINE_ARM64: u32 = 43620; +pub const IMAGE_FILE_MACHINE_CEE: u32 = 49390; +pub const IMAGE_NUMBEROF_DIRECTORY_ENTRIES: u32 = 16; +pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC: u32 = 267; +pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC: u32 = 523; +pub const IMAGE_ROM_OPTIONAL_HDR_MAGIC: u32 = 263; +pub const IMAGE_NT_OPTIONAL_HDR_MAGIC: u32 = 523; +pub const IMAGE_SUBSYSTEM_UNKNOWN: u32 = 0; +pub const IMAGE_SUBSYSTEM_NATIVE: u32 = 1; +pub const IMAGE_SUBSYSTEM_WINDOWS_GUI: u32 = 2; +pub const IMAGE_SUBSYSTEM_WINDOWS_CUI: u32 = 3; +pub const IMAGE_SUBSYSTEM_OS2_CUI: u32 = 5; +pub const IMAGE_SUBSYSTEM_POSIX_CUI: u32 = 7; +pub const IMAGE_SUBSYSTEM_NATIVE_WINDOWS: u32 = 8; +pub const IMAGE_SUBSYSTEM_WINDOWS_CE_GUI: u32 = 9; +pub const IMAGE_SUBSYSTEM_EFI_APPLICATION: u32 = 10; +pub const IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER: u32 = 11; +pub const IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER: u32 = 12; +pub const IMAGE_SUBSYSTEM_EFI_ROM: u32 = 13; +pub const IMAGE_SUBSYSTEM_XBOX: u32 = 14; +pub const IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION: u32 = 16; +pub const IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG: u32 = 17; +pub const IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA: u32 = 32; +pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE: u32 = 64; +pub const IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY: u32 = 128; +pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT: u32 = 256; +pub const IMAGE_DLLCHARACTERISTICS_NO_ISOLATION: u32 = 512; +pub const IMAGE_DLLCHARACTERISTICS_NO_SEH: u32 = 1024; +pub const IMAGE_DLLCHARACTERISTICS_NO_BIND: u32 = 2048; +pub const IMAGE_DLLCHARACTERISTICS_APPCONTAINER: u32 = 4096; +pub const IMAGE_DLLCHARACTERISTICS_WDM_DRIVER: u32 = 8192; +pub const IMAGE_DLLCHARACTERISTICS_GUARD_CF: u32 = 16384; +pub const IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE: u32 = 32768; +pub const IMAGE_DIRECTORY_ENTRY_EXPORT: u32 = 0; +pub const IMAGE_DIRECTORY_ENTRY_IMPORT: u32 = 1; +pub const IMAGE_DIRECTORY_ENTRY_RESOURCE: u32 = 2; +pub const IMAGE_DIRECTORY_ENTRY_EXCEPTION: u32 = 3; +pub const IMAGE_DIRECTORY_ENTRY_SECURITY: u32 = 4; +pub const IMAGE_DIRECTORY_ENTRY_BASERELOC: u32 = 5; +pub const IMAGE_DIRECTORY_ENTRY_DEBUG: u32 = 6; +pub const IMAGE_DIRECTORY_ENTRY_ARCHITECTURE: u32 = 7; +pub const IMAGE_DIRECTORY_ENTRY_GLOBALPTR: u32 = 8; +pub const IMAGE_DIRECTORY_ENTRY_TLS: u32 = 9; +pub const IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG: u32 = 10; +pub const IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT: u32 = 11; +pub const IMAGE_DIRECTORY_ENTRY_IAT: u32 = 12; +pub const IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT: u32 = 13; +pub const IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR: u32 = 14; +pub const IMAGE_SIZEOF_SHORT_NAME: u32 = 8; +pub const IMAGE_SIZEOF_SECTION_HEADER: u32 = 40; +pub const IMAGE_SCN_TYPE_NO_PAD: u32 = 8; +pub const IMAGE_SCN_CNT_CODE: u32 = 32; +pub const IMAGE_SCN_CNT_INITIALIZED_DATA: u32 = 64; +pub const IMAGE_SCN_CNT_UNINITIALIZED_DATA: u32 = 128; +pub const IMAGE_SCN_LNK_OTHER: u32 = 256; +pub const IMAGE_SCN_LNK_INFO: u32 = 512; +pub const IMAGE_SCN_LNK_REMOVE: u32 = 2048; +pub const IMAGE_SCN_LNK_COMDAT: u32 = 4096; +pub const IMAGE_SCN_NO_DEFER_SPEC_EXC: u32 = 16384; +pub const IMAGE_SCN_GPREL: u32 = 32768; +pub const IMAGE_SCN_MEM_FARDATA: u32 = 32768; +pub const IMAGE_SCN_MEM_PURGEABLE: u32 = 131072; +pub const IMAGE_SCN_MEM_16BIT: u32 = 131072; +pub const IMAGE_SCN_MEM_LOCKED: u32 = 262144; +pub const IMAGE_SCN_MEM_PRELOAD: u32 = 524288; +pub const IMAGE_SCN_ALIGN_1BYTES: u32 = 1048576; +pub const IMAGE_SCN_ALIGN_2BYTES: u32 = 2097152; +pub const IMAGE_SCN_ALIGN_4BYTES: u32 = 3145728; +pub const IMAGE_SCN_ALIGN_8BYTES: u32 = 4194304; +pub const IMAGE_SCN_ALIGN_16BYTES: u32 = 5242880; +pub const IMAGE_SCN_ALIGN_32BYTES: u32 = 6291456; +pub const IMAGE_SCN_ALIGN_64BYTES: u32 = 7340032; +pub const IMAGE_SCN_ALIGN_128BYTES: u32 = 8388608; +pub const IMAGE_SCN_ALIGN_256BYTES: u32 = 9437184; +pub const IMAGE_SCN_ALIGN_512BYTES: u32 = 10485760; +pub const IMAGE_SCN_ALIGN_1024BYTES: u32 = 11534336; +pub const IMAGE_SCN_ALIGN_2048BYTES: u32 = 12582912; +pub const IMAGE_SCN_ALIGN_4096BYTES: u32 = 13631488; +pub const IMAGE_SCN_ALIGN_8192BYTES: u32 = 14680064; +pub const IMAGE_SCN_ALIGN_MASK: u32 = 15728640; +pub const IMAGE_SCN_LNK_NRELOC_OVFL: u32 = 16777216; +pub const IMAGE_SCN_MEM_DISCARDABLE: u32 = 33554432; +pub const IMAGE_SCN_MEM_NOT_CACHED: u32 = 67108864; +pub const IMAGE_SCN_MEM_NOT_PAGED: u32 = 134217728; +pub const IMAGE_SCN_MEM_SHARED: u32 = 268435456; +pub const IMAGE_SCN_MEM_EXECUTE: u32 = 536870912; +pub const IMAGE_SCN_MEM_READ: u32 = 1073741824; +pub const IMAGE_SCN_MEM_WRITE: u32 = 2147483648; +pub const IMAGE_SCN_SCALE_INDEX: u32 = 1; +pub const IMAGE_SIZEOF_SYMBOL: u32 = 18; +pub const IMAGE_SYM_SECTION_MAX: u32 = 65279; +pub const IMAGE_SYM_SECTION_MAX_EX: u32 = 2147483647; +pub const IMAGE_SYM_TYPE_NULL: u32 = 0; +pub const IMAGE_SYM_TYPE_VOID: u32 = 1; +pub const IMAGE_SYM_TYPE_CHAR: u32 = 2; +pub const IMAGE_SYM_TYPE_SHORT: u32 = 3; +pub const IMAGE_SYM_TYPE_INT: u32 = 4; +pub const IMAGE_SYM_TYPE_LONG: u32 = 5; +pub const IMAGE_SYM_TYPE_FLOAT: u32 = 6; +pub const IMAGE_SYM_TYPE_DOUBLE: u32 = 7; +pub const IMAGE_SYM_TYPE_STRUCT: u32 = 8; +pub const IMAGE_SYM_TYPE_UNION: u32 = 9; +pub const IMAGE_SYM_TYPE_ENUM: u32 = 10; +pub const IMAGE_SYM_TYPE_MOE: u32 = 11; +pub const IMAGE_SYM_TYPE_BYTE: u32 = 12; +pub const IMAGE_SYM_TYPE_WORD: u32 = 13; +pub const IMAGE_SYM_TYPE_UINT: u32 = 14; +pub const IMAGE_SYM_TYPE_DWORD: u32 = 15; +pub const IMAGE_SYM_TYPE_PCODE: u32 = 32768; +pub const IMAGE_SYM_DTYPE_NULL: u32 = 0; +pub const IMAGE_SYM_DTYPE_POINTER: u32 = 1; +pub const IMAGE_SYM_DTYPE_FUNCTION: u32 = 2; +pub const IMAGE_SYM_DTYPE_ARRAY: u32 = 3; +pub const IMAGE_SYM_CLASS_NULL: u32 = 0; +pub const IMAGE_SYM_CLASS_AUTOMATIC: u32 = 1; +pub const IMAGE_SYM_CLASS_EXTERNAL: u32 = 2; +pub const IMAGE_SYM_CLASS_STATIC: u32 = 3; +pub const IMAGE_SYM_CLASS_REGISTER: u32 = 4; +pub const IMAGE_SYM_CLASS_EXTERNAL_DEF: u32 = 5; +pub const IMAGE_SYM_CLASS_LABEL: u32 = 6; +pub const IMAGE_SYM_CLASS_UNDEFINED_LABEL: u32 = 7; +pub const IMAGE_SYM_CLASS_MEMBER_OF_STRUCT: u32 = 8; +pub const IMAGE_SYM_CLASS_ARGUMENT: u32 = 9; +pub const IMAGE_SYM_CLASS_STRUCT_TAG: u32 = 10; +pub const IMAGE_SYM_CLASS_MEMBER_OF_UNION: u32 = 11; +pub const IMAGE_SYM_CLASS_UNION_TAG: u32 = 12; +pub const IMAGE_SYM_CLASS_TYPE_DEFINITION: u32 = 13; +pub const IMAGE_SYM_CLASS_UNDEFINED_STATIC: u32 = 14; +pub const IMAGE_SYM_CLASS_ENUM_TAG: u32 = 15; +pub const IMAGE_SYM_CLASS_MEMBER_OF_ENUM: u32 = 16; +pub const IMAGE_SYM_CLASS_REGISTER_PARAM: u32 = 17; +pub const IMAGE_SYM_CLASS_BIT_FIELD: u32 = 18; +pub const IMAGE_SYM_CLASS_FAR_EXTERNAL: u32 = 68; +pub const IMAGE_SYM_CLASS_BLOCK: u32 = 100; +pub const IMAGE_SYM_CLASS_FUNCTION: u32 = 101; +pub const IMAGE_SYM_CLASS_END_OF_STRUCT: u32 = 102; +pub const IMAGE_SYM_CLASS_FILE: u32 = 103; +pub const IMAGE_SYM_CLASS_SECTION: u32 = 104; +pub const IMAGE_SYM_CLASS_WEAK_EXTERNAL: u32 = 105; +pub const IMAGE_SYM_CLASS_CLR_TOKEN: u32 = 107; +pub const N_BTMASK: u32 = 15; +pub const N_TMASK: u32 = 48; +pub const N_TMASK1: u32 = 192; +pub const N_TMASK2: u32 = 240; +pub const N_BTSHFT: u32 = 4; +pub const N_TSHIFT: u32 = 2; +pub const IMAGE_COMDAT_SELECT_NODUPLICATES: u32 = 1; +pub const IMAGE_COMDAT_SELECT_ANY: u32 = 2; +pub const IMAGE_COMDAT_SELECT_SAME_SIZE: u32 = 3; +pub const IMAGE_COMDAT_SELECT_EXACT_MATCH: u32 = 4; +pub const IMAGE_COMDAT_SELECT_ASSOCIATIVE: u32 = 5; +pub const IMAGE_COMDAT_SELECT_LARGEST: u32 = 6; +pub const IMAGE_COMDAT_SELECT_NEWEST: u32 = 7; +pub const IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY: u32 = 1; +pub const IMAGE_WEAK_EXTERN_SEARCH_LIBRARY: u32 = 2; +pub const IMAGE_WEAK_EXTERN_SEARCH_ALIAS: u32 = 3; +pub const IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY: u32 = 4; +pub const IMAGE_REL_I386_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_I386_DIR16: u32 = 1; +pub const IMAGE_REL_I386_REL16: u32 = 2; +pub const IMAGE_REL_I386_DIR32: u32 = 6; +pub const IMAGE_REL_I386_DIR32NB: u32 = 7; +pub const IMAGE_REL_I386_SEG12: u32 = 9; +pub const IMAGE_REL_I386_SECTION: u32 = 10; +pub const IMAGE_REL_I386_SECREL: u32 = 11; +pub const IMAGE_REL_I386_TOKEN: u32 = 12; +pub const IMAGE_REL_I386_SECREL7: u32 = 13; +pub const IMAGE_REL_I386_REL32: u32 = 20; +pub const IMAGE_REL_MIPS_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_MIPS_REFHALF: u32 = 1; +pub const IMAGE_REL_MIPS_REFWORD: u32 = 2; +pub const IMAGE_REL_MIPS_JMPADDR: u32 = 3; +pub const IMAGE_REL_MIPS_REFHI: u32 = 4; +pub const IMAGE_REL_MIPS_REFLO: u32 = 5; +pub const IMAGE_REL_MIPS_GPREL: u32 = 6; +pub const IMAGE_REL_MIPS_LITERAL: u32 = 7; +pub const IMAGE_REL_MIPS_SECTION: u32 = 10; +pub const IMAGE_REL_MIPS_SECREL: u32 = 11; +pub const IMAGE_REL_MIPS_SECRELLO: u32 = 12; +pub const IMAGE_REL_MIPS_SECRELHI: u32 = 13; +pub const IMAGE_REL_MIPS_TOKEN: u32 = 14; +pub const IMAGE_REL_MIPS_JMPADDR16: u32 = 16; +pub const IMAGE_REL_MIPS_REFWORDNB: u32 = 34; +pub const IMAGE_REL_MIPS_PAIR: u32 = 37; +pub const IMAGE_REL_ALPHA_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_ALPHA_REFLONG: u32 = 1; +pub const IMAGE_REL_ALPHA_REFQUAD: u32 = 2; +pub const IMAGE_REL_ALPHA_GPREL32: u32 = 3; +pub const IMAGE_REL_ALPHA_LITERAL: u32 = 4; +pub const IMAGE_REL_ALPHA_LITUSE: u32 = 5; +pub const IMAGE_REL_ALPHA_GPDISP: u32 = 6; +pub const IMAGE_REL_ALPHA_BRADDR: u32 = 7; +pub const IMAGE_REL_ALPHA_HINT: u32 = 8; +pub const IMAGE_REL_ALPHA_INLINE_REFLONG: u32 = 9; +pub const IMAGE_REL_ALPHA_REFHI: u32 = 10; +pub const IMAGE_REL_ALPHA_REFLO: u32 = 11; +pub const IMAGE_REL_ALPHA_PAIR: u32 = 12; +pub const IMAGE_REL_ALPHA_MATCH: u32 = 13; +pub const IMAGE_REL_ALPHA_SECTION: u32 = 14; +pub const IMAGE_REL_ALPHA_SECREL: u32 = 15; +pub const IMAGE_REL_ALPHA_REFLONGNB: u32 = 16; +pub const IMAGE_REL_ALPHA_SECRELLO: u32 = 17; +pub const IMAGE_REL_ALPHA_SECRELHI: u32 = 18; +pub const IMAGE_REL_ALPHA_REFQ3: u32 = 19; +pub const IMAGE_REL_ALPHA_REFQ2: u32 = 20; +pub const IMAGE_REL_ALPHA_REFQ1: u32 = 21; +pub const IMAGE_REL_ALPHA_GPRELLO: u32 = 22; +pub const IMAGE_REL_ALPHA_GPRELHI: u32 = 23; +pub const IMAGE_REL_PPC_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_PPC_ADDR64: u32 = 1; +pub const IMAGE_REL_PPC_ADDR32: u32 = 2; +pub const IMAGE_REL_PPC_ADDR24: u32 = 3; +pub const IMAGE_REL_PPC_ADDR16: u32 = 4; +pub const IMAGE_REL_PPC_ADDR14: u32 = 5; +pub const IMAGE_REL_PPC_REL24: u32 = 6; +pub const IMAGE_REL_PPC_REL14: u32 = 7; +pub const IMAGE_REL_PPC_TOCREL16: u32 = 8; +pub const IMAGE_REL_PPC_TOCREL14: u32 = 9; +pub const IMAGE_REL_PPC_ADDR32NB: u32 = 10; +pub const IMAGE_REL_PPC_SECREL: u32 = 11; +pub const IMAGE_REL_PPC_SECTION: u32 = 12; +pub const IMAGE_REL_PPC_IFGLUE: u32 = 13; +pub const IMAGE_REL_PPC_IMGLUE: u32 = 14; +pub const IMAGE_REL_PPC_SECREL16: u32 = 15; +pub const IMAGE_REL_PPC_REFHI: u32 = 16; +pub const IMAGE_REL_PPC_REFLO: u32 = 17; +pub const IMAGE_REL_PPC_PAIR: u32 = 18; +pub const IMAGE_REL_PPC_SECRELLO: u32 = 19; +pub const IMAGE_REL_PPC_SECRELHI: u32 = 20; +pub const IMAGE_REL_PPC_GPREL: u32 = 21; +pub const IMAGE_REL_PPC_TOKEN: u32 = 22; +pub const IMAGE_REL_PPC_TYPEMASK: u32 = 255; +pub const IMAGE_REL_PPC_NEG: u32 = 256; +pub const IMAGE_REL_PPC_BRTAKEN: u32 = 512; +pub const IMAGE_REL_PPC_BRNTAKEN: u32 = 1024; +pub const IMAGE_REL_PPC_TOCDEFN: u32 = 2048; +pub const IMAGE_REL_SH3_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_SH3_DIRECT16: u32 = 1; +pub const IMAGE_REL_SH3_DIRECT32: u32 = 2; +pub const IMAGE_REL_SH3_DIRECT8: u32 = 3; +pub const IMAGE_REL_SH3_DIRECT8_WORD: u32 = 4; +pub const IMAGE_REL_SH3_DIRECT8_LONG: u32 = 5; +pub const IMAGE_REL_SH3_DIRECT4: u32 = 6; +pub const IMAGE_REL_SH3_DIRECT4_WORD: u32 = 7; +pub const IMAGE_REL_SH3_DIRECT4_LONG: u32 = 8; +pub const IMAGE_REL_SH3_PCREL8_WORD: u32 = 9; +pub const IMAGE_REL_SH3_PCREL8_LONG: u32 = 10; +pub const IMAGE_REL_SH3_PCREL12_WORD: u32 = 11; +pub const IMAGE_REL_SH3_STARTOF_SECTION: u32 = 12; +pub const IMAGE_REL_SH3_SIZEOF_SECTION: u32 = 13; +pub const IMAGE_REL_SH3_SECTION: u32 = 14; +pub const IMAGE_REL_SH3_SECREL: u32 = 15; +pub const IMAGE_REL_SH3_DIRECT32_NB: u32 = 16; +pub const IMAGE_REL_SH3_GPREL4_LONG: u32 = 17; +pub const IMAGE_REL_SH3_TOKEN: u32 = 18; +pub const IMAGE_REL_SHM_PCRELPT: u32 = 19; +pub const IMAGE_REL_SHM_REFLO: u32 = 20; +pub const IMAGE_REL_SHM_REFHALF: u32 = 21; +pub const IMAGE_REL_SHM_RELLO: u32 = 22; +pub const IMAGE_REL_SHM_RELHALF: u32 = 23; +pub const IMAGE_REL_SHM_PAIR: u32 = 24; +pub const IMAGE_REL_SH_NOMODE: u32 = 32768; +pub const IMAGE_REL_ARM_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_ARM_ADDR32: u32 = 1; +pub const IMAGE_REL_ARM_ADDR32NB: u32 = 2; +pub const IMAGE_REL_ARM_BRANCH24: u32 = 3; +pub const IMAGE_REL_ARM_BRANCH11: u32 = 4; +pub const IMAGE_REL_ARM_TOKEN: u32 = 5; +pub const IMAGE_REL_ARM_GPREL12: u32 = 6; +pub const IMAGE_REL_ARM_GPREL7: u32 = 7; +pub const IMAGE_REL_ARM_BLX24: u32 = 8; +pub const IMAGE_REL_ARM_BLX11: u32 = 9; +pub const IMAGE_REL_ARM_SECTION: u32 = 14; +pub const IMAGE_REL_ARM_SECREL: u32 = 15; +pub const IMAGE_REL_ARM_MOV32A: u32 = 16; +pub const IMAGE_REL_ARM_MOV32: u32 = 16; +pub const IMAGE_REL_ARM_MOV32T: u32 = 17; +pub const IMAGE_REL_THUMB_MOV32: u32 = 17; +pub const IMAGE_REL_ARM_BRANCH20T: u32 = 18; +pub const IMAGE_REL_THUMB_BRANCH20: u32 = 18; +pub const IMAGE_REL_ARM_BRANCH24T: u32 = 20; +pub const IMAGE_REL_THUMB_BRANCH24: u32 = 20; +pub const IMAGE_REL_ARM_BLX23T: u32 = 21; +pub const IMAGE_REL_THUMB_BLX23: u32 = 21; +pub const IMAGE_REL_AM_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_AM_ADDR32: u32 = 1; +pub const IMAGE_REL_AM_ADDR32NB: u32 = 2; +pub const IMAGE_REL_AM_CALL32: u32 = 3; +pub const IMAGE_REL_AM_FUNCINFO: u32 = 4; +pub const IMAGE_REL_AM_REL32_1: u32 = 5; +pub const IMAGE_REL_AM_REL32_2: u32 = 6; +pub const IMAGE_REL_AM_SECREL: u32 = 7; +pub const IMAGE_REL_AM_SECTION: u32 = 8; +pub const IMAGE_REL_AM_TOKEN: u32 = 9; +pub const IMAGE_REL_ARM64_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_ARM64_ADDR32: u32 = 1; +pub const IMAGE_REL_ARM64_ADDR32NB: u32 = 2; +pub const IMAGE_REL_ARM64_BRANCH26: u32 = 3; +pub const IMAGE_REL_ARM64_PAGEBASE_REL21: u32 = 4; +pub const IMAGE_REL_ARM64_REL21: u32 = 5; +pub const IMAGE_REL_ARM64_PAGEOFFSET_12A: u32 = 6; +pub const IMAGE_REL_ARM64_PAGEOFFSET_12L: u32 = 7; +pub const IMAGE_REL_ARM64_SECREL: u32 = 8; +pub const IMAGE_REL_ARM64_SECREL_LOW12A: u32 = 9; +pub const IMAGE_REL_ARM64_SECREL_HIGH12A: u32 = 10; +pub const IMAGE_REL_ARM64_SECREL_LOW12L: u32 = 11; +pub const IMAGE_REL_ARM64_TOKEN: u32 = 12; +pub const IMAGE_REL_ARM64_SECTION: u32 = 13; +pub const IMAGE_REL_ARM64_ADDR64: u32 = 14; +pub const IMAGE_REL_ARM64_BRANCH19: u32 = 15; +pub const IMAGE_REL_AMD64_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_AMD64_ADDR64: u32 = 1; +pub const IMAGE_REL_AMD64_ADDR32: u32 = 2; +pub const IMAGE_REL_AMD64_ADDR32NB: u32 = 3; +pub const IMAGE_REL_AMD64_REL32: u32 = 4; +pub const IMAGE_REL_AMD64_REL32_1: u32 = 5; +pub const IMAGE_REL_AMD64_REL32_2: u32 = 6; +pub const IMAGE_REL_AMD64_REL32_3: u32 = 7; +pub const IMAGE_REL_AMD64_REL32_4: u32 = 8; +pub const IMAGE_REL_AMD64_REL32_5: u32 = 9; +pub const IMAGE_REL_AMD64_SECTION: u32 = 10; +pub const IMAGE_REL_AMD64_SECREL: u32 = 11; +pub const IMAGE_REL_AMD64_SECREL7: u32 = 12; +pub const IMAGE_REL_AMD64_TOKEN: u32 = 13; +pub const IMAGE_REL_AMD64_SREL32: u32 = 14; +pub const IMAGE_REL_AMD64_PAIR: u32 = 15; +pub const IMAGE_REL_AMD64_SSPAN32: u32 = 16; +pub const IMAGE_REL_AMD64_EHANDLER: u32 = 17; +pub const IMAGE_REL_AMD64_IMPORT_BR: u32 = 18; +pub const IMAGE_REL_AMD64_IMPORT_CALL: u32 = 19; +pub const IMAGE_REL_AMD64_CFG_BR: u32 = 20; +pub const IMAGE_REL_AMD64_CFG_BR_REX: u32 = 21; +pub const IMAGE_REL_AMD64_CFG_CALL: u32 = 22; +pub const IMAGE_REL_AMD64_INDIR_BR: u32 = 23; +pub const IMAGE_REL_AMD64_INDIR_BR_REX: u32 = 24; +pub const IMAGE_REL_AMD64_INDIR_CALL: u32 = 25; +pub const IMAGE_REL_AMD64_INDIR_BR_SWITCHTABLE_FIRST: u32 = 32; +pub const IMAGE_REL_AMD64_INDIR_BR_SWITCHTABLE_LAST: u32 = 47; +pub const IMAGE_REL_IA64_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_IA64_IMM14: u32 = 1; +pub const IMAGE_REL_IA64_IMM22: u32 = 2; +pub const IMAGE_REL_IA64_IMM64: u32 = 3; +pub const IMAGE_REL_IA64_DIR32: u32 = 4; +pub const IMAGE_REL_IA64_DIR64: u32 = 5; +pub const IMAGE_REL_IA64_PCREL21B: u32 = 6; +pub const IMAGE_REL_IA64_PCREL21M: u32 = 7; +pub const IMAGE_REL_IA64_PCREL21F: u32 = 8; +pub const IMAGE_REL_IA64_GPREL22: u32 = 9; +pub const IMAGE_REL_IA64_LTOFF22: u32 = 10; +pub const IMAGE_REL_IA64_SECTION: u32 = 11; +pub const IMAGE_REL_IA64_SECREL22: u32 = 12; +pub const IMAGE_REL_IA64_SECREL64I: u32 = 13; +pub const IMAGE_REL_IA64_SECREL32: u32 = 14; +pub const IMAGE_REL_IA64_DIR32NB: u32 = 16; +pub const IMAGE_REL_IA64_SREL14: u32 = 17; +pub const IMAGE_REL_IA64_SREL22: u32 = 18; +pub const IMAGE_REL_IA64_SREL32: u32 = 19; +pub const IMAGE_REL_IA64_UREL32: u32 = 20; +pub const IMAGE_REL_IA64_PCREL60X: u32 = 21; +pub const IMAGE_REL_IA64_PCREL60B: u32 = 22; +pub const IMAGE_REL_IA64_PCREL60F: u32 = 23; +pub const IMAGE_REL_IA64_PCREL60I: u32 = 24; +pub const IMAGE_REL_IA64_PCREL60M: u32 = 25; +pub const IMAGE_REL_IA64_IMMGPREL64: u32 = 26; +pub const IMAGE_REL_IA64_TOKEN: u32 = 27; +pub const IMAGE_REL_IA64_GPREL32: u32 = 28; +pub const IMAGE_REL_IA64_ADDEND: u32 = 31; +pub const IMAGE_REL_CEF_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_CEF_ADDR32: u32 = 1; +pub const IMAGE_REL_CEF_ADDR64: u32 = 2; +pub const IMAGE_REL_CEF_ADDR32NB: u32 = 3; +pub const IMAGE_REL_CEF_SECTION: u32 = 4; +pub const IMAGE_REL_CEF_SECREL: u32 = 5; +pub const IMAGE_REL_CEF_TOKEN: u32 = 6; +pub const IMAGE_REL_CEE_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_CEE_ADDR32: u32 = 1; +pub const IMAGE_REL_CEE_ADDR64: u32 = 2; +pub const IMAGE_REL_CEE_ADDR32NB: u32 = 3; +pub const IMAGE_REL_CEE_SECTION: u32 = 4; +pub const IMAGE_REL_CEE_SECREL: u32 = 5; +pub const IMAGE_REL_CEE_TOKEN: u32 = 6; +pub const IMAGE_REL_M32R_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_M32R_ADDR32: u32 = 1; +pub const IMAGE_REL_M32R_ADDR32NB: u32 = 2; +pub const IMAGE_REL_M32R_ADDR24: u32 = 3; +pub const IMAGE_REL_M32R_GPREL16: u32 = 4; +pub const IMAGE_REL_M32R_PCREL24: u32 = 5; +pub const IMAGE_REL_M32R_PCREL16: u32 = 6; +pub const IMAGE_REL_M32R_PCREL8: u32 = 7; +pub const IMAGE_REL_M32R_REFHALF: u32 = 8; +pub const IMAGE_REL_M32R_REFHI: u32 = 9; +pub const IMAGE_REL_M32R_REFLO: u32 = 10; +pub const IMAGE_REL_M32R_PAIR: u32 = 11; +pub const IMAGE_REL_M32R_SECTION: u32 = 12; +pub const IMAGE_REL_M32R_SECREL32: u32 = 13; +pub const IMAGE_REL_M32R_TOKEN: u32 = 14; +pub const IMAGE_REL_EBC_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_EBC_ADDR32NB: u32 = 1; +pub const IMAGE_REL_EBC_REL32: u32 = 2; +pub const IMAGE_REL_EBC_SECTION: u32 = 3; +pub const IMAGE_REL_EBC_SECREL: u32 = 4; +pub const EMARCH_ENC_I17_IMM7B_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_IMM7B_SIZE_X: u32 = 7; +pub const EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X: u32 = 4; +pub const EMARCH_ENC_I17_IMM7B_VAL_POS_X: u32 = 0; +pub const EMARCH_ENC_I17_IMM9D_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_IMM9D_SIZE_X: u32 = 9; +pub const EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X: u32 = 18; +pub const EMARCH_ENC_I17_IMM9D_VAL_POS_X: u32 = 7; +pub const EMARCH_ENC_I17_IMM5C_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_IMM5C_SIZE_X: u32 = 5; +pub const EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X: u32 = 13; +pub const EMARCH_ENC_I17_IMM5C_VAL_POS_X: u32 = 16; +pub const EMARCH_ENC_I17_IC_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_IC_SIZE_X: u32 = 1; +pub const EMARCH_ENC_I17_IC_INST_WORD_POS_X: u32 = 12; +pub const EMARCH_ENC_I17_IC_VAL_POS_X: u32 = 21; +pub const EMARCH_ENC_I17_IMM41a_INST_WORD_X: u32 = 1; +pub const EMARCH_ENC_I17_IMM41a_SIZE_X: u32 = 10; +pub const EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X: u32 = 14; +pub const EMARCH_ENC_I17_IMM41a_VAL_POS_X: u32 = 22; +pub const EMARCH_ENC_I17_IMM41b_INST_WORD_X: u32 = 1; +pub const EMARCH_ENC_I17_IMM41b_SIZE_X: u32 = 8; +pub const EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X: u32 = 24; +pub const EMARCH_ENC_I17_IMM41b_VAL_POS_X: u32 = 32; +pub const EMARCH_ENC_I17_IMM41c_INST_WORD_X: u32 = 2; +pub const EMARCH_ENC_I17_IMM41c_SIZE_X: u32 = 23; +pub const EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X: u32 = 0; +pub const EMARCH_ENC_I17_IMM41c_VAL_POS_X: u32 = 40; +pub const EMARCH_ENC_I17_SIGN_INST_WORD_X: u32 = 3; +pub const EMARCH_ENC_I17_SIGN_SIZE_X: u32 = 1; +pub const EMARCH_ENC_I17_SIGN_INST_WORD_POS_X: u32 = 27; +pub const EMARCH_ENC_I17_SIGN_VAL_POS_X: u32 = 63; +pub const X3_OPCODE_INST_WORD_X: u32 = 3; +pub const X3_OPCODE_SIZE_X: u32 = 4; +pub const X3_OPCODE_INST_WORD_POS_X: u32 = 28; +pub const X3_OPCODE_SIGN_VAL_POS_X: u32 = 0; +pub const X3_I_INST_WORD_X: u32 = 3; +pub const X3_I_SIZE_X: u32 = 1; +pub const X3_I_INST_WORD_POS_X: u32 = 27; +pub const X3_I_SIGN_VAL_POS_X: u32 = 59; +pub const X3_D_WH_INST_WORD_X: u32 = 3; +pub const X3_D_WH_SIZE_X: u32 = 3; +pub const X3_D_WH_INST_WORD_POS_X: u32 = 24; +pub const X3_D_WH_SIGN_VAL_POS_X: u32 = 0; +pub const X3_IMM20_INST_WORD_X: u32 = 3; +pub const X3_IMM20_SIZE_X: u32 = 20; +pub const X3_IMM20_INST_WORD_POS_X: u32 = 4; +pub const X3_IMM20_SIGN_VAL_POS_X: u32 = 0; +pub const X3_IMM39_1_INST_WORD_X: u32 = 2; +pub const X3_IMM39_1_SIZE_X: u32 = 23; +pub const X3_IMM39_1_INST_WORD_POS_X: u32 = 0; +pub const X3_IMM39_1_SIGN_VAL_POS_X: u32 = 36; +pub const X3_IMM39_2_INST_WORD_X: u32 = 1; +pub const X3_IMM39_2_SIZE_X: u32 = 16; +pub const X3_IMM39_2_INST_WORD_POS_X: u32 = 16; +pub const X3_IMM39_2_SIGN_VAL_POS_X: u32 = 20; +pub const X3_P_INST_WORD_X: u32 = 3; +pub const X3_P_SIZE_X: u32 = 4; +pub const X3_P_INST_WORD_POS_X: u32 = 0; +pub const X3_P_SIGN_VAL_POS_X: u32 = 0; +pub const X3_TMPLT_INST_WORD_X: u32 = 0; +pub const X3_TMPLT_SIZE_X: u32 = 4; +pub const X3_TMPLT_INST_WORD_POS_X: u32 = 0; +pub const X3_TMPLT_SIGN_VAL_POS_X: u32 = 0; +pub const X3_BTYPE_QP_INST_WORD_X: u32 = 2; +pub const X3_BTYPE_QP_SIZE_X: u32 = 9; +pub const X3_BTYPE_QP_INST_WORD_POS_X: u32 = 23; +pub const X3_BTYPE_QP_INST_VAL_POS_X: u32 = 0; +pub const X3_EMPTY_INST_WORD_X: u32 = 1; +pub const X3_EMPTY_SIZE_X: u32 = 2; +pub const X3_EMPTY_INST_WORD_POS_X: u32 = 14; +pub const X3_EMPTY_INST_VAL_POS_X: u32 = 0; +pub const IMAGE_REL_BASED_ABSOLUTE: u32 = 0; +pub const IMAGE_REL_BASED_HIGH: u32 = 1; +pub const IMAGE_REL_BASED_LOW: u32 = 2; +pub const IMAGE_REL_BASED_HIGHLOW: u32 = 3; +pub const IMAGE_REL_BASED_HIGHADJ: u32 = 4; +pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_5: u32 = 5; +pub const IMAGE_REL_BASED_RESERVED: u32 = 6; +pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_7: u32 = 7; +pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_8: u32 = 8; +pub const IMAGE_REL_BASED_MACHINE_SPECIFIC_9: u32 = 9; +pub const IMAGE_REL_BASED_DIR64: u32 = 10; +pub const IMAGE_REL_BASED_IA64_IMM64: u32 = 9; +pub const IMAGE_REL_BASED_MIPS_JMPADDR: u32 = 5; +pub const IMAGE_REL_BASED_MIPS_JMPADDR16: u32 = 9; +pub const IMAGE_REL_BASED_ARM_MOV32: u32 = 5; +pub const IMAGE_REL_BASED_THUMB_MOV32: u32 = 7; +pub const IMAGE_ARCHIVE_START_SIZE: u32 = 8; +pub const IMAGE_ARCHIVE_START: &[u8; 9usize] = b"!\n\0"; +pub const IMAGE_ARCHIVE_END: &[u8; 3usize] = b"`\n\0"; +pub const IMAGE_ARCHIVE_PAD: &[u8; 2usize] = b"\n\0"; +pub const IMAGE_ARCHIVE_LINKER_MEMBER: &[u8; 17usize] = b"/ \0"; +pub const IMAGE_ARCHIVE_LONGNAMES_MEMBER: &[u8; 17usize] = b"// \0"; +pub const IMAGE_ARCHIVE_HYBRIDMAP_MEMBER: &[u8; 17usize] = b"// \0"; +pub const IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR: u32 = 60; +pub const IMAGE_ORDINAL_FLAG64: i64 = -9223372036854775808; +pub const IMAGE_ORDINAL_FLAG32: u32 = 2147483648; +pub const IMAGE_ORDINAL_FLAG: i64 = -9223372036854775808; +pub const IMAGE_RESOURCE_NAME_IS_STRING: u32 = 2147483648; +pub const IMAGE_RESOURCE_DATA_IS_DIRECTORY: u32 = 2147483648; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_RF_PROLOGUE: u32 = 1; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_RF_EPILOGUE: u32 = 2; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_IMPORT_CONTROL_TRANSFER: u32 = 3; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_INDIR_CONTROL_TRANSFER: u32 = 4; +pub const IMAGE_DYNAMIC_RELOCATION_GUARD_SWITCHTABLE_BRANCH: u32 = 5; +pub const IMAGE_HOT_PATCH_BASE_OBLIGATORY: u32 = 1; +pub const IMAGE_HOT_PATCH_BASE_CAN_ROLL_BACK: u32 = 2; +pub const IMAGE_HOT_PATCH_CHUNK_INVERSE: u32 = 2147483648; +pub const IMAGE_HOT_PATCH_CHUNK_OBLIGATORY: u32 = 1073741824; +pub const IMAGE_HOT_PATCH_CHUNK_RESERVED: u32 = 1072705536; +pub const IMAGE_HOT_PATCH_CHUNK_TYPE: u32 = 1032192; +pub const IMAGE_HOT_PATCH_CHUNK_SOURCE_RVA: u32 = 32768; +pub const IMAGE_HOT_PATCH_CHUNK_TARGET_RVA: u32 = 16384; +pub const IMAGE_HOT_PATCH_CHUNK_SIZE: u32 = 4095; +pub const IMAGE_HOT_PATCH_NONE: u32 = 0; +pub const IMAGE_HOT_PATCH_FUNCTION: u32 = 114688; +pub const IMAGE_HOT_PATCH_ABSOLUTE: u32 = 180224; +pub const IMAGE_HOT_PATCH_REL32: u32 = 245760; +pub const IMAGE_HOT_PATCH_CALL_TARGET: u32 = 278528; +pub const IMAGE_HOT_PATCH_INDIRECT: u32 = 376832; +pub const IMAGE_HOT_PATCH_NO_CALL_TARGET: u32 = 409600; +pub const IMAGE_HOT_PATCH_DYNAMIC_VALUE: u32 = 491520; +pub const IMAGE_GUARD_CF_INSTRUMENTED: u32 = 256; +pub const IMAGE_GUARD_CFW_INSTRUMENTED: u32 = 512; +pub const IMAGE_GUARD_CF_FUNCTION_TABLE_PRESENT: u32 = 1024; +pub const IMAGE_GUARD_SECURITY_COOKIE_UNUSED: u32 = 2048; +pub const IMAGE_GUARD_PROTECT_DELAYLOAD_IAT: u32 = 4096; +pub const IMAGE_GUARD_DELAYLOAD_IAT_IN_ITS_OWN_SECTION: u32 = 8192; +pub const IMAGE_GUARD_CF_EXPORT_SUPPRESSION_INFO_PRESENT: u32 = 16384; +pub const IMAGE_GUARD_CF_ENABLE_EXPORT_SUPPRESSION: u32 = 32768; +pub const IMAGE_GUARD_CF_LONGJUMP_TABLE_PRESENT: u32 = 65536; +pub const IMAGE_GUARD_RF_INSTRUMENTED: u32 = 131072; +pub const IMAGE_GUARD_RF_ENABLE: u32 = 262144; +pub const IMAGE_GUARD_RF_STRICT: u32 = 524288; +pub const IMAGE_GUARD_RETPOLINE_PRESENT: u32 = 1048576; +pub const IMAGE_GUARD_EH_CONTINUATION_TABLE_PRESENT: u32 = 4194304; +pub const IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_MASK: u32 = 4026531840; +pub const IMAGE_GUARD_CF_FUNCTION_TABLE_SIZE_SHIFT: u32 = 28; +pub const IMAGE_GUARD_FLAG_FID_SUPPRESSED: u32 = 1; +pub const IMAGE_GUARD_FLAG_EXPORT_SUPPRESSED: u32 = 2; +pub const IMAGE_ENCLAVE_LONG_ID_LENGTH: u32 = 32; +pub const IMAGE_ENCLAVE_SHORT_ID_LENGTH: u32 = 16; +pub const IMAGE_ENCLAVE_POLICY_DEBUGGABLE: u32 = 1; +pub const IMAGE_ENCLAVE_FLAG_PRIMARY_IMAGE: u32 = 1; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_NONE: u32 = 0; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_UNIQUE_ID: u32 = 1; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_AUTHOR_ID: u32 = 2; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_FAMILY_ID: u32 = 3; +pub const IMAGE_ENCLAVE_IMPORT_MATCH_IMAGE_ID: u32 = 4; +pub const IMAGE_DEBUG_TYPE_UNKNOWN: u32 = 0; +pub const IMAGE_DEBUG_TYPE_COFF: u32 = 1; +pub const IMAGE_DEBUG_TYPE_CODEVIEW: u32 = 2; +pub const IMAGE_DEBUG_TYPE_FPO: u32 = 3; +pub const IMAGE_DEBUG_TYPE_MISC: u32 = 4; +pub const IMAGE_DEBUG_TYPE_EXCEPTION: u32 = 5; +pub const IMAGE_DEBUG_TYPE_FIXUP: u32 = 6; +pub const IMAGE_DEBUG_TYPE_OMAP_TO_SRC: u32 = 7; +pub const IMAGE_DEBUG_TYPE_OMAP_FROM_SRC: u32 = 8; +pub const IMAGE_DEBUG_TYPE_BORLAND: u32 = 9; +pub const IMAGE_DEBUG_TYPE_RESERVED10: u32 = 10; +pub const IMAGE_DEBUG_TYPE_CLSID: u32 = 11; +pub const IMAGE_DEBUG_TYPE_VC_FEATURE: u32 = 12; +pub const IMAGE_DEBUG_TYPE_POGO: u32 = 13; +pub const IMAGE_DEBUG_TYPE_ILTCG: u32 = 14; +pub const IMAGE_DEBUG_TYPE_MPX: u32 = 15; +pub const IMAGE_DEBUG_TYPE_REPRO: u32 = 16; +pub const IMAGE_DEBUG_TYPE_EX_DLLCHARACTERISTICS: u32 = 20; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT: u32 = 1; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_COMPAT_STRICT_MODE: u32 = 2; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_SET_CONTEXT_IP_VALIDATION_RELAXED_MODE: u32 = 4; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_DYNAMIC_APIS_ALLOW_IN_PROC: u32 = 8; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_RESERVED_1: u32 = 16; +pub const IMAGE_DLLCHARACTERISTICS_EX_CET_RESERVED_2: u32 = 32; +pub const FRAME_FPO: u32 = 0; +pub const FRAME_TRAP: u32 = 1; +pub const FRAME_TSS: u32 = 2; +pub const FRAME_NONFPO: u32 = 3; +pub const SIZEOF_RFPO_DATA: u32 = 16; +pub const IMAGE_DEBUG_MISC_EXENAME: u32 = 1; +pub const IMAGE_SEPARATE_DEBUG_SIGNATURE: u32 = 18756; +pub const NON_PAGED_DEBUG_SIGNATURE: u32 = 18766; +pub const IMAGE_SEPARATE_DEBUG_FLAGS_MASK: u32 = 32768; +pub const IMAGE_SEPARATE_DEBUG_MISMATCH: u32 = 32768; +pub const IMPORT_OBJECT_HDR_SIG2: u32 = 65535; +pub const RTL_RUN_ONCE_CHECK_ONLY: u32 = 1; +pub const RTL_RUN_ONCE_ASYNC: u32 = 2; +pub const RTL_RUN_ONCE_INIT_FAILED: u32 = 4; +pub const RTL_RUN_ONCE_CTX_RESERVED_BITS: u32 = 2; +pub const FAST_FAIL_LEGACY_GS_VIOLATION: u32 = 0; +pub const FAST_FAIL_VTGUARD_CHECK_FAILURE: u32 = 1; +pub const FAST_FAIL_STACK_COOKIE_CHECK_FAILURE: u32 = 2; +pub const FAST_FAIL_CORRUPT_LIST_ENTRY: u32 = 3; +pub const FAST_FAIL_INCORRECT_STACK: u32 = 4; +pub const FAST_FAIL_INVALID_ARG: u32 = 5; +pub const FAST_FAIL_GS_COOKIE_INIT: u32 = 6; +pub const FAST_FAIL_FATAL_APP_EXIT: u32 = 7; +pub const FAST_FAIL_RANGE_CHECK_FAILURE: u32 = 8; +pub const FAST_FAIL_UNSAFE_REGISTRY_ACCESS: u32 = 9; +pub const FAST_FAIL_GUARD_ICALL_CHECK_FAILURE: u32 = 10; +pub const FAST_FAIL_GUARD_WRITE_CHECK_FAILURE: u32 = 11; +pub const FAST_FAIL_INVALID_FIBER_SWITCH: u32 = 12; +pub const FAST_FAIL_INVALID_SET_OF_CONTEXT: u32 = 13; +pub const FAST_FAIL_INVALID_REFERENCE_COUNT: u32 = 14; +pub const FAST_FAIL_INVALID_JUMP_BUFFER: u32 = 18; +pub const FAST_FAIL_MRDATA_MODIFIED: u32 = 19; +pub const FAST_FAIL_CERTIFICATION_FAILURE: u32 = 20; +pub const FAST_FAIL_INVALID_EXCEPTION_CHAIN: u32 = 21; +pub const FAST_FAIL_CRYPTO_LIBRARY: u32 = 22; +pub const FAST_FAIL_INVALID_CALL_IN_DLL_CALLOUT: u32 = 23; +pub const FAST_FAIL_INVALID_IMAGE_BASE: u32 = 24; +pub const FAST_FAIL_DLOAD_PROTECTION_FAILURE: u32 = 25; +pub const FAST_FAIL_UNSAFE_EXTENSION_CALL: u32 = 26; +pub const FAST_FAIL_DEPRECATED_SERVICE_INVOKED: u32 = 27; +pub const FAST_FAIL_INVALID_BUFFER_ACCESS: u32 = 28; +pub const FAST_FAIL_INVALID_BALANCED_TREE: u32 = 29; +pub const FAST_FAIL_INVALID_NEXT_THREAD: u32 = 30; +pub const FAST_FAIL_GUARD_ICALL_CHECK_SUPPRESSED: u32 = 31; +pub const FAST_FAIL_APCS_DISABLED: u32 = 32; +pub const FAST_FAIL_INVALID_IDLE_STATE: u32 = 33; +pub const FAST_FAIL_MRDATA_PROTECTION_FAILURE: u32 = 34; +pub const FAST_FAIL_UNEXPECTED_HEAP_EXCEPTION: u32 = 35; +pub const FAST_FAIL_INVALID_LOCK_STATE: u32 = 36; +pub const FAST_FAIL_GUARD_JUMPTABLE: u32 = 37; +pub const FAST_FAIL_INVALID_LONGJUMP_TARGET: u32 = 38; +pub const FAST_FAIL_INVALID_DISPATCH_CONTEXT: u32 = 39; +pub const FAST_FAIL_INVALID_THREAD: u32 = 40; +pub const FAST_FAIL_INVALID_SYSCALL_NUMBER: u32 = 41; +pub const FAST_FAIL_INVALID_FILE_OPERATION: u32 = 42; +pub const FAST_FAIL_LPAC_ACCESS_DENIED: u32 = 43; +pub const FAST_FAIL_GUARD_SS_FAILURE: u32 = 44; +pub const FAST_FAIL_LOADER_CONTINUITY_FAILURE: u32 = 45; +pub const FAST_FAIL_GUARD_EXPORT_SUPPRESSION_FAILURE: u32 = 46; +pub const FAST_FAIL_INVALID_CONTROL_STACK: u32 = 47; +pub const FAST_FAIL_SET_CONTEXT_DENIED: u32 = 48; +pub const FAST_FAIL_INVALID_IAT: u32 = 49; +pub const FAST_FAIL_HEAP_METADATA_CORRUPTION: u32 = 50; +pub const FAST_FAIL_PAYLOAD_RESTRICTION_VIOLATION: u32 = 51; +pub const FAST_FAIL_LOW_LABEL_ACCESS_DENIED: u32 = 52; +pub const FAST_FAIL_ENCLAVE_CALL_FAILURE: u32 = 53; +pub const FAST_FAIL_UNHANDLED_LSS_EXCEPTON: u32 = 54; +pub const FAST_FAIL_ADMINLESS_ACCESS_DENIED: u32 = 55; +pub const FAST_FAIL_UNEXPECTED_CALL: u32 = 56; +pub const FAST_FAIL_CONTROL_INVALID_RETURN_ADDRESS: u32 = 57; +pub const FAST_FAIL_UNEXPECTED_HOST_BEHAVIOR: u32 = 58; +pub const FAST_FAIL_FLAGS_CORRUPTION: u32 = 59; +pub const FAST_FAIL_VEH_CORRUPTION: u32 = 60; +pub const FAST_FAIL_ETW_CORRUPTION: u32 = 61; +pub const FAST_FAIL_RIO_ABORT: u32 = 62; +pub const FAST_FAIL_INVALID_PFN: u32 = 63; +pub const FAST_FAIL_INVALID_FAST_FAIL_CODE: u32 = 4294967295; +pub const HEAP_NO_SERIALIZE: u32 = 1; +pub const HEAP_GROWABLE: u32 = 2; +pub const HEAP_GENERATE_EXCEPTIONS: u32 = 4; +pub const HEAP_ZERO_MEMORY: u32 = 8; +pub const HEAP_REALLOC_IN_PLACE_ONLY: u32 = 16; +pub const HEAP_TAIL_CHECKING_ENABLED: u32 = 32; +pub const HEAP_FREE_CHECKING_ENABLED: u32 = 64; +pub const HEAP_DISABLE_COALESCE_ON_FREE: u32 = 128; +pub const HEAP_CREATE_ALIGN_16: u32 = 65536; +pub const HEAP_CREATE_ENABLE_TRACING: u32 = 131072; +pub const HEAP_CREATE_ENABLE_EXECUTE: u32 = 262144; +pub const HEAP_MAXIMUM_TAG: u32 = 4095; +pub const HEAP_PSEUDO_TAG_FLAG: u32 = 32768; +pub const HEAP_TAG_SHIFT: u32 = 18; +pub const HEAP_CREATE_SEGMENT_HEAP: u32 = 256; +pub const HEAP_CREATE_HARDENED: u32 = 512; +pub const IS_TEXT_UNICODE_ASCII16: u32 = 1; +pub const IS_TEXT_UNICODE_REVERSE_ASCII16: u32 = 16; +pub const IS_TEXT_UNICODE_STATISTICS: u32 = 2; +pub const IS_TEXT_UNICODE_REVERSE_STATISTICS: u32 = 32; +pub const IS_TEXT_UNICODE_CONTROLS: u32 = 4; +pub const IS_TEXT_UNICODE_REVERSE_CONTROLS: u32 = 64; +pub const IS_TEXT_UNICODE_SIGNATURE: u32 = 8; +pub const IS_TEXT_UNICODE_REVERSE_SIGNATURE: u32 = 128; +pub const IS_TEXT_UNICODE_ILLEGAL_CHARS: u32 = 256; +pub const IS_TEXT_UNICODE_ODD_LENGTH: u32 = 512; +pub const IS_TEXT_UNICODE_DBCS_LEADBYTE: u32 = 1024; +pub const IS_TEXT_UNICODE_NULL_BYTES: u32 = 4096; +pub const IS_TEXT_UNICODE_UNICODE_MASK: u32 = 15; +pub const IS_TEXT_UNICODE_REVERSE_MASK: u32 = 240; +pub const IS_TEXT_UNICODE_NOT_UNICODE_MASK: u32 = 3840; +pub const IS_TEXT_UNICODE_NOT_ASCII_MASK: u32 = 61440; +pub const COMPRESSION_FORMAT_NONE: u32 = 0; +pub const COMPRESSION_FORMAT_DEFAULT: u32 = 1; +pub const COMPRESSION_FORMAT_LZNT1: u32 = 2; +pub const COMPRESSION_FORMAT_XPRESS: u32 = 3; +pub const COMPRESSION_FORMAT_XPRESS_HUFF: u32 = 4; +pub const COMPRESSION_ENGINE_STANDARD: u32 = 0; +pub const COMPRESSION_ENGINE_MAXIMUM: u32 = 256; +pub const COMPRESSION_ENGINE_HIBER: u32 = 512; +pub const SEF_DACL_AUTO_INHERIT: u32 = 1; +pub const SEF_SACL_AUTO_INHERIT: u32 = 2; +pub const SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT: u32 = 4; +pub const SEF_AVOID_PRIVILEGE_CHECK: u32 = 8; +pub const SEF_AVOID_OWNER_CHECK: u32 = 16; +pub const SEF_DEFAULT_OWNER_FROM_PARENT: u32 = 32; +pub const SEF_DEFAULT_GROUP_FROM_PARENT: u32 = 64; +pub const SEF_MACL_NO_WRITE_UP: u32 = 256; +pub const SEF_MACL_NO_READ_UP: u32 = 512; +pub const SEF_MACL_NO_EXECUTE_UP: u32 = 1024; +pub const SEF_AI_USE_EXTRA_PARAMS: u32 = 2048; +pub const SEF_AVOID_OWNER_RESTRICTION: u32 = 4096; +pub const SEF_FORCE_USER_MODE: u32 = 8192; +pub const SEF_MACL_VALID_FLAGS: u32 = 1792; +pub const MESSAGE_RESOURCE_UNICODE: u32 = 1; +pub const MESSAGE_RESOURCE_UTF8: u32 = 2; +pub const VER_EQUAL: u32 = 1; +pub const VER_GREATER: u32 = 2; +pub const VER_GREATER_EQUAL: u32 = 3; +pub const VER_LESS: u32 = 4; +pub const VER_LESS_EQUAL: u32 = 5; +pub const VER_AND: u32 = 6; +pub const VER_OR: u32 = 7; +pub const VER_CONDITION_MASK: u32 = 7; +pub const VER_NUM_BITS_PER_CONDITION_MASK: u32 = 3; +pub const VER_MINORVERSION: u32 = 1; +pub const VER_MAJORVERSION: u32 = 2; +pub const VER_BUILDNUMBER: u32 = 4; +pub const VER_PLATFORMID: u32 = 8; +pub const VER_SERVICEPACKMINOR: u32 = 16; +pub const VER_SERVICEPACKMAJOR: u32 = 32; +pub const VER_SUITENAME: u32 = 64; +pub const VER_PRODUCT_TYPE: u32 = 128; +pub const VER_NT_WORKSTATION: u32 = 1; +pub const VER_NT_DOMAIN_CONTROLLER: u32 = 2; +pub const VER_NT_SERVER: u32 = 3; +pub const VER_PLATFORM_WIN32s: u32 = 0; +pub const VER_PLATFORM_WIN32_WINDOWS: u32 = 1; +pub const VER_PLATFORM_WIN32_NT: u32 = 2; +pub const RTL_UMS_VERSION: u32 = 256; +pub const VRL_PREDEFINED_CLASS_BEGIN: u32 = 1; +pub const VRL_CUSTOM_CLASS_BEGIN: u32 = 256; +pub const VRL_CLASS_CONSISTENCY: u32 = 1; +pub const VRL_ENABLE_KERNEL_BREAKS: u32 = 2147483648; +pub const CTMF_INCLUDE_APPCONTAINER: u32 = 1; +pub const CTMF_INCLUDE_LPAC: u32 = 2; +pub const CTMF_VALID_FLAGS: u32 = 3; +pub const FLUSH_NV_MEMORY_IN_FLAG_NO_DRAIN: u32 = 1; +pub const WRITE_NV_MEMORY_FLAG_FLUSH: u32 = 1; +pub const WRITE_NV_MEMORY_FLAG_NON_TEMPORAL: u32 = 2; +pub const WRITE_NV_MEMORY_FLAG_PERSIST: u32 = 3; +pub const WRITE_NV_MEMORY_FLAG_NO_DRAIN: u32 = 256; +pub const FILL_NV_MEMORY_FLAG_FLUSH: u32 = 1; +pub const FILL_NV_MEMORY_FLAG_NON_TEMPORAL: u32 = 2; +pub const FILL_NV_MEMORY_FLAG_PERSIST: u32 = 3; +pub const FILL_NV_MEMORY_FLAG_NO_DRAIN: u32 = 256; +pub const RTL_CORRELATION_VECTOR_STRING_LENGTH: u32 = 129; +pub const RTL_CORRELATION_VECTOR_V1_PREFIX_LENGTH: u32 = 16; +pub const RTL_CORRELATION_VECTOR_V1_LENGTH: u32 = 64; +pub const RTL_CORRELATION_VECTOR_V2_PREFIX_LENGTH: u32 = 22; +pub const RTL_CORRELATION_VECTOR_V2_LENGTH: u32 = 128; +pub const IMAGE_POLICY_METADATA_VERSION: u32 = 1; +pub const IMAGE_POLICY_SECTION_NAME: &[u8; 9usize] = b".tPolicy\0"; +pub const RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO: u32 = 16777216; +pub const RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN: u32 = 33554432; +pub const RTL_CRITICAL_SECTION_FLAG_STATIC_INIT: u32 = 67108864; +pub const RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE: u32 = 134217728; +pub const RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO: u32 = 268435456; +pub const RTL_CRITICAL_SECTION_ALL_FLAG_BITS: u32 = 4278190080; +pub const RTL_CRITICAL_SECTION_FLAG_RESERVED: u32 = 3758096384; +pub const RTL_CRITICAL_SECTION_DEBUG_FLAG_STATIC_INIT: u32 = 1; +pub const RTL_CONDITION_VARIABLE_LOCKMODE_SHARED: u32 = 1; +pub const HEAP_OPTIMIZE_RESOURCES_CURRENT_VERSION: u32 = 1; +pub const WT_EXECUTEDEFAULT: u32 = 0; +pub const WT_EXECUTEINIOTHREAD: u32 = 1; +pub const WT_EXECUTEINUITHREAD: u32 = 2; +pub const WT_EXECUTEINWAITTHREAD: u32 = 4; +pub const WT_EXECUTEONLYONCE: u32 = 8; +pub const WT_EXECUTEINTIMERTHREAD: u32 = 32; +pub const WT_EXECUTELONGFUNCTION: u32 = 16; +pub const WT_EXECUTEINPERSISTENTIOTHREAD: u32 = 64; +pub const WT_EXECUTEINPERSISTENTTHREAD: u32 = 128; +pub const WT_TRANSFER_IMPERSONATION: u32 = 256; +pub const WT_EXECUTEINLONGTHREAD: u32 = 16; +pub const WT_EXECUTEDELETEWAIT: u32 = 8; +pub const ACTIVATION_CONTEXT_PATH_TYPE_NONE: u32 = 1; +pub const ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE: u32 = 2; +pub const ACTIVATION_CONTEXT_PATH_TYPE_URL: u32 = 3; +pub const ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF: u32 = 4; +pub const CREATE_BOUNDARY_DESCRIPTOR_ADD_APPCONTAINER_SID: u32 = 1; +pub const PERFORMANCE_DATA_VERSION: u32 = 1; +pub const READ_THREAD_PROFILING_FLAG_DISPATCHING: u32 = 1; +pub const READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS: u32 = 2; +pub const UNIFIEDBUILDREVISION_KEY: &[u8; 63usize] = + b"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\0"; +pub const UNIFIEDBUILDREVISION_VALUE: &[u8; 4usize] = b"UBR\0"; +pub const UNIFIEDBUILDREVISION_MIN: u32 = 0; +pub const DEVICEFAMILYDEVICEFORM_KEY: &[u8; 67usize] = + b"\\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\OEM\0"; +pub const DEVICEFAMILYDEVICEFORM_VALUE: &[u8; 11usize] = b"DeviceForm\0"; +pub const DEVICEFAMILYINFOENUM_UAP: u32 = 0; +pub const DEVICEFAMILYINFOENUM_WINDOWS_8X: u32 = 1; +pub const DEVICEFAMILYINFOENUM_WINDOWS_PHONE_8X: u32 = 2; +pub const DEVICEFAMILYINFOENUM_DESKTOP: u32 = 3; +pub const DEVICEFAMILYINFOENUM_MOBILE: u32 = 4; +pub const DEVICEFAMILYINFOENUM_XBOX: u32 = 5; +pub const DEVICEFAMILYINFOENUM_TEAM: u32 = 6; +pub const DEVICEFAMILYINFOENUM_IOT: u32 = 7; +pub const DEVICEFAMILYINFOENUM_IOT_HEADLESS: u32 = 8; +pub const DEVICEFAMILYINFOENUM_SERVER: u32 = 9; +pub const DEVICEFAMILYINFOENUM_HOLOGRAPHIC: u32 = 10; +pub const DEVICEFAMILYINFOENUM_XBOXSRA: u32 = 11; +pub const DEVICEFAMILYINFOENUM_XBOXERA: u32 = 12; +pub const DEVICEFAMILYINFOENUM_SERVER_NANO: u32 = 13; +pub const DEVICEFAMILYINFOENUM_8828080: u32 = 14; +pub const DEVICEFAMILYINFOENUM_7067329: u32 = 15; +pub const DEVICEFAMILYINFOENUM_WINDOWS_CORE: u32 = 16; +pub const DEVICEFAMILYINFOENUM_WINDOWS_CORE_HEADLESS: u32 = 17; +pub const DEVICEFAMILYINFOENUM_MAX: u32 = 17; +pub const DEVICEFAMILYDEVICEFORM_UNKNOWN: u32 = 0; +pub const DEVICEFAMILYDEVICEFORM_PHONE: u32 = 1; +pub const DEVICEFAMILYDEVICEFORM_TABLET: u32 = 2; +pub const DEVICEFAMILYDEVICEFORM_DESKTOP: u32 = 3; +pub const DEVICEFAMILYDEVICEFORM_NOTEBOOK: u32 = 4; +pub const DEVICEFAMILYDEVICEFORM_CONVERTIBLE: u32 = 5; +pub const DEVICEFAMILYDEVICEFORM_DETACHABLE: u32 = 6; +pub const DEVICEFAMILYDEVICEFORM_ALLINONE: u32 = 7; +pub const DEVICEFAMILYDEVICEFORM_STICKPC: u32 = 8; +pub const DEVICEFAMILYDEVICEFORM_PUCK: u32 = 9; +pub const DEVICEFAMILYDEVICEFORM_LARGESCREEN: u32 = 10; +pub const DEVICEFAMILYDEVICEFORM_HMD: u32 = 11; +pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_HANDHELD: u32 = 12; +pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_TABLET: u32 = 13; +pub const DEVICEFAMILYDEVICEFORM_BANKING: u32 = 14; +pub const DEVICEFAMILYDEVICEFORM_BUILDING_AUTOMATION: u32 = 15; +pub const DEVICEFAMILYDEVICEFORM_DIGITAL_SIGNAGE: u32 = 16; +pub const DEVICEFAMILYDEVICEFORM_GAMING: u32 = 17; +pub const DEVICEFAMILYDEVICEFORM_HOME_AUTOMATION: u32 = 18; +pub const DEVICEFAMILYDEVICEFORM_INDUSTRIAL_AUTOMATION: u32 = 19; +pub const DEVICEFAMILYDEVICEFORM_KIOSK: u32 = 20; +pub const DEVICEFAMILYDEVICEFORM_MAKER_BOARD: u32 = 21; +pub const DEVICEFAMILYDEVICEFORM_MEDICAL: u32 = 22; +pub const DEVICEFAMILYDEVICEFORM_NETWORKING: u32 = 23; +pub const DEVICEFAMILYDEVICEFORM_POINT_OF_SERVICE: u32 = 24; +pub const DEVICEFAMILYDEVICEFORM_PRINTING: u32 = 25; +pub const DEVICEFAMILYDEVICEFORM_THIN_CLIENT: u32 = 26; +pub const DEVICEFAMILYDEVICEFORM_TOY: u32 = 27; +pub const DEVICEFAMILYDEVICEFORM_VENDING: u32 = 28; +pub const DEVICEFAMILYDEVICEFORM_INDUSTRY_OTHER: u32 = 29; +pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE: u32 = 30; +pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_S: u32 = 31; +pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_X: u32 = 32; +pub const DEVICEFAMILYDEVICEFORM_XBOX_ONE_X_DEVKIT: u32 = 33; +pub const DEVICEFAMILYDEVICEFORM_MAX: u32 = 33; +pub const DLL_PROCESS_ATTACH: u32 = 1; +pub const DLL_THREAD_ATTACH: u32 = 2; +pub const DLL_THREAD_DETACH: u32 = 3; +pub const DLL_PROCESS_DETACH: u32 = 0; +pub const EVENTLOG_SEQUENTIAL_READ: u32 = 1; +pub const EVENTLOG_SEEK_READ: u32 = 2; +pub const EVENTLOG_FORWARDS_READ: u32 = 4; +pub const EVENTLOG_BACKWARDS_READ: u32 = 8; +pub const EVENTLOG_SUCCESS: u32 = 0; +pub const EVENTLOG_ERROR_TYPE: u32 = 1; +pub const EVENTLOG_WARNING_TYPE: u32 = 2; +pub const EVENTLOG_INFORMATION_TYPE: u32 = 4; +pub const EVENTLOG_AUDIT_SUCCESS: u32 = 8; +pub const EVENTLOG_AUDIT_FAILURE: u32 = 16; +pub const EVENTLOG_START_PAIRED_EVENT: u32 = 1; +pub const EVENTLOG_END_PAIRED_EVENT: u32 = 2; +pub const EVENTLOG_END_ALL_PAIRED_EVENTS: u32 = 4; +pub const EVENTLOG_PAIRED_EVENT_ACTIVE: u32 = 8; +pub const EVENTLOG_PAIRED_EVENT_INACTIVE: u32 = 16; +pub const MAXLOGICALLOGNAMESIZE: u32 = 256; +pub const KEY_QUERY_VALUE: u32 = 1; +pub const KEY_SET_VALUE: u32 = 2; +pub const KEY_CREATE_SUB_KEY: u32 = 4; +pub const KEY_ENUMERATE_SUB_KEYS: u32 = 8; +pub const KEY_NOTIFY: u32 = 16; +pub const KEY_CREATE_LINK: u32 = 32; +pub const KEY_WOW64_32KEY: u32 = 512; +pub const KEY_WOW64_64KEY: u32 = 256; +pub const KEY_WOW64_RES: u32 = 768; +pub const KEY_READ: u32 = 131097; +pub const KEY_WRITE: u32 = 131078; +pub const KEY_EXECUTE: u32 = 131097; +pub const KEY_ALL_ACCESS: u32 = 983103; +pub const REG_OPTION_RESERVED: u32 = 0; +pub const REG_OPTION_NON_VOLATILE: u32 = 0; +pub const REG_OPTION_VOLATILE: u32 = 1; +pub const REG_OPTION_CREATE_LINK: u32 = 2; +pub const REG_OPTION_BACKUP_RESTORE: u32 = 4; +pub const REG_OPTION_OPEN_LINK: u32 = 8; +pub const REG_OPTION_DONT_VIRTUALIZE: u32 = 16; +pub const REG_LEGAL_OPTION: u32 = 31; +pub const REG_OPEN_LEGAL_OPTION: u32 = 28; +pub const REG_CREATED_NEW_KEY: u32 = 1; +pub const REG_OPENED_EXISTING_KEY: u32 = 2; +pub const REG_STANDARD_FORMAT: u32 = 1; +pub const REG_LATEST_FORMAT: u32 = 2; +pub const REG_NO_COMPRESSION: u32 = 4; +pub const REG_WHOLE_HIVE_VOLATILE: u32 = 1; +pub const REG_REFRESH_HIVE: u32 = 2; +pub const REG_NO_LAZY_FLUSH: u32 = 4; +pub const REG_FORCE_RESTORE: u32 = 8; +pub const REG_APP_HIVE: u32 = 16; +pub const REG_PROCESS_PRIVATE: u32 = 32; +pub const REG_START_JOURNAL: u32 = 64; +pub const REG_HIVE_EXACT_FILE_GROWTH: u32 = 128; +pub const REG_HIVE_NO_RM: u32 = 256; +pub const REG_HIVE_SINGLE_LOG: u32 = 512; +pub const REG_BOOT_HIVE: u32 = 1024; +pub const REG_LOAD_HIVE_OPEN_HANDLE: u32 = 2048; +pub const REG_FLUSH_HIVE_FILE_GROWTH: u32 = 4096; +pub const REG_OPEN_READ_ONLY: u32 = 8192; +pub const REG_IMMUTABLE: u32 = 16384; +pub const REG_NO_IMPERSONATION_FALLBACK: u32 = 32768; +pub const REG_APP_HIVE_OPEN_READ_ONLY: u32 = 8192; +pub const REG_FORCE_UNLOAD: u32 = 1; +pub const REG_UNLOAD_LEGAL_FLAGS: u32 = 1; +pub const REG_NOTIFY_CHANGE_NAME: u32 = 1; +pub const REG_NOTIFY_CHANGE_ATTRIBUTES: u32 = 2; +pub const REG_NOTIFY_CHANGE_LAST_SET: u32 = 4; +pub const REG_NOTIFY_CHANGE_SECURITY: u32 = 8; +pub const REG_NOTIFY_THREAD_AGNOSTIC: u32 = 268435456; +pub const REG_LEGAL_CHANGE_FILTER: u32 = 268435471; +pub const REG_NONE: u32 = 0; +pub const REG_SZ: u32 = 1; +pub const REG_EXPAND_SZ: u32 = 2; +pub const REG_BINARY: u32 = 3; +pub const REG_DWORD: u32 = 4; +pub const REG_DWORD_LITTLE_ENDIAN: u32 = 4; +pub const REG_DWORD_BIG_ENDIAN: u32 = 5; +pub const REG_LINK: u32 = 6; +pub const REG_MULTI_SZ: u32 = 7; +pub const REG_RESOURCE_LIST: u32 = 8; +pub const REG_FULL_RESOURCE_DESCRIPTOR: u32 = 9; +pub const REG_RESOURCE_REQUIREMENTS_LIST: u32 = 10; +pub const REG_QWORD: u32 = 11; +pub const REG_QWORD_LITTLE_ENDIAN: u32 = 11; +pub const SERVICE_KERNEL_DRIVER: u32 = 1; +pub const SERVICE_FILE_SYSTEM_DRIVER: u32 = 2; +pub const SERVICE_ADAPTER: u32 = 4; +pub const SERVICE_RECOGNIZER_DRIVER: u32 = 8; +pub const SERVICE_DRIVER: u32 = 11; +pub const SERVICE_WIN32_OWN_PROCESS: u32 = 16; +pub const SERVICE_WIN32_SHARE_PROCESS: u32 = 32; +pub const SERVICE_WIN32: u32 = 48; +pub const SERVICE_USER_SERVICE: u32 = 64; +pub const SERVICE_USERSERVICE_INSTANCE: u32 = 128; +pub const SERVICE_USER_SHARE_PROCESS: u32 = 96; +pub const SERVICE_USER_OWN_PROCESS: u32 = 80; +pub const SERVICE_INTERACTIVE_PROCESS: u32 = 256; +pub const SERVICE_PKG_SERVICE: u32 = 512; +pub const SERVICE_TYPE_ALL: u32 = 1023; +pub const SERVICE_BOOT_START: u32 = 0; +pub const SERVICE_SYSTEM_START: u32 = 1; +pub const SERVICE_AUTO_START: u32 = 2; +pub const SERVICE_DEMAND_START: u32 = 3; +pub const SERVICE_DISABLED: u32 = 4; +pub const SERVICE_ERROR_IGNORE: u32 = 0; +pub const SERVICE_ERROR_NORMAL: u32 = 1; +pub const SERVICE_ERROR_SEVERE: u32 = 2; +pub const SERVICE_ERROR_CRITICAL: u32 = 3; +pub const CM_SERVICE_NETWORK_BOOT_LOAD: u32 = 1; +pub const CM_SERVICE_VIRTUAL_DISK_BOOT_LOAD: u32 = 2; +pub const CM_SERVICE_USB_DISK_BOOT_LOAD: u32 = 4; +pub const CM_SERVICE_SD_DISK_BOOT_LOAD: u32 = 8; +pub const CM_SERVICE_USB3_DISK_BOOT_LOAD: u32 = 16; +pub const CM_SERVICE_MEASURED_BOOT_LOAD: u32 = 32; +pub const CM_SERVICE_VERIFIER_BOOT_LOAD: u32 = 64; +pub const CM_SERVICE_WINPE_BOOT_LOAD: u32 = 128; +pub const CM_SERVICE_RAM_DISK_BOOT_LOAD: u32 = 256; +pub const CM_SERVICE_VALID_PROMOTION_MASK: u32 = 511; +pub const TAPE_ERASE_SHORT: u32 = 0; +pub const TAPE_ERASE_LONG: u32 = 1; +pub const TAPE_LOAD: u32 = 0; +pub const TAPE_UNLOAD: u32 = 1; +pub const TAPE_TENSION: u32 = 2; +pub const TAPE_LOCK: u32 = 3; +pub const TAPE_UNLOCK: u32 = 4; +pub const TAPE_FORMAT: u32 = 5; +pub const TAPE_SETMARKS: u32 = 0; +pub const TAPE_FILEMARKS: u32 = 1; +pub const TAPE_SHORT_FILEMARKS: u32 = 2; +pub const TAPE_LONG_FILEMARKS: u32 = 3; +pub const TAPE_ABSOLUTE_POSITION: u32 = 0; +pub const TAPE_LOGICAL_POSITION: u32 = 1; +pub const TAPE_PSEUDO_LOGICAL_POSITION: u32 = 2; +pub const TAPE_REWIND: u32 = 0; +pub const TAPE_ABSOLUTE_BLOCK: u32 = 1; +pub const TAPE_LOGICAL_BLOCK: u32 = 2; +pub const TAPE_PSEUDO_LOGICAL_BLOCK: u32 = 3; +pub const TAPE_SPACE_END_OF_DATA: u32 = 4; +pub const TAPE_SPACE_RELATIVE_BLOCKS: u32 = 5; +pub const TAPE_SPACE_FILEMARKS: u32 = 6; +pub const TAPE_SPACE_SEQUENTIAL_FMKS: u32 = 7; +pub const TAPE_SPACE_SETMARKS: u32 = 8; +pub const TAPE_SPACE_SEQUENTIAL_SMKS: u32 = 9; +pub const TAPE_DRIVE_FIXED: u32 = 1; +pub const TAPE_DRIVE_SELECT: u32 = 2; +pub const TAPE_DRIVE_INITIATOR: u32 = 4; +pub const TAPE_DRIVE_ERASE_SHORT: u32 = 16; +pub const TAPE_DRIVE_ERASE_LONG: u32 = 32; +pub const TAPE_DRIVE_ERASE_BOP_ONLY: u32 = 64; +pub const TAPE_DRIVE_ERASE_IMMEDIATE: u32 = 128; +pub const TAPE_DRIVE_TAPE_CAPACITY: u32 = 256; +pub const TAPE_DRIVE_TAPE_REMAINING: u32 = 512; +pub const TAPE_DRIVE_FIXED_BLOCK: u32 = 1024; +pub const TAPE_DRIVE_VARIABLE_BLOCK: u32 = 2048; +pub const TAPE_DRIVE_WRITE_PROTECT: u32 = 4096; +pub const TAPE_DRIVE_EOT_WZ_SIZE: u32 = 8192; +pub const TAPE_DRIVE_ECC: u32 = 65536; +pub const TAPE_DRIVE_COMPRESSION: u32 = 131072; +pub const TAPE_DRIVE_PADDING: u32 = 262144; +pub const TAPE_DRIVE_REPORT_SMKS: u32 = 524288; +pub const TAPE_DRIVE_GET_ABSOLUTE_BLK: u32 = 1048576; +pub const TAPE_DRIVE_GET_LOGICAL_BLK: u32 = 2097152; +pub const TAPE_DRIVE_SET_EOT_WZ_SIZE: u32 = 4194304; +pub const TAPE_DRIVE_EJECT_MEDIA: u32 = 16777216; +pub const TAPE_DRIVE_CLEAN_REQUESTS: u32 = 33554432; +pub const TAPE_DRIVE_SET_CMP_BOP_ONLY: u32 = 67108864; +pub const TAPE_DRIVE_RESERVED_BIT: u32 = 2147483648; +pub const TAPE_DRIVE_LOAD_UNLOAD: u32 = 2147483649; +pub const TAPE_DRIVE_TENSION: u32 = 2147483650; +pub const TAPE_DRIVE_LOCK_UNLOCK: u32 = 2147483652; +pub const TAPE_DRIVE_REWIND_IMMEDIATE: u32 = 2147483656; +pub const TAPE_DRIVE_SET_BLOCK_SIZE: u32 = 2147483664; +pub const TAPE_DRIVE_LOAD_UNLD_IMMED: u32 = 2147483680; +pub const TAPE_DRIVE_TENSION_IMMED: u32 = 2147483712; +pub const TAPE_DRIVE_LOCK_UNLK_IMMED: u32 = 2147483776; +pub const TAPE_DRIVE_SET_ECC: u32 = 2147483904; +pub const TAPE_DRIVE_SET_COMPRESSION: u32 = 2147484160; +pub const TAPE_DRIVE_SET_PADDING: u32 = 2147484672; +pub const TAPE_DRIVE_SET_REPORT_SMKS: u32 = 2147485696; +pub const TAPE_DRIVE_ABSOLUTE_BLK: u32 = 2147487744; +pub const TAPE_DRIVE_ABS_BLK_IMMED: u32 = 2147491840; +pub const TAPE_DRIVE_LOGICAL_BLK: u32 = 2147500032; +pub const TAPE_DRIVE_LOG_BLK_IMMED: u32 = 2147516416; +pub const TAPE_DRIVE_END_OF_DATA: u32 = 2147549184; +pub const TAPE_DRIVE_RELATIVE_BLKS: u32 = 2147614720; +pub const TAPE_DRIVE_FILEMARKS: u32 = 2147745792; +pub const TAPE_DRIVE_SEQUENTIAL_FMKS: u32 = 2148007936; +pub const TAPE_DRIVE_SETMARKS: u32 = 2148532224; +pub const TAPE_DRIVE_SEQUENTIAL_SMKS: u32 = 2149580800; +pub const TAPE_DRIVE_REVERSE_POSITION: u32 = 2151677952; +pub const TAPE_DRIVE_SPACE_IMMEDIATE: u32 = 2155872256; +pub const TAPE_DRIVE_WRITE_SETMARKS: u32 = 2164260864; +pub const TAPE_DRIVE_WRITE_FILEMARKS: u32 = 2181038080; +pub const TAPE_DRIVE_WRITE_SHORT_FMKS: u32 = 2214592512; +pub const TAPE_DRIVE_WRITE_LONG_FMKS: u32 = 2281701376; +pub const TAPE_DRIVE_WRITE_MARK_IMMED: u32 = 2415919104; +pub const TAPE_DRIVE_FORMAT: u32 = 2684354560; +pub const TAPE_DRIVE_FORMAT_IMMEDIATE: u32 = 3221225472; +pub const TAPE_DRIVE_HIGH_FEATURES: u32 = 2147483648; +pub const TAPE_FIXED_PARTITIONS: u32 = 0; +pub const TAPE_SELECT_PARTITIONS: u32 = 1; +pub const TAPE_INITIATOR_PARTITIONS: u32 = 2; +pub const TAPE_QUERY_DRIVE_PARAMETERS: u32 = 0; +pub const TAPE_QUERY_MEDIA_CAPACITY: u32 = 1; +pub const TAPE_CHECK_FOR_DRIVE_PROBLEM: u32 = 2; +pub const TAPE_QUERY_IO_ERROR_DATA: u32 = 3; +pub const TAPE_QUERY_DEVICE_ERROR_DATA: u32 = 4; +pub const TRANSACTION_MANAGER_VOLATILE: u32 = 1; +pub const TRANSACTION_MANAGER_COMMIT_DEFAULT: u32 = 0; +pub const TRANSACTION_MANAGER_COMMIT_SYSTEM_VOLUME: u32 = 2; +pub const TRANSACTION_MANAGER_COMMIT_SYSTEM_HIVES: u32 = 4; +pub const TRANSACTION_MANAGER_COMMIT_LOWEST: u32 = 8; +pub const TRANSACTION_MANAGER_CORRUPT_FOR_RECOVERY: u32 = 16; +pub const TRANSACTION_MANAGER_CORRUPT_FOR_PROGRESS: u32 = 32; +pub const TRANSACTION_MANAGER_MAXIMUM_OPTION: u32 = 63; +pub const TRANSACTION_DO_NOT_PROMOTE: u32 = 1; +pub const TRANSACTION_MAXIMUM_OPTION: u32 = 1; +pub const RESOURCE_MANAGER_VOLATILE: u32 = 1; +pub const RESOURCE_MANAGER_COMMUNICATION: u32 = 2; +pub const RESOURCE_MANAGER_MAXIMUM_OPTION: u32 = 3; +pub const CRM_PROTOCOL_EXPLICIT_MARSHAL_ONLY: u32 = 1; +pub const CRM_PROTOCOL_DYNAMIC_MARSHAL_INFO: u32 = 2; +pub const CRM_PROTOCOL_MAXIMUM_OPTION: u32 = 3; +pub const ENLISTMENT_SUPERIOR: u32 = 1; +pub const ENLISTMENT_MAXIMUM_OPTION: u32 = 1; +pub const TRANSACTION_NOTIFY_MASK: u32 = 1073741823; +pub const TRANSACTION_NOTIFY_PREPREPARE: u32 = 1; +pub const TRANSACTION_NOTIFY_PREPARE: u32 = 2; +pub const TRANSACTION_NOTIFY_COMMIT: u32 = 4; +pub const TRANSACTION_NOTIFY_ROLLBACK: u32 = 8; +pub const TRANSACTION_NOTIFY_PREPREPARE_COMPLETE: u32 = 16; +pub const TRANSACTION_NOTIFY_PREPARE_COMPLETE: u32 = 32; +pub const TRANSACTION_NOTIFY_COMMIT_COMPLETE: u32 = 64; +pub const TRANSACTION_NOTIFY_ROLLBACK_COMPLETE: u32 = 128; +pub const TRANSACTION_NOTIFY_RECOVER: u32 = 256; +pub const TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT: u32 = 512; +pub const TRANSACTION_NOTIFY_DELEGATE_COMMIT: u32 = 1024; +pub const TRANSACTION_NOTIFY_RECOVER_QUERY: u32 = 2048; +pub const TRANSACTION_NOTIFY_ENLIST_PREPREPARE: u32 = 4096; +pub const TRANSACTION_NOTIFY_LAST_RECOVER: u32 = 8192; +pub const TRANSACTION_NOTIFY_INDOUBT: u32 = 16384; +pub const TRANSACTION_NOTIFY_PROPAGATE_PULL: u32 = 32768; +pub const TRANSACTION_NOTIFY_PROPAGATE_PUSH: u32 = 65536; +pub const TRANSACTION_NOTIFY_MARSHAL: u32 = 131072; +pub const TRANSACTION_NOTIFY_ENLIST_MASK: u32 = 262144; +pub const TRANSACTION_NOTIFY_RM_DISCONNECTED: u32 = 16777216; +pub const TRANSACTION_NOTIFY_TM_ONLINE: u32 = 33554432; +pub const TRANSACTION_NOTIFY_COMMIT_REQUEST: u32 = 67108864; +pub const TRANSACTION_NOTIFY_PROMOTE: u32 = 134217728; +pub const TRANSACTION_NOTIFY_PROMOTE_NEW: u32 = 268435456; +pub const TRANSACTION_NOTIFY_REQUEST_OUTCOME: u32 = 536870912; +pub const TRANSACTION_NOTIFY_COMMIT_FINALIZE: u32 = 1073741824; +pub const TRANSACTIONMANAGER_OBJECT_PATH: &[u8; 21usize] = b"\\TransactionManager\\\0"; +pub const TRANSACTION_OBJECT_PATH: &[u8; 14usize] = b"\\Transaction\\\0"; +pub const ENLISTMENT_OBJECT_PATH: &[u8; 13usize] = b"\\Enlistment\\\0"; +pub const RESOURCE_MANAGER_OBJECT_PATH: &[u8; 18usize] = b"\\ResourceManager\\\0"; +pub const TRANSACTION_NOTIFICATION_TM_ONLINE_FLAG_IS_CLUSTERED: u32 = 1; +pub const KTM_MARSHAL_BLOB_VERSION_MAJOR: u32 = 1; +pub const KTM_MARSHAL_BLOB_VERSION_MINOR: u32 = 1; +pub const MAX_TRANSACTION_DESCRIPTION_LENGTH: u32 = 64; +pub const MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH: u32 = 64; +pub const TRANSACTIONMANAGER_QUERY_INFORMATION: u32 = 1; +pub const TRANSACTIONMANAGER_SET_INFORMATION: u32 = 2; +pub const TRANSACTIONMANAGER_RECOVER: u32 = 4; +pub const TRANSACTIONMANAGER_RENAME: u32 = 8; +pub const TRANSACTIONMANAGER_CREATE_RM: u32 = 16; +pub const TRANSACTIONMANAGER_BIND_TRANSACTION: u32 = 32; +pub const TRANSACTIONMANAGER_GENERIC_READ: u32 = 131073; +pub const TRANSACTIONMANAGER_GENERIC_WRITE: u32 = 131102; +pub const TRANSACTIONMANAGER_GENERIC_EXECUTE: u32 = 131072; +pub const TRANSACTIONMANAGER_ALL_ACCESS: u32 = 983103; +pub const TRANSACTION_QUERY_INFORMATION: u32 = 1; +pub const TRANSACTION_SET_INFORMATION: u32 = 2; +pub const TRANSACTION_ENLIST: u32 = 4; +pub const TRANSACTION_COMMIT: u32 = 8; +pub const TRANSACTION_ROLLBACK: u32 = 16; +pub const TRANSACTION_PROPAGATE: u32 = 32; +pub const TRANSACTION_RIGHT_RESERVED1: u32 = 64; +pub const TRANSACTION_GENERIC_READ: u32 = 1179649; +pub const TRANSACTION_GENERIC_WRITE: u32 = 1179710; +pub const TRANSACTION_GENERIC_EXECUTE: u32 = 1179672; +pub const TRANSACTION_ALL_ACCESS: u32 = 2031679; +pub const TRANSACTION_RESOURCE_MANAGER_RIGHTS: u32 = 1179703; +pub const RESOURCEMANAGER_QUERY_INFORMATION: u32 = 1; +pub const RESOURCEMANAGER_SET_INFORMATION: u32 = 2; +pub const RESOURCEMANAGER_RECOVER: u32 = 4; +pub const RESOURCEMANAGER_ENLIST: u32 = 8; +pub const RESOURCEMANAGER_GET_NOTIFICATION: u32 = 16; +pub const RESOURCEMANAGER_REGISTER_PROTOCOL: u32 = 32; +pub const RESOURCEMANAGER_COMPLETE_PROPAGATION: u32 = 64; +pub const RESOURCEMANAGER_GENERIC_READ: u32 = 1179649; +pub const RESOURCEMANAGER_GENERIC_WRITE: u32 = 1179774; +pub const RESOURCEMANAGER_GENERIC_EXECUTE: u32 = 1179740; +pub const RESOURCEMANAGER_ALL_ACCESS: u32 = 2031743; +pub const ENLISTMENT_QUERY_INFORMATION: u32 = 1; +pub const ENLISTMENT_SET_INFORMATION: u32 = 2; +pub const ENLISTMENT_RECOVER: u32 = 4; +pub const ENLISTMENT_SUBORDINATE_RIGHTS: u32 = 8; +pub const ENLISTMENT_SUPERIOR_RIGHTS: u32 = 16; +pub const ENLISTMENT_GENERIC_READ: u32 = 131073; +pub const ENLISTMENT_GENERIC_WRITE: u32 = 131102; +pub const ENLISTMENT_GENERIC_EXECUTE: u32 = 131100; +pub const ENLISTMENT_ALL_ACCESS: u32 = 983071; +pub const ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION: u32 = 1; +pub const ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION: u32 = 2; +pub const ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION: u32 = 3; +pub const ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION: u32 = 4; +pub const ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION: u32 = 5; +pub const ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION: u32 = 6; +pub const ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION: u32 = 7; +pub const ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE: u32 = 8; +pub const ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES: u32 = 9; +pub const ACTIVATION_CONTEXT_SECTION_APPLICATION_SETTINGS: u32 = 10; +pub const ACTIVATION_CONTEXT_SECTION_COMPATIBILITY_INFO: u32 = 11; +pub const ACTIVATION_CONTEXT_SECTION_WINRT_ACTIVATABLE_CLASSES: u32 = 12; +pub const APP_LOCAL_DEVICE_ID_SIZE: u32 = 32; +pub const DM_UPDATE: u32 = 1; +pub const DM_COPY: u32 = 2; +pub const DM_PROMPT: u32 = 4; +pub const DM_MODIFY: u32 = 8; +pub const DM_IN_BUFFER: u32 = 8; +pub const DM_IN_PROMPT: u32 = 4; +pub const DM_OUT_BUFFER: u32 = 2; +pub const DM_OUT_DEFAULT: u32 = 1; +pub const DC_FIELDS: u32 = 1; +pub const DC_PAPERS: u32 = 2; +pub const DC_PAPERSIZE: u32 = 3; +pub const DC_MINEXTENT: u32 = 4; +pub const DC_MAXEXTENT: u32 = 5; +pub const DC_BINS: u32 = 6; +pub const DC_DUPLEX: u32 = 7; +pub const DC_SIZE: u32 = 8; +pub const DC_EXTRA: u32 = 9; +pub const DC_VERSION: u32 = 10; +pub const DC_DRIVER: u32 = 11; +pub const DC_BINNAMES: u32 = 12; +pub const DC_ENUMRESOLUTIONS: u32 = 13; +pub const DC_FILEDEPENDENCIES: u32 = 14; +pub const DC_TRUETYPE: u32 = 15; +pub const DC_PAPERNAMES: u32 = 16; +pub const DC_ORIENTATION: u32 = 17; +pub const DC_COPIES: u32 = 18; +pub const FIND_FIRST_EX_CASE_SENSITIVE: u32 = 1; +pub const FIND_FIRST_EX_LARGE_FETCH: u32 = 2; +pub const FIND_FIRST_EX_ON_DISK_ENTRIES_ONLY: u32 = 4; +pub const LOCKFILE_FAIL_IMMEDIATELY: u32 = 1; +pub const LOCKFILE_EXCLUSIVE_LOCK: u32 = 2; +pub const PROCESS_HEAP_REGION: u32 = 1; +pub const PROCESS_HEAP_UNCOMMITTED_RANGE: u32 = 2; +pub const PROCESS_HEAP_ENTRY_BUSY: u32 = 4; +pub const PROCESS_HEAP_SEG_ALLOC: u32 = 8; +pub const PROCESS_HEAP_ENTRY_MOVEABLE: u32 = 16; +pub const PROCESS_HEAP_ENTRY_DDESHARE: u32 = 32; +pub const EXCEPTION_DEBUG_EVENT: u32 = 1; +pub const CREATE_THREAD_DEBUG_EVENT: u32 = 2; +pub const CREATE_PROCESS_DEBUG_EVENT: u32 = 3; +pub const EXIT_THREAD_DEBUG_EVENT: u32 = 4; +pub const EXIT_PROCESS_DEBUG_EVENT: u32 = 5; +pub const LOAD_DLL_DEBUG_EVENT: u32 = 6; +pub const UNLOAD_DLL_DEBUG_EVENT: u32 = 7; +pub const OUTPUT_DEBUG_STRING_EVENT: u32 = 8; +pub const RIP_EVENT: u32 = 9; +pub const LMEM_FIXED: u32 = 0; +pub const LMEM_MOVEABLE: u32 = 2; +pub const LMEM_NOCOMPACT: u32 = 16; +pub const LMEM_NODISCARD: u32 = 32; +pub const LMEM_ZEROINIT: u32 = 64; +pub const LMEM_MODIFY: u32 = 128; +pub const LMEM_DISCARDABLE: u32 = 3840; +pub const LMEM_VALID_FLAGS: u32 = 3954; +pub const LMEM_INVALID_HANDLE: u32 = 32768; +pub const LHND: u32 = 66; +pub const LPTR: u32 = 64; +pub const NONZEROLHND: u32 = 2; +pub const NONZEROLPTR: u32 = 0; +pub const LMEM_DISCARDED: u32 = 16384; +pub const LMEM_LOCKCOUNT: u32 = 255; +pub const CREATE_NEW: u32 = 1; +pub const CREATE_ALWAYS: u32 = 2; +pub const OPEN_EXISTING: u32 = 3; +pub const OPEN_ALWAYS: u32 = 4; +pub const TRUNCATE_EXISTING: u32 = 5; +pub const INIT_ONCE_CHECK_ONLY: u32 = 1; +pub const INIT_ONCE_ASYNC: u32 = 2; +pub const INIT_ONCE_INIT_FAILED: u32 = 4; +pub const INIT_ONCE_CTX_RESERVED_BITS: u32 = 2; +pub const CONDITION_VARIABLE_LOCKMODE_SHARED: u32 = 1; +pub const MUTEX_MODIFY_STATE: u32 = 1; +pub const MUTEX_ALL_ACCESS: u32 = 2031617; +pub const CREATE_MUTEX_INITIAL_OWNER: u32 = 1; +pub const CREATE_EVENT_MANUAL_RESET: u32 = 1; +pub const CREATE_EVENT_INITIAL_SET: u32 = 2; +pub const CREATE_WAITABLE_TIMER_MANUAL_RESET: u32 = 1; +pub const CREATE_WAITABLE_TIMER_HIGH_RESOLUTION: u32 = 2; +pub const SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY: u32 = 1; +pub const SYNCHRONIZATION_BARRIER_FLAGS_BLOCK_ONLY: u32 = 2; +pub const SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE: u32 = 4; +pub const PROC_THREAD_ATTRIBUTE_REPLACE_VALUE: u32 = 1; +pub const PROCESS_AFFINITY_ENABLE_AUTO_UPDATE: u32 = 1; +pub const THREAD_POWER_THROTTLING_CURRENT_VERSION: u32 = 1; +pub const THREAD_POWER_THROTTLING_EXECUTION_SPEED: u32 = 1; +pub const THREAD_POWER_THROTTLING_VALID_FLAGS: u32 = 1; +pub const PME_CURRENT_VERSION: u32 = 1; +pub const PME_FAILFAST_ON_COMMIT_FAIL_DISABLE: u32 = 0; +pub const PME_FAILFAST_ON_COMMIT_FAIL_ENABLE: u32 = 1; +pub const PROCESS_POWER_THROTTLING_CURRENT_VERSION: u32 = 1; +pub const PROCESS_POWER_THROTTLING_EXECUTION_SPEED: u32 = 1; +pub const PROCESS_POWER_THROTTLING_VALID_FLAGS: u32 = 1; +pub const PROCESS_LEAP_SECOND_INFO_FLAG_ENABLE_SIXTY_SECOND: u32 = 1; +pub const PROCESS_LEAP_SECOND_INFO_VALID_FLAGS: u32 = 1; +pub const USER_CET_ENVIRONMENT_WIN32_PROCESS: u32 = 0; +pub const USER_CET_ENVIRONMENT_SGX2_ENCLAVE: u32 = 2; +pub const USER_CET_ENVIRONMENT_VBS_ENCLAVE: u32 = 16; +pub const USER_CET_ENVIRONMENT_VBS_BASIC_ENCLAVE: u32 = 17; +pub const SCEX2_ALT_NETBIOS_NAME: u32 = 1; +pub const FILE_MAP_WRITE: u32 = 2; +pub const FILE_MAP_READ: u32 = 4; +pub const FILE_MAP_ALL_ACCESS: u32 = 983071; +pub const FILE_MAP_EXECUTE: u32 = 32; +pub const FILE_MAP_COPY: u32 = 1; +pub const FILE_MAP_RESERVE: u32 = 2147483648; +pub const FILE_MAP_TARGETS_INVALID: u32 = 1073741824; +pub const FILE_MAP_LARGE_PAGES: u32 = 536870912; +pub const FILE_CACHE_MAX_HARD_ENABLE: u32 = 1; +pub const FILE_CACHE_MAX_HARD_DISABLE: u32 = 2; +pub const FILE_CACHE_MIN_HARD_ENABLE: u32 = 4; +pub const FILE_CACHE_MIN_HARD_DISABLE: u32 = 8; +pub const MEHC_PATROL_SCRUBBER_PRESENT: u32 = 1; +pub const FIND_RESOURCE_DIRECTORY_TYPES: u32 = 256; +pub const FIND_RESOURCE_DIRECTORY_NAMES: u32 = 512; +pub const FIND_RESOURCE_DIRECTORY_LANGUAGES: u32 = 1024; +pub const RESOURCE_ENUM_LN: u32 = 1; +pub const RESOURCE_ENUM_MUI: u32 = 2; +pub const RESOURCE_ENUM_MUI_SYSTEM: u32 = 4; +pub const RESOURCE_ENUM_VALIDATE: u32 = 8; +pub const RESOURCE_ENUM_MODULE_EXACT: u32 = 16; +pub const SUPPORT_LANG_NUMBER: u32 = 32; +pub const GET_MODULE_HANDLE_EX_FLAG_PIN: u32 = 1; +pub const GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT: u32 = 2; +pub const GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS: u32 = 4; +pub const CURRENT_IMPORT_REDIRECTION_VERSION: u32 = 1; +pub const DONT_RESOLVE_DLL_REFERENCES: u32 = 1; +pub const LOAD_LIBRARY_AS_DATAFILE: u32 = 2; +pub const LOAD_WITH_ALTERED_SEARCH_PATH: u32 = 8; +pub const LOAD_IGNORE_CODE_AUTHZ_LEVEL: u32 = 16; +pub const LOAD_LIBRARY_AS_IMAGE_RESOURCE: u32 = 32; +pub const LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE: u32 = 64; +pub const LOAD_LIBRARY_REQUIRE_SIGNED_TARGET: u32 = 128; +pub const LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR: u32 = 256; +pub const LOAD_LIBRARY_SEARCH_APPLICATION_DIR: u32 = 512; +pub const LOAD_LIBRARY_SEARCH_USER_DIRS: u32 = 1024; +pub const LOAD_LIBRARY_SEARCH_SYSTEM32: u32 = 2048; +pub const LOAD_LIBRARY_SEARCH_DEFAULT_DIRS: u32 = 4096; +pub const LOAD_LIBRARY_SAFE_CURRENT_DIRS: u32 = 8192; +pub const LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER: u32 = 16384; +pub const LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY: u32 = 32768; +pub const PRIVATE_NAMESPACE_FLAG_DESTROY: u32 = 1; +pub const FILE_BEGIN: u32 = 0; +pub const FILE_CURRENT: u32 = 1; +pub const FILE_END: u32 = 2; +pub const FILE_FLAG_WRITE_THROUGH: u32 = 2147483648; +pub const FILE_FLAG_OVERLAPPED: u32 = 1073741824; +pub const FILE_FLAG_NO_BUFFERING: u32 = 536870912; +pub const FILE_FLAG_RANDOM_ACCESS: u32 = 268435456; +pub const FILE_FLAG_SEQUENTIAL_SCAN: u32 = 134217728; +pub const FILE_FLAG_DELETE_ON_CLOSE: u32 = 67108864; +pub const FILE_FLAG_BACKUP_SEMANTICS: u32 = 33554432; +pub const FILE_FLAG_POSIX_SEMANTICS: u32 = 16777216; +pub const FILE_FLAG_SESSION_AWARE: u32 = 8388608; +pub const FILE_FLAG_OPEN_REPARSE_POINT: u32 = 2097152; +pub const FILE_FLAG_OPEN_NO_RECALL: u32 = 1048576; +pub const FILE_FLAG_FIRST_PIPE_INSTANCE: u32 = 524288; +pub const FILE_FLAG_OPEN_REQUIRING_OPLOCK: u32 = 262144; +pub const PROGRESS_CONTINUE: u32 = 0; +pub const PROGRESS_CANCEL: u32 = 1; +pub const PROGRESS_STOP: u32 = 2; +pub const PROGRESS_QUIET: u32 = 3; +pub const CALLBACK_CHUNK_FINISHED: u32 = 0; +pub const CALLBACK_STREAM_SWITCH: u32 = 1; +pub const COPY_FILE_FAIL_IF_EXISTS: u32 = 1; +pub const COPY_FILE_RESTARTABLE: u32 = 2; +pub const COPY_FILE_OPEN_SOURCE_FOR_WRITE: u32 = 4; +pub const COPY_FILE_ALLOW_DECRYPTED_DESTINATION: u32 = 8; +pub const COPY_FILE_COPY_SYMLINK: u32 = 2048; +pub const COPY_FILE_NO_BUFFERING: u32 = 4096; +pub const COPY_FILE_REQUEST_SECURITY_PRIVILEGES: u32 = 8192; +pub const COPY_FILE_RESUME_FROM_PAUSE: u32 = 16384; +pub const COPY_FILE_NO_OFFLOAD: u32 = 262144; +pub const COPY_FILE_IGNORE_EDP_BLOCK: u32 = 4194304; +pub const COPY_FILE_IGNORE_SOURCE_ENCRYPTION: u32 = 8388608; +pub const COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC: u32 = 33554432; +pub const COPY_FILE_REQUEST_COMPRESSED_TRAFFIC: u32 = 268435456; +pub const COPY_FILE_OPEN_AND_COPY_REPARSE_POINT: u32 = 2097152; +pub const COPY_FILE_DIRECTORY: u32 = 128; +pub const COPY_FILE_SKIP_ALTERNATE_STREAMS: u32 = 32768; +pub const COPY_FILE_DISABLE_PRE_ALLOCATION: u32 = 67108864; +pub const COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE: u32 = 134217728; +pub const REPLACEFILE_WRITE_THROUGH: u32 = 1; +pub const REPLACEFILE_IGNORE_MERGE_ERRORS: u32 = 2; +pub const REPLACEFILE_IGNORE_ACL_ERRORS: u32 = 4; +pub const PIPE_ACCESS_INBOUND: u32 = 1; +pub const PIPE_ACCESS_OUTBOUND: u32 = 2; +pub const PIPE_ACCESS_DUPLEX: u32 = 3; +pub const PIPE_CLIENT_END: u32 = 0; +pub const PIPE_SERVER_END: u32 = 1; +pub const PIPE_WAIT: u32 = 0; +pub const PIPE_NOWAIT: u32 = 1; +pub const PIPE_READMODE_BYTE: u32 = 0; +pub const PIPE_READMODE_MESSAGE: u32 = 2; +pub const PIPE_TYPE_BYTE: u32 = 0; +pub const PIPE_TYPE_MESSAGE: u32 = 4; +pub const PIPE_ACCEPT_REMOTE_CLIENTS: u32 = 0; +pub const PIPE_REJECT_REMOTE_CLIENTS: u32 = 8; +pub const PIPE_UNLIMITED_INSTANCES: u32 = 255; +pub const SECURITY_CONTEXT_TRACKING: u32 = 262144; +pub const SECURITY_EFFECTIVE_ONLY: u32 = 524288; +pub const SECURITY_SQOS_PRESENT: u32 = 1048576; +pub const SECURITY_VALID_SQOS_FLAGS: u32 = 2031616; +pub const FAIL_FAST_GENERATE_EXCEPTION_ADDRESS: u32 = 1; +pub const FAIL_FAST_NO_HARD_ERROR_DLG: u32 = 2; +pub const DTR_CONTROL_DISABLE: u32 = 0; +pub const DTR_CONTROL_ENABLE: u32 = 1; +pub const DTR_CONTROL_HANDSHAKE: u32 = 2; +pub const RTS_CONTROL_DISABLE: u32 = 0; +pub const RTS_CONTROL_ENABLE: u32 = 1; +pub const RTS_CONTROL_HANDSHAKE: u32 = 2; +pub const RTS_CONTROL_TOGGLE: u32 = 3; +pub const GMEM_FIXED: u32 = 0; +pub const GMEM_MOVEABLE: u32 = 2; +pub const GMEM_NOCOMPACT: u32 = 16; +pub const GMEM_NODISCARD: u32 = 32; +pub const GMEM_ZEROINIT: u32 = 64; +pub const GMEM_MODIFY: u32 = 128; +pub const GMEM_DISCARDABLE: u32 = 256; +pub const GMEM_NOT_BANKED: u32 = 4096; +pub const GMEM_SHARE: u32 = 8192; +pub const GMEM_DDESHARE: u32 = 8192; +pub const GMEM_NOTIFY: u32 = 16384; +pub const GMEM_LOWER: u32 = 4096; +pub const GMEM_VALID_FLAGS: u32 = 32626; +pub const GMEM_INVALID_HANDLE: u32 = 32768; +pub const GHND: u32 = 66; +pub const GPTR: u32 = 64; +pub const GMEM_DISCARDED: u32 = 16384; +pub const GMEM_LOCKCOUNT: u32 = 255; +pub const DEBUG_PROCESS: u32 = 1; +pub const DEBUG_ONLY_THIS_PROCESS: u32 = 2; +pub const CREATE_SUSPENDED: u32 = 4; +pub const DETACHED_PROCESS: u32 = 8; +pub const CREATE_NEW_CONSOLE: u32 = 16; +pub const NORMAL_PRIORITY_CLASS: u32 = 32; +pub const IDLE_PRIORITY_CLASS: u32 = 64; +pub const HIGH_PRIORITY_CLASS: u32 = 128; +pub const REALTIME_PRIORITY_CLASS: u32 = 256; +pub const CREATE_NEW_PROCESS_GROUP: u32 = 512; +pub const CREATE_UNICODE_ENVIRONMENT: u32 = 1024; +pub const CREATE_SEPARATE_WOW_VDM: u32 = 2048; +pub const CREATE_SHARED_WOW_VDM: u32 = 4096; +pub const CREATE_FORCEDOS: u32 = 8192; +pub const BELOW_NORMAL_PRIORITY_CLASS: u32 = 16384; +pub const ABOVE_NORMAL_PRIORITY_CLASS: u32 = 32768; +pub const INHERIT_PARENT_AFFINITY: u32 = 65536; +pub const INHERIT_CALLER_PRIORITY: u32 = 131072; +pub const CREATE_PROTECTED_PROCESS: u32 = 262144; +pub const EXTENDED_STARTUPINFO_PRESENT: u32 = 524288; +pub const PROCESS_MODE_BACKGROUND_BEGIN: u32 = 1048576; +pub const PROCESS_MODE_BACKGROUND_END: u32 = 2097152; +pub const CREATE_SECURE_PROCESS: u32 = 4194304; +pub const CREATE_BREAKAWAY_FROM_JOB: u32 = 16777216; +pub const CREATE_PRESERVE_CODE_AUTHZ_LEVEL: u32 = 33554432; +pub const CREATE_DEFAULT_ERROR_MODE: u32 = 67108864; +pub const CREATE_NO_WINDOW: u32 = 134217728; +pub const PROFILE_USER: u32 = 268435456; +pub const PROFILE_KERNEL: u32 = 536870912; +pub const PROFILE_SERVER: u32 = 1073741824; +pub const CREATE_IGNORE_SYSTEM_DEFAULT: u32 = 2147483648; +pub const STACK_SIZE_PARAM_IS_A_RESERVATION: u32 = 65536; +pub const THREAD_PRIORITY_LOWEST: i32 = -2; +pub const THREAD_PRIORITY_BELOW_NORMAL: i32 = -1; +pub const THREAD_PRIORITY_NORMAL: u32 = 0; +pub const THREAD_PRIORITY_HIGHEST: u32 = 2; +pub const THREAD_PRIORITY_ABOVE_NORMAL: u32 = 1; +pub const THREAD_PRIORITY_ERROR_RETURN: u32 = 2147483647; +pub const THREAD_PRIORITY_TIME_CRITICAL: u32 = 15; +pub const THREAD_PRIORITY_IDLE: i32 = -15; +pub const THREAD_MODE_BACKGROUND_BEGIN: u32 = 65536; +pub const THREAD_MODE_BACKGROUND_END: u32 = 131072; +pub const VOLUME_NAME_DOS: u32 = 0; +pub const VOLUME_NAME_GUID: u32 = 1; +pub const VOLUME_NAME_NT: u32 = 2; +pub const VOLUME_NAME_NONE: u32 = 4; +pub const FILE_NAME_NORMALIZED: u32 = 0; +pub const FILE_NAME_OPENED: u32 = 8; +pub const DRIVE_UNKNOWN: u32 = 0; +pub const DRIVE_NO_ROOT_DIR: u32 = 1; +pub const DRIVE_REMOVABLE: u32 = 2; +pub const DRIVE_FIXED: u32 = 3; +pub const DRIVE_REMOTE: u32 = 4; +pub const DRIVE_CDROM: u32 = 5; +pub const DRIVE_RAMDISK: u32 = 6; +pub const FILE_TYPE_UNKNOWN: u32 = 0; +pub const FILE_TYPE_DISK: u32 = 1; +pub const FILE_TYPE_CHAR: u32 = 2; +pub const FILE_TYPE_PIPE: u32 = 3; +pub const FILE_TYPE_REMOTE: u32 = 32768; +pub const NOPARITY: u32 = 0; +pub const ODDPARITY: u32 = 1; +pub const EVENPARITY: u32 = 2; +pub const MARKPARITY: u32 = 3; +pub const SPACEPARITY: u32 = 4; +pub const ONESTOPBIT: u32 = 0; +pub const ONE5STOPBITS: u32 = 1; +pub const TWOSTOPBITS: u32 = 2; +pub const IGNORE: u32 = 0; +pub const INFINITE: u32 = 4294967295; +pub const CBR_110: u32 = 110; +pub const CBR_300: u32 = 300; +pub const CBR_600: u32 = 600; +pub const CBR_1200: u32 = 1200; +pub const CBR_2400: u32 = 2400; +pub const CBR_4800: u32 = 4800; +pub const CBR_9600: u32 = 9600; +pub const CBR_14400: u32 = 14400; +pub const CBR_19200: u32 = 19200; +pub const CBR_38400: u32 = 38400; +pub const CBR_56000: u32 = 56000; +pub const CBR_57600: u32 = 57600; +pub const CBR_115200: u32 = 115200; +pub const CBR_128000: u32 = 128000; +pub const CBR_256000: u32 = 256000; +pub const CE_RXOVER: u32 = 1; +pub const CE_OVERRUN: u32 = 2; +pub const CE_RXPARITY: u32 = 4; +pub const CE_FRAME: u32 = 8; +pub const CE_BREAK: u32 = 16; +pub const CE_TXFULL: u32 = 256; +pub const CE_PTO: u32 = 512; +pub const CE_IOE: u32 = 1024; +pub const CE_DNS: u32 = 2048; +pub const CE_OOP: u32 = 4096; +pub const CE_MODE: u32 = 32768; +pub const IE_BADID: i32 = -1; +pub const IE_OPEN: i32 = -2; +pub const IE_NOPEN: i32 = -3; +pub const IE_MEMORY: i32 = -4; +pub const IE_DEFAULT: i32 = -5; +pub const IE_HARDWARE: i32 = -10; +pub const IE_BYTESIZE: i32 = -11; +pub const IE_BAUDRATE: i32 = -12; +pub const EV_RXCHAR: u32 = 1; +pub const EV_RXFLAG: u32 = 2; +pub const EV_TXEMPTY: u32 = 4; +pub const EV_CTS: u32 = 8; +pub const EV_DSR: u32 = 16; +pub const EV_RLSD: u32 = 32; +pub const EV_BREAK: u32 = 64; +pub const EV_ERR: u32 = 128; +pub const EV_RING: u32 = 256; +pub const EV_PERR: u32 = 512; +pub const EV_RX80FULL: u32 = 1024; +pub const EV_EVENT1: u32 = 2048; +pub const EV_EVENT2: u32 = 4096; +pub const SETXOFF: u32 = 1; +pub const SETXON: u32 = 2; +pub const SETRTS: u32 = 3; +pub const CLRRTS: u32 = 4; +pub const SETDTR: u32 = 5; +pub const CLRDTR: u32 = 6; +pub const RESETDEV: u32 = 7; +pub const SETBREAK: u32 = 8; +pub const CLRBREAK: u32 = 9; +pub const PURGE_TXABORT: u32 = 1; +pub const PURGE_RXABORT: u32 = 2; +pub const PURGE_TXCLEAR: u32 = 4; +pub const PURGE_RXCLEAR: u32 = 8; +pub const LPTx: u32 = 128; +pub const S_QUEUEEMPTY: u32 = 0; +pub const S_THRESHOLD: u32 = 1; +pub const S_ALLTHRESHOLD: u32 = 2; +pub const S_NORMAL: u32 = 0; +pub const S_LEGATO: u32 = 1; +pub const S_STACCATO: u32 = 2; +pub const S_PERIOD512: u32 = 0; +pub const S_PERIOD1024: u32 = 1; +pub const S_PERIOD2048: u32 = 2; +pub const S_PERIODVOICE: u32 = 3; +pub const S_WHITE512: u32 = 4; +pub const S_WHITE1024: u32 = 5; +pub const S_WHITE2048: u32 = 6; +pub const S_WHITEVOICE: u32 = 7; +pub const S_SERDVNA: i32 = -1; +pub const S_SEROFM: i32 = -2; +pub const S_SERMACT: i32 = -3; +pub const S_SERQFUL: i32 = -4; +pub const S_SERBDNT: i32 = -5; +pub const S_SERDLN: i32 = -6; +pub const S_SERDCC: i32 = -7; +pub const S_SERDTP: i32 = -8; +pub const S_SERDVL: i32 = -9; +pub const S_SERDMD: i32 = -10; +pub const S_SERDSH: i32 = -11; +pub const S_SERDPT: i32 = -12; +pub const S_SERDFQ: i32 = -13; +pub const S_SERDDR: i32 = -14; +pub const S_SERDSR: i32 = -15; +pub const S_SERDST: i32 = -16; +pub const NMPWAIT_WAIT_FOREVER: u32 = 4294967295; +pub const NMPWAIT_NOWAIT: u32 = 1; +pub const NMPWAIT_USE_DEFAULT_WAIT: u32 = 0; +pub const FS_CASE_IS_PRESERVED: u32 = 2; +pub const FS_CASE_SENSITIVE: u32 = 1; +pub const FS_UNICODE_STORED_ON_DISK: u32 = 4; +pub const FS_PERSISTENT_ACLS: u32 = 8; +pub const FS_VOL_IS_COMPRESSED: u32 = 32768; +pub const FS_FILE_COMPRESSION: u32 = 16; +pub const FS_FILE_ENCRYPTION: u32 = 131072; +pub const OF_READ: u32 = 0; +pub const OF_WRITE: u32 = 1; +pub const OF_READWRITE: u32 = 2; +pub const OF_SHARE_COMPAT: u32 = 0; +pub const OF_SHARE_EXCLUSIVE: u32 = 16; +pub const OF_SHARE_DENY_WRITE: u32 = 32; +pub const OF_SHARE_DENY_READ: u32 = 48; +pub const OF_SHARE_DENY_NONE: u32 = 64; +pub const OF_PARSE: u32 = 256; +pub const OF_DELETE: u32 = 512; +pub const OF_VERIFY: u32 = 1024; +pub const OF_CANCEL: u32 = 2048; +pub const OF_CREATE: u32 = 4096; +pub const OF_PROMPT: u32 = 8192; +pub const OF_EXIST: u32 = 16384; +pub const OF_REOPEN: u32 = 32768; +pub const OFS_MAXPATHNAME: u32 = 128; +pub const MAXINTATOM: u32 = 49152; +pub const SCS_32BIT_BINARY: u32 = 0; +pub const SCS_DOS_BINARY: u32 = 1; +pub const SCS_WOW_BINARY: u32 = 2; +pub const SCS_PIF_BINARY: u32 = 3; +pub const SCS_POSIX_BINARY: u32 = 4; +pub const SCS_OS216_BINARY: u32 = 5; +pub const SCS_64BIT_BINARY: u32 = 6; +pub const SCS_THIS_PLATFORM_BINARY: u32 = 6; +pub const FIBER_FLAG_FLOAT_SWITCH: u32 = 1; +pub const UMS_VERSION: u32 = 256; +pub const PROCESS_DEP_ENABLE: u32 = 1; +pub const PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION: u32 = 2; +pub const FILE_SKIP_COMPLETION_PORT_ON_SUCCESS: u32 = 1; +pub const FILE_SKIP_SET_EVENT_ON_HANDLE: u32 = 2; +pub const SEM_FAILCRITICALERRORS: u32 = 1; +pub const SEM_NOGPFAULTERRORBOX: u32 = 2; +pub const SEM_NOALIGNMENTFAULTEXCEPT: u32 = 4; +pub const SEM_NOOPENFILEERRORBOX: u32 = 32768; +pub const CRITICAL_SECTION_NO_DEBUG_INFO: u32 = 16777216; +pub const HANDLE_FLAG_INHERIT: u32 = 1; +pub const HANDLE_FLAG_PROTECT_FROM_CLOSE: u32 = 2; +pub const HINSTANCE_ERROR: u32 = 32; +pub const GET_TAPE_MEDIA_INFORMATION: u32 = 0; +pub const GET_TAPE_DRIVE_INFORMATION: u32 = 1; +pub const SET_TAPE_MEDIA_INFORMATION: u32 = 0; +pub const SET_TAPE_DRIVE_INFORMATION: u32 = 1; +pub const FORMAT_MESSAGE_ALLOCATE_BUFFER: u32 = 256; +pub const FORMAT_MESSAGE_IGNORE_INSERTS: u32 = 512; +pub const FORMAT_MESSAGE_FROM_STRING: u32 = 1024; +pub const FORMAT_MESSAGE_FROM_HMODULE: u32 = 2048; +pub const FORMAT_MESSAGE_FROM_SYSTEM: u32 = 4096; +pub const FORMAT_MESSAGE_ARGUMENT_ARRAY: u32 = 8192; +pub const FORMAT_MESSAGE_MAX_WIDTH_MASK: u32 = 255; +pub const FILE_ENCRYPTABLE: u32 = 0; +pub const FILE_IS_ENCRYPTED: u32 = 1; +pub const FILE_SYSTEM_ATTR: u32 = 2; +pub const FILE_ROOT_DIR: u32 = 3; +pub const FILE_SYSTEM_DIR: u32 = 4; +pub const FILE_UNKNOWN: u32 = 5; +pub const FILE_SYSTEM_NOT_SUPPORT: u32 = 6; +pub const FILE_USER_DISALLOWED: u32 = 7; +pub const FILE_READ_ONLY: u32 = 8; +pub const FILE_DIR_DISALLOWED: u32 = 9; +pub const EFS_USE_RECOVERY_KEYS: u32 = 1; +pub const CREATE_FOR_IMPORT: u32 = 1; +pub const CREATE_FOR_DIR: u32 = 2; +pub const OVERWRITE_HIDDEN: u32 = 4; +pub const EFSRPC_SECURE_ONLY: u32 = 8; +pub const EFS_DROP_ALTERNATE_STREAMS: u32 = 16; +pub const BACKUP_INVALID: u32 = 0; +pub const BACKUP_DATA: u32 = 1; +pub const BACKUP_EA_DATA: u32 = 2; +pub const BACKUP_SECURITY_DATA: u32 = 3; +pub const BACKUP_ALTERNATE_DATA: u32 = 4; +pub const BACKUP_LINK: u32 = 5; +pub const BACKUP_PROPERTY_DATA: u32 = 6; +pub const BACKUP_OBJECT_ID: u32 = 7; +pub const BACKUP_REPARSE_DATA: u32 = 8; +pub const BACKUP_SPARSE_BLOCK: u32 = 9; +pub const BACKUP_TXFS_DATA: u32 = 10; +pub const BACKUP_GHOSTED_FILE_EXTENTS: u32 = 11; +pub const STREAM_NORMAL_ATTRIBUTE: u32 = 0; +pub const STREAM_MODIFIED_WHEN_READ: u32 = 1; +pub const STREAM_CONTAINS_SECURITY: u32 = 2; +pub const STREAM_CONTAINS_PROPERTIES: u32 = 4; +pub const STREAM_SPARSE_ATTRIBUTE: u32 = 8; +pub const STREAM_CONTAINS_GHOSTED_FILE_EXTENTS: u32 = 16; +pub const STARTF_USESHOWWINDOW: u32 = 1; +pub const STARTF_USESIZE: u32 = 2; +pub const STARTF_USEPOSITION: u32 = 4; +pub const STARTF_USECOUNTCHARS: u32 = 8; +pub const STARTF_USEFILLATTRIBUTE: u32 = 16; +pub const STARTF_RUNFULLSCREEN: u32 = 32; +pub const STARTF_FORCEONFEEDBACK: u32 = 64; +pub const STARTF_FORCEOFFFEEDBACK: u32 = 128; +pub const STARTF_USESTDHANDLES: u32 = 256; +pub const STARTF_USEHOTKEY: u32 = 512; +pub const STARTF_TITLEISLINKNAME: u32 = 2048; +pub const STARTF_TITLEISAPPID: u32 = 4096; +pub const STARTF_PREVENTPINNING: u32 = 8192; +pub const STARTF_UNTRUSTEDSOURCE: u32 = 32768; +pub const SHUTDOWN_NORETRY: u32 = 1; +pub const PROTECTION_LEVEL_WINTCB_LIGHT: u32 = 0; +pub const PROTECTION_LEVEL_WINDOWS: u32 = 1; +pub const PROTECTION_LEVEL_WINDOWS_LIGHT: u32 = 2; +pub const PROTECTION_LEVEL_ANTIMALWARE_LIGHT: u32 = 3; +pub const PROTECTION_LEVEL_LSA_LIGHT: u32 = 4; +pub const PROTECTION_LEVEL_WINTCB: u32 = 5; +pub const PROTECTION_LEVEL_CODEGEN_LIGHT: u32 = 6; +pub const PROTECTION_LEVEL_AUTHENTICODE: u32 = 7; +pub const PROTECTION_LEVEL_PPL_APP: u32 = 8; +pub const PROTECTION_LEVEL_SAME: u32 = 4294967295; +pub const PROTECTION_LEVEL_NONE: u32 = 4294967294; +pub const PROCESS_NAME_NATIVE: u32 = 1; +pub const PROC_THREAD_ATTRIBUTE_NUMBER: u32 = 65535; +pub const PROC_THREAD_ATTRIBUTE_THREAD: u32 = 65536; +pub const PROC_THREAD_ATTRIBUTE_INPUT: u32 = 131072; +pub const PROC_THREAD_ATTRIBUTE_ADDITIVE: u32 = 262144; +pub const PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE: u32 = 1; +pub const PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE: u32 = 2; +pub const PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE: u32 = 4; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_MASK: u32 = 768; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON: u32 = 256; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_OFF: u32 = 512; +pub const PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON_REQ_RELOCS: u32 = 768; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_MASK: u32 = 12288; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_ON: u32 = 4096; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_OFF: u32 = 8192; +pub const PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_RESERVED: u32 = 12288; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_MASK: u32 = 196608; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON: u32 = 65536; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF: u32 = 131072; +pub const PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_RESERVED: u32 = 196608; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_MASK: u32 = 3145728; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_ON: u32 = 1048576; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_OFF: u32 = 2097152; +pub const PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_RESERVED: u32 = 3145728; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_MASK: u32 = 50331648; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_ON: u32 = 16777216; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_OFF: u32 = 33554432; +pub const PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_RESERVED: u32 = 50331648; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_MASK: u32 = 805306368; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_DEFER: u32 = 0; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_ON: u32 = 268435456; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_OFF: u32 = 536870912; +pub const PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_RESERVED: u32 = 805306368; +pub const PROCESS_CREATION_CHILD_PROCESS_RESTRICTED: u32 = 1; +pub const PROCESS_CREATION_CHILD_PROCESS_OVERRIDE: u32 = 2; +pub const PROCESS_CREATION_CHILD_PROCESS_RESTRICTED_UNLESS_SECURE: u32 = 4; +pub const PROCESS_CREATION_ALL_APPLICATION_PACKAGES_OPT_OUT: u32 = 1; +pub const PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_ENABLE_PROCESS_TREE: u32 = 1; +pub const PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_DISABLE_PROCESS_TREE: u32 = 2; +pub const PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_OVERRIDE: u32 = 4; +pub const ATOM_FLAG_GLOBAL: u32 = 2; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A: &[u8; 25usize] = b"GetSystemWow64DirectoryA\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W: &[u8; 25usize] = b"GetSystemWow64DirectoryA\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A: &[u8; 25usize] = b"GetSystemWow64DirectoryW\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W: &[u8; 25usize] = b"GetSystemWow64DirectoryW\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A: &[u8; 25usize] = b"GetSystemWow64DirectoryA\0"; +pub const GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W: &[u8; 25usize] = b"GetSystemWow64DirectoryA\0"; +pub const BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE: u32 = 1; +pub const BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE: u32 = 65536; +pub const BASE_SEARCH_PATH_PERMANENT: u32 = 32768; +pub const BASE_SEARCH_PATH_INVALID_FLAGS: i32 = -98306; +pub const DDD_RAW_TARGET_PATH: u32 = 1; +pub const DDD_REMOVE_DEFINITION: u32 = 2; +pub const DDD_EXACT_MATCH_ON_REMOVE: u32 = 4; +pub const DDD_NO_BROADCAST_SYSTEM: u32 = 8; +pub const DDD_LUID_BROADCAST_DRIVE: u32 = 16; +pub const COPYFILE2_MESSAGE_COPY_OFFLOAD: u32 = 1; +pub const MOVEFILE_REPLACE_EXISTING: u32 = 1; +pub const MOVEFILE_COPY_ALLOWED: u32 = 2; +pub const MOVEFILE_DELAY_UNTIL_REBOOT: u32 = 4; +pub const MOVEFILE_WRITE_THROUGH: u32 = 8; +pub const MOVEFILE_CREATE_HARDLINK: u32 = 16; +pub const MOVEFILE_FAIL_IF_NOT_TRACKABLE: u32 = 32; +pub const EVENTLOG_FULL_INFO: u32 = 0; +pub const OPERATION_API_VERSION: u32 = 1; +pub const OPERATION_START_TRACE_CURRENT_THREAD: u32 = 1; +pub const OPERATION_END_DISCARD: u32 = 1; +pub const MAX_COMPUTERNAME_LENGTH: u32 = 15; +pub const LOGON32_LOGON_INTERACTIVE: u32 = 2; +pub const LOGON32_LOGON_NETWORK: u32 = 3; +pub const LOGON32_LOGON_BATCH: u32 = 4; +pub const LOGON32_LOGON_SERVICE: u32 = 5; +pub const LOGON32_LOGON_UNLOCK: u32 = 7; +pub const LOGON32_LOGON_NETWORK_CLEARTEXT: u32 = 8; +pub const LOGON32_LOGON_NEW_CREDENTIALS: u32 = 9; +pub const LOGON32_PROVIDER_DEFAULT: u32 = 0; +pub const LOGON32_PROVIDER_WINNT35: u32 = 1; +pub const LOGON32_PROVIDER_WINNT40: u32 = 2; +pub const LOGON32_PROVIDER_WINNT50: u32 = 3; +pub const LOGON32_PROVIDER_VIRTUAL: u32 = 4; +pub const LOGON_WITH_PROFILE: u32 = 1; +pub const LOGON_NETCREDENTIALS_ONLY: u32 = 2; +pub const LOGON_ZERO_PASSWORD_BUFFER: u32 = 2147483648; +pub const HW_PROFILE_GUIDLEN: u32 = 39; +pub const MAX_PROFILE_LEN: u32 = 80; +pub const DOCKINFO_UNDOCKED: u32 = 1; +pub const DOCKINFO_DOCKED: u32 = 2; +pub const DOCKINFO_USER_SUPPLIED: u32 = 4; +pub const DOCKINFO_USER_UNDOCKED: u32 = 5; +pub const DOCKINFO_USER_DOCKED: u32 = 6; +pub const FACILITY_NULL: u32 = 0; +pub const FACILITY_RPC: u32 = 1; +pub const FACILITY_DISPATCH: u32 = 2; +pub const FACILITY_STORAGE: u32 = 3; +pub const FACILITY_ITF: u32 = 4; +pub const FACILITY_WIN32: u32 = 7; +pub const FACILITY_WINDOWS: u32 = 8; +pub const FACILITY_SSPI: u32 = 9; +pub const FACILITY_SECURITY: u32 = 9; +pub const FACILITY_CONTROL: u32 = 10; +pub const FACILITY_CERT: u32 = 11; +pub const FACILITY_INTERNET: u32 = 12; +pub const FACILITY_MEDIASERVER: u32 = 13; +pub const FACILITY_MSMQ: u32 = 14; +pub const FACILITY_SETUPAPI: u32 = 15; +pub const FACILITY_SCARD: u32 = 16; +pub const FACILITY_COMPLUS: u32 = 17; +pub const FACILITY_AAF: u32 = 18; +pub const FACILITY_URT: u32 = 19; +pub const FACILITY_ACS: u32 = 20; +pub const FACILITY_DPLAY: u32 = 21; +pub const FACILITY_UMI: u32 = 22; +pub const FACILITY_SXS: u32 = 23; +pub const FACILITY_WINDOWS_CE: u32 = 24; +pub const FACILITY_HTTP: u32 = 25; +pub const FACILITY_USERMODE_COMMONLOG: u32 = 26; +pub const FACILITY_WER: u32 = 27; +pub const FACILITY_USERMODE_FILTER_MANAGER: u32 = 31; +pub const FACILITY_BACKGROUNDCOPY: u32 = 32; +pub const FACILITY_CONFIGURATION: u32 = 33; +pub const FACILITY_WIA: u32 = 33; +pub const FACILITY_STATE_MANAGEMENT: u32 = 34; +pub const FACILITY_METADIRECTORY: u32 = 35; +pub const FACILITY_WINDOWSUPDATE: u32 = 36; +pub const FACILITY_DIRECTORYSERVICE: u32 = 37; +pub const FACILITY_GRAPHICS: u32 = 38; +pub const FACILITY_SHELL: u32 = 39; +pub const FACILITY_NAP: u32 = 39; +pub const FACILITY_TPM_SERVICES: u32 = 40; +pub const FACILITY_TPM_SOFTWARE: u32 = 41; +pub const FACILITY_UI: u32 = 42; +pub const FACILITY_XAML: u32 = 43; +pub const FACILITY_ACTION_QUEUE: u32 = 44; +pub const FACILITY_PLA: u32 = 48; +pub const FACILITY_WINDOWS_SETUP: u32 = 48; +pub const FACILITY_FVE: u32 = 49; +pub const FACILITY_FWP: u32 = 50; +pub const FACILITY_WINRM: u32 = 51; +pub const FACILITY_NDIS: u32 = 52; +pub const FACILITY_USERMODE_HYPERVISOR: u32 = 53; +pub const FACILITY_CMI: u32 = 54; +pub const FACILITY_USERMODE_VIRTUALIZATION: u32 = 55; +pub const FACILITY_USERMODE_VOLMGR: u32 = 56; +pub const FACILITY_BCD: u32 = 57; +pub const FACILITY_USERMODE_VHD: u32 = 58; +pub const FACILITY_USERMODE_HNS: u32 = 59; +pub const FACILITY_SDIAG: u32 = 60; +pub const FACILITY_WEBSERVICES: u32 = 61; +pub const FACILITY_WINPE: u32 = 61; +pub const FACILITY_WPN: u32 = 62; +pub const FACILITY_WINDOWS_STORE: u32 = 63; +pub const FACILITY_INPUT: u32 = 64; +pub const FACILITY_QUIC: u32 = 65; +pub const FACILITY_EAP: u32 = 66; +pub const FACILITY_WINDOWS_DEFENDER: u32 = 80; +pub const FACILITY_OPC: u32 = 81; +pub const FACILITY_XPS: u32 = 82; +pub const FACILITY_MBN: u32 = 84; +pub const FACILITY_POWERSHELL: u32 = 84; +pub const FACILITY_RAS: u32 = 83; +pub const FACILITY_P2P_INT: u32 = 98; +pub const FACILITY_P2P: u32 = 99; +pub const FACILITY_DAF: u32 = 100; +pub const FACILITY_BLUETOOTH_ATT: u32 = 101; +pub const FACILITY_AUDIO: u32 = 102; +pub const FACILITY_STATEREPOSITORY: u32 = 103; +pub const FACILITY_VISUALCPP: u32 = 109; +pub const FACILITY_SCRIPT: u32 = 112; +pub const FACILITY_PARSE: u32 = 113; +pub const FACILITY_BLB: u32 = 120; +pub const FACILITY_BLB_CLI: u32 = 121; +pub const FACILITY_WSBAPP: u32 = 122; +pub const FACILITY_BLBUI: u32 = 128; +pub const FACILITY_USN: u32 = 129; +pub const FACILITY_USERMODE_VOLSNAP: u32 = 130; +pub const FACILITY_TIERING: u32 = 131; +pub const FACILITY_WSB_ONLINE: u32 = 133; +pub const FACILITY_ONLINE_ID: u32 = 134; +pub const FACILITY_DEVICE_UPDATE_AGENT: u32 = 135; +pub const FACILITY_DRVSERVICING: u32 = 136; +pub const FACILITY_DLS: u32 = 153; +pub const FACILITY_DELIVERY_OPTIMIZATION: u32 = 208; +pub const FACILITY_USERMODE_SPACES: u32 = 231; +pub const FACILITY_USER_MODE_SECURITY_CORE: u32 = 232; +pub const FACILITY_USERMODE_LICENSING: u32 = 234; +pub const FACILITY_SOS: u32 = 160; +pub const FACILITY_DEBUGGERS: u32 = 176; +pub const FACILITY_SPP: u32 = 256; +pub const FACILITY_RESTORE: u32 = 256; +pub const FACILITY_DMSERVER: u32 = 256; +pub const FACILITY_DEPLOYMENT_SERVICES_SERVER: u32 = 257; +pub const FACILITY_DEPLOYMENT_SERVICES_IMAGING: u32 = 258; +pub const FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT: u32 = 259; +pub const FACILITY_DEPLOYMENT_SERVICES_UTIL: u32 = 260; +pub const FACILITY_DEPLOYMENT_SERVICES_BINLSVC: u32 = 261; +pub const FACILITY_DEPLOYMENT_SERVICES_PXE: u32 = 263; +pub const FACILITY_DEPLOYMENT_SERVICES_TFTP: u32 = 264; +pub const FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT: u32 = 272; +pub const FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING: u32 = 278; +pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER: u32 = 289; +pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT: u32 = 290; +pub const FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER: u32 = 293; +pub const FACILITY_LINGUISTIC_SERVICES: u32 = 305; +pub const FACILITY_AUDIOSTREAMING: u32 = 1094; +pub const FACILITY_TTD: u32 = 1490; +pub const FACILITY_ACCELERATOR: u32 = 1536; +pub const FACILITY_WMAAECMA: u32 = 1996; +pub const FACILITY_DIRECTMUSIC: u32 = 2168; +pub const FACILITY_DIRECT3D10: u32 = 2169; +pub const FACILITY_DXGI: u32 = 2170; +pub const FACILITY_DXGI_DDI: u32 = 2171; +pub const FACILITY_DIRECT3D11: u32 = 2172; +pub const FACILITY_DIRECT3D11_DEBUG: u32 = 2173; +pub const FACILITY_DIRECT3D12: u32 = 2174; +pub const FACILITY_DIRECT3D12_DEBUG: u32 = 2175; +pub const FACILITY_DXCORE: u32 = 2176; +pub const FACILITY_LEAP: u32 = 2184; +pub const FACILITY_AUDCLNT: u32 = 2185; +pub const FACILITY_WINCODEC_DWRITE_DWM: u32 = 2200; +pub const FACILITY_WINML: u32 = 2192; +pub const FACILITY_DIRECT2D: u32 = 2201; +pub const FACILITY_DEFRAG: u32 = 2304; +pub const FACILITY_USERMODE_SDBUS: u32 = 2305; +pub const FACILITY_JSCRIPT: u32 = 2306; +pub const FACILITY_PIDGENX: u32 = 2561; +pub const FACILITY_EAS: u32 = 85; +pub const FACILITY_WEB: u32 = 885; +pub const FACILITY_WEB_SOCKET: u32 = 886; +pub const FACILITY_MOBILE: u32 = 1793; +pub const FACILITY_SQLITE: u32 = 1967; +pub const FACILITY_UTC: u32 = 1989; +pub const FACILITY_WEP: u32 = 2049; +pub const FACILITY_SYNCENGINE: u32 = 2050; +pub const FACILITY_XBOX: u32 = 2339; +pub const FACILITY_GAME: u32 = 2340; +pub const FACILITY_PIX: u32 = 2748; +pub const ERROR_SUCCESS: u32 = 0; +pub const NO_ERROR: u32 = 0; +pub const ERROR_INVALID_FUNCTION: u32 = 1; +pub const ERROR_FILE_NOT_FOUND: u32 = 2; +pub const ERROR_PATH_NOT_FOUND: u32 = 3; +pub const ERROR_TOO_MANY_OPEN_FILES: u32 = 4; +pub const ERROR_ACCESS_DENIED: u32 = 5; +pub const ERROR_INVALID_HANDLE: u32 = 6; +pub const ERROR_ARENA_TRASHED: u32 = 7; +pub const ERROR_NOT_ENOUGH_MEMORY: u32 = 8; +pub const ERROR_INVALID_BLOCK: u32 = 9; +pub const ERROR_BAD_ENVIRONMENT: u32 = 10; +pub const ERROR_BAD_FORMAT: u32 = 11; +pub const ERROR_INVALID_ACCESS: u32 = 12; +pub const ERROR_INVALID_DATA: u32 = 13; +pub const ERROR_OUTOFMEMORY: u32 = 14; +pub const ERROR_INVALID_DRIVE: u32 = 15; +pub const ERROR_CURRENT_DIRECTORY: u32 = 16; +pub const ERROR_NOT_SAME_DEVICE: u32 = 17; +pub const ERROR_NO_MORE_FILES: u32 = 18; +pub const ERROR_WRITE_PROTECT: u32 = 19; +pub const ERROR_BAD_UNIT: u32 = 20; +pub const ERROR_NOT_READY: u32 = 21; +pub const ERROR_BAD_COMMAND: u32 = 22; +pub const ERROR_CRC: u32 = 23; +pub const ERROR_BAD_LENGTH: u32 = 24; +pub const ERROR_SEEK: u32 = 25; +pub const ERROR_NOT_DOS_DISK: u32 = 26; +pub const ERROR_SECTOR_NOT_FOUND: u32 = 27; +pub const ERROR_OUT_OF_PAPER: u32 = 28; +pub const ERROR_WRITE_FAULT: u32 = 29; +pub const ERROR_READ_FAULT: u32 = 30; +pub const ERROR_GEN_FAILURE: u32 = 31; +pub const ERROR_SHARING_VIOLATION: u32 = 32; +pub const ERROR_LOCK_VIOLATION: u32 = 33; +pub const ERROR_WRONG_DISK: u32 = 34; +pub const ERROR_SHARING_BUFFER_EXCEEDED: u32 = 36; +pub const ERROR_HANDLE_EOF: u32 = 38; +pub const ERROR_HANDLE_DISK_FULL: u32 = 39; +pub const ERROR_NOT_SUPPORTED: u32 = 50; +pub const ERROR_REM_NOT_LIST: u32 = 51; +pub const ERROR_DUP_NAME: u32 = 52; +pub const ERROR_BAD_NETPATH: u32 = 53; +pub const ERROR_NETWORK_BUSY: u32 = 54; +pub const ERROR_DEV_NOT_EXIST: u32 = 55; +pub const ERROR_TOO_MANY_CMDS: u32 = 56; +pub const ERROR_ADAP_HDW_ERR: u32 = 57; +pub const ERROR_BAD_NET_RESP: u32 = 58; +pub const ERROR_UNEXP_NET_ERR: u32 = 59; +pub const ERROR_BAD_REM_ADAP: u32 = 60; +pub const ERROR_PRINTQ_FULL: u32 = 61; +pub const ERROR_NO_SPOOL_SPACE: u32 = 62; +pub const ERROR_PRINT_CANCELLED: u32 = 63; +pub const ERROR_NETNAME_DELETED: u32 = 64; +pub const ERROR_NETWORK_ACCESS_DENIED: u32 = 65; +pub const ERROR_BAD_DEV_TYPE: u32 = 66; +pub const ERROR_BAD_NET_NAME: u32 = 67; +pub const ERROR_TOO_MANY_NAMES: u32 = 68; +pub const ERROR_TOO_MANY_SESS: u32 = 69; +pub const ERROR_SHARING_PAUSED: u32 = 70; +pub const ERROR_REQ_NOT_ACCEP: u32 = 71; +pub const ERROR_REDIR_PAUSED: u32 = 72; +pub const ERROR_FILE_EXISTS: u32 = 80; +pub const ERROR_CANNOT_MAKE: u32 = 82; +pub const ERROR_FAIL_I24: u32 = 83; +pub const ERROR_OUT_OF_STRUCTURES: u32 = 84; +pub const ERROR_ALREADY_ASSIGNED: u32 = 85; +pub const ERROR_INVALID_PASSWORD: u32 = 86; +pub const ERROR_INVALID_PARAMETER: u32 = 87; +pub const ERROR_NET_WRITE_FAULT: u32 = 88; +pub const ERROR_NO_PROC_SLOTS: u32 = 89; +pub const ERROR_TOO_MANY_SEMAPHORES: u32 = 100; +pub const ERROR_EXCL_SEM_ALREADY_OWNED: u32 = 101; +pub const ERROR_SEM_IS_SET: u32 = 102; +pub const ERROR_TOO_MANY_SEM_REQUESTS: u32 = 103; +pub const ERROR_INVALID_AT_INTERRUPT_TIME: u32 = 104; +pub const ERROR_SEM_OWNER_DIED: u32 = 105; +pub const ERROR_SEM_USER_LIMIT: u32 = 106; +pub const ERROR_DISK_CHANGE: u32 = 107; +pub const ERROR_DRIVE_LOCKED: u32 = 108; +pub const ERROR_BROKEN_PIPE: u32 = 109; +pub const ERROR_OPEN_FAILED: u32 = 110; +pub const ERROR_BUFFER_OVERFLOW: u32 = 111; +pub const ERROR_DISK_FULL: u32 = 112; +pub const ERROR_NO_MORE_SEARCH_HANDLES: u32 = 113; +pub const ERROR_INVALID_TARGET_HANDLE: u32 = 114; +pub const ERROR_INVALID_CATEGORY: u32 = 117; +pub const ERROR_INVALID_VERIFY_SWITCH: u32 = 118; +pub const ERROR_BAD_DRIVER_LEVEL: u32 = 119; +pub const ERROR_CALL_NOT_IMPLEMENTED: u32 = 120; +pub const ERROR_SEM_TIMEOUT: u32 = 121; +pub const ERROR_INSUFFICIENT_BUFFER: u32 = 122; +pub const ERROR_INVALID_NAME: u32 = 123; +pub const ERROR_INVALID_LEVEL: u32 = 124; +pub const ERROR_NO_VOLUME_LABEL: u32 = 125; +pub const ERROR_MOD_NOT_FOUND: u32 = 126; +pub const ERROR_PROC_NOT_FOUND: u32 = 127; +pub const ERROR_WAIT_NO_CHILDREN: u32 = 128; +pub const ERROR_CHILD_NOT_COMPLETE: u32 = 129; +pub const ERROR_DIRECT_ACCESS_HANDLE: u32 = 130; +pub const ERROR_NEGATIVE_SEEK: u32 = 131; +pub const ERROR_SEEK_ON_DEVICE: u32 = 132; +pub const ERROR_IS_JOIN_TARGET: u32 = 133; +pub const ERROR_IS_JOINED: u32 = 134; +pub const ERROR_IS_SUBSTED: u32 = 135; +pub const ERROR_NOT_JOINED: u32 = 136; +pub const ERROR_NOT_SUBSTED: u32 = 137; +pub const ERROR_JOIN_TO_JOIN: u32 = 138; +pub const ERROR_SUBST_TO_SUBST: u32 = 139; +pub const ERROR_JOIN_TO_SUBST: u32 = 140; +pub const ERROR_SUBST_TO_JOIN: u32 = 141; +pub const ERROR_BUSY_DRIVE: u32 = 142; +pub const ERROR_SAME_DRIVE: u32 = 143; +pub const ERROR_DIR_NOT_ROOT: u32 = 144; +pub const ERROR_DIR_NOT_EMPTY: u32 = 145; +pub const ERROR_IS_SUBST_PATH: u32 = 146; +pub const ERROR_IS_JOIN_PATH: u32 = 147; +pub const ERROR_PATH_BUSY: u32 = 148; +pub const ERROR_IS_SUBST_TARGET: u32 = 149; +pub const ERROR_SYSTEM_TRACE: u32 = 150; +pub const ERROR_INVALID_EVENT_COUNT: u32 = 151; +pub const ERROR_TOO_MANY_MUXWAITERS: u32 = 152; +pub const ERROR_INVALID_LIST_FORMAT: u32 = 153; +pub const ERROR_LABEL_TOO_LONG: u32 = 154; +pub const ERROR_TOO_MANY_TCBS: u32 = 155; +pub const ERROR_SIGNAL_REFUSED: u32 = 156; +pub const ERROR_DISCARDED: u32 = 157; +pub const ERROR_NOT_LOCKED: u32 = 158; +pub const ERROR_BAD_THREADID_ADDR: u32 = 159; +pub const ERROR_BAD_ARGUMENTS: u32 = 160; +pub const ERROR_BAD_PATHNAME: u32 = 161; +pub const ERROR_SIGNAL_PENDING: u32 = 162; +pub const ERROR_MAX_THRDS_REACHED: u32 = 164; +pub const ERROR_LOCK_FAILED: u32 = 167; +pub const ERROR_BUSY: u32 = 170; +pub const ERROR_DEVICE_SUPPORT_IN_PROGRESS: u32 = 171; +pub const ERROR_CANCEL_VIOLATION: u32 = 173; +pub const ERROR_ATOMIC_LOCKS_NOT_SUPPORTED: u32 = 174; +pub const ERROR_INVALID_SEGMENT_NUMBER: u32 = 180; +pub const ERROR_INVALID_ORDINAL: u32 = 182; +pub const ERROR_ALREADY_EXISTS: u32 = 183; +pub const ERROR_INVALID_FLAG_NUMBER: u32 = 186; +pub const ERROR_SEM_NOT_FOUND: u32 = 187; +pub const ERROR_INVALID_STARTING_CODESEG: u32 = 188; +pub const ERROR_INVALID_STACKSEG: u32 = 189; +pub const ERROR_INVALID_MODULETYPE: u32 = 190; +pub const ERROR_INVALID_EXE_SIGNATURE: u32 = 191; +pub const ERROR_EXE_MARKED_INVALID: u32 = 192; +pub const ERROR_BAD_EXE_FORMAT: u32 = 193; +pub const ERROR_ITERATED_DATA_EXCEEDS_64k: u32 = 194; +pub const ERROR_INVALID_MINALLOCSIZE: u32 = 195; +pub const ERROR_DYNLINK_FROM_INVALID_RING: u32 = 196; +pub const ERROR_IOPL_NOT_ENABLED: u32 = 197; +pub const ERROR_INVALID_SEGDPL: u32 = 198; +pub const ERROR_AUTODATASEG_EXCEEDS_64k: u32 = 199; +pub const ERROR_RING2SEG_MUST_BE_MOVABLE: u32 = 200; +pub const ERROR_RELOC_CHAIN_XEEDS_SEGLIM: u32 = 201; +pub const ERROR_INFLOOP_IN_RELOC_CHAIN: u32 = 202; +pub const ERROR_ENVVAR_NOT_FOUND: u32 = 203; +pub const ERROR_NO_SIGNAL_SENT: u32 = 205; +pub const ERROR_FILENAME_EXCED_RANGE: u32 = 206; +pub const ERROR_RING2_STACK_IN_USE: u32 = 207; +pub const ERROR_META_EXPANSION_TOO_LONG: u32 = 208; +pub const ERROR_INVALID_SIGNAL_NUMBER: u32 = 209; +pub const ERROR_THREAD_1_INACTIVE: u32 = 210; +pub const ERROR_LOCKED: u32 = 212; +pub const ERROR_TOO_MANY_MODULES: u32 = 214; +pub const ERROR_NESTING_NOT_ALLOWED: u32 = 215; +pub const ERROR_EXE_MACHINE_TYPE_MISMATCH: u32 = 216; +pub const ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY: u32 = 217; +pub const ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY: u32 = 218; +pub const ERROR_FILE_CHECKED_OUT: u32 = 220; +pub const ERROR_CHECKOUT_REQUIRED: u32 = 221; +pub const ERROR_BAD_FILE_TYPE: u32 = 222; +pub const ERROR_FILE_TOO_LARGE: u32 = 223; +pub const ERROR_FORMS_AUTH_REQUIRED: u32 = 224; +pub const ERROR_VIRUS_INFECTED: u32 = 225; +pub const ERROR_VIRUS_DELETED: u32 = 226; +pub const ERROR_PIPE_LOCAL: u32 = 229; +pub const ERROR_BAD_PIPE: u32 = 230; +pub const ERROR_PIPE_BUSY: u32 = 231; +pub const ERROR_NO_DATA: u32 = 232; +pub const ERROR_PIPE_NOT_CONNECTED: u32 = 233; +pub const ERROR_MORE_DATA: u32 = 234; +pub const ERROR_NO_WORK_DONE: u32 = 235; +pub const ERROR_VC_DISCONNECTED: u32 = 240; +pub const ERROR_INVALID_EA_NAME: u32 = 254; +pub const ERROR_EA_LIST_INCONSISTENT: u32 = 255; +pub const WAIT_TIMEOUT: u32 = 258; +pub const ERROR_NO_MORE_ITEMS: u32 = 259; +pub const ERROR_CANNOT_COPY: u32 = 266; +pub const ERROR_DIRECTORY: u32 = 267; +pub const ERROR_EAS_DIDNT_FIT: u32 = 275; +pub const ERROR_EA_FILE_CORRUPT: u32 = 276; +pub const ERROR_EA_TABLE_FULL: u32 = 277; +pub const ERROR_INVALID_EA_HANDLE: u32 = 278; +pub const ERROR_EAS_NOT_SUPPORTED: u32 = 282; +pub const ERROR_NOT_OWNER: u32 = 288; +pub const ERROR_TOO_MANY_POSTS: u32 = 298; +pub const ERROR_PARTIAL_COPY: u32 = 299; +pub const ERROR_OPLOCK_NOT_GRANTED: u32 = 300; +pub const ERROR_INVALID_OPLOCK_PROTOCOL: u32 = 301; +pub const ERROR_DISK_TOO_FRAGMENTED: u32 = 302; +pub const ERROR_DELETE_PENDING: u32 = 303; +pub const ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING: u32 = 304; +pub const ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME: u32 = 305; +pub const ERROR_SECURITY_STREAM_IS_INCONSISTENT: u32 = 306; +pub const ERROR_INVALID_LOCK_RANGE: u32 = 307; +pub const ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT: u32 = 308; +pub const ERROR_NOTIFICATION_GUID_ALREADY_DEFINED: u32 = 309; +pub const ERROR_INVALID_EXCEPTION_HANDLER: u32 = 310; +pub const ERROR_DUPLICATE_PRIVILEGES: u32 = 311; +pub const ERROR_NO_RANGES_PROCESSED: u32 = 312; +pub const ERROR_NOT_ALLOWED_ON_SYSTEM_FILE: u32 = 313; +pub const ERROR_DISK_RESOURCES_EXHAUSTED: u32 = 314; +pub const ERROR_INVALID_TOKEN: u32 = 315; +pub const ERROR_DEVICE_FEATURE_NOT_SUPPORTED: u32 = 316; +pub const ERROR_MR_MID_NOT_FOUND: u32 = 317; +pub const ERROR_SCOPE_NOT_FOUND: u32 = 318; +pub const ERROR_UNDEFINED_SCOPE: u32 = 319; +pub const ERROR_INVALID_CAP: u32 = 320; +pub const ERROR_DEVICE_UNREACHABLE: u32 = 321; +pub const ERROR_DEVICE_NO_RESOURCES: u32 = 322; +pub const ERROR_DATA_CHECKSUM_ERROR: u32 = 323; +pub const ERROR_INTERMIXED_KERNEL_EA_OPERATION: u32 = 324; +pub const ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED: u32 = 326; +pub const ERROR_OFFSET_ALIGNMENT_VIOLATION: u32 = 327; +pub const ERROR_INVALID_FIELD_IN_PARAMETER_LIST: u32 = 328; +pub const ERROR_OPERATION_IN_PROGRESS: u32 = 329; +pub const ERROR_BAD_DEVICE_PATH: u32 = 330; +pub const ERROR_TOO_MANY_DESCRIPTORS: u32 = 331; +pub const ERROR_SCRUB_DATA_DISABLED: u32 = 332; +pub const ERROR_NOT_REDUNDANT_STORAGE: u32 = 333; +pub const ERROR_RESIDENT_FILE_NOT_SUPPORTED: u32 = 334; +pub const ERROR_COMPRESSED_FILE_NOT_SUPPORTED: u32 = 335; +pub const ERROR_DIRECTORY_NOT_SUPPORTED: u32 = 336; +pub const ERROR_NOT_READ_FROM_COPY: u32 = 337; +pub const ERROR_FT_WRITE_FAILURE: u32 = 338; +pub const ERROR_FT_DI_SCAN_REQUIRED: u32 = 339; +pub const ERROR_INVALID_KERNEL_INFO_VERSION: u32 = 340; +pub const ERROR_INVALID_PEP_INFO_VERSION: u32 = 341; +pub const ERROR_OBJECT_NOT_EXTERNALLY_BACKED: u32 = 342; +pub const ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN: u32 = 343; +pub const ERROR_COMPRESSION_NOT_BENEFICIAL: u32 = 344; +pub const ERROR_STORAGE_TOPOLOGY_ID_MISMATCH: u32 = 345; +pub const ERROR_BLOCKED_BY_PARENTAL_CONTROLS: u32 = 346; +pub const ERROR_BLOCK_TOO_MANY_REFERENCES: u32 = 347; +pub const ERROR_MARKED_TO_DISALLOW_WRITES: u32 = 348; +pub const ERROR_ENCLAVE_FAILURE: u32 = 349; +pub const ERROR_FAIL_NOACTION_REBOOT: u32 = 350; +pub const ERROR_FAIL_SHUTDOWN: u32 = 351; +pub const ERROR_FAIL_RESTART: u32 = 352; +pub const ERROR_MAX_SESSIONS_REACHED: u32 = 353; +pub const ERROR_NETWORK_ACCESS_DENIED_EDP: u32 = 354; +pub const ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL: u32 = 355; +pub const ERROR_EDP_POLICY_DENIES_OPERATION: u32 = 356; +pub const ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED: u32 = 357; +pub const ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT: u32 = 358; +pub const ERROR_DEVICE_IN_MAINTENANCE: u32 = 359; +pub const ERROR_NOT_SUPPORTED_ON_DAX: u32 = 360; +pub const ERROR_DAX_MAPPING_EXISTS: u32 = 361; +pub const ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING: u32 = 362; +pub const ERROR_CLOUD_FILE_METADATA_CORRUPT: u32 = 363; +pub const ERROR_CLOUD_FILE_METADATA_TOO_LARGE: u32 = 364; +pub const ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE: u32 = 365; +pub const ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH: u32 = 366; +pub const ERROR_CHILD_PROCESS_BLOCKED: u32 = 367; +pub const ERROR_STORAGE_LOST_DATA_PERSISTENCE: u32 = 368; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE: u32 = 369; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT: u32 = 370; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY: u32 = 371; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN: u32 = 372; +pub const ERROR_GDI_HANDLE_LEAK: u32 = 373; +pub const ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS: u32 = 374; +pub const ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED: u32 = 375; +pub const ERROR_NOT_A_CLOUD_FILE: u32 = 376; +pub const ERROR_CLOUD_FILE_NOT_IN_SYNC: u32 = 377; +pub const ERROR_CLOUD_FILE_ALREADY_CONNECTED: u32 = 378; +pub const ERROR_CLOUD_FILE_NOT_SUPPORTED: u32 = 379; +pub const ERROR_CLOUD_FILE_INVALID_REQUEST: u32 = 380; +pub const ERROR_CLOUD_FILE_READ_ONLY_VOLUME: u32 = 381; +pub const ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY: u32 = 382; +pub const ERROR_CLOUD_FILE_VALIDATION_FAILED: u32 = 383; +pub const ERROR_SMB1_NOT_AVAILABLE: u32 = 384; +pub const ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION: u32 = 385; +pub const ERROR_CLOUD_FILE_AUTHENTICATION_FAILED: u32 = 386; +pub const ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES: u32 = 387; +pub const ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE: u32 = 388; +pub const ERROR_CLOUD_FILE_UNSUCCESSFUL: u32 = 389; +pub const ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT: u32 = 390; +pub const ERROR_CLOUD_FILE_IN_USE: u32 = 391; +pub const ERROR_CLOUD_FILE_PINNED: u32 = 392; +pub const ERROR_CLOUD_FILE_REQUEST_ABORTED: u32 = 393; +pub const ERROR_CLOUD_FILE_PROPERTY_CORRUPT: u32 = 394; +pub const ERROR_CLOUD_FILE_ACCESS_DENIED: u32 = 395; +pub const ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS: u32 = 396; +pub const ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT: u32 = 397; +pub const ERROR_CLOUD_FILE_REQUEST_CANCELED: u32 = 398; +pub const ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED: u32 = 399; +pub const ERROR_THREAD_MODE_ALREADY_BACKGROUND: u32 = 400; +pub const ERROR_THREAD_MODE_NOT_BACKGROUND: u32 = 401; +pub const ERROR_PROCESS_MODE_ALREADY_BACKGROUND: u32 = 402; +pub const ERROR_PROCESS_MODE_NOT_BACKGROUND: u32 = 403; +pub const ERROR_CLOUD_FILE_PROVIDER_TERMINATED: u32 = 404; +pub const ERROR_NOT_A_CLOUD_SYNC_ROOT: u32 = 405; +pub const ERROR_FILE_PROTECTED_UNDER_DPL: u32 = 406; +pub const ERROR_VOLUME_NOT_CLUSTER_ALIGNED: u32 = 407; +pub const ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND: u32 = 408; +pub const ERROR_APPX_FILE_NOT_ENCRYPTED: u32 = 409; +pub const ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED: u32 = 410; +pub const ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET: u32 = 411; +pub const ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE: u32 = 412; +pub const ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER: u32 = 413; +pub const ERROR_LINUX_SUBSYSTEM_NOT_PRESENT: u32 = 414; +pub const ERROR_FT_READ_FAILURE: u32 = 415; +pub const ERROR_STORAGE_RESERVE_ID_INVALID: u32 = 416; +pub const ERROR_STORAGE_RESERVE_DOES_NOT_EXIST: u32 = 417; +pub const ERROR_STORAGE_RESERVE_ALREADY_EXISTS: u32 = 418; +pub const ERROR_STORAGE_RESERVE_NOT_EMPTY: u32 = 419; +pub const ERROR_NOT_A_DAX_VOLUME: u32 = 420; +pub const ERROR_NOT_DAX_MAPPABLE: u32 = 421; +pub const ERROR_TIME_SENSITIVE_THREAD: u32 = 422; +pub const ERROR_DPL_NOT_SUPPORTED_FOR_USER: u32 = 423; +pub const ERROR_CASE_DIFFERING_NAMES_IN_DIR: u32 = 424; +pub const ERROR_FILE_NOT_SUPPORTED: u32 = 425; +pub const ERROR_CLOUD_FILE_REQUEST_TIMEOUT: u32 = 426; +pub const ERROR_NO_TASK_QUEUE: u32 = 427; +pub const ERROR_SRC_SRV_DLL_LOAD_FAILED: u32 = 428; +pub const ERROR_NOT_SUPPORTED_WITH_BTT: u32 = 429; +pub const ERROR_ENCRYPTION_DISABLED: u32 = 430; +pub const ERROR_ENCRYPTING_METADATA_DISALLOWED: u32 = 431; +pub const ERROR_CANT_CLEAR_ENCRYPTION_FLAG: u32 = 432; +pub const ERROR_NO_SUCH_DEVICE: u32 = 433; +pub const ERROR_CLOUD_FILE_DEHYDRATION_DISALLOWED: u32 = 434; +pub const ERROR_FILE_SNAP_IN_PROGRESS: u32 = 435; +pub const ERROR_FILE_SNAP_USER_SECTION_NOT_SUPPORTED: u32 = 436; +pub const ERROR_FILE_SNAP_MODIFY_NOT_SUPPORTED: u32 = 437; +pub const ERROR_FILE_SNAP_IO_NOT_COORDINATED: u32 = 438; +pub const ERROR_FILE_SNAP_UNEXPECTED_ERROR: u32 = 439; +pub const ERROR_FILE_SNAP_INVALID_PARAMETER: u32 = 440; +pub const ERROR_UNSATISFIED_DEPENDENCIES: u32 = 441; +pub const ERROR_CASE_SENSITIVE_PATH: u32 = 442; +pub const ERROR_UNEXPECTED_NTCACHEMANAGER_ERROR: u32 = 443; +pub const ERROR_LINUX_SUBSYSTEM_UPDATE_REQUIRED: u32 = 444; +pub const ERROR_DLP_POLICY_WARNS_AGAINST_OPERATION: u32 = 445; +pub const ERROR_DLP_POLICY_DENIES_OPERATION: u32 = 446; +pub const ERROR_DLP_POLICY_SILENTLY_FAIL: u32 = 449; +pub const ERROR_CAPAUTHZ_NOT_DEVUNLOCKED: u32 = 450; +pub const ERROR_CAPAUTHZ_CHANGE_TYPE: u32 = 451; +pub const ERROR_CAPAUTHZ_NOT_PROVISIONED: u32 = 452; +pub const ERROR_CAPAUTHZ_NOT_AUTHORIZED: u32 = 453; +pub const ERROR_CAPAUTHZ_NO_POLICY: u32 = 454; +pub const ERROR_CAPAUTHZ_DB_CORRUPTED: u32 = 455; +pub const ERROR_CAPAUTHZ_SCCD_INVALID_CATALOG: u32 = 456; +pub const ERROR_CAPAUTHZ_SCCD_NO_AUTH_ENTITY: u32 = 457; +pub const ERROR_CAPAUTHZ_SCCD_PARSE_ERROR: u32 = 458; +pub const ERROR_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED: u32 = 459; +pub const ERROR_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH: u32 = 460; +pub const ERROR_CIMFS_IMAGE_CORRUPT: u32 = 470; +pub const ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT: u32 = 480; +pub const ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT: u32 = 481; +pub const ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT: u32 = 482; +pub const ERROR_DEVICE_HARDWARE_ERROR: u32 = 483; +pub const ERROR_INVALID_ADDRESS: u32 = 487; +pub const ERROR_HAS_SYSTEM_CRITICAL_FILES: u32 = 488; +pub const ERROR_VRF_CFG_AND_IO_ENABLED: u32 = 1183; +pub const ERROR_PARTITION_TERMINATING: u32 = 1184; +pub const ERROR_USER_PROFILE_LOAD: u32 = 500; +pub const ERROR_ARITHMETIC_OVERFLOW: u32 = 534; +pub const ERROR_PIPE_CONNECTED: u32 = 535; +pub const ERROR_PIPE_LISTENING: u32 = 536; +pub const ERROR_VERIFIER_STOP: u32 = 537; +pub const ERROR_ABIOS_ERROR: u32 = 538; +pub const ERROR_WX86_WARNING: u32 = 539; +pub const ERROR_WX86_ERROR: u32 = 540; +pub const ERROR_TIMER_NOT_CANCELED: u32 = 541; +pub const ERROR_UNWIND: u32 = 542; +pub const ERROR_BAD_STACK: u32 = 543; +pub const ERROR_INVALID_UNWIND_TARGET: u32 = 544; +pub const ERROR_INVALID_PORT_ATTRIBUTES: u32 = 545; +pub const ERROR_PORT_MESSAGE_TOO_LONG: u32 = 546; +pub const ERROR_INVALID_QUOTA_LOWER: u32 = 547; +pub const ERROR_DEVICE_ALREADY_ATTACHED: u32 = 548; +pub const ERROR_INSTRUCTION_MISALIGNMENT: u32 = 549; +pub const ERROR_PROFILING_NOT_STARTED: u32 = 550; +pub const ERROR_PROFILING_NOT_STOPPED: u32 = 551; +pub const ERROR_COULD_NOT_INTERPRET: u32 = 552; +pub const ERROR_PROFILING_AT_LIMIT: u32 = 553; +pub const ERROR_CANT_WAIT: u32 = 554; +pub const ERROR_CANT_TERMINATE_SELF: u32 = 555; +pub const ERROR_UNEXPECTED_MM_CREATE_ERR: u32 = 556; +pub const ERROR_UNEXPECTED_MM_MAP_ERROR: u32 = 557; +pub const ERROR_UNEXPECTED_MM_EXTEND_ERR: u32 = 558; +pub const ERROR_BAD_FUNCTION_TABLE: u32 = 559; +pub const ERROR_NO_GUID_TRANSLATION: u32 = 560; +pub const ERROR_INVALID_LDT_SIZE: u32 = 561; +pub const ERROR_INVALID_LDT_OFFSET: u32 = 563; +pub const ERROR_INVALID_LDT_DESCRIPTOR: u32 = 564; +pub const ERROR_TOO_MANY_THREADS: u32 = 565; +pub const ERROR_THREAD_NOT_IN_PROCESS: u32 = 566; +pub const ERROR_PAGEFILE_QUOTA_EXCEEDED: u32 = 567; +pub const ERROR_LOGON_SERVER_CONFLICT: u32 = 568; +pub const ERROR_SYNCHRONIZATION_REQUIRED: u32 = 569; +pub const ERROR_NET_OPEN_FAILED: u32 = 570; +pub const ERROR_IO_PRIVILEGE_FAILED: u32 = 571; +pub const ERROR_CONTROL_C_EXIT: u32 = 572; +pub const ERROR_MISSING_SYSTEMFILE: u32 = 573; +pub const ERROR_UNHANDLED_EXCEPTION: u32 = 574; +pub const ERROR_APP_INIT_FAILURE: u32 = 575; +pub const ERROR_PAGEFILE_CREATE_FAILED: u32 = 576; +pub const ERROR_INVALID_IMAGE_HASH: u32 = 577; +pub const ERROR_NO_PAGEFILE: u32 = 578; +pub const ERROR_ILLEGAL_FLOAT_CONTEXT: u32 = 579; +pub const ERROR_NO_EVENT_PAIR: u32 = 580; +pub const ERROR_DOMAIN_CTRLR_CONFIG_ERROR: u32 = 581; +pub const ERROR_ILLEGAL_CHARACTER: u32 = 582; +pub const ERROR_UNDEFINED_CHARACTER: u32 = 583; +pub const ERROR_FLOPPY_VOLUME: u32 = 584; +pub const ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT: u32 = 585; +pub const ERROR_BACKUP_CONTROLLER: u32 = 586; +pub const ERROR_MUTANT_LIMIT_EXCEEDED: u32 = 587; +pub const ERROR_FS_DRIVER_REQUIRED: u32 = 588; +pub const ERROR_CANNOT_LOAD_REGISTRY_FILE: u32 = 589; +pub const ERROR_DEBUG_ATTACH_FAILED: u32 = 590; +pub const ERROR_SYSTEM_PROCESS_TERMINATED: u32 = 591; +pub const ERROR_DATA_NOT_ACCEPTED: u32 = 592; +pub const ERROR_VDM_HARD_ERROR: u32 = 593; +pub const ERROR_DRIVER_CANCEL_TIMEOUT: u32 = 594; +pub const ERROR_REPLY_MESSAGE_MISMATCH: u32 = 595; +pub const ERROR_LOST_WRITEBEHIND_DATA: u32 = 596; +pub const ERROR_CLIENT_SERVER_PARAMETERS_INVALID: u32 = 597; +pub const ERROR_NOT_TINY_STREAM: u32 = 598; +pub const ERROR_STACK_OVERFLOW_READ: u32 = 599; +pub const ERROR_CONVERT_TO_LARGE: u32 = 600; +pub const ERROR_FOUND_OUT_OF_SCOPE: u32 = 601; +pub const ERROR_ALLOCATE_BUCKET: u32 = 602; +pub const ERROR_MARSHALL_OVERFLOW: u32 = 603; +pub const ERROR_INVALID_VARIANT: u32 = 604; +pub const ERROR_BAD_COMPRESSION_BUFFER: u32 = 605; +pub const ERROR_AUDIT_FAILED: u32 = 606; +pub const ERROR_TIMER_RESOLUTION_NOT_SET: u32 = 607; +pub const ERROR_INSUFFICIENT_LOGON_INFO: u32 = 608; +pub const ERROR_BAD_DLL_ENTRYPOINT: u32 = 609; +pub const ERROR_BAD_SERVICE_ENTRYPOINT: u32 = 610; +pub const ERROR_IP_ADDRESS_CONFLICT1: u32 = 611; +pub const ERROR_IP_ADDRESS_CONFLICT2: u32 = 612; +pub const ERROR_REGISTRY_QUOTA_LIMIT: u32 = 613; +pub const ERROR_NO_CALLBACK_ACTIVE: u32 = 614; +pub const ERROR_PWD_TOO_SHORT: u32 = 615; +pub const ERROR_PWD_TOO_RECENT: u32 = 616; +pub const ERROR_PWD_HISTORY_CONFLICT: u32 = 617; +pub const ERROR_UNSUPPORTED_COMPRESSION: u32 = 618; +pub const ERROR_INVALID_HW_PROFILE: u32 = 619; +pub const ERROR_INVALID_PLUGPLAY_DEVICE_PATH: u32 = 620; +pub const ERROR_QUOTA_LIST_INCONSISTENT: u32 = 621; +pub const ERROR_EVALUATION_EXPIRATION: u32 = 622; +pub const ERROR_ILLEGAL_DLL_RELOCATION: u32 = 623; +pub const ERROR_DLL_INIT_FAILED_LOGOFF: u32 = 624; +pub const ERROR_VALIDATE_CONTINUE: u32 = 625; +pub const ERROR_NO_MORE_MATCHES: u32 = 626; +pub const ERROR_RANGE_LIST_CONFLICT: u32 = 627; +pub const ERROR_SERVER_SID_MISMATCH: u32 = 628; +pub const ERROR_CANT_ENABLE_DENY_ONLY: u32 = 629; +pub const ERROR_FLOAT_MULTIPLE_FAULTS: u32 = 630; +pub const ERROR_FLOAT_MULTIPLE_TRAPS: u32 = 631; +pub const ERROR_NOINTERFACE: u32 = 632; +pub const ERROR_DRIVER_FAILED_SLEEP: u32 = 633; +pub const ERROR_CORRUPT_SYSTEM_FILE: u32 = 634; +pub const ERROR_COMMITMENT_MINIMUM: u32 = 635; +pub const ERROR_PNP_RESTART_ENUMERATION: u32 = 636; +pub const ERROR_SYSTEM_IMAGE_BAD_SIGNATURE: u32 = 637; +pub const ERROR_PNP_REBOOT_REQUIRED: u32 = 638; +pub const ERROR_INSUFFICIENT_POWER: u32 = 639; +pub const ERROR_MULTIPLE_FAULT_VIOLATION: u32 = 640; +pub const ERROR_SYSTEM_SHUTDOWN: u32 = 641; +pub const ERROR_PORT_NOT_SET: u32 = 642; +pub const ERROR_DS_VERSION_CHECK_FAILURE: u32 = 643; +pub const ERROR_RANGE_NOT_FOUND: u32 = 644; +pub const ERROR_NOT_SAFE_MODE_DRIVER: u32 = 646; +pub const ERROR_FAILED_DRIVER_ENTRY: u32 = 647; +pub const ERROR_DEVICE_ENUMERATION_ERROR: u32 = 648; +pub const ERROR_MOUNT_POINT_NOT_RESOLVED: u32 = 649; +pub const ERROR_INVALID_DEVICE_OBJECT_PARAMETER: u32 = 650; +pub const ERROR_MCA_OCCURED: u32 = 651; +pub const ERROR_DRIVER_DATABASE_ERROR: u32 = 652; +pub const ERROR_SYSTEM_HIVE_TOO_LARGE: u32 = 653; +pub const ERROR_DRIVER_FAILED_PRIOR_UNLOAD: u32 = 654; +pub const ERROR_VOLSNAP_PREPARE_HIBERNATE: u32 = 655; +pub const ERROR_HIBERNATION_FAILURE: u32 = 656; +pub const ERROR_PWD_TOO_LONG: u32 = 657; +pub const ERROR_FILE_SYSTEM_LIMITATION: u32 = 665; +pub const ERROR_ASSERTION_FAILURE: u32 = 668; +pub const ERROR_ACPI_ERROR: u32 = 669; +pub const ERROR_WOW_ASSERTION: u32 = 670; +pub const ERROR_PNP_BAD_MPS_TABLE: u32 = 671; +pub const ERROR_PNP_TRANSLATION_FAILED: u32 = 672; +pub const ERROR_PNP_IRQ_TRANSLATION_FAILED: u32 = 673; +pub const ERROR_PNP_INVALID_ID: u32 = 674; +pub const ERROR_WAKE_SYSTEM_DEBUGGER: u32 = 675; +pub const ERROR_HANDLES_CLOSED: u32 = 676; +pub const ERROR_EXTRANEOUS_INFORMATION: u32 = 677; +pub const ERROR_RXACT_COMMIT_NECESSARY: u32 = 678; +pub const ERROR_MEDIA_CHECK: u32 = 679; +pub const ERROR_GUID_SUBSTITUTION_MADE: u32 = 680; +pub const ERROR_STOPPED_ON_SYMLINK: u32 = 681; +pub const ERROR_LONGJUMP: u32 = 682; +pub const ERROR_PLUGPLAY_QUERY_VETOED: u32 = 683; +pub const ERROR_UNWIND_CONSOLIDATE: u32 = 684; +pub const ERROR_REGISTRY_HIVE_RECOVERED: u32 = 685; +pub const ERROR_DLL_MIGHT_BE_INSECURE: u32 = 686; +pub const ERROR_DLL_MIGHT_BE_INCOMPATIBLE: u32 = 687; +pub const ERROR_DBG_EXCEPTION_NOT_HANDLED: u32 = 688; +pub const ERROR_DBG_REPLY_LATER: u32 = 689; +pub const ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE: u32 = 690; +pub const ERROR_DBG_TERMINATE_THREAD: u32 = 691; +pub const ERROR_DBG_TERMINATE_PROCESS: u32 = 692; +pub const ERROR_DBG_CONTROL_C: u32 = 693; +pub const ERROR_DBG_PRINTEXCEPTION_C: u32 = 694; +pub const ERROR_DBG_RIPEXCEPTION: u32 = 695; +pub const ERROR_DBG_CONTROL_BREAK: u32 = 696; +pub const ERROR_DBG_COMMAND_EXCEPTION: u32 = 697; +pub const ERROR_OBJECT_NAME_EXISTS: u32 = 698; +pub const ERROR_THREAD_WAS_SUSPENDED: u32 = 699; +pub const ERROR_IMAGE_NOT_AT_BASE: u32 = 700; +pub const ERROR_RXACT_STATE_CREATED: u32 = 701; +pub const ERROR_SEGMENT_NOTIFICATION: u32 = 702; +pub const ERROR_BAD_CURRENT_DIRECTORY: u32 = 703; +pub const ERROR_FT_READ_RECOVERY_FROM_BACKUP: u32 = 704; +pub const ERROR_FT_WRITE_RECOVERY: u32 = 705; +pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH: u32 = 706; +pub const ERROR_RECEIVE_PARTIAL: u32 = 707; +pub const ERROR_RECEIVE_EXPEDITED: u32 = 708; +pub const ERROR_RECEIVE_PARTIAL_EXPEDITED: u32 = 709; +pub const ERROR_EVENT_DONE: u32 = 710; +pub const ERROR_EVENT_PENDING: u32 = 711; +pub const ERROR_CHECKING_FILE_SYSTEM: u32 = 712; +pub const ERROR_FATAL_APP_EXIT: u32 = 713; +pub const ERROR_PREDEFINED_HANDLE: u32 = 714; +pub const ERROR_WAS_UNLOCKED: u32 = 715; +pub const ERROR_SERVICE_NOTIFICATION: u32 = 716; +pub const ERROR_WAS_LOCKED: u32 = 717; +pub const ERROR_LOG_HARD_ERROR: u32 = 718; +pub const ERROR_ALREADY_WIN32: u32 = 719; +pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE: u32 = 720; +pub const ERROR_NO_YIELD_PERFORMED: u32 = 721; +pub const ERROR_TIMER_RESUME_IGNORED: u32 = 722; +pub const ERROR_ARBITRATION_UNHANDLED: u32 = 723; +pub const ERROR_CARDBUS_NOT_SUPPORTED: u32 = 724; +pub const ERROR_MP_PROCESSOR_MISMATCH: u32 = 725; +pub const ERROR_HIBERNATED: u32 = 726; +pub const ERROR_RESUME_HIBERNATION: u32 = 727; +pub const ERROR_FIRMWARE_UPDATED: u32 = 728; +pub const ERROR_DRIVERS_LEAKING_LOCKED_PAGES: u32 = 729; +pub const ERROR_WAKE_SYSTEM: u32 = 730; +pub const ERROR_WAIT_1: u32 = 731; +pub const ERROR_WAIT_2: u32 = 732; +pub const ERROR_WAIT_3: u32 = 733; +pub const ERROR_WAIT_63: u32 = 734; +pub const ERROR_ABANDONED_WAIT_0: u32 = 735; +pub const ERROR_ABANDONED_WAIT_63: u32 = 736; +pub const ERROR_USER_APC: u32 = 737; +pub const ERROR_KERNEL_APC: u32 = 738; +pub const ERROR_ALERTED: u32 = 739; +pub const ERROR_ELEVATION_REQUIRED: u32 = 740; +pub const ERROR_REPARSE: u32 = 741; +pub const ERROR_OPLOCK_BREAK_IN_PROGRESS: u32 = 742; +pub const ERROR_VOLUME_MOUNTED: u32 = 743; +pub const ERROR_RXACT_COMMITTED: u32 = 744; +pub const ERROR_NOTIFY_CLEANUP: u32 = 745; +pub const ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED: u32 = 746; +pub const ERROR_PAGE_FAULT_TRANSITION: u32 = 747; +pub const ERROR_PAGE_FAULT_DEMAND_ZERO: u32 = 748; +pub const ERROR_PAGE_FAULT_COPY_ON_WRITE: u32 = 749; +pub const ERROR_PAGE_FAULT_GUARD_PAGE: u32 = 750; +pub const ERROR_PAGE_FAULT_PAGING_FILE: u32 = 751; +pub const ERROR_CACHE_PAGE_LOCKED: u32 = 752; +pub const ERROR_CRASH_DUMP: u32 = 753; +pub const ERROR_BUFFER_ALL_ZEROS: u32 = 754; +pub const ERROR_REPARSE_OBJECT: u32 = 755; +pub const ERROR_RESOURCE_REQUIREMENTS_CHANGED: u32 = 756; +pub const ERROR_TRANSLATION_COMPLETE: u32 = 757; +pub const ERROR_NOTHING_TO_TERMINATE: u32 = 758; +pub const ERROR_PROCESS_NOT_IN_JOB: u32 = 759; +pub const ERROR_PROCESS_IN_JOB: u32 = 760; +pub const ERROR_VOLSNAP_HIBERNATE_READY: u32 = 761; +pub const ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY: u32 = 762; +pub const ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED: u32 = 763; +pub const ERROR_INTERRUPT_STILL_CONNECTED: u32 = 764; +pub const ERROR_WAIT_FOR_OPLOCK: u32 = 765; +pub const ERROR_DBG_EXCEPTION_HANDLED: u32 = 766; +pub const ERROR_DBG_CONTINUE: u32 = 767; +pub const ERROR_CALLBACK_POP_STACK: u32 = 768; +pub const ERROR_COMPRESSION_DISABLED: u32 = 769; +pub const ERROR_CANTFETCHBACKWARDS: u32 = 770; +pub const ERROR_CANTSCROLLBACKWARDS: u32 = 771; +pub const ERROR_ROWSNOTRELEASED: u32 = 772; +pub const ERROR_BAD_ACCESSOR_FLAGS: u32 = 773; +pub const ERROR_ERRORS_ENCOUNTERED: u32 = 774; +pub const ERROR_NOT_CAPABLE: u32 = 775; +pub const ERROR_REQUEST_OUT_OF_SEQUENCE: u32 = 776; +pub const ERROR_VERSION_PARSE_ERROR: u32 = 777; +pub const ERROR_BADSTARTPOSITION: u32 = 778; +pub const ERROR_MEMORY_HARDWARE: u32 = 779; +pub const ERROR_DISK_REPAIR_DISABLED: u32 = 780; +pub const ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE: u32 = 781; +pub const ERROR_SYSTEM_POWERSTATE_TRANSITION: u32 = 782; +pub const ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION: u32 = 783; +pub const ERROR_MCA_EXCEPTION: u32 = 784; +pub const ERROR_ACCESS_AUDIT_BY_POLICY: u32 = 785; +pub const ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY: u32 = 786; +pub const ERROR_ABANDON_HIBERFILE: u32 = 787; +pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED: u32 = 788; +pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR: u32 = 789; +pub const ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR: u32 = 790; +pub const ERROR_BAD_MCFG_TABLE: u32 = 791; +pub const ERROR_DISK_REPAIR_REDIRECTED: u32 = 792; +pub const ERROR_DISK_REPAIR_UNSUCCESSFUL: u32 = 793; +pub const ERROR_CORRUPT_LOG_OVERFULL: u32 = 794; +pub const ERROR_CORRUPT_LOG_CORRUPTED: u32 = 795; +pub const ERROR_CORRUPT_LOG_UNAVAILABLE: u32 = 796; +pub const ERROR_CORRUPT_LOG_DELETED_FULL: u32 = 797; +pub const ERROR_CORRUPT_LOG_CLEARED: u32 = 798; +pub const ERROR_ORPHAN_NAME_EXHAUSTED: u32 = 799; +pub const ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE: u32 = 800; +pub const ERROR_CANNOT_GRANT_REQUESTED_OPLOCK: u32 = 801; +pub const ERROR_CANNOT_BREAK_OPLOCK: u32 = 802; +pub const ERROR_OPLOCK_HANDLE_CLOSED: u32 = 803; +pub const ERROR_NO_ACE_CONDITION: u32 = 804; +pub const ERROR_INVALID_ACE_CONDITION: u32 = 805; +pub const ERROR_FILE_HANDLE_REVOKED: u32 = 806; +pub const ERROR_IMAGE_AT_DIFFERENT_BASE: u32 = 807; +pub const ERROR_ENCRYPTED_IO_NOT_POSSIBLE: u32 = 808; +pub const ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS: u32 = 809; +pub const ERROR_QUOTA_ACTIVITY: u32 = 810; +pub const ERROR_HANDLE_REVOKED: u32 = 811; +pub const ERROR_CALLBACK_INVOKE_INLINE: u32 = 812; +pub const ERROR_CPU_SET_INVALID: u32 = 813; +pub const ERROR_ENCLAVE_NOT_TERMINATED: u32 = 814; +pub const ERROR_ENCLAVE_VIOLATION: u32 = 815; +pub const ERROR_EA_ACCESS_DENIED: u32 = 994; +pub const ERROR_OPERATION_ABORTED: u32 = 995; +pub const ERROR_IO_INCOMPLETE: u32 = 996; +pub const ERROR_IO_PENDING: u32 = 997; +pub const ERROR_NOACCESS: u32 = 998; +pub const ERROR_SWAPERROR: u32 = 999; +pub const ERROR_STACK_OVERFLOW: u32 = 1001; +pub const ERROR_INVALID_MESSAGE: u32 = 1002; +pub const ERROR_CAN_NOT_COMPLETE: u32 = 1003; +pub const ERROR_INVALID_FLAGS: u32 = 1004; +pub const ERROR_UNRECOGNIZED_VOLUME: u32 = 1005; +pub const ERROR_FILE_INVALID: u32 = 1006; +pub const ERROR_FULLSCREEN_MODE: u32 = 1007; +pub const ERROR_NO_TOKEN: u32 = 1008; +pub const ERROR_BADDB: u32 = 1009; +pub const ERROR_BADKEY: u32 = 1010; +pub const ERROR_CANTOPEN: u32 = 1011; +pub const ERROR_CANTREAD: u32 = 1012; +pub const ERROR_CANTWRITE: u32 = 1013; +pub const ERROR_REGISTRY_RECOVERED: u32 = 1014; +pub const ERROR_REGISTRY_CORRUPT: u32 = 1015; +pub const ERROR_REGISTRY_IO_FAILED: u32 = 1016; +pub const ERROR_NOT_REGISTRY_FILE: u32 = 1017; +pub const ERROR_KEY_DELETED: u32 = 1018; +pub const ERROR_NO_LOG_SPACE: u32 = 1019; +pub const ERROR_KEY_HAS_CHILDREN: u32 = 1020; +pub const ERROR_CHILD_MUST_BE_VOLATILE: u32 = 1021; +pub const ERROR_NOTIFY_ENUM_DIR: u32 = 1022; +pub const ERROR_DEPENDENT_SERVICES_RUNNING: u32 = 1051; +pub const ERROR_INVALID_SERVICE_CONTROL: u32 = 1052; +pub const ERROR_SERVICE_REQUEST_TIMEOUT: u32 = 1053; +pub const ERROR_SERVICE_NO_THREAD: u32 = 1054; +pub const ERROR_SERVICE_DATABASE_LOCKED: u32 = 1055; +pub const ERROR_SERVICE_ALREADY_RUNNING: u32 = 1056; +pub const ERROR_INVALID_SERVICE_ACCOUNT: u32 = 1057; +pub const ERROR_SERVICE_DISABLED: u32 = 1058; +pub const ERROR_CIRCULAR_DEPENDENCY: u32 = 1059; +pub const ERROR_SERVICE_DOES_NOT_EXIST: u32 = 1060; +pub const ERROR_SERVICE_CANNOT_ACCEPT_CTRL: u32 = 1061; +pub const ERROR_SERVICE_NOT_ACTIVE: u32 = 1062; +pub const ERROR_FAILED_SERVICE_CONTROLLER_CONNECT: u32 = 1063; +pub const ERROR_EXCEPTION_IN_SERVICE: u32 = 1064; +pub const ERROR_DATABASE_DOES_NOT_EXIST: u32 = 1065; +pub const ERROR_SERVICE_SPECIFIC_ERROR: u32 = 1066; +pub const ERROR_PROCESS_ABORTED: u32 = 1067; +pub const ERROR_SERVICE_DEPENDENCY_FAIL: u32 = 1068; +pub const ERROR_SERVICE_LOGON_FAILED: u32 = 1069; +pub const ERROR_SERVICE_START_HANG: u32 = 1070; +pub const ERROR_INVALID_SERVICE_LOCK: u32 = 1071; +pub const ERROR_SERVICE_MARKED_FOR_DELETE: u32 = 1072; +pub const ERROR_SERVICE_EXISTS: u32 = 1073; +pub const ERROR_ALREADY_RUNNING_LKG: u32 = 1074; +pub const ERROR_SERVICE_DEPENDENCY_DELETED: u32 = 1075; +pub const ERROR_BOOT_ALREADY_ACCEPTED: u32 = 1076; +pub const ERROR_SERVICE_NEVER_STARTED: u32 = 1077; +pub const ERROR_DUPLICATE_SERVICE_NAME: u32 = 1078; +pub const ERROR_DIFFERENT_SERVICE_ACCOUNT: u32 = 1079; +pub const ERROR_CANNOT_DETECT_DRIVER_FAILURE: u32 = 1080; +pub const ERROR_CANNOT_DETECT_PROCESS_ABORT: u32 = 1081; +pub const ERROR_NO_RECOVERY_PROGRAM: u32 = 1082; +pub const ERROR_SERVICE_NOT_IN_EXE: u32 = 1083; +pub const ERROR_NOT_SAFEBOOT_SERVICE: u32 = 1084; +pub const ERROR_END_OF_MEDIA: u32 = 1100; +pub const ERROR_FILEMARK_DETECTED: u32 = 1101; +pub const ERROR_BEGINNING_OF_MEDIA: u32 = 1102; +pub const ERROR_SETMARK_DETECTED: u32 = 1103; +pub const ERROR_NO_DATA_DETECTED: u32 = 1104; +pub const ERROR_PARTITION_FAILURE: u32 = 1105; +pub const ERROR_INVALID_BLOCK_LENGTH: u32 = 1106; +pub const ERROR_DEVICE_NOT_PARTITIONED: u32 = 1107; +pub const ERROR_UNABLE_TO_LOCK_MEDIA: u32 = 1108; +pub const ERROR_UNABLE_TO_UNLOAD_MEDIA: u32 = 1109; +pub const ERROR_MEDIA_CHANGED: u32 = 1110; +pub const ERROR_BUS_RESET: u32 = 1111; +pub const ERROR_NO_MEDIA_IN_DRIVE: u32 = 1112; +pub const ERROR_NO_UNICODE_TRANSLATION: u32 = 1113; +pub const ERROR_DLL_INIT_FAILED: u32 = 1114; +pub const ERROR_SHUTDOWN_IN_PROGRESS: u32 = 1115; +pub const ERROR_NO_SHUTDOWN_IN_PROGRESS: u32 = 1116; +pub const ERROR_IO_DEVICE: u32 = 1117; +pub const ERROR_SERIAL_NO_DEVICE: u32 = 1118; +pub const ERROR_IRQ_BUSY: u32 = 1119; +pub const ERROR_MORE_WRITES: u32 = 1120; +pub const ERROR_COUNTER_TIMEOUT: u32 = 1121; +pub const ERROR_FLOPPY_ID_MARK_NOT_FOUND: u32 = 1122; +pub const ERROR_FLOPPY_WRONG_CYLINDER: u32 = 1123; +pub const ERROR_FLOPPY_UNKNOWN_ERROR: u32 = 1124; +pub const ERROR_FLOPPY_BAD_REGISTERS: u32 = 1125; +pub const ERROR_DISK_RECALIBRATE_FAILED: u32 = 1126; +pub const ERROR_DISK_OPERATION_FAILED: u32 = 1127; +pub const ERROR_DISK_RESET_FAILED: u32 = 1128; +pub const ERROR_EOM_OVERFLOW: u32 = 1129; +pub const ERROR_NOT_ENOUGH_SERVER_MEMORY: u32 = 1130; +pub const ERROR_POSSIBLE_DEADLOCK: u32 = 1131; +pub const ERROR_MAPPED_ALIGNMENT: u32 = 1132; +pub const ERROR_SET_POWER_STATE_VETOED: u32 = 1140; +pub const ERROR_SET_POWER_STATE_FAILED: u32 = 1141; +pub const ERROR_TOO_MANY_LINKS: u32 = 1142; +pub const ERROR_OLD_WIN_VERSION: u32 = 1150; +pub const ERROR_APP_WRONG_OS: u32 = 1151; +pub const ERROR_SINGLE_INSTANCE_APP: u32 = 1152; +pub const ERROR_RMODE_APP: u32 = 1153; +pub const ERROR_INVALID_DLL: u32 = 1154; +pub const ERROR_NO_ASSOCIATION: u32 = 1155; +pub const ERROR_DDE_FAIL: u32 = 1156; +pub const ERROR_DLL_NOT_FOUND: u32 = 1157; +pub const ERROR_NO_MORE_USER_HANDLES: u32 = 1158; +pub const ERROR_MESSAGE_SYNC_ONLY: u32 = 1159; +pub const ERROR_SOURCE_ELEMENT_EMPTY: u32 = 1160; +pub const ERROR_DESTINATION_ELEMENT_FULL: u32 = 1161; +pub const ERROR_ILLEGAL_ELEMENT_ADDRESS: u32 = 1162; +pub const ERROR_MAGAZINE_NOT_PRESENT: u32 = 1163; +pub const ERROR_DEVICE_REINITIALIZATION_NEEDED: u32 = 1164; +pub const ERROR_DEVICE_REQUIRES_CLEANING: u32 = 1165; +pub const ERROR_DEVICE_DOOR_OPEN: u32 = 1166; +pub const ERROR_DEVICE_NOT_CONNECTED: u32 = 1167; +pub const ERROR_NOT_FOUND: u32 = 1168; +pub const ERROR_NO_MATCH: u32 = 1169; +pub const ERROR_SET_NOT_FOUND: u32 = 1170; +pub const ERROR_POINT_NOT_FOUND: u32 = 1171; +pub const ERROR_NO_TRACKING_SERVICE: u32 = 1172; +pub const ERROR_NO_VOLUME_ID: u32 = 1173; +pub const ERROR_UNABLE_TO_REMOVE_REPLACED: u32 = 1175; +pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT: u32 = 1176; +pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT_2: u32 = 1177; +pub const ERROR_JOURNAL_DELETE_IN_PROGRESS: u32 = 1178; +pub const ERROR_JOURNAL_NOT_ACTIVE: u32 = 1179; +pub const ERROR_POTENTIAL_FILE_FOUND: u32 = 1180; +pub const ERROR_JOURNAL_ENTRY_DELETED: u32 = 1181; +pub const ERROR_SHUTDOWN_IS_SCHEDULED: u32 = 1190; +pub const ERROR_SHUTDOWN_USERS_LOGGED_ON: u32 = 1191; +pub const ERROR_BAD_DEVICE: u32 = 1200; +pub const ERROR_CONNECTION_UNAVAIL: u32 = 1201; +pub const ERROR_DEVICE_ALREADY_REMEMBERED: u32 = 1202; +pub const ERROR_NO_NET_OR_BAD_PATH: u32 = 1203; +pub const ERROR_BAD_PROVIDER: u32 = 1204; +pub const ERROR_CANNOT_OPEN_PROFILE: u32 = 1205; +pub const ERROR_BAD_PROFILE: u32 = 1206; +pub const ERROR_NOT_CONTAINER: u32 = 1207; +pub const ERROR_EXTENDED_ERROR: u32 = 1208; +pub const ERROR_INVALID_GROUPNAME: u32 = 1209; +pub const ERROR_INVALID_COMPUTERNAME: u32 = 1210; +pub const ERROR_INVALID_EVENTNAME: u32 = 1211; +pub const ERROR_INVALID_DOMAINNAME: u32 = 1212; +pub const ERROR_INVALID_SERVICENAME: u32 = 1213; +pub const ERROR_INVALID_NETNAME: u32 = 1214; +pub const ERROR_INVALID_SHARENAME: u32 = 1215; +pub const ERROR_INVALID_PASSWORDNAME: u32 = 1216; +pub const ERROR_INVALID_MESSAGENAME: u32 = 1217; +pub const ERROR_INVALID_MESSAGEDEST: u32 = 1218; +pub const ERROR_SESSION_CREDENTIAL_CONFLICT: u32 = 1219; +pub const ERROR_REMOTE_SESSION_LIMIT_EXCEEDED: u32 = 1220; +pub const ERROR_DUP_DOMAINNAME: u32 = 1221; +pub const ERROR_NO_NETWORK: u32 = 1222; +pub const ERROR_CANCELLED: u32 = 1223; +pub const ERROR_USER_MAPPED_FILE: u32 = 1224; +pub const ERROR_CONNECTION_REFUSED: u32 = 1225; +pub const ERROR_GRACEFUL_DISCONNECT: u32 = 1226; +pub const ERROR_ADDRESS_ALREADY_ASSOCIATED: u32 = 1227; +pub const ERROR_ADDRESS_NOT_ASSOCIATED: u32 = 1228; +pub const ERROR_CONNECTION_INVALID: u32 = 1229; +pub const ERROR_CONNECTION_ACTIVE: u32 = 1230; +pub const ERROR_NETWORK_UNREACHABLE: u32 = 1231; +pub const ERROR_HOST_UNREACHABLE: u32 = 1232; +pub const ERROR_PROTOCOL_UNREACHABLE: u32 = 1233; +pub const ERROR_PORT_UNREACHABLE: u32 = 1234; +pub const ERROR_REQUEST_ABORTED: u32 = 1235; +pub const ERROR_CONNECTION_ABORTED: u32 = 1236; +pub const ERROR_RETRY: u32 = 1237; +pub const ERROR_CONNECTION_COUNT_LIMIT: u32 = 1238; +pub const ERROR_LOGIN_TIME_RESTRICTION: u32 = 1239; +pub const ERROR_LOGIN_WKSTA_RESTRICTION: u32 = 1240; +pub const ERROR_INCORRECT_ADDRESS: u32 = 1241; +pub const ERROR_ALREADY_REGISTERED: u32 = 1242; +pub const ERROR_SERVICE_NOT_FOUND: u32 = 1243; +pub const ERROR_NOT_AUTHENTICATED: u32 = 1244; +pub const ERROR_NOT_LOGGED_ON: u32 = 1245; +pub const ERROR_CONTINUE: u32 = 1246; +pub const ERROR_ALREADY_INITIALIZED: u32 = 1247; +pub const ERROR_NO_MORE_DEVICES: u32 = 1248; +pub const ERROR_NO_SUCH_SITE: u32 = 1249; +pub const ERROR_DOMAIN_CONTROLLER_EXISTS: u32 = 1250; +pub const ERROR_ONLY_IF_CONNECTED: u32 = 1251; +pub const ERROR_OVERRIDE_NOCHANGES: u32 = 1252; +pub const ERROR_BAD_USER_PROFILE: u32 = 1253; +pub const ERROR_NOT_SUPPORTED_ON_SBS: u32 = 1254; +pub const ERROR_SERVER_SHUTDOWN_IN_PROGRESS: u32 = 1255; +pub const ERROR_HOST_DOWN: u32 = 1256; +pub const ERROR_NON_ACCOUNT_SID: u32 = 1257; +pub const ERROR_NON_DOMAIN_SID: u32 = 1258; +pub const ERROR_APPHELP_BLOCK: u32 = 1259; +pub const ERROR_ACCESS_DISABLED_BY_POLICY: u32 = 1260; +pub const ERROR_REG_NAT_CONSUMPTION: u32 = 1261; +pub const ERROR_CSCSHARE_OFFLINE: u32 = 1262; +pub const ERROR_PKINIT_FAILURE: u32 = 1263; +pub const ERROR_SMARTCARD_SUBSYSTEM_FAILURE: u32 = 1264; +pub const ERROR_DOWNGRADE_DETECTED: u32 = 1265; +pub const ERROR_MACHINE_LOCKED: u32 = 1271; +pub const ERROR_SMB_GUEST_LOGON_BLOCKED: u32 = 1272; +pub const ERROR_CALLBACK_SUPPLIED_INVALID_DATA: u32 = 1273; +pub const ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED: u32 = 1274; +pub const ERROR_DRIVER_BLOCKED: u32 = 1275; +pub const ERROR_INVALID_IMPORT_OF_NON_DLL: u32 = 1276; +pub const ERROR_ACCESS_DISABLED_WEBBLADE: u32 = 1277; +pub const ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER: u32 = 1278; +pub const ERROR_RECOVERY_FAILURE: u32 = 1279; +pub const ERROR_ALREADY_FIBER: u32 = 1280; +pub const ERROR_ALREADY_THREAD: u32 = 1281; +pub const ERROR_STACK_BUFFER_OVERRUN: u32 = 1282; +pub const ERROR_PARAMETER_QUOTA_EXCEEDED: u32 = 1283; +pub const ERROR_DEBUGGER_INACTIVE: u32 = 1284; +pub const ERROR_DELAY_LOAD_FAILED: u32 = 1285; +pub const ERROR_VDM_DISALLOWED: u32 = 1286; +pub const ERROR_UNIDENTIFIED_ERROR: u32 = 1287; +pub const ERROR_INVALID_CRUNTIME_PARAMETER: u32 = 1288; +pub const ERROR_BEYOND_VDL: u32 = 1289; +pub const ERROR_INCOMPATIBLE_SERVICE_SID_TYPE: u32 = 1290; +pub const ERROR_DRIVER_PROCESS_TERMINATED: u32 = 1291; +pub const ERROR_IMPLEMENTATION_LIMIT: u32 = 1292; +pub const ERROR_PROCESS_IS_PROTECTED: u32 = 1293; +pub const ERROR_SERVICE_NOTIFY_CLIENT_LAGGING: u32 = 1294; +pub const ERROR_DISK_QUOTA_EXCEEDED: u32 = 1295; +pub const ERROR_CONTENT_BLOCKED: u32 = 1296; +pub const ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE: u32 = 1297; +pub const ERROR_APP_HANG: u32 = 1298; +pub const ERROR_INVALID_LABEL: u32 = 1299; +pub const ERROR_NOT_ALL_ASSIGNED: u32 = 1300; +pub const ERROR_SOME_NOT_MAPPED: u32 = 1301; +pub const ERROR_NO_QUOTAS_FOR_ACCOUNT: u32 = 1302; +pub const ERROR_LOCAL_USER_SESSION_KEY: u32 = 1303; +pub const ERROR_NULL_LM_PASSWORD: u32 = 1304; +pub const ERROR_UNKNOWN_REVISION: u32 = 1305; +pub const ERROR_REVISION_MISMATCH: u32 = 1306; +pub const ERROR_INVALID_OWNER: u32 = 1307; +pub const ERROR_INVALID_PRIMARY_GROUP: u32 = 1308; +pub const ERROR_NO_IMPERSONATION_TOKEN: u32 = 1309; +pub const ERROR_CANT_DISABLE_MANDATORY: u32 = 1310; +pub const ERROR_NO_LOGON_SERVERS: u32 = 1311; +pub const ERROR_NO_SUCH_LOGON_SESSION: u32 = 1312; +pub const ERROR_NO_SUCH_PRIVILEGE: u32 = 1313; +pub const ERROR_PRIVILEGE_NOT_HELD: u32 = 1314; +pub const ERROR_INVALID_ACCOUNT_NAME: u32 = 1315; +pub const ERROR_USER_EXISTS: u32 = 1316; +pub const ERROR_NO_SUCH_USER: u32 = 1317; +pub const ERROR_GROUP_EXISTS: u32 = 1318; +pub const ERROR_NO_SUCH_GROUP: u32 = 1319; +pub const ERROR_MEMBER_IN_GROUP: u32 = 1320; +pub const ERROR_MEMBER_NOT_IN_GROUP: u32 = 1321; +pub const ERROR_LAST_ADMIN: u32 = 1322; +pub const ERROR_WRONG_PASSWORD: u32 = 1323; +pub const ERROR_ILL_FORMED_PASSWORD: u32 = 1324; +pub const ERROR_PASSWORD_RESTRICTION: u32 = 1325; +pub const ERROR_LOGON_FAILURE: u32 = 1326; +pub const ERROR_ACCOUNT_RESTRICTION: u32 = 1327; +pub const ERROR_INVALID_LOGON_HOURS: u32 = 1328; +pub const ERROR_INVALID_WORKSTATION: u32 = 1329; +pub const ERROR_PASSWORD_EXPIRED: u32 = 1330; +pub const ERROR_ACCOUNT_DISABLED: u32 = 1331; +pub const ERROR_NONE_MAPPED: u32 = 1332; +pub const ERROR_TOO_MANY_LUIDS_REQUESTED: u32 = 1333; +pub const ERROR_LUIDS_EXHAUSTED: u32 = 1334; +pub const ERROR_INVALID_SUB_AUTHORITY: u32 = 1335; +pub const ERROR_INVALID_ACL: u32 = 1336; +pub const ERROR_INVALID_SID: u32 = 1337; +pub const ERROR_INVALID_SECURITY_DESCR: u32 = 1338; +pub const ERROR_BAD_INHERITANCE_ACL: u32 = 1340; +pub const ERROR_SERVER_DISABLED: u32 = 1341; +pub const ERROR_SERVER_NOT_DISABLED: u32 = 1342; +pub const ERROR_INVALID_ID_AUTHORITY: u32 = 1343; +pub const ERROR_ALLOTTED_SPACE_EXCEEDED: u32 = 1344; +pub const ERROR_INVALID_GROUP_ATTRIBUTES: u32 = 1345; +pub const ERROR_BAD_IMPERSONATION_LEVEL: u32 = 1346; +pub const ERROR_CANT_OPEN_ANONYMOUS: u32 = 1347; +pub const ERROR_BAD_VALIDATION_CLASS: u32 = 1348; +pub const ERROR_BAD_TOKEN_TYPE: u32 = 1349; +pub const ERROR_NO_SECURITY_ON_OBJECT: u32 = 1350; +pub const ERROR_CANT_ACCESS_DOMAIN_INFO: u32 = 1351; +pub const ERROR_INVALID_SERVER_STATE: u32 = 1352; +pub const ERROR_INVALID_DOMAIN_STATE: u32 = 1353; +pub const ERROR_INVALID_DOMAIN_ROLE: u32 = 1354; +pub const ERROR_NO_SUCH_DOMAIN: u32 = 1355; +pub const ERROR_DOMAIN_EXISTS: u32 = 1356; +pub const ERROR_DOMAIN_LIMIT_EXCEEDED: u32 = 1357; +pub const ERROR_INTERNAL_DB_CORRUPTION: u32 = 1358; +pub const ERROR_INTERNAL_ERROR: u32 = 1359; +pub const ERROR_GENERIC_NOT_MAPPED: u32 = 1360; +pub const ERROR_BAD_DESCRIPTOR_FORMAT: u32 = 1361; +pub const ERROR_NOT_LOGON_PROCESS: u32 = 1362; +pub const ERROR_LOGON_SESSION_EXISTS: u32 = 1363; +pub const ERROR_NO_SUCH_PACKAGE: u32 = 1364; +pub const ERROR_BAD_LOGON_SESSION_STATE: u32 = 1365; +pub const ERROR_LOGON_SESSION_COLLISION: u32 = 1366; +pub const ERROR_INVALID_LOGON_TYPE: u32 = 1367; +pub const ERROR_CANNOT_IMPERSONATE: u32 = 1368; +pub const ERROR_RXACT_INVALID_STATE: u32 = 1369; +pub const ERROR_RXACT_COMMIT_FAILURE: u32 = 1370; +pub const ERROR_SPECIAL_ACCOUNT: u32 = 1371; +pub const ERROR_SPECIAL_GROUP: u32 = 1372; +pub const ERROR_SPECIAL_USER: u32 = 1373; +pub const ERROR_MEMBERS_PRIMARY_GROUP: u32 = 1374; +pub const ERROR_TOKEN_ALREADY_IN_USE: u32 = 1375; +pub const ERROR_NO_SUCH_ALIAS: u32 = 1376; +pub const ERROR_MEMBER_NOT_IN_ALIAS: u32 = 1377; +pub const ERROR_MEMBER_IN_ALIAS: u32 = 1378; +pub const ERROR_ALIAS_EXISTS: u32 = 1379; +pub const ERROR_LOGON_NOT_GRANTED: u32 = 1380; +pub const ERROR_TOO_MANY_SECRETS: u32 = 1381; +pub const ERROR_SECRET_TOO_LONG: u32 = 1382; +pub const ERROR_INTERNAL_DB_ERROR: u32 = 1383; +pub const ERROR_TOO_MANY_CONTEXT_IDS: u32 = 1384; +pub const ERROR_LOGON_TYPE_NOT_GRANTED: u32 = 1385; +pub const ERROR_NT_CROSS_ENCRYPTION_REQUIRED: u32 = 1386; +pub const ERROR_NO_SUCH_MEMBER: u32 = 1387; +pub const ERROR_INVALID_MEMBER: u32 = 1388; +pub const ERROR_TOO_MANY_SIDS: u32 = 1389; +pub const ERROR_LM_CROSS_ENCRYPTION_REQUIRED: u32 = 1390; +pub const ERROR_NO_INHERITANCE: u32 = 1391; +pub const ERROR_FILE_CORRUPT: u32 = 1392; +pub const ERROR_DISK_CORRUPT: u32 = 1393; +pub const ERROR_NO_USER_SESSION_KEY: u32 = 1394; +pub const ERROR_LICENSE_QUOTA_EXCEEDED: u32 = 1395; +pub const ERROR_WRONG_TARGET_NAME: u32 = 1396; +pub const ERROR_MUTUAL_AUTH_FAILED: u32 = 1397; +pub const ERROR_TIME_SKEW: u32 = 1398; +pub const ERROR_CURRENT_DOMAIN_NOT_ALLOWED: u32 = 1399; +pub const ERROR_INVALID_WINDOW_HANDLE: u32 = 1400; +pub const ERROR_INVALID_MENU_HANDLE: u32 = 1401; +pub const ERROR_INVALID_CURSOR_HANDLE: u32 = 1402; +pub const ERROR_INVALID_ACCEL_HANDLE: u32 = 1403; +pub const ERROR_INVALID_HOOK_HANDLE: u32 = 1404; +pub const ERROR_INVALID_DWP_HANDLE: u32 = 1405; +pub const ERROR_TLW_WITH_WSCHILD: u32 = 1406; +pub const ERROR_CANNOT_FIND_WND_CLASS: u32 = 1407; +pub const ERROR_WINDOW_OF_OTHER_THREAD: u32 = 1408; +pub const ERROR_HOTKEY_ALREADY_REGISTERED: u32 = 1409; +pub const ERROR_CLASS_ALREADY_EXISTS: u32 = 1410; +pub const ERROR_CLASS_DOES_NOT_EXIST: u32 = 1411; +pub const ERROR_CLASS_HAS_WINDOWS: u32 = 1412; +pub const ERROR_INVALID_INDEX: u32 = 1413; +pub const ERROR_INVALID_ICON_HANDLE: u32 = 1414; +pub const ERROR_PRIVATE_DIALOG_INDEX: u32 = 1415; +pub const ERROR_LISTBOX_ID_NOT_FOUND: u32 = 1416; +pub const ERROR_NO_WILDCARD_CHARACTERS: u32 = 1417; +pub const ERROR_CLIPBOARD_NOT_OPEN: u32 = 1418; +pub const ERROR_HOTKEY_NOT_REGISTERED: u32 = 1419; +pub const ERROR_WINDOW_NOT_DIALOG: u32 = 1420; +pub const ERROR_CONTROL_ID_NOT_FOUND: u32 = 1421; +pub const ERROR_INVALID_COMBOBOX_MESSAGE: u32 = 1422; +pub const ERROR_WINDOW_NOT_COMBOBOX: u32 = 1423; +pub const ERROR_INVALID_EDIT_HEIGHT: u32 = 1424; +pub const ERROR_DC_NOT_FOUND: u32 = 1425; +pub const ERROR_INVALID_HOOK_FILTER: u32 = 1426; +pub const ERROR_INVALID_FILTER_PROC: u32 = 1427; +pub const ERROR_HOOK_NEEDS_HMOD: u32 = 1428; +pub const ERROR_GLOBAL_ONLY_HOOK: u32 = 1429; +pub const ERROR_JOURNAL_HOOK_SET: u32 = 1430; +pub const ERROR_HOOK_NOT_INSTALLED: u32 = 1431; +pub const ERROR_INVALID_LB_MESSAGE: u32 = 1432; +pub const ERROR_SETCOUNT_ON_BAD_LB: u32 = 1433; +pub const ERROR_LB_WITHOUT_TABSTOPS: u32 = 1434; +pub const ERROR_DESTROY_OBJECT_OF_OTHER_THREAD: u32 = 1435; +pub const ERROR_CHILD_WINDOW_MENU: u32 = 1436; +pub const ERROR_NO_SYSTEM_MENU: u32 = 1437; +pub const ERROR_INVALID_MSGBOX_STYLE: u32 = 1438; +pub const ERROR_INVALID_SPI_VALUE: u32 = 1439; +pub const ERROR_SCREEN_ALREADY_LOCKED: u32 = 1440; +pub const ERROR_HWNDS_HAVE_DIFF_PARENT: u32 = 1441; +pub const ERROR_NOT_CHILD_WINDOW: u32 = 1442; +pub const ERROR_INVALID_GW_COMMAND: u32 = 1443; +pub const ERROR_INVALID_THREAD_ID: u32 = 1444; +pub const ERROR_NON_MDICHILD_WINDOW: u32 = 1445; +pub const ERROR_POPUP_ALREADY_ACTIVE: u32 = 1446; +pub const ERROR_NO_SCROLLBARS: u32 = 1447; +pub const ERROR_INVALID_SCROLLBAR_RANGE: u32 = 1448; +pub const ERROR_INVALID_SHOWWIN_COMMAND: u32 = 1449; +pub const ERROR_NO_SYSTEM_RESOURCES: u32 = 1450; +pub const ERROR_NONPAGED_SYSTEM_RESOURCES: u32 = 1451; +pub const ERROR_PAGED_SYSTEM_RESOURCES: u32 = 1452; +pub const ERROR_WORKING_SET_QUOTA: u32 = 1453; +pub const ERROR_PAGEFILE_QUOTA: u32 = 1454; +pub const ERROR_COMMITMENT_LIMIT: u32 = 1455; +pub const ERROR_MENU_ITEM_NOT_FOUND: u32 = 1456; +pub const ERROR_INVALID_KEYBOARD_HANDLE: u32 = 1457; +pub const ERROR_HOOK_TYPE_NOT_ALLOWED: u32 = 1458; +pub const ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION: u32 = 1459; +pub const ERROR_TIMEOUT: u32 = 1460; +pub const ERROR_INVALID_MONITOR_HANDLE: u32 = 1461; +pub const ERROR_INCORRECT_SIZE: u32 = 1462; +pub const ERROR_SYMLINK_CLASS_DISABLED: u32 = 1463; +pub const ERROR_SYMLINK_NOT_SUPPORTED: u32 = 1464; +pub const ERROR_XML_PARSE_ERROR: u32 = 1465; +pub const ERROR_XMLDSIG_ERROR: u32 = 1466; +pub const ERROR_RESTART_APPLICATION: u32 = 1467; +pub const ERROR_WRONG_COMPARTMENT: u32 = 1468; +pub const ERROR_AUTHIP_FAILURE: u32 = 1469; +pub const ERROR_NO_NVRAM_RESOURCES: u32 = 1470; +pub const ERROR_NOT_GUI_PROCESS: u32 = 1471; +pub const ERROR_EVENTLOG_FILE_CORRUPT: u32 = 1500; +pub const ERROR_EVENTLOG_CANT_START: u32 = 1501; +pub const ERROR_LOG_FILE_FULL: u32 = 1502; +pub const ERROR_EVENTLOG_FILE_CHANGED: u32 = 1503; +pub const ERROR_CONTAINER_ASSIGNED: u32 = 1504; +pub const ERROR_JOB_NO_CONTAINER: u32 = 1505; +pub const ERROR_INVALID_TASK_NAME: u32 = 1550; +pub const ERROR_INVALID_TASK_INDEX: u32 = 1551; +pub const ERROR_THREAD_ALREADY_IN_TASK: u32 = 1552; +pub const ERROR_INSTALL_SERVICE_FAILURE: u32 = 1601; +pub const ERROR_INSTALL_USEREXIT: u32 = 1602; +pub const ERROR_INSTALL_FAILURE: u32 = 1603; +pub const ERROR_INSTALL_SUSPEND: u32 = 1604; +pub const ERROR_UNKNOWN_PRODUCT: u32 = 1605; +pub const ERROR_UNKNOWN_FEATURE: u32 = 1606; +pub const ERROR_UNKNOWN_COMPONENT: u32 = 1607; +pub const ERROR_UNKNOWN_PROPERTY: u32 = 1608; +pub const ERROR_INVALID_HANDLE_STATE: u32 = 1609; +pub const ERROR_BAD_CONFIGURATION: u32 = 1610; +pub const ERROR_INDEX_ABSENT: u32 = 1611; +pub const ERROR_INSTALL_SOURCE_ABSENT: u32 = 1612; +pub const ERROR_INSTALL_PACKAGE_VERSION: u32 = 1613; +pub const ERROR_PRODUCT_UNINSTALLED: u32 = 1614; +pub const ERROR_BAD_QUERY_SYNTAX: u32 = 1615; +pub const ERROR_INVALID_FIELD: u32 = 1616; +pub const ERROR_DEVICE_REMOVED: u32 = 1617; +pub const ERROR_INSTALL_ALREADY_RUNNING: u32 = 1618; +pub const ERROR_INSTALL_PACKAGE_OPEN_FAILED: u32 = 1619; +pub const ERROR_INSTALL_PACKAGE_INVALID: u32 = 1620; +pub const ERROR_INSTALL_UI_FAILURE: u32 = 1621; +pub const ERROR_INSTALL_LOG_FAILURE: u32 = 1622; +pub const ERROR_INSTALL_LANGUAGE_UNSUPPORTED: u32 = 1623; +pub const ERROR_INSTALL_TRANSFORM_FAILURE: u32 = 1624; +pub const ERROR_INSTALL_PACKAGE_REJECTED: u32 = 1625; +pub const ERROR_FUNCTION_NOT_CALLED: u32 = 1626; +pub const ERROR_FUNCTION_FAILED: u32 = 1627; +pub const ERROR_INVALID_TABLE: u32 = 1628; +pub const ERROR_DATATYPE_MISMATCH: u32 = 1629; +pub const ERROR_UNSUPPORTED_TYPE: u32 = 1630; +pub const ERROR_CREATE_FAILED: u32 = 1631; +pub const ERROR_INSTALL_TEMP_UNWRITABLE: u32 = 1632; +pub const ERROR_INSTALL_PLATFORM_UNSUPPORTED: u32 = 1633; +pub const ERROR_INSTALL_NOTUSED: u32 = 1634; +pub const ERROR_PATCH_PACKAGE_OPEN_FAILED: u32 = 1635; +pub const ERROR_PATCH_PACKAGE_INVALID: u32 = 1636; +pub const ERROR_PATCH_PACKAGE_UNSUPPORTED: u32 = 1637; +pub const ERROR_PRODUCT_VERSION: u32 = 1638; +pub const ERROR_INVALID_COMMAND_LINE: u32 = 1639; +pub const ERROR_INSTALL_REMOTE_DISALLOWED: u32 = 1640; +pub const ERROR_SUCCESS_REBOOT_INITIATED: u32 = 1641; +pub const ERROR_PATCH_TARGET_NOT_FOUND: u32 = 1642; +pub const ERROR_PATCH_PACKAGE_REJECTED: u32 = 1643; +pub const ERROR_INSTALL_TRANSFORM_REJECTED: u32 = 1644; +pub const ERROR_INSTALL_REMOTE_PROHIBITED: u32 = 1645; +pub const ERROR_PATCH_REMOVAL_UNSUPPORTED: u32 = 1646; +pub const ERROR_UNKNOWN_PATCH: u32 = 1647; +pub const ERROR_PATCH_NO_SEQUENCE: u32 = 1648; +pub const ERROR_PATCH_REMOVAL_DISALLOWED: u32 = 1649; +pub const ERROR_INVALID_PATCH_XML: u32 = 1650; +pub const ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT: u32 = 1651; +pub const ERROR_INSTALL_SERVICE_SAFEBOOT: u32 = 1652; +pub const ERROR_FAIL_FAST_EXCEPTION: u32 = 1653; +pub const ERROR_INSTALL_REJECTED: u32 = 1654; +pub const ERROR_DYNAMIC_CODE_BLOCKED: u32 = 1655; +pub const ERROR_NOT_SAME_OBJECT: u32 = 1656; +pub const ERROR_STRICT_CFG_VIOLATION: u32 = 1657; +pub const ERROR_SET_CONTEXT_DENIED: u32 = 1660; +pub const ERROR_CROSS_PARTITION_VIOLATION: u32 = 1661; +pub const ERROR_RETURN_ADDRESS_HIJACK_ATTEMPT: u32 = 1662; +pub const RPC_S_INVALID_STRING_BINDING: u32 = 1700; +pub const RPC_S_WRONG_KIND_OF_BINDING: u32 = 1701; +pub const RPC_S_INVALID_BINDING: u32 = 1702; +pub const RPC_S_PROTSEQ_NOT_SUPPORTED: u32 = 1703; +pub const RPC_S_INVALID_RPC_PROTSEQ: u32 = 1704; +pub const RPC_S_INVALID_STRING_UUID: u32 = 1705; +pub const RPC_S_INVALID_ENDPOINT_FORMAT: u32 = 1706; +pub const RPC_S_INVALID_NET_ADDR: u32 = 1707; +pub const RPC_S_NO_ENDPOINT_FOUND: u32 = 1708; +pub const RPC_S_INVALID_TIMEOUT: u32 = 1709; +pub const RPC_S_OBJECT_NOT_FOUND: u32 = 1710; +pub const RPC_S_ALREADY_REGISTERED: u32 = 1711; +pub const RPC_S_TYPE_ALREADY_REGISTERED: u32 = 1712; +pub const RPC_S_ALREADY_LISTENING: u32 = 1713; +pub const RPC_S_NO_PROTSEQS_REGISTERED: u32 = 1714; +pub const RPC_S_NOT_LISTENING: u32 = 1715; +pub const RPC_S_UNKNOWN_MGR_TYPE: u32 = 1716; +pub const RPC_S_UNKNOWN_IF: u32 = 1717; +pub const RPC_S_NO_BINDINGS: u32 = 1718; +pub const RPC_S_NO_PROTSEQS: u32 = 1719; +pub const RPC_S_CANT_CREATE_ENDPOINT: u32 = 1720; +pub const RPC_S_OUT_OF_RESOURCES: u32 = 1721; +pub const RPC_S_SERVER_UNAVAILABLE: u32 = 1722; +pub const RPC_S_SERVER_TOO_BUSY: u32 = 1723; +pub const RPC_S_INVALID_NETWORK_OPTIONS: u32 = 1724; +pub const RPC_S_NO_CALL_ACTIVE: u32 = 1725; +pub const RPC_S_CALL_FAILED: u32 = 1726; +pub const RPC_S_CALL_FAILED_DNE: u32 = 1727; +pub const RPC_S_PROTOCOL_ERROR: u32 = 1728; +pub const RPC_S_PROXY_ACCESS_DENIED: u32 = 1729; +pub const RPC_S_UNSUPPORTED_TRANS_SYN: u32 = 1730; +pub const RPC_S_UNSUPPORTED_TYPE: u32 = 1732; +pub const RPC_S_INVALID_TAG: u32 = 1733; +pub const RPC_S_INVALID_BOUND: u32 = 1734; +pub const RPC_S_NO_ENTRY_NAME: u32 = 1735; +pub const RPC_S_INVALID_NAME_SYNTAX: u32 = 1736; +pub const RPC_S_UNSUPPORTED_NAME_SYNTAX: u32 = 1737; +pub const RPC_S_UUID_NO_ADDRESS: u32 = 1739; +pub const RPC_S_DUPLICATE_ENDPOINT: u32 = 1740; +pub const RPC_S_UNKNOWN_AUTHN_TYPE: u32 = 1741; +pub const RPC_S_MAX_CALLS_TOO_SMALL: u32 = 1742; +pub const RPC_S_STRING_TOO_LONG: u32 = 1743; +pub const RPC_S_PROTSEQ_NOT_FOUND: u32 = 1744; +pub const RPC_S_PROCNUM_OUT_OF_RANGE: u32 = 1745; +pub const RPC_S_BINDING_HAS_NO_AUTH: u32 = 1746; +pub const RPC_S_UNKNOWN_AUTHN_SERVICE: u32 = 1747; +pub const RPC_S_UNKNOWN_AUTHN_LEVEL: u32 = 1748; +pub const RPC_S_INVALID_AUTH_IDENTITY: u32 = 1749; +pub const RPC_S_UNKNOWN_AUTHZ_SERVICE: u32 = 1750; +pub const EPT_S_INVALID_ENTRY: u32 = 1751; +pub const EPT_S_CANT_PERFORM_OP: u32 = 1752; +pub const EPT_S_NOT_REGISTERED: u32 = 1753; +pub const RPC_S_NOTHING_TO_EXPORT: u32 = 1754; +pub const RPC_S_INCOMPLETE_NAME: u32 = 1755; +pub const RPC_S_INVALID_VERS_OPTION: u32 = 1756; +pub const RPC_S_NO_MORE_MEMBERS: u32 = 1757; +pub const RPC_S_NOT_ALL_OBJS_UNEXPORTED: u32 = 1758; +pub const RPC_S_INTERFACE_NOT_FOUND: u32 = 1759; +pub const RPC_S_ENTRY_ALREADY_EXISTS: u32 = 1760; +pub const RPC_S_ENTRY_NOT_FOUND: u32 = 1761; +pub const RPC_S_NAME_SERVICE_UNAVAILABLE: u32 = 1762; +pub const RPC_S_INVALID_NAF_ID: u32 = 1763; +pub const RPC_S_CANNOT_SUPPORT: u32 = 1764; +pub const RPC_S_NO_CONTEXT_AVAILABLE: u32 = 1765; +pub const RPC_S_INTERNAL_ERROR: u32 = 1766; +pub const RPC_S_ZERO_DIVIDE: u32 = 1767; +pub const RPC_S_ADDRESS_ERROR: u32 = 1768; +pub const RPC_S_FP_DIV_ZERO: u32 = 1769; +pub const RPC_S_FP_UNDERFLOW: u32 = 1770; +pub const RPC_S_FP_OVERFLOW: u32 = 1771; +pub const RPC_X_NO_MORE_ENTRIES: u32 = 1772; +pub const RPC_X_SS_CHAR_TRANS_OPEN_FAIL: u32 = 1773; +pub const RPC_X_SS_CHAR_TRANS_SHORT_FILE: u32 = 1774; +pub const RPC_X_SS_IN_NULL_CONTEXT: u32 = 1775; +pub const RPC_X_SS_CONTEXT_DAMAGED: u32 = 1777; +pub const RPC_X_SS_HANDLES_MISMATCH: u32 = 1778; +pub const RPC_X_SS_CANNOT_GET_CALL_HANDLE: u32 = 1779; +pub const RPC_X_NULL_REF_POINTER: u32 = 1780; +pub const RPC_X_ENUM_VALUE_OUT_OF_RANGE: u32 = 1781; +pub const RPC_X_BYTE_COUNT_TOO_SMALL: u32 = 1782; +pub const RPC_X_BAD_STUB_DATA: u32 = 1783; +pub const ERROR_INVALID_USER_BUFFER: u32 = 1784; +pub const ERROR_UNRECOGNIZED_MEDIA: u32 = 1785; +pub const ERROR_NO_TRUST_LSA_SECRET: u32 = 1786; +pub const ERROR_NO_TRUST_SAM_ACCOUNT: u32 = 1787; +pub const ERROR_TRUSTED_DOMAIN_FAILURE: u32 = 1788; +pub const ERROR_TRUSTED_RELATIONSHIP_FAILURE: u32 = 1789; +pub const ERROR_TRUST_FAILURE: u32 = 1790; +pub const RPC_S_CALL_IN_PROGRESS: u32 = 1791; +pub const ERROR_NETLOGON_NOT_STARTED: u32 = 1792; +pub const ERROR_ACCOUNT_EXPIRED: u32 = 1793; +pub const ERROR_REDIRECTOR_HAS_OPEN_HANDLES: u32 = 1794; +pub const ERROR_PRINTER_DRIVER_ALREADY_INSTALLED: u32 = 1795; +pub const ERROR_UNKNOWN_PORT: u32 = 1796; +pub const ERROR_UNKNOWN_PRINTER_DRIVER: u32 = 1797; +pub const ERROR_UNKNOWN_PRINTPROCESSOR: u32 = 1798; +pub const ERROR_INVALID_SEPARATOR_FILE: u32 = 1799; +pub const ERROR_INVALID_PRIORITY: u32 = 1800; +pub const ERROR_INVALID_PRINTER_NAME: u32 = 1801; +pub const ERROR_PRINTER_ALREADY_EXISTS: u32 = 1802; +pub const ERROR_INVALID_PRINTER_COMMAND: u32 = 1803; +pub const ERROR_INVALID_DATATYPE: u32 = 1804; +pub const ERROR_INVALID_ENVIRONMENT: u32 = 1805; +pub const RPC_S_NO_MORE_BINDINGS: u32 = 1806; +pub const ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT: u32 = 1807; +pub const ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT: u32 = 1808; +pub const ERROR_NOLOGON_SERVER_TRUST_ACCOUNT: u32 = 1809; +pub const ERROR_DOMAIN_TRUST_INCONSISTENT: u32 = 1810; +pub const ERROR_SERVER_HAS_OPEN_HANDLES: u32 = 1811; +pub const ERROR_RESOURCE_DATA_NOT_FOUND: u32 = 1812; +pub const ERROR_RESOURCE_TYPE_NOT_FOUND: u32 = 1813; +pub const ERROR_RESOURCE_NAME_NOT_FOUND: u32 = 1814; +pub const ERROR_RESOURCE_LANG_NOT_FOUND: u32 = 1815; +pub const ERROR_NOT_ENOUGH_QUOTA: u32 = 1816; +pub const RPC_S_NO_INTERFACES: u32 = 1817; +pub const RPC_S_CALL_CANCELLED: u32 = 1818; +pub const RPC_S_BINDING_INCOMPLETE: u32 = 1819; +pub const RPC_S_COMM_FAILURE: u32 = 1820; +pub const RPC_S_UNSUPPORTED_AUTHN_LEVEL: u32 = 1821; +pub const RPC_S_NO_PRINC_NAME: u32 = 1822; +pub const RPC_S_NOT_RPC_ERROR: u32 = 1823; +pub const RPC_S_UUID_LOCAL_ONLY: u32 = 1824; +pub const RPC_S_SEC_PKG_ERROR: u32 = 1825; +pub const RPC_S_NOT_CANCELLED: u32 = 1826; +pub const RPC_X_INVALID_ES_ACTION: u32 = 1827; +pub const RPC_X_WRONG_ES_VERSION: u32 = 1828; +pub const RPC_X_WRONG_STUB_VERSION: u32 = 1829; +pub const RPC_X_INVALID_PIPE_OBJECT: u32 = 1830; +pub const RPC_X_WRONG_PIPE_ORDER: u32 = 1831; +pub const RPC_X_WRONG_PIPE_VERSION: u32 = 1832; +pub const RPC_S_COOKIE_AUTH_FAILED: u32 = 1833; +pub const RPC_S_DO_NOT_DISTURB: u32 = 1834; +pub const RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED: u32 = 1835; +pub const RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH: u32 = 1836; +pub const RPC_S_GROUP_MEMBER_NOT_FOUND: u32 = 1898; +pub const EPT_S_CANT_CREATE: u32 = 1899; +pub const RPC_S_INVALID_OBJECT: u32 = 1900; +pub const ERROR_INVALID_TIME: u32 = 1901; +pub const ERROR_INVALID_FORM_NAME: u32 = 1902; +pub const ERROR_INVALID_FORM_SIZE: u32 = 1903; +pub const ERROR_ALREADY_WAITING: u32 = 1904; +pub const ERROR_PRINTER_DELETED: u32 = 1905; +pub const ERROR_INVALID_PRINTER_STATE: u32 = 1906; +pub const ERROR_PASSWORD_MUST_CHANGE: u32 = 1907; +pub const ERROR_DOMAIN_CONTROLLER_NOT_FOUND: u32 = 1908; +pub const ERROR_ACCOUNT_LOCKED_OUT: u32 = 1909; +pub const OR_INVALID_OXID: u32 = 1910; +pub const OR_INVALID_OID: u32 = 1911; +pub const OR_INVALID_SET: u32 = 1912; +pub const RPC_S_SEND_INCOMPLETE: u32 = 1913; +pub const RPC_S_INVALID_ASYNC_HANDLE: u32 = 1914; +pub const RPC_S_INVALID_ASYNC_CALL: u32 = 1915; +pub const RPC_X_PIPE_CLOSED: u32 = 1916; +pub const RPC_X_PIPE_DISCIPLINE_ERROR: u32 = 1917; +pub const RPC_X_PIPE_EMPTY: u32 = 1918; +pub const ERROR_NO_SITENAME: u32 = 1919; +pub const ERROR_CANT_ACCESS_FILE: u32 = 1920; +pub const ERROR_CANT_RESOLVE_FILENAME: u32 = 1921; +pub const RPC_S_ENTRY_TYPE_MISMATCH: u32 = 1922; +pub const RPC_S_NOT_ALL_OBJS_EXPORTED: u32 = 1923; +pub const RPC_S_INTERFACE_NOT_EXPORTED: u32 = 1924; +pub const RPC_S_PROFILE_NOT_ADDED: u32 = 1925; +pub const RPC_S_PRF_ELT_NOT_ADDED: u32 = 1926; +pub const RPC_S_PRF_ELT_NOT_REMOVED: u32 = 1927; +pub const RPC_S_GRP_ELT_NOT_ADDED: u32 = 1928; +pub const RPC_S_GRP_ELT_NOT_REMOVED: u32 = 1929; +pub const ERROR_KM_DRIVER_BLOCKED: u32 = 1930; +pub const ERROR_CONTEXT_EXPIRED: u32 = 1931; +pub const ERROR_PER_USER_TRUST_QUOTA_EXCEEDED: u32 = 1932; +pub const ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED: u32 = 1933; +pub const ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED: u32 = 1934; +pub const ERROR_AUTHENTICATION_FIREWALL_FAILED: u32 = 1935; +pub const ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED: u32 = 1936; +pub const ERROR_NTLM_BLOCKED: u32 = 1937; +pub const ERROR_PASSWORD_CHANGE_REQUIRED: u32 = 1938; +pub const ERROR_LOST_MODE_LOGON_RESTRICTION: u32 = 1939; +pub const ERROR_INVALID_PIXEL_FORMAT: u32 = 2000; +pub const ERROR_BAD_DRIVER: u32 = 2001; +pub const ERROR_INVALID_WINDOW_STYLE: u32 = 2002; +pub const ERROR_METAFILE_NOT_SUPPORTED: u32 = 2003; +pub const ERROR_TRANSFORM_NOT_SUPPORTED: u32 = 2004; +pub const ERROR_CLIPPING_NOT_SUPPORTED: u32 = 2005; +pub const ERROR_INVALID_CMM: u32 = 2010; +pub const ERROR_INVALID_PROFILE: u32 = 2011; +pub const ERROR_TAG_NOT_FOUND: u32 = 2012; +pub const ERROR_TAG_NOT_PRESENT: u32 = 2013; +pub const ERROR_DUPLICATE_TAG: u32 = 2014; +pub const ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE: u32 = 2015; +pub const ERROR_PROFILE_NOT_FOUND: u32 = 2016; +pub const ERROR_INVALID_COLORSPACE: u32 = 2017; +pub const ERROR_ICM_NOT_ENABLED: u32 = 2018; +pub const ERROR_DELETING_ICM_XFORM: u32 = 2019; +pub const ERROR_INVALID_TRANSFORM: u32 = 2020; +pub const ERROR_COLORSPACE_MISMATCH: u32 = 2021; +pub const ERROR_INVALID_COLORINDEX: u32 = 2022; +pub const ERROR_PROFILE_DOES_NOT_MATCH_DEVICE: u32 = 2023; +pub const ERROR_CONNECTED_OTHER_PASSWORD: u32 = 2108; +pub const ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT: u32 = 2109; +pub const ERROR_BAD_USERNAME: u32 = 2202; +pub const ERROR_NOT_CONNECTED: u32 = 2250; +pub const ERROR_OPEN_FILES: u32 = 2401; +pub const ERROR_ACTIVE_CONNECTIONS: u32 = 2402; +pub const ERROR_DEVICE_IN_USE: u32 = 2404; +pub const ERROR_UNKNOWN_PRINT_MONITOR: u32 = 3000; +pub const ERROR_PRINTER_DRIVER_IN_USE: u32 = 3001; +pub const ERROR_SPOOL_FILE_NOT_FOUND: u32 = 3002; +pub const ERROR_SPL_NO_STARTDOC: u32 = 3003; +pub const ERROR_SPL_NO_ADDJOB: u32 = 3004; +pub const ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED: u32 = 3005; +pub const ERROR_PRINT_MONITOR_ALREADY_INSTALLED: u32 = 3006; +pub const ERROR_INVALID_PRINT_MONITOR: u32 = 3007; +pub const ERROR_PRINT_MONITOR_IN_USE: u32 = 3008; +pub const ERROR_PRINTER_HAS_JOBS_QUEUED: u32 = 3009; +pub const ERROR_SUCCESS_REBOOT_REQUIRED: u32 = 3010; +pub const ERROR_SUCCESS_RESTART_REQUIRED: u32 = 3011; +pub const ERROR_PRINTER_NOT_FOUND: u32 = 3012; +pub const ERROR_PRINTER_DRIVER_WARNED: u32 = 3013; +pub const ERROR_PRINTER_DRIVER_BLOCKED: u32 = 3014; +pub const ERROR_PRINTER_DRIVER_PACKAGE_IN_USE: u32 = 3015; +pub const ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND: u32 = 3016; +pub const ERROR_FAIL_REBOOT_REQUIRED: u32 = 3017; +pub const ERROR_FAIL_REBOOT_INITIATED: u32 = 3018; +pub const ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED: u32 = 3019; +pub const ERROR_PRINT_JOB_RESTART_REQUIRED: u32 = 3020; +pub const ERROR_INVALID_PRINTER_DRIVER_MANIFEST: u32 = 3021; +pub const ERROR_PRINTER_NOT_SHAREABLE: u32 = 3022; +pub const ERROR_REQUEST_PAUSED: u32 = 3050; +pub const ERROR_APPEXEC_CONDITION_NOT_SATISFIED: u32 = 3060; +pub const ERROR_APPEXEC_HANDLE_INVALIDATED: u32 = 3061; +pub const ERROR_APPEXEC_INVALID_HOST_GENERATION: u32 = 3062; +pub const ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION: u32 = 3063; +pub const ERROR_APPEXEC_INVALID_HOST_STATE: u32 = 3064; +pub const ERROR_APPEXEC_NO_DONOR: u32 = 3065; +pub const ERROR_APPEXEC_HOST_ID_MISMATCH: u32 = 3066; +pub const ERROR_APPEXEC_UNKNOWN_USER: u32 = 3067; +pub const ERROR_IO_REISSUE_AS_CACHED: u32 = 3950; +pub const ERROR_WINS_INTERNAL: u32 = 4000; +pub const ERROR_CAN_NOT_DEL_LOCAL_WINS: u32 = 4001; +pub const ERROR_STATIC_INIT: u32 = 4002; +pub const ERROR_INC_BACKUP: u32 = 4003; +pub const ERROR_FULL_BACKUP: u32 = 4004; +pub const ERROR_REC_NON_EXISTENT: u32 = 4005; +pub const ERROR_RPL_NOT_ALLOWED: u32 = 4006; +pub const PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED: u32 = 4050; +pub const PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO: u32 = 4051; +pub const PEERDIST_ERROR_MISSING_DATA: u32 = 4052; +pub const PEERDIST_ERROR_NO_MORE: u32 = 4053; +pub const PEERDIST_ERROR_NOT_INITIALIZED: u32 = 4054; +pub const PEERDIST_ERROR_ALREADY_INITIALIZED: u32 = 4055; +pub const PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS: u32 = 4056; +pub const PEERDIST_ERROR_INVALIDATED: u32 = 4057; +pub const PEERDIST_ERROR_ALREADY_EXISTS: u32 = 4058; +pub const PEERDIST_ERROR_OPERATION_NOTFOUND: u32 = 4059; +pub const PEERDIST_ERROR_ALREADY_COMPLETED: u32 = 4060; +pub const PEERDIST_ERROR_OUT_OF_BOUNDS: u32 = 4061; +pub const PEERDIST_ERROR_VERSION_UNSUPPORTED: u32 = 4062; +pub const PEERDIST_ERROR_INVALID_CONFIGURATION: u32 = 4063; +pub const PEERDIST_ERROR_NOT_LICENSED: u32 = 4064; +pub const PEERDIST_ERROR_SERVICE_UNAVAILABLE: u32 = 4065; +pub const PEERDIST_ERROR_TRUST_FAILURE: u32 = 4066; +pub const ERROR_DHCP_ADDRESS_CONFLICT: u32 = 4100; +pub const ERROR_WMI_GUID_NOT_FOUND: u32 = 4200; +pub const ERROR_WMI_INSTANCE_NOT_FOUND: u32 = 4201; +pub const ERROR_WMI_ITEMID_NOT_FOUND: u32 = 4202; +pub const ERROR_WMI_TRY_AGAIN: u32 = 4203; +pub const ERROR_WMI_DP_NOT_FOUND: u32 = 4204; +pub const ERROR_WMI_UNRESOLVED_INSTANCE_REF: u32 = 4205; +pub const ERROR_WMI_ALREADY_ENABLED: u32 = 4206; +pub const ERROR_WMI_GUID_DISCONNECTED: u32 = 4207; +pub const ERROR_WMI_SERVER_UNAVAILABLE: u32 = 4208; +pub const ERROR_WMI_DP_FAILED: u32 = 4209; +pub const ERROR_WMI_INVALID_MOF: u32 = 4210; +pub const ERROR_WMI_INVALID_REGINFO: u32 = 4211; +pub const ERROR_WMI_ALREADY_DISABLED: u32 = 4212; +pub const ERROR_WMI_READ_ONLY: u32 = 4213; +pub const ERROR_WMI_SET_FAILURE: u32 = 4214; +pub const ERROR_NOT_APPCONTAINER: u32 = 4250; +pub const ERROR_APPCONTAINER_REQUIRED: u32 = 4251; +pub const ERROR_NOT_SUPPORTED_IN_APPCONTAINER: u32 = 4252; +pub const ERROR_INVALID_PACKAGE_SID_LENGTH: u32 = 4253; +pub const ERROR_INVALID_MEDIA: u32 = 4300; +pub const ERROR_INVALID_LIBRARY: u32 = 4301; +pub const ERROR_INVALID_MEDIA_POOL: u32 = 4302; +pub const ERROR_DRIVE_MEDIA_MISMATCH: u32 = 4303; +pub const ERROR_MEDIA_OFFLINE: u32 = 4304; +pub const ERROR_LIBRARY_OFFLINE: u32 = 4305; +pub const ERROR_EMPTY: u32 = 4306; +pub const ERROR_NOT_EMPTY: u32 = 4307; +pub const ERROR_MEDIA_UNAVAILABLE: u32 = 4308; +pub const ERROR_RESOURCE_DISABLED: u32 = 4309; +pub const ERROR_INVALID_CLEANER: u32 = 4310; +pub const ERROR_UNABLE_TO_CLEAN: u32 = 4311; +pub const ERROR_OBJECT_NOT_FOUND: u32 = 4312; +pub const ERROR_DATABASE_FAILURE: u32 = 4313; +pub const ERROR_DATABASE_FULL: u32 = 4314; +pub const ERROR_MEDIA_INCOMPATIBLE: u32 = 4315; +pub const ERROR_RESOURCE_NOT_PRESENT: u32 = 4316; +pub const ERROR_INVALID_OPERATION: u32 = 4317; +pub const ERROR_MEDIA_NOT_AVAILABLE: u32 = 4318; +pub const ERROR_DEVICE_NOT_AVAILABLE: u32 = 4319; +pub const ERROR_REQUEST_REFUSED: u32 = 4320; +pub const ERROR_INVALID_DRIVE_OBJECT: u32 = 4321; +pub const ERROR_LIBRARY_FULL: u32 = 4322; +pub const ERROR_MEDIUM_NOT_ACCESSIBLE: u32 = 4323; +pub const ERROR_UNABLE_TO_LOAD_MEDIUM: u32 = 4324; +pub const ERROR_UNABLE_TO_INVENTORY_DRIVE: u32 = 4325; +pub const ERROR_UNABLE_TO_INVENTORY_SLOT: u32 = 4326; +pub const ERROR_UNABLE_TO_INVENTORY_TRANSPORT: u32 = 4327; +pub const ERROR_TRANSPORT_FULL: u32 = 4328; +pub const ERROR_CONTROLLING_IEPORT: u32 = 4329; +pub const ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA: u32 = 4330; +pub const ERROR_CLEANER_SLOT_SET: u32 = 4331; +pub const ERROR_CLEANER_SLOT_NOT_SET: u32 = 4332; +pub const ERROR_CLEANER_CARTRIDGE_SPENT: u32 = 4333; +pub const ERROR_UNEXPECTED_OMID: u32 = 4334; +pub const ERROR_CANT_DELETE_LAST_ITEM: u32 = 4335; +pub const ERROR_MESSAGE_EXCEEDS_MAX_SIZE: u32 = 4336; +pub const ERROR_VOLUME_CONTAINS_SYS_FILES: u32 = 4337; +pub const ERROR_INDIGENOUS_TYPE: u32 = 4338; +pub const ERROR_NO_SUPPORTING_DRIVES: u32 = 4339; +pub const ERROR_CLEANER_CARTRIDGE_INSTALLED: u32 = 4340; +pub const ERROR_IEPORT_FULL: u32 = 4341; +pub const ERROR_FILE_OFFLINE: u32 = 4350; +pub const ERROR_REMOTE_STORAGE_NOT_ACTIVE: u32 = 4351; +pub const ERROR_REMOTE_STORAGE_MEDIA_ERROR: u32 = 4352; +pub const ERROR_NOT_A_REPARSE_POINT: u32 = 4390; +pub const ERROR_REPARSE_ATTRIBUTE_CONFLICT: u32 = 4391; +pub const ERROR_INVALID_REPARSE_DATA: u32 = 4392; +pub const ERROR_REPARSE_TAG_INVALID: u32 = 4393; +pub const ERROR_REPARSE_TAG_MISMATCH: u32 = 4394; +pub const ERROR_REPARSE_POINT_ENCOUNTERED: u32 = 4395; +pub const ERROR_APP_DATA_NOT_FOUND: u32 = 4400; +pub const ERROR_APP_DATA_EXPIRED: u32 = 4401; +pub const ERROR_APP_DATA_CORRUPT: u32 = 4402; +pub const ERROR_APP_DATA_LIMIT_EXCEEDED: u32 = 4403; +pub const ERROR_APP_DATA_REBOOT_REQUIRED: u32 = 4404; +pub const ERROR_SECUREBOOT_ROLLBACK_DETECTED: u32 = 4420; +pub const ERROR_SECUREBOOT_POLICY_VIOLATION: u32 = 4421; +pub const ERROR_SECUREBOOT_INVALID_POLICY: u32 = 4422; +pub const ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND: u32 = 4423; +pub const ERROR_SECUREBOOT_POLICY_NOT_SIGNED: u32 = 4424; +pub const ERROR_SECUREBOOT_NOT_ENABLED: u32 = 4425; +pub const ERROR_SECUREBOOT_FILE_REPLACED: u32 = 4426; +pub const ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED: u32 = 4427; +pub const ERROR_SECUREBOOT_POLICY_UNKNOWN: u32 = 4428; +pub const ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION: u32 = 4429; +pub const ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH: u32 = 4430; +pub const ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED: u32 = 4431; +pub const ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH: u32 = 4432; +pub const ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING: u32 = 4433; +pub const ERROR_SECUREBOOT_NOT_BASE_POLICY: u32 = 4434; +pub const ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY: u32 = 4435; +pub const ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED: u32 = 4440; +pub const ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED: u32 = 4441; +pub const ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED: u32 = 4442; +pub const ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED: u32 = 4443; +pub const ERROR_ALREADY_HAS_STREAM_ID: u32 = 4444; +pub const ERROR_SMR_GARBAGE_COLLECTION_REQUIRED: u32 = 4445; +pub const ERROR_WOF_WIM_HEADER_CORRUPT: u32 = 4446; +pub const ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT: u32 = 4447; +pub const ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT: u32 = 4448; +pub const ERROR_VOLUME_NOT_SIS_ENABLED: u32 = 4500; +pub const ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED: u32 = 4550; +pub const ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION: u32 = 4551; +pub const ERROR_SYSTEM_INTEGRITY_INVALID_POLICY: u32 = 4552; +pub const ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED: u32 = 4553; +pub const ERROR_SYSTEM_INTEGRITY_TOO_MANY_POLICIES: u32 = 4554; +pub const ERROR_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED: u32 = 4555; +pub const ERROR_VSM_NOT_INITIALIZED: u32 = 4560; +pub const ERROR_VSM_DMA_PROTECTION_NOT_IN_USE: u32 = 4561; +pub const ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED: u32 = 4570; +pub const ERROR_PLATFORM_MANIFEST_INVALID: u32 = 4571; +pub const ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED: u32 = 4572; +pub const ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED: u32 = 4573; +pub const ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND: u32 = 4574; +pub const ERROR_PLATFORM_MANIFEST_NOT_ACTIVE: u32 = 4575; +pub const ERROR_PLATFORM_MANIFEST_NOT_SIGNED: u32 = 4576; +pub const ERROR_DEPENDENT_RESOURCE_EXISTS: u32 = 5001; +pub const ERROR_DEPENDENCY_NOT_FOUND: u32 = 5002; +pub const ERROR_DEPENDENCY_ALREADY_EXISTS: u32 = 5003; +pub const ERROR_RESOURCE_NOT_ONLINE: u32 = 5004; +pub const ERROR_HOST_NODE_NOT_AVAILABLE: u32 = 5005; +pub const ERROR_RESOURCE_NOT_AVAILABLE: u32 = 5006; +pub const ERROR_RESOURCE_NOT_FOUND: u32 = 5007; +pub const ERROR_SHUTDOWN_CLUSTER: u32 = 5008; +pub const ERROR_CANT_EVICT_ACTIVE_NODE: u32 = 5009; +pub const ERROR_OBJECT_ALREADY_EXISTS: u32 = 5010; +pub const ERROR_OBJECT_IN_LIST: u32 = 5011; +pub const ERROR_GROUP_NOT_AVAILABLE: u32 = 5012; +pub const ERROR_GROUP_NOT_FOUND: u32 = 5013; +pub const ERROR_GROUP_NOT_ONLINE: u32 = 5014; +pub const ERROR_HOST_NODE_NOT_RESOURCE_OWNER: u32 = 5015; +pub const ERROR_HOST_NODE_NOT_GROUP_OWNER: u32 = 5016; +pub const ERROR_RESMON_CREATE_FAILED: u32 = 5017; +pub const ERROR_RESMON_ONLINE_FAILED: u32 = 5018; +pub const ERROR_RESOURCE_ONLINE: u32 = 5019; +pub const ERROR_QUORUM_RESOURCE: u32 = 5020; +pub const ERROR_NOT_QUORUM_CAPABLE: u32 = 5021; +pub const ERROR_CLUSTER_SHUTTING_DOWN: u32 = 5022; +pub const ERROR_INVALID_STATE: u32 = 5023; +pub const ERROR_RESOURCE_PROPERTIES_STORED: u32 = 5024; +pub const ERROR_NOT_QUORUM_CLASS: u32 = 5025; +pub const ERROR_CORE_RESOURCE: u32 = 5026; +pub const ERROR_QUORUM_RESOURCE_ONLINE_FAILED: u32 = 5027; +pub const ERROR_QUORUMLOG_OPEN_FAILED: u32 = 5028; +pub const ERROR_CLUSTERLOG_CORRUPT: u32 = 5029; +pub const ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE: u32 = 5030; +pub const ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE: u32 = 5031; +pub const ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND: u32 = 5032; +pub const ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE: u32 = 5033; +pub const ERROR_QUORUM_OWNER_ALIVE: u32 = 5034; +pub const ERROR_NETWORK_NOT_AVAILABLE: u32 = 5035; +pub const ERROR_NODE_NOT_AVAILABLE: u32 = 5036; +pub const ERROR_ALL_NODES_NOT_AVAILABLE: u32 = 5037; +pub const ERROR_RESOURCE_FAILED: u32 = 5038; +pub const ERROR_CLUSTER_INVALID_NODE: u32 = 5039; +pub const ERROR_CLUSTER_NODE_EXISTS: u32 = 5040; +pub const ERROR_CLUSTER_JOIN_IN_PROGRESS: u32 = 5041; +pub const ERROR_CLUSTER_NODE_NOT_FOUND: u32 = 5042; +pub const ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND: u32 = 5043; +pub const ERROR_CLUSTER_NETWORK_EXISTS: u32 = 5044; +pub const ERROR_CLUSTER_NETWORK_NOT_FOUND: u32 = 5045; +pub const ERROR_CLUSTER_NETINTERFACE_EXISTS: u32 = 5046; +pub const ERROR_CLUSTER_NETINTERFACE_NOT_FOUND: u32 = 5047; +pub const ERROR_CLUSTER_INVALID_REQUEST: u32 = 5048; +pub const ERROR_CLUSTER_INVALID_NETWORK_PROVIDER: u32 = 5049; +pub const ERROR_CLUSTER_NODE_DOWN: u32 = 5050; +pub const ERROR_CLUSTER_NODE_UNREACHABLE: u32 = 5051; +pub const ERROR_CLUSTER_NODE_NOT_MEMBER: u32 = 5052; +pub const ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS: u32 = 5053; +pub const ERROR_CLUSTER_INVALID_NETWORK: u32 = 5054; +pub const ERROR_CLUSTER_NODE_UP: u32 = 5056; +pub const ERROR_CLUSTER_IPADDR_IN_USE: u32 = 5057; +pub const ERROR_CLUSTER_NODE_NOT_PAUSED: u32 = 5058; +pub const ERROR_CLUSTER_NO_SECURITY_CONTEXT: u32 = 5059; +pub const ERROR_CLUSTER_NETWORK_NOT_INTERNAL: u32 = 5060; +pub const ERROR_CLUSTER_NODE_ALREADY_UP: u32 = 5061; +pub const ERROR_CLUSTER_NODE_ALREADY_DOWN: u32 = 5062; +pub const ERROR_CLUSTER_NETWORK_ALREADY_ONLINE: u32 = 5063; +pub const ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE: u32 = 5064; +pub const ERROR_CLUSTER_NODE_ALREADY_MEMBER: u32 = 5065; +pub const ERROR_CLUSTER_LAST_INTERNAL_NETWORK: u32 = 5066; +pub const ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS: u32 = 5067; +pub const ERROR_INVALID_OPERATION_ON_QUORUM: u32 = 5068; +pub const ERROR_DEPENDENCY_NOT_ALLOWED: u32 = 5069; +pub const ERROR_CLUSTER_NODE_PAUSED: u32 = 5070; +pub const ERROR_NODE_CANT_HOST_RESOURCE: u32 = 5071; +pub const ERROR_CLUSTER_NODE_NOT_READY: u32 = 5072; +pub const ERROR_CLUSTER_NODE_SHUTTING_DOWN: u32 = 5073; +pub const ERROR_CLUSTER_JOIN_ABORTED: u32 = 5074; +pub const ERROR_CLUSTER_INCOMPATIBLE_VERSIONS: u32 = 5075; +pub const ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED: u32 = 5076; +pub const ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED: u32 = 5077; +pub const ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND: u32 = 5078; +pub const ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED: u32 = 5079; +pub const ERROR_CLUSTER_RESNAME_NOT_FOUND: u32 = 5080; +pub const ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED: u32 = 5081; +pub const ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST: u32 = 5082; +pub const ERROR_CLUSTER_DATABASE_SEQMISMATCH: u32 = 5083; +pub const ERROR_RESMON_INVALID_STATE: u32 = 5084; +pub const ERROR_CLUSTER_GUM_NOT_LOCKER: u32 = 5085; +pub const ERROR_QUORUM_DISK_NOT_FOUND: u32 = 5086; +pub const ERROR_DATABASE_BACKUP_CORRUPT: u32 = 5087; +pub const ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT: u32 = 5088; +pub const ERROR_RESOURCE_PROPERTY_UNCHANGEABLE: u32 = 5089; +pub const ERROR_NO_ADMIN_ACCESS_POINT: u32 = 5090; +pub const ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE: u32 = 5890; +pub const ERROR_CLUSTER_QUORUMLOG_NOT_FOUND: u32 = 5891; +pub const ERROR_CLUSTER_MEMBERSHIP_HALT: u32 = 5892; +pub const ERROR_CLUSTER_INSTANCE_ID_MISMATCH: u32 = 5893; +pub const ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP: u32 = 5894; +pub const ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH: u32 = 5895; +pub const ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP: u32 = 5896; +pub const ERROR_CLUSTER_PARAMETER_MISMATCH: u32 = 5897; +pub const ERROR_NODE_CANNOT_BE_CLUSTERED: u32 = 5898; +pub const ERROR_CLUSTER_WRONG_OS_VERSION: u32 = 5899; +pub const ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME: u32 = 5900; +pub const ERROR_CLUSCFG_ALREADY_COMMITTED: u32 = 5901; +pub const ERROR_CLUSCFG_ROLLBACK_FAILED: u32 = 5902; +pub const ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT: u32 = 5903; +pub const ERROR_CLUSTER_OLD_VERSION: u32 = 5904; +pub const ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME: u32 = 5905; +pub const ERROR_CLUSTER_NO_NET_ADAPTERS: u32 = 5906; +pub const ERROR_CLUSTER_POISONED: u32 = 5907; +pub const ERROR_CLUSTER_GROUP_MOVING: u32 = 5908; +pub const ERROR_CLUSTER_RESOURCE_TYPE_BUSY: u32 = 5909; +pub const ERROR_RESOURCE_CALL_TIMED_OUT: u32 = 5910; +pub const ERROR_INVALID_CLUSTER_IPV6_ADDRESS: u32 = 5911; +pub const ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION: u32 = 5912; +pub const ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS: u32 = 5913; +pub const ERROR_CLUSTER_PARTIAL_SEND: u32 = 5914; +pub const ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION: u32 = 5915; +pub const ERROR_CLUSTER_INVALID_STRING_TERMINATION: u32 = 5916; +pub const ERROR_CLUSTER_INVALID_STRING_FORMAT: u32 = 5917; +pub const ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS: u32 = 5918; +pub const ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS: u32 = 5919; +pub const ERROR_CLUSTER_NULL_DATA: u32 = 5920; +pub const ERROR_CLUSTER_PARTIAL_READ: u32 = 5921; +pub const ERROR_CLUSTER_PARTIAL_WRITE: u32 = 5922; +pub const ERROR_CLUSTER_CANT_DESERIALIZE_DATA: u32 = 5923; +pub const ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT: u32 = 5924; +pub const ERROR_CLUSTER_NO_QUORUM: u32 = 5925; +pub const ERROR_CLUSTER_INVALID_IPV6_NETWORK: u32 = 5926; +pub const ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK: u32 = 5927; +pub const ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP: u32 = 5928; +pub const ERROR_DEPENDENCY_TREE_TOO_COMPLEX: u32 = 5929; +pub const ERROR_EXCEPTION_IN_RESOURCE_CALL: u32 = 5930; +pub const ERROR_CLUSTER_RHS_FAILED_INITIALIZATION: u32 = 5931; +pub const ERROR_CLUSTER_NOT_INSTALLED: u32 = 5932; +pub const ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE: u32 = 5933; +pub const ERROR_CLUSTER_MAX_NODES_IN_CLUSTER: u32 = 5934; +pub const ERROR_CLUSTER_TOO_MANY_NODES: u32 = 5935; +pub const ERROR_CLUSTER_OBJECT_ALREADY_USED: u32 = 5936; +pub const ERROR_NONCORE_GROUPS_FOUND: u32 = 5937; +pub const ERROR_FILE_SHARE_RESOURCE_CONFLICT: u32 = 5938; +pub const ERROR_CLUSTER_EVICT_INVALID_REQUEST: u32 = 5939; +pub const ERROR_CLUSTER_SINGLETON_RESOURCE: u32 = 5940; +pub const ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE: u32 = 5941; +pub const ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED: u32 = 5942; +pub const ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR: u32 = 5943; +pub const ERROR_CLUSTER_GROUP_BUSY: u32 = 5944; +pub const ERROR_CLUSTER_NOT_SHARED_VOLUME: u32 = 5945; +pub const ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR: u32 = 5946; +pub const ERROR_CLUSTER_SHARED_VOLUMES_IN_USE: u32 = 5947; +pub const ERROR_CLUSTER_USE_SHARED_VOLUMES_API: u32 = 5948; +pub const ERROR_CLUSTER_BACKUP_IN_PROGRESS: u32 = 5949; +pub const ERROR_NON_CSV_PATH: u32 = 5950; +pub const ERROR_CSV_VOLUME_NOT_LOCAL: u32 = 5951; +pub const ERROR_CLUSTER_WATCHDOG_TERMINATING: u32 = 5952; +pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES: u32 = 5953; +pub const ERROR_CLUSTER_INVALID_NODE_WEIGHT: u32 = 5954; +pub const ERROR_CLUSTER_RESOURCE_VETOED_CALL: u32 = 5955; +pub const ERROR_RESMON_SYSTEM_RESOURCES_LACKING: u32 = 5956; +pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION: u32 = 5957; +pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE: u32 = 5958; +pub const ERROR_CLUSTER_GROUP_QUEUED: u32 = 5959; +pub const ERROR_CLUSTER_RESOURCE_LOCKED_STATUS: u32 = 5960; +pub const ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED: u32 = 5961; +pub const ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS: u32 = 5962; +pub const ERROR_CLUSTER_DISK_NOT_CONNECTED: u32 = 5963; +pub const ERROR_DISK_NOT_CSV_CAPABLE: u32 = 5964; +pub const ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE: u32 = 5965; +pub const ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED: u32 = 5966; +pub const ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED: u32 = 5967; +pub const ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES: u32 = 5968; +pub const ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES: u32 = 5969; +pub const ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE: u32 = 5970; +pub const ERROR_CLUSTER_AFFINITY_CONFLICT: u32 = 5971; +pub const ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE: u32 = 5972; +pub const ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS: u32 = 5973; +pub const ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED: u32 = 5974; +pub const ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED: u32 = 5975; +pub const ERROR_CLUSTER_UPGRADE_IN_PROGRESS: u32 = 5976; +pub const ERROR_CLUSTER_UPGRADE_INCOMPLETE: u32 = 5977; +pub const ERROR_CLUSTER_NODE_IN_GRACE_PERIOD: u32 = 5978; +pub const ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT: u32 = 5979; +pub const ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER: u32 = 5980; +pub const ERROR_CLUSTER_RESOURCE_NOT_MONITORED: u32 = 5981; +pub const ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED: u32 = 5982; +pub const ERROR_CLUSTER_RESOURCE_IS_REPLICATED: u32 = 5983; +pub const ERROR_CLUSTER_NODE_ISOLATED: u32 = 5984; +pub const ERROR_CLUSTER_NODE_QUARANTINED: u32 = 5985; +pub const ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED: u32 = 5986; +pub const ERROR_CLUSTER_SPACE_DEGRADED: u32 = 5987; +pub const ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED: u32 = 5988; +pub const ERROR_CLUSTER_CSV_INVALID_HANDLE: u32 = 5989; +pub const ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR: u32 = 5990; +pub const ERROR_GROUPSET_NOT_AVAILABLE: u32 = 5991; +pub const ERROR_GROUPSET_NOT_FOUND: u32 = 5992; +pub const ERROR_GROUPSET_CANT_PROVIDE: u32 = 5993; +pub const ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND: u32 = 5994; +pub const ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY: u32 = 5995; +pub const ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION: u32 = 5996; +pub const ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS: u32 = 5997; +pub const ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME: u32 = 5998; +pub const ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE: u32 = 5999; +pub const ERROR_ENCRYPTION_FAILED: u32 = 6000; +pub const ERROR_DECRYPTION_FAILED: u32 = 6001; +pub const ERROR_FILE_ENCRYPTED: u32 = 6002; +pub const ERROR_NO_RECOVERY_POLICY: u32 = 6003; +pub const ERROR_NO_EFS: u32 = 6004; +pub const ERROR_WRONG_EFS: u32 = 6005; +pub const ERROR_NO_USER_KEYS: u32 = 6006; +pub const ERROR_FILE_NOT_ENCRYPTED: u32 = 6007; +pub const ERROR_NOT_EXPORT_FORMAT: u32 = 6008; +pub const ERROR_FILE_READ_ONLY: u32 = 6009; +pub const ERROR_DIR_EFS_DISALLOWED: u32 = 6010; +pub const ERROR_EFS_SERVER_NOT_TRUSTED: u32 = 6011; +pub const ERROR_BAD_RECOVERY_POLICY: u32 = 6012; +pub const ERROR_EFS_ALG_BLOB_TOO_BIG: u32 = 6013; +pub const ERROR_VOLUME_NOT_SUPPORT_EFS: u32 = 6014; +pub const ERROR_EFS_DISABLED: u32 = 6015; +pub const ERROR_EFS_VERSION_NOT_SUPPORT: u32 = 6016; +pub const ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE: u32 = 6017; +pub const ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER: u32 = 6018; +pub const ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE: u32 = 6019; +pub const ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE: u32 = 6020; +pub const ERROR_CS_ENCRYPTION_FILE_NOT_CSE: u32 = 6021; +pub const ERROR_ENCRYPTION_POLICY_DENIES_OPERATION: u32 = 6022; +pub const ERROR_WIP_ENCRYPTION_FAILED: u32 = 6023; +pub const ERROR_NO_BROWSER_SERVERS_FOUND: u32 = 6118; +pub const SCHED_E_SERVICE_NOT_LOCALSYSTEM: u32 = 6200; +pub const ERROR_CLUSTER_OBJECT_IS_CLUSTER_SET_VM: u32 = 6250; +pub const ERROR_LOG_SECTOR_INVALID: u32 = 6600; +pub const ERROR_LOG_SECTOR_PARITY_INVALID: u32 = 6601; +pub const ERROR_LOG_SECTOR_REMAPPED: u32 = 6602; +pub const ERROR_LOG_BLOCK_INCOMPLETE: u32 = 6603; +pub const ERROR_LOG_INVALID_RANGE: u32 = 6604; +pub const ERROR_LOG_BLOCKS_EXHAUSTED: u32 = 6605; +pub const ERROR_LOG_READ_CONTEXT_INVALID: u32 = 6606; +pub const ERROR_LOG_RESTART_INVALID: u32 = 6607; +pub const ERROR_LOG_BLOCK_VERSION: u32 = 6608; +pub const ERROR_LOG_BLOCK_INVALID: u32 = 6609; +pub const ERROR_LOG_READ_MODE_INVALID: u32 = 6610; +pub const ERROR_LOG_NO_RESTART: u32 = 6611; +pub const ERROR_LOG_METADATA_CORRUPT: u32 = 6612; +pub const ERROR_LOG_METADATA_INVALID: u32 = 6613; +pub const ERROR_LOG_METADATA_INCONSISTENT: u32 = 6614; +pub const ERROR_LOG_RESERVATION_INVALID: u32 = 6615; +pub const ERROR_LOG_CANT_DELETE: u32 = 6616; +pub const ERROR_LOG_CONTAINER_LIMIT_EXCEEDED: u32 = 6617; +pub const ERROR_LOG_START_OF_LOG: u32 = 6618; +pub const ERROR_LOG_POLICY_ALREADY_INSTALLED: u32 = 6619; +pub const ERROR_LOG_POLICY_NOT_INSTALLED: u32 = 6620; +pub const ERROR_LOG_POLICY_INVALID: u32 = 6621; +pub const ERROR_LOG_POLICY_CONFLICT: u32 = 6622; +pub const ERROR_LOG_PINNED_ARCHIVE_TAIL: u32 = 6623; +pub const ERROR_LOG_RECORD_NONEXISTENT: u32 = 6624; +pub const ERROR_LOG_RECORDS_RESERVED_INVALID: u32 = 6625; +pub const ERROR_LOG_SPACE_RESERVED_INVALID: u32 = 6626; +pub const ERROR_LOG_TAIL_INVALID: u32 = 6627; +pub const ERROR_LOG_FULL: u32 = 6628; +pub const ERROR_COULD_NOT_RESIZE_LOG: u32 = 6629; +pub const ERROR_LOG_MULTIPLEXED: u32 = 6630; +pub const ERROR_LOG_DEDICATED: u32 = 6631; +pub const ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS: u32 = 6632; +pub const ERROR_LOG_ARCHIVE_IN_PROGRESS: u32 = 6633; +pub const ERROR_LOG_EPHEMERAL: u32 = 6634; +pub const ERROR_LOG_NOT_ENOUGH_CONTAINERS: u32 = 6635; +pub const ERROR_LOG_CLIENT_ALREADY_REGISTERED: u32 = 6636; +pub const ERROR_LOG_CLIENT_NOT_REGISTERED: u32 = 6637; +pub const ERROR_LOG_FULL_HANDLER_IN_PROGRESS: u32 = 6638; +pub const ERROR_LOG_CONTAINER_READ_FAILED: u32 = 6639; +pub const ERROR_LOG_CONTAINER_WRITE_FAILED: u32 = 6640; +pub const ERROR_LOG_CONTAINER_OPEN_FAILED: u32 = 6641; +pub const ERROR_LOG_CONTAINER_STATE_INVALID: u32 = 6642; +pub const ERROR_LOG_STATE_INVALID: u32 = 6643; +pub const ERROR_LOG_PINNED: u32 = 6644; +pub const ERROR_LOG_METADATA_FLUSH_FAILED: u32 = 6645; +pub const ERROR_LOG_INCONSISTENT_SECURITY: u32 = 6646; +pub const ERROR_LOG_APPENDED_FLUSH_FAILED: u32 = 6647; +pub const ERROR_LOG_PINNED_RESERVATION: u32 = 6648; +pub const ERROR_INVALID_TRANSACTION: u32 = 6700; +pub const ERROR_TRANSACTION_NOT_ACTIVE: u32 = 6701; +pub const ERROR_TRANSACTION_REQUEST_NOT_VALID: u32 = 6702; +pub const ERROR_TRANSACTION_NOT_REQUESTED: u32 = 6703; +pub const ERROR_TRANSACTION_ALREADY_ABORTED: u32 = 6704; +pub const ERROR_TRANSACTION_ALREADY_COMMITTED: u32 = 6705; +pub const ERROR_TM_INITIALIZATION_FAILED: u32 = 6706; +pub const ERROR_RESOURCEMANAGER_READ_ONLY: u32 = 6707; +pub const ERROR_TRANSACTION_NOT_JOINED: u32 = 6708; +pub const ERROR_TRANSACTION_SUPERIOR_EXISTS: u32 = 6709; +pub const ERROR_CRM_PROTOCOL_ALREADY_EXISTS: u32 = 6710; +pub const ERROR_TRANSACTION_PROPAGATION_FAILED: u32 = 6711; +pub const ERROR_CRM_PROTOCOL_NOT_FOUND: u32 = 6712; +pub const ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER: u32 = 6713; +pub const ERROR_CURRENT_TRANSACTION_NOT_VALID: u32 = 6714; +pub const ERROR_TRANSACTION_NOT_FOUND: u32 = 6715; +pub const ERROR_RESOURCEMANAGER_NOT_FOUND: u32 = 6716; +pub const ERROR_ENLISTMENT_NOT_FOUND: u32 = 6717; +pub const ERROR_TRANSACTIONMANAGER_NOT_FOUND: u32 = 6718; +pub const ERROR_TRANSACTIONMANAGER_NOT_ONLINE: u32 = 6719; +pub const ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION: u32 = 6720; +pub const ERROR_TRANSACTION_NOT_ROOT: u32 = 6721; +pub const ERROR_TRANSACTION_OBJECT_EXPIRED: u32 = 6722; +pub const ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED: u32 = 6723; +pub const ERROR_TRANSACTION_RECORD_TOO_LONG: u32 = 6724; +pub const ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED: u32 = 6725; +pub const ERROR_TRANSACTION_INTEGRITY_VIOLATED: u32 = 6726; +pub const ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH: u32 = 6727; +pub const ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT: u32 = 6728; +pub const ERROR_TRANSACTION_MUST_WRITETHROUGH: u32 = 6729; +pub const ERROR_TRANSACTION_NO_SUPERIOR: u32 = 6730; +pub const ERROR_HEURISTIC_DAMAGE_POSSIBLE: u32 = 6731; +pub const ERROR_TRANSACTIONAL_CONFLICT: u32 = 6800; +pub const ERROR_RM_NOT_ACTIVE: u32 = 6801; +pub const ERROR_RM_METADATA_CORRUPT: u32 = 6802; +pub const ERROR_DIRECTORY_NOT_RM: u32 = 6803; +pub const ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE: u32 = 6805; +pub const ERROR_LOG_RESIZE_INVALID_SIZE: u32 = 6806; +pub const ERROR_OBJECT_NO_LONGER_EXISTS: u32 = 6807; +pub const ERROR_STREAM_MINIVERSION_NOT_FOUND: u32 = 6808; +pub const ERROR_STREAM_MINIVERSION_NOT_VALID: u32 = 6809; +pub const ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION: u32 = 6810; +pub const ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT: u32 = 6811; +pub const ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS: u32 = 6812; +pub const ERROR_REMOTE_FILE_VERSION_MISMATCH: u32 = 6814; +pub const ERROR_HANDLE_NO_LONGER_VALID: u32 = 6815; +pub const ERROR_NO_TXF_METADATA: u32 = 6816; +pub const ERROR_LOG_CORRUPTION_DETECTED: u32 = 6817; +pub const ERROR_CANT_RECOVER_WITH_HANDLE_OPEN: u32 = 6818; +pub const ERROR_RM_DISCONNECTED: u32 = 6819; +pub const ERROR_ENLISTMENT_NOT_SUPERIOR: u32 = 6820; +pub const ERROR_RECOVERY_NOT_NEEDED: u32 = 6821; +pub const ERROR_RM_ALREADY_STARTED: u32 = 6822; +pub const ERROR_FILE_IDENTITY_NOT_PERSISTENT: u32 = 6823; +pub const ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY: u32 = 6824; +pub const ERROR_CANT_CROSS_RM_BOUNDARY: u32 = 6825; +pub const ERROR_TXF_DIR_NOT_EMPTY: u32 = 6826; +pub const ERROR_INDOUBT_TRANSACTIONS_EXIST: u32 = 6827; +pub const ERROR_TM_VOLATILE: u32 = 6828; +pub const ERROR_ROLLBACK_TIMER_EXPIRED: u32 = 6829; +pub const ERROR_TXF_ATTRIBUTE_CORRUPT: u32 = 6830; +pub const ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION: u32 = 6831; +pub const ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED: u32 = 6832; +pub const ERROR_LOG_GROWTH_FAILED: u32 = 6833; +pub const ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE: u32 = 6834; +pub const ERROR_TXF_METADATA_ALREADY_PRESENT: u32 = 6835; +pub const ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET: u32 = 6836; +pub const ERROR_TRANSACTION_REQUIRED_PROMOTION: u32 = 6837; +pub const ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION: u32 = 6838; +pub const ERROR_TRANSACTIONS_NOT_FROZEN: u32 = 6839; +pub const ERROR_TRANSACTION_FREEZE_IN_PROGRESS: u32 = 6840; +pub const ERROR_NOT_SNAPSHOT_VOLUME: u32 = 6841; +pub const ERROR_NO_SAVEPOINT_WITH_OPEN_FILES: u32 = 6842; +pub const ERROR_DATA_LOST_REPAIR: u32 = 6843; +pub const ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION: u32 = 6844; +pub const ERROR_TM_IDENTITY_MISMATCH: u32 = 6845; +pub const ERROR_FLOATED_SECTION: u32 = 6846; +pub const ERROR_CANNOT_ACCEPT_TRANSACTED_WORK: u32 = 6847; +pub const ERROR_CANNOT_ABORT_TRANSACTIONS: u32 = 6848; +pub const ERROR_BAD_CLUSTERS: u32 = 6849; +pub const ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION: u32 = 6850; +pub const ERROR_VOLUME_DIRTY: u32 = 6851; +pub const ERROR_NO_LINK_TRACKING_IN_TRANSACTION: u32 = 6852; +pub const ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION: u32 = 6853; +pub const ERROR_EXPIRED_HANDLE: u32 = 6854; +pub const ERROR_TRANSACTION_NOT_ENLISTED: u32 = 6855; +pub const ERROR_CTX_WINSTATION_NAME_INVALID: u32 = 7001; +pub const ERROR_CTX_INVALID_PD: u32 = 7002; +pub const ERROR_CTX_PD_NOT_FOUND: u32 = 7003; +pub const ERROR_CTX_WD_NOT_FOUND: u32 = 7004; +pub const ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY: u32 = 7005; +pub const ERROR_CTX_SERVICE_NAME_COLLISION: u32 = 7006; +pub const ERROR_CTX_CLOSE_PENDING: u32 = 7007; +pub const ERROR_CTX_NO_OUTBUF: u32 = 7008; +pub const ERROR_CTX_MODEM_INF_NOT_FOUND: u32 = 7009; +pub const ERROR_CTX_INVALID_MODEMNAME: u32 = 7010; +pub const ERROR_CTX_MODEM_RESPONSE_ERROR: u32 = 7011; +pub const ERROR_CTX_MODEM_RESPONSE_TIMEOUT: u32 = 7012; +pub const ERROR_CTX_MODEM_RESPONSE_NO_CARRIER: u32 = 7013; +pub const ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE: u32 = 7014; +pub const ERROR_CTX_MODEM_RESPONSE_BUSY: u32 = 7015; +pub const ERROR_CTX_MODEM_RESPONSE_VOICE: u32 = 7016; +pub const ERROR_CTX_TD_ERROR: u32 = 7017; +pub const ERROR_CTX_WINSTATION_NOT_FOUND: u32 = 7022; +pub const ERROR_CTX_WINSTATION_ALREADY_EXISTS: u32 = 7023; +pub const ERROR_CTX_WINSTATION_BUSY: u32 = 7024; +pub const ERROR_CTX_BAD_VIDEO_MODE: u32 = 7025; +pub const ERROR_CTX_GRAPHICS_INVALID: u32 = 7035; +pub const ERROR_CTX_LOGON_DISABLED: u32 = 7037; +pub const ERROR_CTX_NOT_CONSOLE: u32 = 7038; +pub const ERROR_CTX_CLIENT_QUERY_TIMEOUT: u32 = 7040; +pub const ERROR_CTX_CONSOLE_DISCONNECT: u32 = 7041; +pub const ERROR_CTX_CONSOLE_CONNECT: u32 = 7042; +pub const ERROR_CTX_SHADOW_DENIED: u32 = 7044; +pub const ERROR_CTX_WINSTATION_ACCESS_DENIED: u32 = 7045; +pub const ERROR_CTX_INVALID_WD: u32 = 7049; +pub const ERROR_CTX_SHADOW_INVALID: u32 = 7050; +pub const ERROR_CTX_SHADOW_DISABLED: u32 = 7051; +pub const ERROR_CTX_CLIENT_LICENSE_IN_USE: u32 = 7052; +pub const ERROR_CTX_CLIENT_LICENSE_NOT_SET: u32 = 7053; +pub const ERROR_CTX_LICENSE_NOT_AVAILABLE: u32 = 7054; +pub const ERROR_CTX_LICENSE_CLIENT_INVALID: u32 = 7055; +pub const ERROR_CTX_LICENSE_EXPIRED: u32 = 7056; +pub const ERROR_CTX_SHADOW_NOT_RUNNING: u32 = 7057; +pub const ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE: u32 = 7058; +pub const ERROR_ACTIVATION_COUNT_EXCEEDED: u32 = 7059; +pub const ERROR_CTX_WINSTATIONS_DISABLED: u32 = 7060; +pub const ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED: u32 = 7061; +pub const ERROR_CTX_SESSION_IN_USE: u32 = 7062; +pub const ERROR_CTX_NO_FORCE_LOGOFF: u32 = 7063; +pub const ERROR_CTX_ACCOUNT_RESTRICTION: u32 = 7064; +pub const ERROR_RDP_PROTOCOL_ERROR: u32 = 7065; +pub const ERROR_CTX_CDM_CONNECT: u32 = 7066; +pub const ERROR_CTX_CDM_DISCONNECT: u32 = 7067; +pub const ERROR_CTX_SECURITY_LAYER_ERROR: u32 = 7068; +pub const ERROR_TS_INCOMPATIBLE_SESSIONS: u32 = 7069; +pub const ERROR_TS_VIDEO_SUBSYSTEM_ERROR: u32 = 7070; +pub const FRS_ERR_INVALID_API_SEQUENCE: u32 = 8001; +pub const FRS_ERR_STARTING_SERVICE: u32 = 8002; +pub const FRS_ERR_STOPPING_SERVICE: u32 = 8003; +pub const FRS_ERR_INTERNAL_API: u32 = 8004; +pub const FRS_ERR_INTERNAL: u32 = 8005; +pub const FRS_ERR_SERVICE_COMM: u32 = 8006; +pub const FRS_ERR_INSUFFICIENT_PRIV: u32 = 8007; +pub const FRS_ERR_AUTHENTICATION: u32 = 8008; +pub const FRS_ERR_PARENT_INSUFFICIENT_PRIV: u32 = 8009; +pub const FRS_ERR_PARENT_AUTHENTICATION: u32 = 8010; +pub const FRS_ERR_CHILD_TO_PARENT_COMM: u32 = 8011; +pub const FRS_ERR_PARENT_TO_CHILD_COMM: u32 = 8012; +pub const FRS_ERR_SYSVOL_POPULATE: u32 = 8013; +pub const FRS_ERR_SYSVOL_POPULATE_TIMEOUT: u32 = 8014; +pub const FRS_ERR_SYSVOL_IS_BUSY: u32 = 8015; +pub const FRS_ERR_SYSVOL_DEMOTE: u32 = 8016; +pub const FRS_ERR_INVALID_SERVICE_PARAMETER: u32 = 8017; +pub const DS_S_SUCCESS: u32 = 0; +pub const ERROR_DS_NOT_INSTALLED: u32 = 8200; +pub const ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY: u32 = 8201; +pub const ERROR_DS_NO_ATTRIBUTE_OR_VALUE: u32 = 8202; +pub const ERROR_DS_INVALID_ATTRIBUTE_SYNTAX: u32 = 8203; +pub const ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED: u32 = 8204; +pub const ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS: u32 = 8205; +pub const ERROR_DS_BUSY: u32 = 8206; +pub const ERROR_DS_UNAVAILABLE: u32 = 8207; +pub const ERROR_DS_NO_RIDS_ALLOCATED: u32 = 8208; +pub const ERROR_DS_NO_MORE_RIDS: u32 = 8209; +pub const ERROR_DS_INCORRECT_ROLE_OWNER: u32 = 8210; +pub const ERROR_DS_RIDMGR_INIT_ERROR: u32 = 8211; +pub const ERROR_DS_OBJ_CLASS_VIOLATION: u32 = 8212; +pub const ERROR_DS_CANT_ON_NON_LEAF: u32 = 8213; +pub const ERROR_DS_CANT_ON_RDN: u32 = 8214; +pub const ERROR_DS_CANT_MOD_OBJ_CLASS: u32 = 8215; +pub const ERROR_DS_CROSS_DOM_MOVE_ERROR: u32 = 8216; +pub const ERROR_DS_GC_NOT_AVAILABLE: u32 = 8217; +pub const ERROR_SHARED_POLICY: u32 = 8218; +pub const ERROR_POLICY_OBJECT_NOT_FOUND: u32 = 8219; +pub const ERROR_POLICY_ONLY_IN_DS: u32 = 8220; +pub const ERROR_PROMOTION_ACTIVE: u32 = 8221; +pub const ERROR_NO_PROMOTION_ACTIVE: u32 = 8222; +pub const ERROR_DS_OPERATIONS_ERROR: u32 = 8224; +pub const ERROR_DS_PROTOCOL_ERROR: u32 = 8225; +pub const ERROR_DS_TIMELIMIT_EXCEEDED: u32 = 8226; +pub const ERROR_DS_SIZELIMIT_EXCEEDED: u32 = 8227; +pub const ERROR_DS_ADMIN_LIMIT_EXCEEDED: u32 = 8228; +pub const ERROR_DS_COMPARE_FALSE: u32 = 8229; +pub const ERROR_DS_COMPARE_TRUE: u32 = 8230; +pub const ERROR_DS_AUTH_METHOD_NOT_SUPPORTED: u32 = 8231; +pub const ERROR_DS_STRONG_AUTH_REQUIRED: u32 = 8232; +pub const ERROR_DS_INAPPROPRIATE_AUTH: u32 = 8233; +pub const ERROR_DS_AUTH_UNKNOWN: u32 = 8234; +pub const ERROR_DS_REFERRAL: u32 = 8235; +pub const ERROR_DS_UNAVAILABLE_CRIT_EXTENSION: u32 = 8236; +pub const ERROR_DS_CONFIDENTIALITY_REQUIRED: u32 = 8237; +pub const ERROR_DS_INAPPROPRIATE_MATCHING: u32 = 8238; +pub const ERROR_DS_CONSTRAINT_VIOLATION: u32 = 8239; +pub const ERROR_DS_NO_SUCH_OBJECT: u32 = 8240; +pub const ERROR_DS_ALIAS_PROBLEM: u32 = 8241; +pub const ERROR_DS_INVALID_DN_SYNTAX: u32 = 8242; +pub const ERROR_DS_IS_LEAF: u32 = 8243; +pub const ERROR_DS_ALIAS_DEREF_PROBLEM: u32 = 8244; +pub const ERROR_DS_UNWILLING_TO_PERFORM: u32 = 8245; +pub const ERROR_DS_LOOP_DETECT: u32 = 8246; +pub const ERROR_DS_NAMING_VIOLATION: u32 = 8247; +pub const ERROR_DS_OBJECT_RESULTS_TOO_LARGE: u32 = 8248; +pub const ERROR_DS_AFFECTS_MULTIPLE_DSAS: u32 = 8249; +pub const ERROR_DS_SERVER_DOWN: u32 = 8250; +pub const ERROR_DS_LOCAL_ERROR: u32 = 8251; +pub const ERROR_DS_ENCODING_ERROR: u32 = 8252; +pub const ERROR_DS_DECODING_ERROR: u32 = 8253; +pub const ERROR_DS_FILTER_UNKNOWN: u32 = 8254; +pub const ERROR_DS_PARAM_ERROR: u32 = 8255; +pub const ERROR_DS_NOT_SUPPORTED: u32 = 8256; +pub const ERROR_DS_NO_RESULTS_RETURNED: u32 = 8257; +pub const ERROR_DS_CONTROL_NOT_FOUND: u32 = 8258; +pub const ERROR_DS_CLIENT_LOOP: u32 = 8259; +pub const ERROR_DS_REFERRAL_LIMIT_EXCEEDED: u32 = 8260; +pub const ERROR_DS_SORT_CONTROL_MISSING: u32 = 8261; +pub const ERROR_DS_OFFSET_RANGE_ERROR: u32 = 8262; +pub const ERROR_DS_RIDMGR_DISABLED: u32 = 8263; +pub const ERROR_DS_ROOT_MUST_BE_NC: u32 = 8301; +pub const ERROR_DS_ADD_REPLICA_INHIBITED: u32 = 8302; +pub const ERROR_DS_ATT_NOT_DEF_IN_SCHEMA: u32 = 8303; +pub const ERROR_DS_MAX_OBJ_SIZE_EXCEEDED: u32 = 8304; +pub const ERROR_DS_OBJ_STRING_NAME_EXISTS: u32 = 8305; +pub const ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA: u32 = 8306; +pub const ERROR_DS_RDN_DOESNT_MATCH_SCHEMA: u32 = 8307; +pub const ERROR_DS_NO_REQUESTED_ATTS_FOUND: u32 = 8308; +pub const ERROR_DS_USER_BUFFER_TO_SMALL: u32 = 8309; +pub const ERROR_DS_ATT_IS_NOT_ON_OBJ: u32 = 8310; +pub const ERROR_DS_ILLEGAL_MOD_OPERATION: u32 = 8311; +pub const ERROR_DS_OBJ_TOO_LARGE: u32 = 8312; +pub const ERROR_DS_BAD_INSTANCE_TYPE: u32 = 8313; +pub const ERROR_DS_MASTERDSA_REQUIRED: u32 = 8314; +pub const ERROR_DS_OBJECT_CLASS_REQUIRED: u32 = 8315; +pub const ERROR_DS_MISSING_REQUIRED_ATT: u32 = 8316; +pub const ERROR_DS_ATT_NOT_DEF_FOR_CLASS: u32 = 8317; +pub const ERROR_DS_ATT_ALREADY_EXISTS: u32 = 8318; +pub const ERROR_DS_CANT_ADD_ATT_VALUES: u32 = 8320; +pub const ERROR_DS_SINGLE_VALUE_CONSTRAINT: u32 = 8321; +pub const ERROR_DS_RANGE_CONSTRAINT: u32 = 8322; +pub const ERROR_DS_ATT_VAL_ALREADY_EXISTS: u32 = 8323; +pub const ERROR_DS_CANT_REM_MISSING_ATT: u32 = 8324; +pub const ERROR_DS_CANT_REM_MISSING_ATT_VAL: u32 = 8325; +pub const ERROR_DS_ROOT_CANT_BE_SUBREF: u32 = 8326; +pub const ERROR_DS_NO_CHAINING: u32 = 8327; +pub const ERROR_DS_NO_CHAINED_EVAL: u32 = 8328; +pub const ERROR_DS_NO_PARENT_OBJECT: u32 = 8329; +pub const ERROR_DS_PARENT_IS_AN_ALIAS: u32 = 8330; +pub const ERROR_DS_CANT_MIX_MASTER_AND_REPS: u32 = 8331; +pub const ERROR_DS_CHILDREN_EXIST: u32 = 8332; +pub const ERROR_DS_OBJ_NOT_FOUND: u32 = 8333; +pub const ERROR_DS_ALIASED_OBJ_MISSING: u32 = 8334; +pub const ERROR_DS_BAD_NAME_SYNTAX: u32 = 8335; +pub const ERROR_DS_ALIAS_POINTS_TO_ALIAS: u32 = 8336; +pub const ERROR_DS_CANT_DEREF_ALIAS: u32 = 8337; +pub const ERROR_DS_OUT_OF_SCOPE: u32 = 8338; +pub const ERROR_DS_OBJECT_BEING_REMOVED: u32 = 8339; +pub const ERROR_DS_CANT_DELETE_DSA_OBJ: u32 = 8340; +pub const ERROR_DS_GENERIC_ERROR: u32 = 8341; +pub const ERROR_DS_DSA_MUST_BE_INT_MASTER: u32 = 8342; +pub const ERROR_DS_CLASS_NOT_DSA: u32 = 8343; +pub const ERROR_DS_INSUFF_ACCESS_RIGHTS: u32 = 8344; +pub const ERROR_DS_ILLEGAL_SUPERIOR: u32 = 8345; +pub const ERROR_DS_ATTRIBUTE_OWNED_BY_SAM: u32 = 8346; +pub const ERROR_DS_NAME_TOO_MANY_PARTS: u32 = 8347; +pub const ERROR_DS_NAME_TOO_LONG: u32 = 8348; +pub const ERROR_DS_NAME_VALUE_TOO_LONG: u32 = 8349; +pub const ERROR_DS_NAME_UNPARSEABLE: u32 = 8350; +pub const ERROR_DS_NAME_TYPE_UNKNOWN: u32 = 8351; +pub const ERROR_DS_NOT_AN_OBJECT: u32 = 8352; +pub const ERROR_DS_SEC_DESC_TOO_SHORT: u32 = 8353; +pub const ERROR_DS_SEC_DESC_INVALID: u32 = 8354; +pub const ERROR_DS_NO_DELETED_NAME: u32 = 8355; +pub const ERROR_DS_SUBREF_MUST_HAVE_PARENT: u32 = 8356; +pub const ERROR_DS_NCNAME_MUST_BE_NC: u32 = 8357; +pub const ERROR_DS_CANT_ADD_SYSTEM_ONLY: u32 = 8358; +pub const ERROR_DS_CLASS_MUST_BE_CONCRETE: u32 = 8359; +pub const ERROR_DS_INVALID_DMD: u32 = 8360; +pub const ERROR_DS_OBJ_GUID_EXISTS: u32 = 8361; +pub const ERROR_DS_NOT_ON_BACKLINK: u32 = 8362; +pub const ERROR_DS_NO_CROSSREF_FOR_NC: u32 = 8363; +pub const ERROR_DS_SHUTTING_DOWN: u32 = 8364; +pub const ERROR_DS_UNKNOWN_OPERATION: u32 = 8365; +pub const ERROR_DS_INVALID_ROLE_OWNER: u32 = 8366; +pub const ERROR_DS_COULDNT_CONTACT_FSMO: u32 = 8367; +pub const ERROR_DS_CROSS_NC_DN_RENAME: u32 = 8368; +pub const ERROR_DS_CANT_MOD_SYSTEM_ONLY: u32 = 8369; +pub const ERROR_DS_REPLICATOR_ONLY: u32 = 8370; +pub const ERROR_DS_OBJ_CLASS_NOT_DEFINED: u32 = 8371; +pub const ERROR_DS_OBJ_CLASS_NOT_SUBCLASS: u32 = 8372; +pub const ERROR_DS_NAME_REFERENCE_INVALID: u32 = 8373; +pub const ERROR_DS_CROSS_REF_EXISTS: u32 = 8374; +pub const ERROR_DS_CANT_DEL_MASTER_CROSSREF: u32 = 8375; +pub const ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD: u32 = 8376; +pub const ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX: u32 = 8377; +pub const ERROR_DS_DUP_RDN: u32 = 8378; +pub const ERROR_DS_DUP_OID: u32 = 8379; +pub const ERROR_DS_DUP_MAPI_ID: u32 = 8380; +pub const ERROR_DS_DUP_SCHEMA_ID_GUID: u32 = 8381; +pub const ERROR_DS_DUP_LDAP_DISPLAY_NAME: u32 = 8382; +pub const ERROR_DS_SEMANTIC_ATT_TEST: u32 = 8383; +pub const ERROR_DS_SYNTAX_MISMATCH: u32 = 8384; +pub const ERROR_DS_EXISTS_IN_MUST_HAVE: u32 = 8385; +pub const ERROR_DS_EXISTS_IN_MAY_HAVE: u32 = 8386; +pub const ERROR_DS_NONEXISTENT_MAY_HAVE: u32 = 8387; +pub const ERROR_DS_NONEXISTENT_MUST_HAVE: u32 = 8388; +pub const ERROR_DS_AUX_CLS_TEST_FAIL: u32 = 8389; +pub const ERROR_DS_NONEXISTENT_POSS_SUP: u32 = 8390; +pub const ERROR_DS_SUB_CLS_TEST_FAIL: u32 = 8391; +pub const ERROR_DS_BAD_RDN_ATT_ID_SYNTAX: u32 = 8392; +pub const ERROR_DS_EXISTS_IN_AUX_CLS: u32 = 8393; +pub const ERROR_DS_EXISTS_IN_SUB_CLS: u32 = 8394; +pub const ERROR_DS_EXISTS_IN_POSS_SUP: u32 = 8395; +pub const ERROR_DS_RECALCSCHEMA_FAILED: u32 = 8396; +pub const ERROR_DS_TREE_DELETE_NOT_FINISHED: u32 = 8397; +pub const ERROR_DS_CANT_DELETE: u32 = 8398; +pub const ERROR_DS_ATT_SCHEMA_REQ_ID: u32 = 8399; +pub const ERROR_DS_BAD_ATT_SCHEMA_SYNTAX: u32 = 8400; +pub const ERROR_DS_CANT_CACHE_ATT: u32 = 8401; +pub const ERROR_DS_CANT_CACHE_CLASS: u32 = 8402; +pub const ERROR_DS_CANT_REMOVE_ATT_CACHE: u32 = 8403; +pub const ERROR_DS_CANT_REMOVE_CLASS_CACHE: u32 = 8404; +pub const ERROR_DS_CANT_RETRIEVE_DN: u32 = 8405; +pub const ERROR_DS_MISSING_SUPREF: u32 = 8406; +pub const ERROR_DS_CANT_RETRIEVE_INSTANCE: u32 = 8407; +pub const ERROR_DS_CODE_INCONSISTENCY: u32 = 8408; +pub const ERROR_DS_DATABASE_ERROR: u32 = 8409; +pub const ERROR_DS_GOVERNSID_MISSING: u32 = 8410; +pub const ERROR_DS_MISSING_EXPECTED_ATT: u32 = 8411; +pub const ERROR_DS_NCNAME_MISSING_CR_REF: u32 = 8412; +pub const ERROR_DS_SECURITY_CHECKING_ERROR: u32 = 8413; +pub const ERROR_DS_SCHEMA_NOT_LOADED: u32 = 8414; +pub const ERROR_DS_SCHEMA_ALLOC_FAILED: u32 = 8415; +pub const ERROR_DS_ATT_SCHEMA_REQ_SYNTAX: u32 = 8416; +pub const ERROR_DS_GCVERIFY_ERROR: u32 = 8417; +pub const ERROR_DS_DRA_SCHEMA_MISMATCH: u32 = 8418; +pub const ERROR_DS_CANT_FIND_DSA_OBJ: u32 = 8419; +pub const ERROR_DS_CANT_FIND_EXPECTED_NC: u32 = 8420; +pub const ERROR_DS_CANT_FIND_NC_IN_CACHE: u32 = 8421; +pub const ERROR_DS_CANT_RETRIEVE_CHILD: u32 = 8422; +pub const ERROR_DS_SECURITY_ILLEGAL_MODIFY: u32 = 8423; +pub const ERROR_DS_CANT_REPLACE_HIDDEN_REC: u32 = 8424; +pub const ERROR_DS_BAD_HIERARCHY_FILE: u32 = 8425; +pub const ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED: u32 = 8426; +pub const ERROR_DS_CONFIG_PARAM_MISSING: u32 = 8427; +pub const ERROR_DS_COUNTING_AB_INDICES_FAILED: u32 = 8428; +pub const ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED: u32 = 8429; +pub const ERROR_DS_INTERNAL_FAILURE: u32 = 8430; +pub const ERROR_DS_UNKNOWN_ERROR: u32 = 8431; +pub const ERROR_DS_ROOT_REQUIRES_CLASS_TOP: u32 = 8432; +pub const ERROR_DS_REFUSING_FSMO_ROLES: u32 = 8433; +pub const ERROR_DS_MISSING_FSMO_SETTINGS: u32 = 8434; +pub const ERROR_DS_UNABLE_TO_SURRENDER_ROLES: u32 = 8435; +pub const ERROR_DS_DRA_GENERIC: u32 = 8436; +pub const ERROR_DS_DRA_INVALID_PARAMETER: u32 = 8437; +pub const ERROR_DS_DRA_BUSY: u32 = 8438; +pub const ERROR_DS_DRA_BAD_DN: u32 = 8439; +pub const ERROR_DS_DRA_BAD_NC: u32 = 8440; +pub const ERROR_DS_DRA_DN_EXISTS: u32 = 8441; +pub const ERROR_DS_DRA_INTERNAL_ERROR: u32 = 8442; +pub const ERROR_DS_DRA_INCONSISTENT_DIT: u32 = 8443; +pub const ERROR_DS_DRA_CONNECTION_FAILED: u32 = 8444; +pub const ERROR_DS_DRA_BAD_INSTANCE_TYPE: u32 = 8445; +pub const ERROR_DS_DRA_OUT_OF_MEM: u32 = 8446; +pub const ERROR_DS_DRA_MAIL_PROBLEM: u32 = 8447; +pub const ERROR_DS_DRA_REF_ALREADY_EXISTS: u32 = 8448; +pub const ERROR_DS_DRA_REF_NOT_FOUND: u32 = 8449; +pub const ERROR_DS_DRA_OBJ_IS_REP_SOURCE: u32 = 8450; +pub const ERROR_DS_DRA_DB_ERROR: u32 = 8451; +pub const ERROR_DS_DRA_NO_REPLICA: u32 = 8452; +pub const ERROR_DS_DRA_ACCESS_DENIED: u32 = 8453; +pub const ERROR_DS_DRA_NOT_SUPPORTED: u32 = 8454; +pub const ERROR_DS_DRA_RPC_CANCELLED: u32 = 8455; +pub const ERROR_DS_DRA_SOURCE_DISABLED: u32 = 8456; +pub const ERROR_DS_DRA_SINK_DISABLED: u32 = 8457; +pub const ERROR_DS_DRA_NAME_COLLISION: u32 = 8458; +pub const ERROR_DS_DRA_SOURCE_REINSTALLED: u32 = 8459; +pub const ERROR_DS_DRA_MISSING_PARENT: u32 = 8460; +pub const ERROR_DS_DRA_PREEMPTED: u32 = 8461; +pub const ERROR_DS_DRA_ABANDON_SYNC: u32 = 8462; +pub const ERROR_DS_DRA_SHUTDOWN: u32 = 8463; +pub const ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET: u32 = 8464; +pub const ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA: u32 = 8465; +pub const ERROR_DS_DRA_EXTN_CONNECTION_FAILED: u32 = 8466; +pub const ERROR_DS_INSTALL_SCHEMA_MISMATCH: u32 = 8467; +pub const ERROR_DS_DUP_LINK_ID: u32 = 8468; +pub const ERROR_DS_NAME_ERROR_RESOLVING: u32 = 8469; +pub const ERROR_DS_NAME_ERROR_NOT_FOUND: u32 = 8470; +pub const ERROR_DS_NAME_ERROR_NOT_UNIQUE: u32 = 8471; +pub const ERROR_DS_NAME_ERROR_NO_MAPPING: u32 = 8472; +pub const ERROR_DS_NAME_ERROR_DOMAIN_ONLY: u32 = 8473; +pub const ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING: u32 = 8474; +pub const ERROR_DS_CONSTRUCTED_ATT_MOD: u32 = 8475; +pub const ERROR_DS_WRONG_OM_OBJ_CLASS: u32 = 8476; +pub const ERROR_DS_DRA_REPL_PENDING: u32 = 8477; +pub const ERROR_DS_DS_REQUIRED: u32 = 8478; +pub const ERROR_DS_INVALID_LDAP_DISPLAY_NAME: u32 = 8479; +pub const ERROR_DS_NON_BASE_SEARCH: u32 = 8480; +pub const ERROR_DS_CANT_RETRIEVE_ATTS: u32 = 8481; +pub const ERROR_DS_BACKLINK_WITHOUT_LINK: u32 = 8482; +pub const ERROR_DS_EPOCH_MISMATCH: u32 = 8483; +pub const ERROR_DS_SRC_NAME_MISMATCH: u32 = 8484; +pub const ERROR_DS_SRC_AND_DST_NC_IDENTICAL: u32 = 8485; +pub const ERROR_DS_DST_NC_MISMATCH: u32 = 8486; +pub const ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC: u32 = 8487; +pub const ERROR_DS_SRC_GUID_MISMATCH: u32 = 8488; +pub const ERROR_DS_CANT_MOVE_DELETED_OBJECT: u32 = 8489; +pub const ERROR_DS_PDC_OPERATION_IN_PROGRESS: u32 = 8490; +pub const ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD: u32 = 8491; +pub const ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION: u32 = 8492; +pub const ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS: u32 = 8493; +pub const ERROR_DS_NC_MUST_HAVE_NC_PARENT: u32 = 8494; +pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE: u32 = 8495; +pub const ERROR_DS_DST_DOMAIN_NOT_NATIVE: u32 = 8496; +pub const ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER: u32 = 8497; +pub const ERROR_DS_CANT_MOVE_ACCOUNT_GROUP: u32 = 8498; +pub const ERROR_DS_CANT_MOVE_RESOURCE_GROUP: u32 = 8499; +pub const ERROR_DS_INVALID_SEARCH_FLAG: u32 = 8500; +pub const ERROR_DS_NO_TREE_DELETE_ABOVE_NC: u32 = 8501; +pub const ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE: u32 = 8502; +pub const ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE: u32 = 8503; +pub const ERROR_DS_SAM_INIT_FAILURE: u32 = 8504; +pub const ERROR_DS_SENSITIVE_GROUP_VIOLATION: u32 = 8505; +pub const ERROR_DS_CANT_MOD_PRIMARYGROUPID: u32 = 8506; +pub const ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD: u32 = 8507; +pub const ERROR_DS_NONSAFE_SCHEMA_CHANGE: u32 = 8508; +pub const ERROR_DS_SCHEMA_UPDATE_DISALLOWED: u32 = 8509; +pub const ERROR_DS_CANT_CREATE_UNDER_SCHEMA: u32 = 8510; +pub const ERROR_DS_INSTALL_NO_SRC_SCH_VERSION: u32 = 8511; +pub const ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE: u32 = 8512; +pub const ERROR_DS_INVALID_GROUP_TYPE: u32 = 8513; +pub const ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN: u32 = 8514; +pub const ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN: u32 = 8515; +pub const ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER: u32 = 8516; +pub const ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER: u32 = 8517; +pub const ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER: u32 = 8518; +pub const ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER: u32 = 8519; +pub const ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER: u32 = 8520; +pub const ERROR_DS_HAVE_PRIMARY_MEMBERS: u32 = 8521; +pub const ERROR_DS_STRING_SD_CONVERSION_FAILED: u32 = 8522; +pub const ERROR_DS_NAMING_MASTER_GC: u32 = 8523; +pub const ERROR_DS_DNS_LOOKUP_FAILURE: u32 = 8524; +pub const ERROR_DS_COULDNT_UPDATE_SPNS: u32 = 8525; +pub const ERROR_DS_CANT_RETRIEVE_SD: u32 = 8526; +pub const ERROR_DS_KEY_NOT_UNIQUE: u32 = 8527; +pub const ERROR_DS_WRONG_LINKED_ATT_SYNTAX: u32 = 8528; +pub const ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD: u32 = 8529; +pub const ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY: u32 = 8530; +pub const ERROR_DS_CANT_START: u32 = 8531; +pub const ERROR_DS_INIT_FAILURE: u32 = 8532; +pub const ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION: u32 = 8533; +pub const ERROR_DS_SOURCE_DOMAIN_IN_FOREST: u32 = 8534; +pub const ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST: u32 = 8535; +pub const ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED: u32 = 8536; +pub const ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN: u32 = 8537; +pub const ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER: u32 = 8538; +pub const ERROR_DS_SRC_SID_EXISTS_IN_FOREST: u32 = 8539; +pub const ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH: u32 = 8540; +pub const ERROR_SAM_INIT_FAILURE: u32 = 8541; +pub const ERROR_DS_DRA_SCHEMA_INFO_SHIP: u32 = 8542; +pub const ERROR_DS_DRA_SCHEMA_CONFLICT: u32 = 8543; +pub const ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT: u32 = 8544; +pub const ERROR_DS_DRA_OBJ_NC_MISMATCH: u32 = 8545; +pub const ERROR_DS_NC_STILL_HAS_DSAS: u32 = 8546; +pub const ERROR_DS_GC_REQUIRED: u32 = 8547; +pub const ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY: u32 = 8548; +pub const ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS: u32 = 8549; +pub const ERROR_DS_CANT_ADD_TO_GC: u32 = 8550; +pub const ERROR_DS_NO_CHECKPOINT_WITH_PDC: u32 = 8551; +pub const ERROR_DS_SOURCE_AUDITING_NOT_ENABLED: u32 = 8552; +pub const ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC: u32 = 8553; +pub const ERROR_DS_INVALID_NAME_FOR_SPN: u32 = 8554; +pub const ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS: u32 = 8555; +pub const ERROR_DS_UNICODEPWD_NOT_IN_QUOTES: u32 = 8556; +pub const ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: u32 = 8557; +pub const ERROR_DS_MUST_BE_RUN_ON_DST_DC: u32 = 8558; +pub const ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER: u32 = 8559; +pub const ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ: u32 = 8560; +pub const ERROR_DS_INIT_FAILURE_CONSOLE: u32 = 8561; +pub const ERROR_DS_SAM_INIT_FAILURE_CONSOLE: u32 = 8562; +pub const ERROR_DS_FOREST_VERSION_TOO_HIGH: u32 = 8563; +pub const ERROR_DS_DOMAIN_VERSION_TOO_HIGH: u32 = 8564; +pub const ERROR_DS_FOREST_VERSION_TOO_LOW: u32 = 8565; +pub const ERROR_DS_DOMAIN_VERSION_TOO_LOW: u32 = 8566; +pub const ERROR_DS_INCOMPATIBLE_VERSION: u32 = 8567; +pub const ERROR_DS_LOW_DSA_VERSION: u32 = 8568; +pub const ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN: u32 = 8569; +pub const ERROR_DS_NOT_SUPPORTED_SORT_ORDER: u32 = 8570; +pub const ERROR_DS_NAME_NOT_UNIQUE: u32 = 8571; +pub const ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4: u32 = 8572; +pub const ERROR_DS_OUT_OF_VERSION_STORE: u32 = 8573; +pub const ERROR_DS_INCOMPATIBLE_CONTROLS_USED: u32 = 8574; +pub const ERROR_DS_NO_REF_DOMAIN: u32 = 8575; +pub const ERROR_DS_RESERVED_LINK_ID: u32 = 8576; +pub const ERROR_DS_LINK_ID_NOT_AVAILABLE: u32 = 8577; +pub const ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER: u32 = 8578; +pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE: u32 = 8579; +pub const ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC: u32 = 8580; +pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG: u32 = 8581; +pub const ERROR_DS_MODIFYDN_WRONG_GRANDPARENT: u32 = 8582; +pub const ERROR_DS_NAME_ERROR_TRUST_REFERRAL: u32 = 8583; +pub const ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER: u32 = 8584; +pub const ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD: u32 = 8585; +pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2: u32 = 8586; +pub const ERROR_DS_THREAD_LIMIT_EXCEEDED: u32 = 8587; +pub const ERROR_DS_NOT_CLOSEST: u32 = 8588; +pub const ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF: u32 = 8589; +pub const ERROR_DS_SINGLE_USER_MODE_FAILED: u32 = 8590; +pub const ERROR_DS_NTDSCRIPT_SYNTAX_ERROR: u32 = 8591; +pub const ERROR_DS_NTDSCRIPT_PROCESS_ERROR: u32 = 8592; +pub const ERROR_DS_DIFFERENT_REPL_EPOCHS: u32 = 8593; +pub const ERROR_DS_DRS_EXTENSIONS_CHANGED: u32 = 8594; +pub const ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR: u32 = 8595; +pub const ERROR_DS_NO_MSDS_INTID: u32 = 8596; +pub const ERROR_DS_DUP_MSDS_INTID: u32 = 8597; +pub const ERROR_DS_EXISTS_IN_RDNATTID: u32 = 8598; +pub const ERROR_DS_AUTHORIZATION_FAILED: u32 = 8599; +pub const ERROR_DS_INVALID_SCRIPT: u32 = 8600; +pub const ERROR_DS_REMOTE_CROSSREF_OP_FAILED: u32 = 8601; +pub const ERROR_DS_CROSS_REF_BUSY: u32 = 8602; +pub const ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN: u32 = 8603; +pub const ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC: u32 = 8604; +pub const ERROR_DS_DUPLICATE_ID_FOUND: u32 = 8605; +pub const ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT: u32 = 8606; +pub const ERROR_DS_GROUP_CONVERSION_ERROR: u32 = 8607; +pub const ERROR_DS_CANT_MOVE_APP_BASIC_GROUP: u32 = 8608; +pub const ERROR_DS_CANT_MOVE_APP_QUERY_GROUP: u32 = 8609; +pub const ERROR_DS_ROLE_NOT_VERIFIED: u32 = 8610; +pub const ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL: u32 = 8611; +pub const ERROR_DS_DOMAIN_RENAME_IN_PROGRESS: u32 = 8612; +pub const ERROR_DS_EXISTING_AD_CHILD_NC: u32 = 8613; +pub const ERROR_DS_REPL_LIFETIME_EXCEEDED: u32 = 8614; +pub const ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER: u32 = 8615; +pub const ERROR_DS_LDAP_SEND_QUEUE_FULL: u32 = 8616; +pub const ERROR_DS_DRA_OUT_SCHEDULE_WINDOW: u32 = 8617; +pub const ERROR_DS_POLICY_NOT_KNOWN: u32 = 8618; +pub const ERROR_NO_SITE_SETTINGS_OBJECT: u32 = 8619; +pub const ERROR_NO_SECRETS: u32 = 8620; +pub const ERROR_NO_WRITABLE_DC_FOUND: u32 = 8621; +pub const ERROR_DS_NO_SERVER_OBJECT: u32 = 8622; +pub const ERROR_DS_NO_NTDSA_OBJECT: u32 = 8623; +pub const ERROR_DS_NON_ASQ_SEARCH: u32 = 8624; +pub const ERROR_DS_AUDIT_FAILURE: u32 = 8625; +pub const ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE: u32 = 8626; +pub const ERROR_DS_INVALID_SEARCH_FLAG_TUPLE: u32 = 8627; +pub const ERROR_DS_HIERARCHY_TABLE_TOO_DEEP: u32 = 8628; +pub const ERROR_DS_DRA_CORRUPT_UTD_VECTOR: u32 = 8629; +pub const ERROR_DS_DRA_SECRETS_DENIED: u32 = 8630; +pub const ERROR_DS_RESERVED_MAPI_ID: u32 = 8631; +pub const ERROR_DS_MAPI_ID_NOT_AVAILABLE: u32 = 8632; +pub const ERROR_DS_DRA_MISSING_KRBTGT_SECRET: u32 = 8633; +pub const ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST: u32 = 8634; +pub const ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST: u32 = 8635; +pub const ERROR_INVALID_USER_PRINCIPAL_NAME: u32 = 8636; +pub const ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS: u32 = 8637; +pub const ERROR_DS_OID_NOT_FOUND: u32 = 8638; +pub const ERROR_DS_DRA_RECYCLED_TARGET: u32 = 8639; +pub const ERROR_DS_DISALLOWED_NC_REDIRECT: u32 = 8640; +pub const ERROR_DS_HIGH_ADLDS_FFL: u32 = 8641; +pub const ERROR_DS_HIGH_DSA_VERSION: u32 = 8642; +pub const ERROR_DS_LOW_ADLDS_FFL: u32 = 8643; +pub const ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION: u32 = 8644; +pub const ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED: u32 = 8645; +pub const ERROR_INCORRECT_ACCOUNT_TYPE: u32 = 8646; +pub const ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST: u32 = 8647; +pub const ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST: u32 = 8648; +pub const ERROR_DS_MISSING_FOREST_TRUST: u32 = 8649; +pub const ERROR_DS_VALUE_KEY_NOT_UNIQUE: u32 = 8650; +pub const DNS_ERROR_RESPONSE_CODES_BASE: u32 = 9000; +pub const DNS_ERROR_RCODE_NO_ERROR: u32 = 0; +pub const DNS_ERROR_MASK: u32 = 9000; +pub const DNS_ERROR_RCODE_FORMAT_ERROR: u32 = 9001; +pub const DNS_ERROR_RCODE_SERVER_FAILURE: u32 = 9002; +pub const DNS_ERROR_RCODE_NAME_ERROR: u32 = 9003; +pub const DNS_ERROR_RCODE_NOT_IMPLEMENTED: u32 = 9004; +pub const DNS_ERROR_RCODE_REFUSED: u32 = 9005; +pub const DNS_ERROR_RCODE_YXDOMAIN: u32 = 9006; +pub const DNS_ERROR_RCODE_YXRRSET: u32 = 9007; +pub const DNS_ERROR_RCODE_NXRRSET: u32 = 9008; +pub const DNS_ERROR_RCODE_NOTAUTH: u32 = 9009; +pub const DNS_ERROR_RCODE_NOTZONE: u32 = 9010; +pub const DNS_ERROR_RCODE_BADSIG: u32 = 9016; +pub const DNS_ERROR_RCODE_BADKEY: u32 = 9017; +pub const DNS_ERROR_RCODE_BADTIME: u32 = 9018; +pub const DNS_ERROR_RCODE_LAST: u32 = 9018; +pub const DNS_ERROR_DNSSEC_BASE: u32 = 9100; +pub const DNS_ERROR_KEYMASTER_REQUIRED: u32 = 9101; +pub const DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE: u32 = 9102; +pub const DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1: u32 = 9103; +pub const DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS: u32 = 9104; +pub const DNS_ERROR_UNSUPPORTED_ALGORITHM: u32 = 9105; +pub const DNS_ERROR_INVALID_KEY_SIZE: u32 = 9106; +pub const DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE: u32 = 9107; +pub const DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION: u32 = 9108; +pub const DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR: u32 = 9109; +pub const DNS_ERROR_UNEXPECTED_CNG_ERROR: u32 = 9110; +pub const DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION: u32 = 9111; +pub const DNS_ERROR_KSP_NOT_ACCESSIBLE: u32 = 9112; +pub const DNS_ERROR_TOO_MANY_SKDS: u32 = 9113; +pub const DNS_ERROR_INVALID_ROLLOVER_PERIOD: u32 = 9114; +pub const DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET: u32 = 9115; +pub const DNS_ERROR_ROLLOVER_IN_PROGRESS: u32 = 9116; +pub const DNS_ERROR_STANDBY_KEY_NOT_PRESENT: u32 = 9117; +pub const DNS_ERROR_NOT_ALLOWED_ON_ZSK: u32 = 9118; +pub const DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD: u32 = 9119; +pub const DNS_ERROR_ROLLOVER_ALREADY_QUEUED: u32 = 9120; +pub const DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE: u32 = 9121; +pub const DNS_ERROR_BAD_KEYMASTER: u32 = 9122; +pub const DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD: u32 = 9123; +pub const DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT: u32 = 9124; +pub const DNS_ERROR_DNSSEC_IS_DISABLED: u32 = 9125; +pub const DNS_ERROR_INVALID_XML: u32 = 9126; +pub const DNS_ERROR_NO_VALID_TRUST_ANCHORS: u32 = 9127; +pub const DNS_ERROR_ROLLOVER_NOT_POKEABLE: u32 = 9128; +pub const DNS_ERROR_NSEC3_NAME_COLLISION: u32 = 9129; +pub const DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1: u32 = 9130; +pub const DNS_ERROR_PACKET_FMT_BASE: u32 = 9500; +pub const DNS_INFO_NO_RECORDS: u32 = 9501; +pub const DNS_ERROR_BAD_PACKET: u32 = 9502; +pub const DNS_ERROR_NO_PACKET: u32 = 9503; +pub const DNS_ERROR_RCODE: u32 = 9504; +pub const DNS_ERROR_UNSECURE_PACKET: u32 = 9505; +pub const DNS_STATUS_PACKET_UNSECURE: u32 = 9505; +pub const DNS_REQUEST_PENDING: u32 = 9506; +pub const DNS_ERROR_NO_MEMORY: u32 = 14; +pub const DNS_ERROR_INVALID_NAME: u32 = 123; +pub const DNS_ERROR_INVALID_DATA: u32 = 13; +pub const DNS_ERROR_GENERAL_API_BASE: u32 = 9550; +pub const DNS_ERROR_INVALID_TYPE: u32 = 9551; +pub const DNS_ERROR_INVALID_IP_ADDRESS: u32 = 9552; +pub const DNS_ERROR_INVALID_PROPERTY: u32 = 9553; +pub const DNS_ERROR_TRY_AGAIN_LATER: u32 = 9554; +pub const DNS_ERROR_NOT_UNIQUE: u32 = 9555; +pub const DNS_ERROR_NON_RFC_NAME: u32 = 9556; +pub const DNS_STATUS_FQDN: u32 = 9557; +pub const DNS_STATUS_DOTTED_NAME: u32 = 9558; +pub const DNS_STATUS_SINGLE_PART_NAME: u32 = 9559; +pub const DNS_ERROR_INVALID_NAME_CHAR: u32 = 9560; +pub const DNS_ERROR_NUMERIC_NAME: u32 = 9561; +pub const DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER: u32 = 9562; +pub const DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION: u32 = 9563; +pub const DNS_ERROR_CANNOT_FIND_ROOT_HINTS: u32 = 9564; +pub const DNS_ERROR_INCONSISTENT_ROOT_HINTS: u32 = 9565; +pub const DNS_ERROR_DWORD_VALUE_TOO_SMALL: u32 = 9566; +pub const DNS_ERROR_DWORD_VALUE_TOO_LARGE: u32 = 9567; +pub const DNS_ERROR_BACKGROUND_LOADING: u32 = 9568; +pub const DNS_ERROR_NOT_ALLOWED_ON_RODC: u32 = 9569; +pub const DNS_ERROR_NOT_ALLOWED_UNDER_DNAME: u32 = 9570; +pub const DNS_ERROR_DELEGATION_REQUIRED: u32 = 9571; +pub const DNS_ERROR_INVALID_POLICY_TABLE: u32 = 9572; +pub const DNS_ERROR_ADDRESS_REQUIRED: u32 = 9573; +pub const DNS_ERROR_ZONE_BASE: u32 = 9600; +pub const DNS_ERROR_ZONE_DOES_NOT_EXIST: u32 = 9601; +pub const DNS_ERROR_NO_ZONE_INFO: u32 = 9602; +pub const DNS_ERROR_INVALID_ZONE_OPERATION: u32 = 9603; +pub const DNS_ERROR_ZONE_CONFIGURATION_ERROR: u32 = 9604; +pub const DNS_ERROR_ZONE_HAS_NO_SOA_RECORD: u32 = 9605; +pub const DNS_ERROR_ZONE_HAS_NO_NS_RECORDS: u32 = 9606; +pub const DNS_ERROR_ZONE_LOCKED: u32 = 9607; +pub const DNS_ERROR_ZONE_CREATION_FAILED: u32 = 9608; +pub const DNS_ERROR_ZONE_ALREADY_EXISTS: u32 = 9609; +pub const DNS_ERROR_AUTOZONE_ALREADY_EXISTS: u32 = 9610; +pub const DNS_ERROR_INVALID_ZONE_TYPE: u32 = 9611; +pub const DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP: u32 = 9612; +pub const DNS_ERROR_ZONE_NOT_SECONDARY: u32 = 9613; +pub const DNS_ERROR_NEED_SECONDARY_ADDRESSES: u32 = 9614; +pub const DNS_ERROR_WINS_INIT_FAILED: u32 = 9615; +pub const DNS_ERROR_NEED_WINS_SERVERS: u32 = 9616; +pub const DNS_ERROR_NBSTAT_INIT_FAILED: u32 = 9617; +pub const DNS_ERROR_SOA_DELETE_INVALID: u32 = 9618; +pub const DNS_ERROR_FORWARDER_ALREADY_EXISTS: u32 = 9619; +pub const DNS_ERROR_ZONE_REQUIRES_MASTER_IP: u32 = 9620; +pub const DNS_ERROR_ZONE_IS_SHUTDOWN: u32 = 9621; +pub const DNS_ERROR_ZONE_LOCKED_FOR_SIGNING: u32 = 9622; +pub const DNS_ERROR_DATAFILE_BASE: u32 = 9650; +pub const DNS_ERROR_PRIMARY_REQUIRES_DATAFILE: u32 = 9651; +pub const DNS_ERROR_INVALID_DATAFILE_NAME: u32 = 9652; +pub const DNS_ERROR_DATAFILE_OPEN_FAILURE: u32 = 9653; +pub const DNS_ERROR_FILE_WRITEBACK_FAILED: u32 = 9654; +pub const DNS_ERROR_DATAFILE_PARSING: u32 = 9655; +pub const DNS_ERROR_DATABASE_BASE: u32 = 9700; +pub const DNS_ERROR_RECORD_DOES_NOT_EXIST: u32 = 9701; +pub const DNS_ERROR_RECORD_FORMAT: u32 = 9702; +pub const DNS_ERROR_NODE_CREATION_FAILED: u32 = 9703; +pub const DNS_ERROR_UNKNOWN_RECORD_TYPE: u32 = 9704; +pub const DNS_ERROR_RECORD_TIMED_OUT: u32 = 9705; +pub const DNS_ERROR_NAME_NOT_IN_ZONE: u32 = 9706; +pub const DNS_ERROR_CNAME_LOOP: u32 = 9707; +pub const DNS_ERROR_NODE_IS_CNAME: u32 = 9708; +pub const DNS_ERROR_CNAME_COLLISION: u32 = 9709; +pub const DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT: u32 = 9710; +pub const DNS_ERROR_RECORD_ALREADY_EXISTS: u32 = 9711; +pub const DNS_ERROR_SECONDARY_DATA: u32 = 9712; +pub const DNS_ERROR_NO_CREATE_CACHE_DATA: u32 = 9713; +pub const DNS_ERROR_NAME_DOES_NOT_EXIST: u32 = 9714; +pub const DNS_WARNING_PTR_CREATE_FAILED: u32 = 9715; +pub const DNS_WARNING_DOMAIN_UNDELETED: u32 = 9716; +pub const DNS_ERROR_DS_UNAVAILABLE: u32 = 9717; +pub const DNS_ERROR_DS_ZONE_ALREADY_EXISTS: u32 = 9718; +pub const DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE: u32 = 9719; +pub const DNS_ERROR_NODE_IS_DNAME: u32 = 9720; +pub const DNS_ERROR_DNAME_COLLISION: u32 = 9721; +pub const DNS_ERROR_ALIAS_LOOP: u32 = 9722; +pub const DNS_ERROR_OPERATION_BASE: u32 = 9750; +pub const DNS_INFO_AXFR_COMPLETE: u32 = 9751; +pub const DNS_ERROR_AXFR: u32 = 9752; +pub const DNS_INFO_ADDED_LOCAL_WINS: u32 = 9753; +pub const DNS_ERROR_SECURE_BASE: u32 = 9800; +pub const DNS_STATUS_CONTINUE_NEEDED: u32 = 9801; +pub const DNS_ERROR_SETUP_BASE: u32 = 9850; +pub const DNS_ERROR_NO_TCPIP: u32 = 9851; +pub const DNS_ERROR_NO_DNS_SERVERS: u32 = 9852; +pub const DNS_ERROR_DP_BASE: u32 = 9900; +pub const DNS_ERROR_DP_DOES_NOT_EXIST: u32 = 9901; +pub const DNS_ERROR_DP_ALREADY_EXISTS: u32 = 9902; +pub const DNS_ERROR_DP_NOT_ENLISTED: u32 = 9903; +pub const DNS_ERROR_DP_ALREADY_ENLISTED: u32 = 9904; +pub const DNS_ERROR_DP_NOT_AVAILABLE: u32 = 9905; +pub const DNS_ERROR_DP_FSMO_ERROR: u32 = 9906; +pub const DNS_ERROR_RRL_NOT_ENABLED: u32 = 9911; +pub const DNS_ERROR_RRL_INVALID_WINDOW_SIZE: u32 = 9912; +pub const DNS_ERROR_RRL_INVALID_IPV4_PREFIX: u32 = 9913; +pub const DNS_ERROR_RRL_INVALID_IPV6_PREFIX: u32 = 9914; +pub const DNS_ERROR_RRL_INVALID_TC_RATE: u32 = 9915; +pub const DNS_ERROR_RRL_INVALID_LEAK_RATE: u32 = 9916; +pub const DNS_ERROR_RRL_LEAK_RATE_LESSTHAN_TC_RATE: u32 = 9917; +pub const DNS_ERROR_VIRTUALIZATION_INSTANCE_ALREADY_EXISTS: u32 = 9921; +pub const DNS_ERROR_VIRTUALIZATION_INSTANCE_DOES_NOT_EXIST: u32 = 9922; +pub const DNS_ERROR_VIRTUALIZATION_TREE_LOCKED: u32 = 9923; +pub const DNS_ERROR_INVAILD_VIRTUALIZATION_INSTANCE_NAME: u32 = 9924; +pub const DNS_ERROR_DEFAULT_VIRTUALIZATION_INSTANCE: u32 = 9925; +pub const DNS_ERROR_ZONESCOPE_ALREADY_EXISTS: u32 = 9951; +pub const DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST: u32 = 9952; +pub const DNS_ERROR_DEFAULT_ZONESCOPE: u32 = 9953; +pub const DNS_ERROR_INVALID_ZONESCOPE_NAME: u32 = 9954; +pub const DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES: u32 = 9955; +pub const DNS_ERROR_LOAD_ZONESCOPE_FAILED: u32 = 9956; +pub const DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED: u32 = 9957; +pub const DNS_ERROR_INVALID_SCOPE_NAME: u32 = 9958; +pub const DNS_ERROR_SCOPE_DOES_NOT_EXIST: u32 = 9959; +pub const DNS_ERROR_DEFAULT_SCOPE: u32 = 9960; +pub const DNS_ERROR_INVALID_SCOPE_OPERATION: u32 = 9961; +pub const DNS_ERROR_SCOPE_LOCKED: u32 = 9962; +pub const DNS_ERROR_SCOPE_ALREADY_EXISTS: u32 = 9963; +pub const DNS_ERROR_POLICY_ALREADY_EXISTS: u32 = 9971; +pub const DNS_ERROR_POLICY_DOES_NOT_EXIST: u32 = 9972; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA: u32 = 9973; +pub const DNS_ERROR_POLICY_INVALID_SETTINGS: u32 = 9974; +pub const DNS_ERROR_CLIENT_SUBNET_IS_ACCESSED: u32 = 9975; +pub const DNS_ERROR_CLIENT_SUBNET_DOES_NOT_EXIST: u32 = 9976; +pub const DNS_ERROR_CLIENT_SUBNET_ALREADY_EXISTS: u32 = 9977; +pub const DNS_ERROR_SUBNET_DOES_NOT_EXIST: u32 = 9978; +pub const DNS_ERROR_SUBNET_ALREADY_EXISTS: u32 = 9979; +pub const DNS_ERROR_POLICY_LOCKED: u32 = 9980; +pub const DNS_ERROR_POLICY_INVALID_WEIGHT: u32 = 9981; +pub const DNS_ERROR_POLICY_INVALID_NAME: u32 = 9982; +pub const DNS_ERROR_POLICY_MISSING_CRITERIA: u32 = 9983; +pub const DNS_ERROR_INVALID_CLIENT_SUBNET_NAME: u32 = 9984; +pub const DNS_ERROR_POLICY_PROCESSING_ORDER_INVALID: u32 = 9985; +pub const DNS_ERROR_POLICY_SCOPE_MISSING: u32 = 9986; +pub const DNS_ERROR_POLICY_SCOPE_NOT_ALLOWED: u32 = 9987; +pub const DNS_ERROR_SERVERSCOPE_IS_REFERENCED: u32 = 9988; +pub const DNS_ERROR_ZONESCOPE_IS_REFERENCED: u32 = 9989; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_CLIENT_SUBNET: u32 = 9990; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_TRANSPORT_PROTOCOL: u32 = 9991; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_NETWORK_PROTOCOL: u32 = 9992; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_INTERFACE: u32 = 9993; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_FQDN: u32 = 9994; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_QUERY_TYPE: u32 = 9995; +pub const DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY: u32 = 9996; +pub const WSABASEERR: u32 = 10000; +pub const WSAEINTR: u32 = 10004; +pub const WSAEBADF: u32 = 10009; +pub const WSAEACCES: u32 = 10013; +pub const WSAEFAULT: u32 = 10014; +pub const WSAEINVAL: u32 = 10022; +pub const WSAEMFILE: u32 = 10024; +pub const WSAEWOULDBLOCK: u32 = 10035; +pub const WSAEINPROGRESS: u32 = 10036; +pub const WSAEALREADY: u32 = 10037; +pub const WSAENOTSOCK: u32 = 10038; +pub const WSAEDESTADDRREQ: u32 = 10039; +pub const WSAEMSGSIZE: u32 = 10040; +pub const WSAEPROTOTYPE: u32 = 10041; +pub const WSAENOPROTOOPT: u32 = 10042; +pub const WSAEPROTONOSUPPORT: u32 = 10043; +pub const WSAESOCKTNOSUPPORT: u32 = 10044; +pub const WSAEOPNOTSUPP: u32 = 10045; +pub const WSAEPFNOSUPPORT: u32 = 10046; +pub const WSAEAFNOSUPPORT: u32 = 10047; +pub const WSAEADDRINUSE: u32 = 10048; +pub const WSAEADDRNOTAVAIL: u32 = 10049; +pub const WSAENETDOWN: u32 = 10050; +pub const WSAENETUNREACH: u32 = 10051; +pub const WSAENETRESET: u32 = 10052; +pub const WSAECONNABORTED: u32 = 10053; +pub const WSAECONNRESET: u32 = 10054; +pub const WSAENOBUFS: u32 = 10055; +pub const WSAEISCONN: u32 = 10056; +pub const WSAENOTCONN: u32 = 10057; +pub const WSAESHUTDOWN: u32 = 10058; +pub const WSAETOOMANYREFS: u32 = 10059; +pub const WSAETIMEDOUT: u32 = 10060; +pub const WSAECONNREFUSED: u32 = 10061; +pub const WSAELOOP: u32 = 10062; +pub const WSAENAMETOOLONG: u32 = 10063; +pub const WSAEHOSTDOWN: u32 = 10064; +pub const WSAEHOSTUNREACH: u32 = 10065; +pub const WSAENOTEMPTY: u32 = 10066; +pub const WSAEPROCLIM: u32 = 10067; +pub const WSAEUSERS: u32 = 10068; +pub const WSAEDQUOT: u32 = 10069; +pub const WSAESTALE: u32 = 10070; +pub const WSAEREMOTE: u32 = 10071; +pub const WSASYSNOTREADY: u32 = 10091; +pub const WSAVERNOTSUPPORTED: u32 = 10092; +pub const WSANOTINITIALISED: u32 = 10093; +pub const WSAEDISCON: u32 = 10101; +pub const WSAENOMORE: u32 = 10102; +pub const WSAECANCELLED: u32 = 10103; +pub const WSAEINVALIDPROCTABLE: u32 = 10104; +pub const WSAEINVALIDPROVIDER: u32 = 10105; +pub const WSAEPROVIDERFAILEDINIT: u32 = 10106; +pub const WSASYSCALLFAILURE: u32 = 10107; +pub const WSASERVICE_NOT_FOUND: u32 = 10108; +pub const WSATYPE_NOT_FOUND: u32 = 10109; +pub const WSA_E_NO_MORE: u32 = 10110; +pub const WSA_E_CANCELLED: u32 = 10111; +pub const WSAEREFUSED: u32 = 10112; +pub const WSAHOST_NOT_FOUND: u32 = 11001; +pub const WSATRY_AGAIN: u32 = 11002; +pub const WSANO_RECOVERY: u32 = 11003; +pub const WSANO_DATA: u32 = 11004; +pub const WSA_QOS_RECEIVERS: u32 = 11005; +pub const WSA_QOS_SENDERS: u32 = 11006; +pub const WSA_QOS_NO_SENDERS: u32 = 11007; +pub const WSA_QOS_NO_RECEIVERS: u32 = 11008; +pub const WSA_QOS_REQUEST_CONFIRMED: u32 = 11009; +pub const WSA_QOS_ADMISSION_FAILURE: u32 = 11010; +pub const WSA_QOS_POLICY_FAILURE: u32 = 11011; +pub const WSA_QOS_BAD_STYLE: u32 = 11012; +pub const WSA_QOS_BAD_OBJECT: u32 = 11013; +pub const WSA_QOS_TRAFFIC_CTRL_ERROR: u32 = 11014; +pub const WSA_QOS_GENERIC_ERROR: u32 = 11015; +pub const WSA_QOS_ESERVICETYPE: u32 = 11016; +pub const WSA_QOS_EFLOWSPEC: u32 = 11017; +pub const WSA_QOS_EPROVSPECBUF: u32 = 11018; +pub const WSA_QOS_EFILTERSTYLE: u32 = 11019; +pub const WSA_QOS_EFILTERTYPE: u32 = 11020; +pub const WSA_QOS_EFILTERCOUNT: u32 = 11021; +pub const WSA_QOS_EOBJLENGTH: u32 = 11022; +pub const WSA_QOS_EFLOWCOUNT: u32 = 11023; +pub const WSA_QOS_EUNKOWNPSOBJ: u32 = 11024; +pub const WSA_QOS_EPOLICYOBJ: u32 = 11025; +pub const WSA_QOS_EFLOWDESC: u32 = 11026; +pub const WSA_QOS_EPSFLOWSPEC: u32 = 11027; +pub const WSA_QOS_EPSFILTERSPEC: u32 = 11028; +pub const WSA_QOS_ESDMODEOBJ: u32 = 11029; +pub const WSA_QOS_ESHAPERATEOBJ: u32 = 11030; +pub const WSA_QOS_RESERVED_PETYPE: u32 = 11031; +pub const WSA_SECURE_HOST_NOT_FOUND: u32 = 11032; +pub const WSA_IPSEC_NAME_POLICY_ERROR: u32 = 11033; +pub const ERROR_IPSEC_QM_POLICY_EXISTS: u32 = 13000; +pub const ERROR_IPSEC_QM_POLICY_NOT_FOUND: u32 = 13001; +pub const ERROR_IPSEC_QM_POLICY_IN_USE: u32 = 13002; +pub const ERROR_IPSEC_MM_POLICY_EXISTS: u32 = 13003; +pub const ERROR_IPSEC_MM_POLICY_NOT_FOUND: u32 = 13004; +pub const ERROR_IPSEC_MM_POLICY_IN_USE: u32 = 13005; +pub const ERROR_IPSEC_MM_FILTER_EXISTS: u32 = 13006; +pub const ERROR_IPSEC_MM_FILTER_NOT_FOUND: u32 = 13007; +pub const ERROR_IPSEC_TRANSPORT_FILTER_EXISTS: u32 = 13008; +pub const ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND: u32 = 13009; +pub const ERROR_IPSEC_MM_AUTH_EXISTS: u32 = 13010; +pub const ERROR_IPSEC_MM_AUTH_NOT_FOUND: u32 = 13011; +pub const ERROR_IPSEC_MM_AUTH_IN_USE: u32 = 13012; +pub const ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND: u32 = 13013; +pub const ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND: u32 = 13014; +pub const ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND: u32 = 13015; +pub const ERROR_IPSEC_TUNNEL_FILTER_EXISTS: u32 = 13016; +pub const ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND: u32 = 13017; +pub const ERROR_IPSEC_MM_FILTER_PENDING_DELETION: u32 = 13018; +pub const ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION: u32 = 13019; +pub const ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION: u32 = 13020; +pub const ERROR_IPSEC_MM_POLICY_PENDING_DELETION: u32 = 13021; +pub const ERROR_IPSEC_MM_AUTH_PENDING_DELETION: u32 = 13022; +pub const ERROR_IPSEC_QM_POLICY_PENDING_DELETION: u32 = 13023; +pub const WARNING_IPSEC_MM_POLICY_PRUNED: u32 = 13024; +pub const WARNING_IPSEC_QM_POLICY_PRUNED: u32 = 13025; +pub const ERROR_IPSEC_IKE_NEG_STATUS_BEGIN: u32 = 13800; +pub const ERROR_IPSEC_IKE_AUTH_FAIL: u32 = 13801; +pub const ERROR_IPSEC_IKE_ATTRIB_FAIL: u32 = 13802; +pub const ERROR_IPSEC_IKE_NEGOTIATION_PENDING: u32 = 13803; +pub const ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR: u32 = 13804; +pub const ERROR_IPSEC_IKE_TIMED_OUT: u32 = 13805; +pub const ERROR_IPSEC_IKE_NO_CERT: u32 = 13806; +pub const ERROR_IPSEC_IKE_SA_DELETED: u32 = 13807; +pub const ERROR_IPSEC_IKE_SA_REAPED: u32 = 13808; +pub const ERROR_IPSEC_IKE_MM_ACQUIRE_DROP: u32 = 13809; +pub const ERROR_IPSEC_IKE_QM_ACQUIRE_DROP: u32 = 13810; +pub const ERROR_IPSEC_IKE_QUEUE_DROP_MM: u32 = 13811; +pub const ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM: u32 = 13812; +pub const ERROR_IPSEC_IKE_DROP_NO_RESPONSE: u32 = 13813; +pub const ERROR_IPSEC_IKE_MM_DELAY_DROP: u32 = 13814; +pub const ERROR_IPSEC_IKE_QM_DELAY_DROP: u32 = 13815; +pub const ERROR_IPSEC_IKE_ERROR: u32 = 13816; +pub const ERROR_IPSEC_IKE_CRL_FAILED: u32 = 13817; +pub const ERROR_IPSEC_IKE_INVALID_KEY_USAGE: u32 = 13818; +pub const ERROR_IPSEC_IKE_INVALID_CERT_TYPE: u32 = 13819; +pub const ERROR_IPSEC_IKE_NO_PRIVATE_KEY: u32 = 13820; +pub const ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY: u32 = 13821; +pub const ERROR_IPSEC_IKE_DH_FAIL: u32 = 13822; +pub const ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED: u32 = 13823; +pub const ERROR_IPSEC_IKE_INVALID_HEADER: u32 = 13824; +pub const ERROR_IPSEC_IKE_NO_POLICY: u32 = 13825; +pub const ERROR_IPSEC_IKE_INVALID_SIGNATURE: u32 = 13826; +pub const ERROR_IPSEC_IKE_KERBEROS_ERROR: u32 = 13827; +pub const ERROR_IPSEC_IKE_NO_PUBLIC_KEY: u32 = 13828; +pub const ERROR_IPSEC_IKE_PROCESS_ERR: u32 = 13829; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_SA: u32 = 13830; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_PROP: u32 = 13831; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_TRANS: u32 = 13832; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_KE: u32 = 13833; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_ID: u32 = 13834; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT: u32 = 13835; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ: u32 = 13836; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_HASH: u32 = 13837; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_SIG: u32 = 13838; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_NONCE: u32 = 13839; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY: u32 = 13840; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_DELETE: u32 = 13841; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR: u32 = 13842; +pub const ERROR_IPSEC_IKE_INVALID_PAYLOAD: u32 = 13843; +pub const ERROR_IPSEC_IKE_LOAD_SOFT_SA: u32 = 13844; +pub const ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN: u32 = 13845; +pub const ERROR_IPSEC_IKE_INVALID_COOKIE: u32 = 13846; +pub const ERROR_IPSEC_IKE_NO_PEER_CERT: u32 = 13847; +pub const ERROR_IPSEC_IKE_PEER_CRL_FAILED: u32 = 13848; +pub const ERROR_IPSEC_IKE_POLICY_CHANGE: u32 = 13849; +pub const ERROR_IPSEC_IKE_NO_MM_POLICY: u32 = 13850; +pub const ERROR_IPSEC_IKE_NOTCBPRIV: u32 = 13851; +pub const ERROR_IPSEC_IKE_SECLOADFAIL: u32 = 13852; +pub const ERROR_IPSEC_IKE_FAILSSPINIT: u32 = 13853; +pub const ERROR_IPSEC_IKE_FAILQUERYSSP: u32 = 13854; +pub const ERROR_IPSEC_IKE_SRVACQFAIL: u32 = 13855; +pub const ERROR_IPSEC_IKE_SRVQUERYCRED: u32 = 13856; +pub const ERROR_IPSEC_IKE_GETSPIFAIL: u32 = 13857; +pub const ERROR_IPSEC_IKE_INVALID_FILTER: u32 = 13858; +pub const ERROR_IPSEC_IKE_OUT_OF_MEMORY: u32 = 13859; +pub const ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED: u32 = 13860; +pub const ERROR_IPSEC_IKE_INVALID_POLICY: u32 = 13861; +pub const ERROR_IPSEC_IKE_UNKNOWN_DOI: u32 = 13862; +pub const ERROR_IPSEC_IKE_INVALID_SITUATION: u32 = 13863; +pub const ERROR_IPSEC_IKE_DH_FAILURE: u32 = 13864; +pub const ERROR_IPSEC_IKE_INVALID_GROUP: u32 = 13865; +pub const ERROR_IPSEC_IKE_ENCRYPT: u32 = 13866; +pub const ERROR_IPSEC_IKE_DECRYPT: u32 = 13867; +pub const ERROR_IPSEC_IKE_POLICY_MATCH: u32 = 13868; +pub const ERROR_IPSEC_IKE_UNSUPPORTED_ID: u32 = 13869; +pub const ERROR_IPSEC_IKE_INVALID_HASH: u32 = 13870; +pub const ERROR_IPSEC_IKE_INVALID_HASH_ALG: u32 = 13871; +pub const ERROR_IPSEC_IKE_INVALID_HASH_SIZE: u32 = 13872; +pub const ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG: u32 = 13873; +pub const ERROR_IPSEC_IKE_INVALID_AUTH_ALG: u32 = 13874; +pub const ERROR_IPSEC_IKE_INVALID_SIG: u32 = 13875; +pub const ERROR_IPSEC_IKE_LOAD_FAILED: u32 = 13876; +pub const ERROR_IPSEC_IKE_RPC_DELETE: u32 = 13877; +pub const ERROR_IPSEC_IKE_BENIGN_REINIT: u32 = 13878; +pub const ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY: u32 = 13879; +pub const ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION: u32 = 13880; +pub const ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN: u32 = 13881; +pub const ERROR_IPSEC_IKE_MM_LIMIT: u32 = 13882; +pub const ERROR_IPSEC_IKE_NEGOTIATION_DISABLED: u32 = 13883; +pub const ERROR_IPSEC_IKE_QM_LIMIT: u32 = 13884; +pub const ERROR_IPSEC_IKE_MM_EXPIRED: u32 = 13885; +pub const ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID: u32 = 13886; +pub const ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH: u32 = 13887; +pub const ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID: u32 = 13888; +pub const ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD: u32 = 13889; +pub const ERROR_IPSEC_IKE_DOS_COOKIE_SENT: u32 = 13890; +pub const ERROR_IPSEC_IKE_SHUTTING_DOWN: u32 = 13891; +pub const ERROR_IPSEC_IKE_CGA_AUTH_FAILED: u32 = 13892; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_NATOA: u32 = 13893; +pub const ERROR_IPSEC_IKE_INVALID_MM_FOR_QM: u32 = 13894; +pub const ERROR_IPSEC_IKE_QM_EXPIRED: u32 = 13895; +pub const ERROR_IPSEC_IKE_TOO_MANY_FILTERS: u32 = 13896; +pub const ERROR_IPSEC_IKE_NEG_STATUS_END: u32 = 13897; +pub const ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL: u32 = 13898; +pub const ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE: u32 = 13899; +pub const ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING: u32 = 13900; +pub const ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING: u32 = 13901; +pub const ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS: u32 = 13902; +pub const ERROR_IPSEC_IKE_RATELIMIT_DROP: u32 = 13903; +pub const ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE: u32 = 13904; +pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE: u32 = 13905; +pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE: u32 = 13906; +pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY: u32 = 13907; +pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE: u32 = 13908; +pub const ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END: u32 = 13909; +pub const ERROR_IPSEC_BAD_SPI: u32 = 13910; +pub const ERROR_IPSEC_SA_LIFETIME_EXPIRED: u32 = 13911; +pub const ERROR_IPSEC_WRONG_SA: u32 = 13912; +pub const ERROR_IPSEC_REPLAY_CHECK_FAILED: u32 = 13913; +pub const ERROR_IPSEC_INVALID_PACKET: u32 = 13914; +pub const ERROR_IPSEC_INTEGRITY_CHECK_FAILED: u32 = 13915; +pub const ERROR_IPSEC_CLEAR_TEXT_DROP: u32 = 13916; +pub const ERROR_IPSEC_AUTH_FIREWALL_DROP: u32 = 13917; +pub const ERROR_IPSEC_THROTTLE_DROP: u32 = 13918; +pub const ERROR_IPSEC_DOSP_BLOCK: u32 = 13925; +pub const ERROR_IPSEC_DOSP_RECEIVED_MULTICAST: u32 = 13926; +pub const ERROR_IPSEC_DOSP_INVALID_PACKET: u32 = 13927; +pub const ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED: u32 = 13928; +pub const ERROR_IPSEC_DOSP_MAX_ENTRIES: u32 = 13929; +pub const ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED: u32 = 13930; +pub const ERROR_IPSEC_DOSP_NOT_INSTALLED: u32 = 13931; +pub const ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES: u32 = 13932; +pub const ERROR_SXS_SECTION_NOT_FOUND: u32 = 14000; +pub const ERROR_SXS_CANT_GEN_ACTCTX: u32 = 14001; +pub const ERROR_SXS_INVALID_ACTCTXDATA_FORMAT: u32 = 14002; +pub const ERROR_SXS_ASSEMBLY_NOT_FOUND: u32 = 14003; +pub const ERROR_SXS_MANIFEST_FORMAT_ERROR: u32 = 14004; +pub const ERROR_SXS_MANIFEST_PARSE_ERROR: u32 = 14005; +pub const ERROR_SXS_ACTIVATION_CONTEXT_DISABLED: u32 = 14006; +pub const ERROR_SXS_KEY_NOT_FOUND: u32 = 14007; +pub const ERROR_SXS_VERSION_CONFLICT: u32 = 14008; +pub const ERROR_SXS_WRONG_SECTION_TYPE: u32 = 14009; +pub const ERROR_SXS_THREAD_QUERIES_DISABLED: u32 = 14010; +pub const ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET: u32 = 14011; +pub const ERROR_SXS_UNKNOWN_ENCODING_GROUP: u32 = 14012; +pub const ERROR_SXS_UNKNOWN_ENCODING: u32 = 14013; +pub const ERROR_SXS_INVALID_XML_NAMESPACE_URI: u32 = 14014; +pub const ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED: u32 = 14015; +pub const ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED: u32 = 14016; +pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE: u32 = 14017; +pub const ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE: u32 = 14018; +pub const ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE: u32 = 14019; +pub const ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT: u32 = 14020; +pub const ERROR_SXS_DUPLICATE_DLL_NAME: u32 = 14021; +pub const ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME: u32 = 14022; +pub const ERROR_SXS_DUPLICATE_CLSID: u32 = 14023; +pub const ERROR_SXS_DUPLICATE_IID: u32 = 14024; +pub const ERROR_SXS_DUPLICATE_TLBID: u32 = 14025; +pub const ERROR_SXS_DUPLICATE_PROGID: u32 = 14026; +pub const ERROR_SXS_DUPLICATE_ASSEMBLY_NAME: u32 = 14027; +pub const ERROR_SXS_FILE_HASH_MISMATCH: u32 = 14028; +pub const ERROR_SXS_POLICY_PARSE_ERROR: u32 = 14029; +pub const ERROR_SXS_XML_E_MISSINGQUOTE: u32 = 14030; +pub const ERROR_SXS_XML_E_COMMENTSYNTAX: u32 = 14031; +pub const ERROR_SXS_XML_E_BADSTARTNAMECHAR: u32 = 14032; +pub const ERROR_SXS_XML_E_BADNAMECHAR: u32 = 14033; +pub const ERROR_SXS_XML_E_BADCHARINSTRING: u32 = 14034; +pub const ERROR_SXS_XML_E_XMLDECLSYNTAX: u32 = 14035; +pub const ERROR_SXS_XML_E_BADCHARDATA: u32 = 14036; +pub const ERROR_SXS_XML_E_MISSINGWHITESPACE: u32 = 14037; +pub const ERROR_SXS_XML_E_EXPECTINGTAGEND: u32 = 14038; +pub const ERROR_SXS_XML_E_MISSINGSEMICOLON: u32 = 14039; +pub const ERROR_SXS_XML_E_UNBALANCEDPAREN: u32 = 14040; +pub const ERROR_SXS_XML_E_INTERNALERROR: u32 = 14041; +pub const ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE: u32 = 14042; +pub const ERROR_SXS_XML_E_INCOMPLETE_ENCODING: u32 = 14043; +pub const ERROR_SXS_XML_E_MISSING_PAREN: u32 = 14044; +pub const ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE: u32 = 14045; +pub const ERROR_SXS_XML_E_MULTIPLE_COLONS: u32 = 14046; +pub const ERROR_SXS_XML_E_INVALID_DECIMAL: u32 = 14047; +pub const ERROR_SXS_XML_E_INVALID_HEXIDECIMAL: u32 = 14048; +pub const ERROR_SXS_XML_E_INVALID_UNICODE: u32 = 14049; +pub const ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK: u32 = 14050; +pub const ERROR_SXS_XML_E_UNEXPECTEDENDTAG: u32 = 14051; +pub const ERROR_SXS_XML_E_UNCLOSEDTAG: u32 = 14052; +pub const ERROR_SXS_XML_E_DUPLICATEATTRIBUTE: u32 = 14053; +pub const ERROR_SXS_XML_E_MULTIPLEROOTS: u32 = 14054; +pub const ERROR_SXS_XML_E_INVALIDATROOTLEVEL: u32 = 14055; +pub const ERROR_SXS_XML_E_BADXMLDECL: u32 = 14056; +pub const ERROR_SXS_XML_E_MISSINGROOT: u32 = 14057; +pub const ERROR_SXS_XML_E_UNEXPECTEDEOF: u32 = 14058; +pub const ERROR_SXS_XML_E_BADPEREFINSUBSET: u32 = 14059; +pub const ERROR_SXS_XML_E_UNCLOSEDSTARTTAG: u32 = 14060; +pub const ERROR_SXS_XML_E_UNCLOSEDENDTAG: u32 = 14061; +pub const ERROR_SXS_XML_E_UNCLOSEDSTRING: u32 = 14062; +pub const ERROR_SXS_XML_E_UNCLOSEDCOMMENT: u32 = 14063; +pub const ERROR_SXS_XML_E_UNCLOSEDDECL: u32 = 14064; +pub const ERROR_SXS_XML_E_UNCLOSEDCDATA: u32 = 14065; +pub const ERROR_SXS_XML_E_RESERVEDNAMESPACE: u32 = 14066; +pub const ERROR_SXS_XML_E_INVALIDENCODING: u32 = 14067; +pub const ERROR_SXS_XML_E_INVALIDSWITCH: u32 = 14068; +pub const ERROR_SXS_XML_E_BADXMLCASE: u32 = 14069; +pub const ERROR_SXS_XML_E_INVALID_STANDALONE: u32 = 14070; +pub const ERROR_SXS_XML_E_UNEXPECTED_STANDALONE: u32 = 14071; +pub const ERROR_SXS_XML_E_INVALID_VERSION: u32 = 14072; +pub const ERROR_SXS_XML_E_MISSINGEQUALS: u32 = 14073; +pub const ERROR_SXS_PROTECTION_RECOVERY_FAILED: u32 = 14074; +pub const ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT: u32 = 14075; +pub const ERROR_SXS_PROTECTION_CATALOG_NOT_VALID: u32 = 14076; +pub const ERROR_SXS_UNTRANSLATABLE_HRESULT: u32 = 14077; +pub const ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING: u32 = 14078; +pub const ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE: u32 = 14079; +pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME: u32 = 14080; +pub const ERROR_SXS_ASSEMBLY_MISSING: u32 = 14081; +pub const ERROR_SXS_CORRUPT_ACTIVATION_STACK: u32 = 14082; +pub const ERROR_SXS_CORRUPTION: u32 = 14083; +pub const ERROR_SXS_EARLY_DEACTIVATION: u32 = 14084; +pub const ERROR_SXS_INVALID_DEACTIVATION: u32 = 14085; +pub const ERROR_SXS_MULTIPLE_DEACTIVATION: u32 = 14086; +pub const ERROR_SXS_PROCESS_TERMINATION_REQUESTED: u32 = 14087; +pub const ERROR_SXS_RELEASE_ACTIVATION_CONTEXT: u32 = 14088; +pub const ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY: u32 = 14089; +pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE: u32 = 14090; +pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: u32 = 14091; +pub const ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE: u32 = 14092; +pub const ERROR_SXS_IDENTITY_PARSE_ERROR: u32 = 14093; +pub const ERROR_MALFORMED_SUBSTITUTION_STRING: u32 = 14094; +pub const ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN: u32 = 14095; +pub const ERROR_UNMAPPED_SUBSTITUTION_STRING: u32 = 14096; +pub const ERROR_SXS_ASSEMBLY_NOT_LOCKED: u32 = 14097; +pub const ERROR_SXS_COMPONENT_STORE_CORRUPT: u32 = 14098; +pub const ERROR_ADVANCED_INSTALLER_FAILED: u32 = 14099; +pub const ERROR_XML_ENCODING_MISMATCH: u32 = 14100; +pub const ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT: u32 = 14101; +pub const ERROR_SXS_IDENTITIES_DIFFERENT: u32 = 14102; +pub const ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT: u32 = 14103; +pub const ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY: u32 = 14104; +pub const ERROR_SXS_MANIFEST_TOO_BIG: u32 = 14105; +pub const ERROR_SXS_SETTING_NOT_REGISTERED: u32 = 14106; +pub const ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE: u32 = 14107; +pub const ERROR_SMI_PRIMITIVE_INSTALLER_FAILED: u32 = 14108; +pub const ERROR_GENERIC_COMMAND_FAILED: u32 = 14109; +pub const ERROR_SXS_FILE_HASH_MISSING: u32 = 14110; +pub const ERROR_SXS_DUPLICATE_ACTIVATABLE_CLASS: u32 = 14111; +pub const ERROR_EVT_INVALID_CHANNEL_PATH: u32 = 15000; +pub const ERROR_EVT_INVALID_QUERY: u32 = 15001; +pub const ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND: u32 = 15002; +pub const ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND: u32 = 15003; +pub const ERROR_EVT_INVALID_PUBLISHER_NAME: u32 = 15004; +pub const ERROR_EVT_INVALID_EVENT_DATA: u32 = 15005; +pub const ERROR_EVT_CHANNEL_NOT_FOUND: u32 = 15007; +pub const ERROR_EVT_MALFORMED_XML_TEXT: u32 = 15008; +pub const ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL: u32 = 15009; +pub const ERROR_EVT_CONFIGURATION_ERROR: u32 = 15010; +pub const ERROR_EVT_QUERY_RESULT_STALE: u32 = 15011; +pub const ERROR_EVT_QUERY_RESULT_INVALID_POSITION: u32 = 15012; +pub const ERROR_EVT_NON_VALIDATING_MSXML: u32 = 15013; +pub const ERROR_EVT_FILTER_ALREADYSCOPED: u32 = 15014; +pub const ERROR_EVT_FILTER_NOTELTSET: u32 = 15015; +pub const ERROR_EVT_FILTER_INVARG: u32 = 15016; +pub const ERROR_EVT_FILTER_INVTEST: u32 = 15017; +pub const ERROR_EVT_FILTER_INVTYPE: u32 = 15018; +pub const ERROR_EVT_FILTER_PARSEERR: u32 = 15019; +pub const ERROR_EVT_FILTER_UNSUPPORTEDOP: u32 = 15020; +pub const ERROR_EVT_FILTER_UNEXPECTEDTOKEN: u32 = 15021; +pub const ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL: u32 = 15022; +pub const ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE: u32 = 15023; +pub const ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE: u32 = 15024; +pub const ERROR_EVT_CHANNEL_CANNOT_ACTIVATE: u32 = 15025; +pub const ERROR_EVT_FILTER_TOO_COMPLEX: u32 = 15026; +pub const ERROR_EVT_MESSAGE_NOT_FOUND: u32 = 15027; +pub const ERROR_EVT_MESSAGE_ID_NOT_FOUND: u32 = 15028; +pub const ERROR_EVT_UNRESOLVED_VALUE_INSERT: u32 = 15029; +pub const ERROR_EVT_UNRESOLVED_PARAMETER_INSERT: u32 = 15030; +pub const ERROR_EVT_MAX_INSERTS_REACHED: u32 = 15031; +pub const ERROR_EVT_EVENT_DEFINITION_NOT_FOUND: u32 = 15032; +pub const ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND: u32 = 15033; +pub const ERROR_EVT_VERSION_TOO_OLD: u32 = 15034; +pub const ERROR_EVT_VERSION_TOO_NEW: u32 = 15035; +pub const ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY: u32 = 15036; +pub const ERROR_EVT_PUBLISHER_DISABLED: u32 = 15037; +pub const ERROR_EVT_FILTER_OUT_OF_RANGE: u32 = 15038; +pub const ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE: u32 = 15080; +pub const ERROR_EC_LOG_DISABLED: u32 = 15081; +pub const ERROR_EC_CIRCULAR_FORWARDING: u32 = 15082; +pub const ERROR_EC_CREDSTORE_FULL: u32 = 15083; +pub const ERROR_EC_CRED_NOT_FOUND: u32 = 15084; +pub const ERROR_EC_NO_ACTIVE_CHANNEL: u32 = 15085; +pub const ERROR_MUI_FILE_NOT_FOUND: u32 = 15100; +pub const ERROR_MUI_INVALID_FILE: u32 = 15101; +pub const ERROR_MUI_INVALID_RC_CONFIG: u32 = 15102; +pub const ERROR_MUI_INVALID_LOCALE_NAME: u32 = 15103; +pub const ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME: u32 = 15104; +pub const ERROR_MUI_FILE_NOT_LOADED: u32 = 15105; +pub const ERROR_RESOURCE_ENUM_USER_STOP: u32 = 15106; +pub const ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED: u32 = 15107; +pub const ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME: u32 = 15108; +pub const ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE: u32 = 15110; +pub const ERROR_MRM_INVALID_PRICONFIG: u32 = 15111; +pub const ERROR_MRM_INVALID_FILE_TYPE: u32 = 15112; +pub const ERROR_MRM_UNKNOWN_QUALIFIER: u32 = 15113; +pub const ERROR_MRM_INVALID_QUALIFIER_VALUE: u32 = 15114; +pub const ERROR_MRM_NO_CANDIDATE: u32 = 15115; +pub const ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE: u32 = 15116; +pub const ERROR_MRM_RESOURCE_TYPE_MISMATCH: u32 = 15117; +pub const ERROR_MRM_DUPLICATE_MAP_NAME: u32 = 15118; +pub const ERROR_MRM_DUPLICATE_ENTRY: u32 = 15119; +pub const ERROR_MRM_INVALID_RESOURCE_IDENTIFIER: u32 = 15120; +pub const ERROR_MRM_FILEPATH_TOO_LONG: u32 = 15121; +pub const ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE: u32 = 15122; +pub const ERROR_MRM_INVALID_PRI_FILE: u32 = 15126; +pub const ERROR_MRM_NAMED_RESOURCE_NOT_FOUND: u32 = 15127; +pub const ERROR_MRM_MAP_NOT_FOUND: u32 = 15135; +pub const ERROR_MRM_UNSUPPORTED_PROFILE_TYPE: u32 = 15136; +pub const ERROR_MRM_INVALID_QUALIFIER_OPERATOR: u32 = 15137; +pub const ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE: u32 = 15138; +pub const ERROR_MRM_AUTOMERGE_ENABLED: u32 = 15139; +pub const ERROR_MRM_TOO_MANY_RESOURCES: u32 = 15140; +pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE: u32 = 15141; +pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE: u32 = 15142; +pub const ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD: u32 = 15143; +pub const ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST: u32 = 15144; +pub const ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT: u32 = 15145; +pub const ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE: u32 = 15146; +pub const ERROR_MRM_GENERATION_COUNT_MISMATCH: u32 = 15147; +pub const ERROR_PRI_MERGE_VERSION_MISMATCH: u32 = 15148; +pub const ERROR_PRI_MERGE_MISSING_SCHEMA: u32 = 15149; +pub const ERROR_PRI_MERGE_LOAD_FILE_FAILED: u32 = 15150; +pub const ERROR_PRI_MERGE_ADD_FILE_FAILED: u32 = 15151; +pub const ERROR_PRI_MERGE_WRITE_FILE_FAILED: u32 = 15152; +pub const ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED: u32 = 15153; +pub const ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED: u32 = 15154; +pub const ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED: u32 = 15155; +pub const ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED: u32 = 15156; +pub const ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED: u32 = 15157; +pub const ERROR_PRI_MERGE_INVALID_FILE_NAME: u32 = 15158; +pub const ERROR_MRM_PACKAGE_NOT_FOUND: u32 = 15159; +pub const ERROR_MRM_MISSING_DEFAULT_LANGUAGE: u32 = 15160; +pub const ERROR_MCA_INVALID_CAPABILITIES_STRING: u32 = 15200; +pub const ERROR_MCA_INVALID_VCP_VERSION: u32 = 15201; +pub const ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION: u32 = 15202; +pub const ERROR_MCA_MCCS_VERSION_MISMATCH: u32 = 15203; +pub const ERROR_MCA_UNSUPPORTED_MCCS_VERSION: u32 = 15204; +pub const ERROR_MCA_INTERNAL_ERROR: u32 = 15205; +pub const ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED: u32 = 15206; +pub const ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE: u32 = 15207; +pub const ERROR_AMBIGUOUS_SYSTEM_DEVICE: u32 = 15250; +pub const ERROR_SYSTEM_DEVICE_NOT_FOUND: u32 = 15299; +pub const ERROR_HASH_NOT_SUPPORTED: u32 = 15300; +pub const ERROR_HASH_NOT_PRESENT: u32 = 15301; +pub const ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED: u32 = 15321; +pub const ERROR_GPIO_CLIENT_INFORMATION_INVALID: u32 = 15322; +pub const ERROR_GPIO_VERSION_NOT_SUPPORTED: u32 = 15323; +pub const ERROR_GPIO_INVALID_REGISTRATION_PACKET: u32 = 15324; +pub const ERROR_GPIO_OPERATION_DENIED: u32 = 15325; +pub const ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE: u32 = 15326; +pub const ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED: u32 = 15327; +pub const ERROR_CANNOT_SWITCH_RUNLEVEL: u32 = 15400; +pub const ERROR_INVALID_RUNLEVEL_SETTING: u32 = 15401; +pub const ERROR_RUNLEVEL_SWITCH_TIMEOUT: u32 = 15402; +pub const ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT: u32 = 15403; +pub const ERROR_RUNLEVEL_SWITCH_IN_PROGRESS: u32 = 15404; +pub const ERROR_SERVICES_FAILED_AUTOSTART: u32 = 15405; +pub const ERROR_COM_TASK_STOP_PENDING: u32 = 15501; +pub const ERROR_INSTALL_OPEN_PACKAGE_FAILED: u32 = 15600; +pub const ERROR_INSTALL_PACKAGE_NOT_FOUND: u32 = 15601; +pub const ERROR_INSTALL_INVALID_PACKAGE: u32 = 15602; +pub const ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED: u32 = 15603; +pub const ERROR_INSTALL_OUT_OF_DISK_SPACE: u32 = 15604; +pub const ERROR_INSTALL_NETWORK_FAILURE: u32 = 15605; +pub const ERROR_INSTALL_REGISTRATION_FAILURE: u32 = 15606; +pub const ERROR_INSTALL_DEREGISTRATION_FAILURE: u32 = 15607; +pub const ERROR_INSTALL_CANCEL: u32 = 15608; +pub const ERROR_INSTALL_FAILED: u32 = 15609; +pub const ERROR_REMOVE_FAILED: u32 = 15610; +pub const ERROR_PACKAGE_ALREADY_EXISTS: u32 = 15611; +pub const ERROR_NEEDS_REMEDIATION: u32 = 15612; +pub const ERROR_INSTALL_PREREQUISITE_FAILED: u32 = 15613; +pub const ERROR_PACKAGE_REPOSITORY_CORRUPTED: u32 = 15614; +pub const ERROR_INSTALL_POLICY_FAILURE: u32 = 15615; +pub const ERROR_PACKAGE_UPDATING: u32 = 15616; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_POLICY: u32 = 15617; +pub const ERROR_PACKAGES_IN_USE: u32 = 15618; +pub const ERROR_RECOVERY_FILE_CORRUPT: u32 = 15619; +pub const ERROR_INVALID_STAGED_SIGNATURE: u32 = 15620; +pub const ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED: u32 = 15621; +pub const ERROR_INSTALL_PACKAGE_DOWNGRADE: u32 = 15622; +pub const ERROR_SYSTEM_NEEDS_REMEDIATION: u32 = 15623; +pub const ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN: u32 = 15624; +pub const ERROR_RESILIENCY_FILE_CORRUPT: u32 = 15625; +pub const ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING: u32 = 15626; +pub const ERROR_PACKAGE_MOVE_FAILED: u32 = 15627; +pub const ERROR_INSTALL_VOLUME_NOT_EMPTY: u32 = 15628; +pub const ERROR_INSTALL_VOLUME_OFFLINE: u32 = 15629; +pub const ERROR_INSTALL_VOLUME_CORRUPT: u32 = 15630; +pub const ERROR_NEEDS_REGISTRATION: u32 = 15631; +pub const ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE: u32 = 15632; +pub const ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED: u32 = 15633; +pub const ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE: u32 = 15634; +pub const ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM: u32 = 15635; +pub const ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING: u32 = 15636; +pub const ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE: u32 = 15637; +pub const ERROR_PACKAGE_STAGING_ONHOLD: u32 = 15638; +pub const ERROR_INSTALL_INVALID_RELATED_SET_UPDATE: u32 = 15639; +pub const ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY: u32 = 15640; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF: u32 = 15641; +pub const ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED: u32 = 15642; +pub const ERROR_PACKAGES_REPUTATION_CHECK_FAILED: u32 = 15643; +pub const ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT: u32 = 15644; +pub const ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED: u32 = 15645; +pub const ERROR_APPINSTALLER_ACTIVATION_BLOCKED: u32 = 15646; +pub const ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED: u32 = 15647; +pub const ERROR_APPX_RAW_DATA_WRITE_FAILED: u32 = 15648; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE: u32 = 15649; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE: u32 = 15650; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY: u32 = 15651; +pub const ERROR_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY: u32 = 15652; +pub const ERROR_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER: u32 = 15653; +pub const ERROR_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED: u32 = 15654; +pub const ERROR_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE: u32 = 15655; +pub const ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES: u32 = 15656; +pub const ERROR_REDIRECTION_TO_DEFAULT_ACCOUNT_NOT_ALLOWED: u32 = 15657; +pub const ERROR_PACKAGE_LACKS_CAPABILITY_TO_DEPLOY_ON_HOST: u32 = 15658; +pub const ERROR_UNSIGNED_PACKAGE_INVALID_CONTENT: u32 = 15659; +pub const ERROR_UNSIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE: u32 = 15660; +pub const ERROR_SIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE: u32 = 15661; +pub const ERROR_PACKAGE_EXTERNAL_LOCATION_NOT_ALLOWED: u32 = 15662; +pub const ERROR_INSTALL_FULLTRUST_HOSTRUNTIME_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY: u32 = + 15663; +pub const APPMODEL_ERROR_NO_PACKAGE: u32 = 15700; +pub const APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT: u32 = 15701; +pub const APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT: u32 = 15702; +pub const APPMODEL_ERROR_NO_APPLICATION: u32 = 15703; +pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED: u32 = 15704; +pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID: u32 = 15705; +pub const APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE: u32 = 15706; +pub const APPMODEL_ERROR_NO_MUTABLE_DIRECTORY: u32 = 15707; +pub const ERROR_STATE_LOAD_STORE_FAILED: u32 = 15800; +pub const ERROR_STATE_GET_VERSION_FAILED: u32 = 15801; +pub const ERROR_STATE_SET_VERSION_FAILED: u32 = 15802; +pub const ERROR_STATE_STRUCTURED_RESET_FAILED: u32 = 15803; +pub const ERROR_STATE_OPEN_CONTAINER_FAILED: u32 = 15804; +pub const ERROR_STATE_CREATE_CONTAINER_FAILED: u32 = 15805; +pub const ERROR_STATE_DELETE_CONTAINER_FAILED: u32 = 15806; +pub const ERROR_STATE_READ_SETTING_FAILED: u32 = 15807; +pub const ERROR_STATE_WRITE_SETTING_FAILED: u32 = 15808; +pub const ERROR_STATE_DELETE_SETTING_FAILED: u32 = 15809; +pub const ERROR_STATE_QUERY_SETTING_FAILED: u32 = 15810; +pub const ERROR_STATE_READ_COMPOSITE_SETTING_FAILED: u32 = 15811; +pub const ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED: u32 = 15812; +pub const ERROR_STATE_ENUMERATE_CONTAINER_FAILED: u32 = 15813; +pub const ERROR_STATE_ENUMERATE_SETTINGS_FAILED: u32 = 15814; +pub const ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: u32 = 15815; +pub const ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: u32 = 15816; +pub const ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED: u32 = 15817; +pub const ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED: u32 = 15818; +pub const ERROR_API_UNAVAILABLE: u32 = 15841; +pub const STORE_ERROR_UNLICENSED: u32 = 15861; +pub const STORE_ERROR_UNLICENSED_USER: u32 = 15862; +pub const STORE_ERROR_PENDING_COM_TRANSACTION: u32 = 15863; +pub const STORE_ERROR_LICENSE_REVOKED: u32 = 15864; +pub const SEVERITY_SUCCESS: u32 = 0; +pub const SEVERITY_ERROR: u32 = 1; +pub const FACILITY_NT_BIT: u32 = 268435456; +pub const NOERROR: u32 = 0; +pub const DRAGDROP_E_FIRST: u32 = 2147746048; +pub const DRAGDROP_E_LAST: u32 = 2147746063; +pub const DRAGDROP_S_FIRST: u32 = 262400; +pub const DRAGDROP_S_LAST: u32 = 262415; +pub const CLASSFACTORY_E_FIRST: u32 = 2147746064; +pub const CLASSFACTORY_E_LAST: u32 = 2147746079; +pub const CLASSFACTORY_S_FIRST: u32 = 262416; +pub const CLASSFACTORY_S_LAST: u32 = 262431; +pub const MARSHAL_E_FIRST: u32 = 2147746080; +pub const MARSHAL_E_LAST: u32 = 2147746095; +pub const MARSHAL_S_FIRST: u32 = 262432; +pub const MARSHAL_S_LAST: u32 = 262447; +pub const DATA_E_FIRST: u32 = 2147746096; +pub const DATA_E_LAST: u32 = 2147746111; +pub const DATA_S_FIRST: u32 = 262448; +pub const DATA_S_LAST: u32 = 262463; +pub const VIEW_E_FIRST: u32 = 2147746112; +pub const VIEW_E_LAST: u32 = 2147746127; +pub const VIEW_S_FIRST: u32 = 262464; +pub const VIEW_S_LAST: u32 = 262479; +pub const REGDB_E_FIRST: u32 = 2147746128; +pub const REGDB_E_LAST: u32 = 2147746143; +pub const REGDB_S_FIRST: u32 = 262480; +pub const REGDB_S_LAST: u32 = 262495; +pub const CAT_E_FIRST: u32 = 2147746144; +pub const CAT_E_LAST: u32 = 2147746145; +pub const CS_E_FIRST: u32 = 2147746148; +pub const CS_E_LAST: u32 = 2147746159; +pub const CACHE_E_FIRST: u32 = 2147746160; +pub const CACHE_E_LAST: u32 = 2147746175; +pub const CACHE_S_FIRST: u32 = 262512; +pub const CACHE_S_LAST: u32 = 262527; +pub const OLEOBJ_E_FIRST: u32 = 2147746176; +pub const OLEOBJ_E_LAST: u32 = 2147746191; +pub const OLEOBJ_S_FIRST: u32 = 262528; +pub const OLEOBJ_S_LAST: u32 = 262543; +pub const CLIENTSITE_E_FIRST: u32 = 2147746192; +pub const CLIENTSITE_E_LAST: u32 = 2147746207; +pub const CLIENTSITE_S_FIRST: u32 = 262544; +pub const CLIENTSITE_S_LAST: u32 = 262559; +pub const INPLACE_E_FIRST: u32 = 2147746208; +pub const INPLACE_E_LAST: u32 = 2147746223; +pub const INPLACE_S_FIRST: u32 = 262560; +pub const INPLACE_S_LAST: u32 = 262575; +pub const ENUM_E_FIRST: u32 = 2147746224; +pub const ENUM_E_LAST: u32 = 2147746239; +pub const ENUM_S_FIRST: u32 = 262576; +pub const ENUM_S_LAST: u32 = 262591; +pub const CONVERT10_E_FIRST: u32 = 2147746240; +pub const CONVERT10_E_LAST: u32 = 2147746255; +pub const CONVERT10_S_FIRST: u32 = 262592; +pub const CONVERT10_S_LAST: u32 = 262607; +pub const CLIPBRD_E_FIRST: u32 = 2147746256; +pub const CLIPBRD_E_LAST: u32 = 2147746271; +pub const CLIPBRD_S_FIRST: u32 = 262608; +pub const CLIPBRD_S_LAST: u32 = 262623; +pub const MK_E_FIRST: u32 = 2147746272; +pub const MK_E_LAST: u32 = 2147746287; +pub const MK_S_FIRST: u32 = 262624; +pub const MK_S_LAST: u32 = 262639; +pub const CO_E_FIRST: u32 = 2147746288; +pub const CO_E_LAST: u32 = 2147746303; +pub const CO_S_FIRST: u32 = 262640; +pub const CO_S_LAST: u32 = 262655; +pub const EVENT_E_FIRST: u32 = 2147746304; +pub const EVENT_E_LAST: u32 = 2147746335; +pub const EVENT_S_FIRST: u32 = 262656; +pub const EVENT_S_LAST: u32 = 262687; +pub const XACT_E_FIRST: u32 = 2147799040; +pub const XACT_E_LAST: u32 = 2147799083; +pub const XACT_S_FIRST: u32 = 315392; +pub const XACT_S_LAST: u32 = 315408; +pub const CONTEXT_E_FIRST: u32 = 2147803136; +pub const CONTEXT_E_LAST: u32 = 2147803183; +pub const CONTEXT_S_FIRST: u32 = 319488; +pub const CONTEXT_S_LAST: u32 = 319535; +pub const NTE_OP_OK: u32 = 0; +pub const SCARD_S_SUCCESS: u32 = 0; +pub const TC_NORMAL: u32 = 0; +pub const TC_HARDERR: u32 = 1; +pub const TC_GP_TRAP: u32 = 2; +pub const TC_SIGNAL: u32 = 3; +pub const AC_LINE_OFFLINE: u32 = 0; +pub const AC_LINE_ONLINE: u32 = 1; +pub const AC_LINE_BACKUP_POWER: u32 = 2; +pub const AC_LINE_UNKNOWN: u32 = 255; +pub const BATTERY_FLAG_HIGH: u32 = 1; +pub const BATTERY_FLAG_LOW: u32 = 2; +pub const BATTERY_FLAG_CRITICAL: u32 = 4; +pub const BATTERY_FLAG_CHARGING: u32 = 8; +pub const BATTERY_FLAG_NO_BATTERY: u32 = 128; +pub const BATTERY_FLAG_UNKNOWN: u32 = 255; +pub const BATTERY_PERCENTAGE_UNKNOWN: u32 = 255; +pub const SYSTEM_STATUS_FLAG_POWER_SAVING_ON: u32 = 1; +pub const BATTERY_LIFE_UNKNOWN: u32 = 4294967295; +pub const ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID: u32 = 1; +pub const ACTCTX_FLAG_LANGID_VALID: u32 = 2; +pub const ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID: u32 = 4; +pub const ACTCTX_FLAG_RESOURCE_NAME_VALID: u32 = 8; +pub const ACTCTX_FLAG_SET_PROCESS_DEFAULT: u32 = 16; +pub const ACTCTX_FLAG_APPLICATION_NAME_VALID: u32 = 32; +pub const ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF: u32 = 64; +pub const ACTCTX_FLAG_HMODULE_VALID: u32 = 128; +pub const DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION: u32 = 1; +pub const FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX: u32 = 1; +pub const FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS: u32 = 2; +pub const FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA: u32 = 4; +pub const ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED: u32 = 1; +pub const QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX: u32 = 4; +pub const QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE: u32 = 8; +pub const QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS: u32 = 16; +pub const QUERY_ACTCTX_FLAG_NO_ADDREF: u32 = 2147483648; +pub const RESTART_MAX_CMD_LINE: u32 = 1024; +pub const RESTART_NO_CRASH: u32 = 1; +pub const RESTART_NO_HANG: u32 = 2; +pub const RESTART_NO_PATCH: u32 = 4; +pub const RESTART_NO_REBOOT: u32 = 8; +pub const RECOVERY_DEFAULT_PING_INTERVAL: u32 = 5000; +pub const RECOVERY_MAX_PING_INTERVAL: u32 = 300000; +pub const FILE_RENAME_FLAG_REPLACE_IF_EXISTS: u32 = 1; +pub const FILE_RENAME_FLAG_POSIX_SEMANTICS: u32 = 2; +pub const FILE_RENAME_FLAG_SUPPRESS_PIN_STATE_INHERITANCE: u32 = 4; +pub const FILE_DISPOSITION_FLAG_DO_NOT_DELETE: u32 = 0; +pub const FILE_DISPOSITION_FLAG_DELETE: u32 = 1; +pub const FILE_DISPOSITION_FLAG_POSIX_SEMANTICS: u32 = 2; +pub const FILE_DISPOSITION_FLAG_FORCE_IMAGE_SECTION_CHECK: u32 = 4; +pub const FILE_DISPOSITION_FLAG_ON_CLOSE: u32 = 8; +pub const FILE_DISPOSITION_FLAG_IGNORE_READONLY_ATTRIBUTE: u32 = 16; +pub const STORAGE_INFO_FLAGS_ALIGNED_DEVICE: u32 = 1; +pub const STORAGE_INFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE: u32 = 2; +pub const STORAGE_INFO_OFFSET_UNKNOWN: u32 = 4294967295; +pub const REMOTE_PROTOCOL_INFO_FLAG_LOOPBACK: u32 = 1; +pub const REMOTE_PROTOCOL_INFO_FLAG_OFFLINE: u32 = 2; +pub const REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE: u32 = 4; +pub const RPI_FLAG_SMB2_SHARECAP_TIMEWARP: u32 = 2; +pub const RPI_FLAG_SMB2_SHARECAP_DFS: u32 = 8; +pub const RPI_FLAG_SMB2_SHARECAP_CONTINUOUS_AVAILABILITY: u32 = 16; +pub const RPI_FLAG_SMB2_SHARECAP_SCALEOUT: u32 = 32; +pub const RPI_FLAG_SMB2_SHARECAP_CLUSTER: u32 = 64; +pub const RPI_SMB2_FLAG_SERVERCAP_DFS: u32 = 1; +pub const RPI_SMB2_FLAG_SERVERCAP_LEASING: u32 = 2; +pub const RPI_SMB2_FLAG_SERVERCAP_LARGEMTU: u32 = 4; +pub const RPI_SMB2_FLAG_SERVERCAP_MULTICHANNEL: u32 = 8; +pub const RPI_SMB2_FLAG_SERVERCAP_PERSISTENT_HANDLES: u32 = 16; +pub const RPI_SMB2_FLAG_SERVERCAP_DIRECTORY_LEASING: u32 = 32; +pub const SYMBOLIC_LINK_FLAG_DIRECTORY: u32 = 1; +pub const SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE: u32 = 2; +pub const MICROSOFT_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS: u32 = 0; +pub const R2_BLACK: u32 = 1; +pub const R2_NOTMERGEPEN: u32 = 2; +pub const R2_MASKNOTPEN: u32 = 3; +pub const R2_NOTCOPYPEN: u32 = 4; +pub const R2_MASKPENNOT: u32 = 5; +pub const R2_NOT: u32 = 6; +pub const R2_XORPEN: u32 = 7; +pub const R2_NOTMASKPEN: u32 = 8; +pub const R2_MASKPEN: u32 = 9; +pub const R2_NOTXORPEN: u32 = 10; +pub const R2_NOP: u32 = 11; +pub const R2_MERGENOTPEN: u32 = 12; +pub const R2_COPYPEN: u32 = 13; +pub const R2_MERGEPENNOT: u32 = 14; +pub const R2_MERGEPEN: u32 = 15; +pub const R2_WHITE: u32 = 16; +pub const R2_LAST: u32 = 16; +pub const GDI_ERROR: u32 = 4294967295; +pub const ERROR: u32 = 0; +pub const NULLREGION: u32 = 1; +pub const SIMPLEREGION: u32 = 2; +pub const COMPLEXREGION: u32 = 3; +pub const RGN_ERROR: u32 = 0; +pub const RGN_AND: u32 = 1; +pub const RGN_OR: u32 = 2; +pub const RGN_XOR: u32 = 3; +pub const RGN_DIFF: u32 = 4; +pub const RGN_COPY: u32 = 5; +pub const RGN_MIN: u32 = 1; +pub const RGN_MAX: u32 = 5; +pub const BLACKONWHITE: u32 = 1; +pub const WHITEONBLACK: u32 = 2; +pub const COLORONCOLOR: u32 = 3; +pub const HALFTONE: u32 = 4; +pub const MAXSTRETCHBLTMODE: u32 = 4; +pub const STRETCH_ANDSCANS: u32 = 1; +pub const STRETCH_ORSCANS: u32 = 2; +pub const STRETCH_DELETESCANS: u32 = 3; +pub const STRETCH_HALFTONE: u32 = 4; +pub const ALTERNATE: u32 = 1; +pub const WINDING: u32 = 2; +pub const POLYFILL_LAST: u32 = 2; +pub const LAYOUT_RTL: u32 = 1; +pub const LAYOUT_BTT: u32 = 2; +pub const LAYOUT_VBH: u32 = 4; +pub const LAYOUT_ORIENTATIONMASK: u32 = 7; +pub const LAYOUT_BITMAPORIENTATIONPRESERVED: u32 = 8; +pub const TA_NOUPDATECP: u32 = 0; +pub const TA_UPDATECP: u32 = 1; +pub const TA_LEFT: u32 = 0; +pub const TA_RIGHT: u32 = 2; +pub const TA_CENTER: u32 = 6; +pub const TA_TOP: u32 = 0; +pub const TA_BOTTOM: u32 = 8; +pub const TA_BASELINE: u32 = 24; +pub const TA_RTLREADING: u32 = 256; +pub const TA_MASK: u32 = 287; +pub const VTA_BASELINE: u32 = 24; +pub const VTA_LEFT: u32 = 8; +pub const VTA_RIGHT: u32 = 0; +pub const VTA_CENTER: u32 = 6; +pub const VTA_BOTTOM: u32 = 2; +pub const VTA_TOP: u32 = 0; +pub const ETO_OPAQUE: u32 = 2; +pub const ETO_CLIPPED: u32 = 4; +pub const ETO_GLYPH_INDEX: u32 = 16; +pub const ETO_RTLREADING: u32 = 128; +pub const ETO_NUMERICSLOCAL: u32 = 1024; +pub const ETO_NUMERICSLATIN: u32 = 2048; +pub const ETO_IGNORELANGUAGE: u32 = 4096; +pub const ETO_PDY: u32 = 8192; +pub const ETO_REVERSE_INDEX_MAP: u32 = 65536; +pub const ASPECT_FILTERING: u32 = 1; +pub const DCB_RESET: u32 = 1; +pub const DCB_ACCUMULATE: u32 = 2; +pub const DCB_DIRTY: u32 = 2; +pub const DCB_SET: u32 = 3; +pub const DCB_ENABLE: u32 = 4; +pub const DCB_DISABLE: u32 = 8; +pub const META_SETBKCOLOR: u32 = 513; +pub const META_SETBKMODE: u32 = 258; +pub const META_SETMAPMODE: u32 = 259; +pub const META_SETROP2: u32 = 260; +pub const META_SETRELABS: u32 = 261; +pub const META_SETPOLYFILLMODE: u32 = 262; +pub const META_SETSTRETCHBLTMODE: u32 = 263; +pub const META_SETTEXTCHAREXTRA: u32 = 264; +pub const META_SETTEXTCOLOR: u32 = 521; +pub const META_SETTEXTJUSTIFICATION: u32 = 522; +pub const META_SETWINDOWORG: u32 = 523; +pub const META_SETWINDOWEXT: u32 = 524; +pub const META_SETVIEWPORTORG: u32 = 525; +pub const META_SETVIEWPORTEXT: u32 = 526; +pub const META_OFFSETWINDOWORG: u32 = 527; +pub const META_SCALEWINDOWEXT: u32 = 1040; +pub const META_OFFSETVIEWPORTORG: u32 = 529; +pub const META_SCALEVIEWPORTEXT: u32 = 1042; +pub const META_LINETO: u32 = 531; +pub const META_MOVETO: u32 = 532; +pub const META_EXCLUDECLIPRECT: u32 = 1045; +pub const META_INTERSECTCLIPRECT: u32 = 1046; +pub const META_ARC: u32 = 2071; +pub const META_ELLIPSE: u32 = 1048; +pub const META_FLOODFILL: u32 = 1049; +pub const META_PIE: u32 = 2074; +pub const META_RECTANGLE: u32 = 1051; +pub const META_ROUNDRECT: u32 = 1564; +pub const META_PATBLT: u32 = 1565; +pub const META_SAVEDC: u32 = 30; +pub const META_SETPIXEL: u32 = 1055; +pub const META_OFFSETCLIPRGN: u32 = 544; +pub const META_TEXTOUT: u32 = 1313; +pub const META_BITBLT: u32 = 2338; +pub const META_STRETCHBLT: u32 = 2851; +pub const META_POLYGON: u32 = 804; +pub const META_POLYLINE: u32 = 805; +pub const META_ESCAPE: u32 = 1574; +pub const META_RESTOREDC: u32 = 295; +pub const META_FILLREGION: u32 = 552; +pub const META_FRAMEREGION: u32 = 1065; +pub const META_INVERTREGION: u32 = 298; +pub const META_PAINTREGION: u32 = 299; +pub const META_SELECTCLIPREGION: u32 = 300; +pub const META_SELECTOBJECT: u32 = 301; +pub const META_SETTEXTALIGN: u32 = 302; +pub const META_CHORD: u32 = 2096; +pub const META_SETMAPPERFLAGS: u32 = 561; +pub const META_EXTTEXTOUT: u32 = 2610; +pub const META_SETDIBTODEV: u32 = 3379; +pub const META_SELECTPALETTE: u32 = 564; +pub const META_REALIZEPALETTE: u32 = 53; +pub const META_ANIMATEPALETTE: u32 = 1078; +pub const META_SETPALENTRIES: u32 = 55; +pub const META_POLYPOLYGON: u32 = 1336; +pub const META_RESIZEPALETTE: u32 = 313; +pub const META_DIBBITBLT: u32 = 2368; +pub const META_DIBSTRETCHBLT: u32 = 2881; +pub const META_DIBCREATEPATTERNBRUSH: u32 = 322; +pub const META_STRETCHDIB: u32 = 3907; +pub const META_EXTFLOODFILL: u32 = 1352; +pub const META_SETLAYOUT: u32 = 329; +pub const META_DELETEOBJECT: u32 = 496; +pub const META_CREATEPALETTE: u32 = 247; +pub const META_CREATEPATTERNBRUSH: u32 = 505; +pub const META_CREATEPENINDIRECT: u32 = 762; +pub const META_CREATEFONTINDIRECT: u32 = 763; +pub const META_CREATEBRUSHINDIRECT: u32 = 764; +pub const META_CREATEREGION: u32 = 1791; +pub const NEWFRAME: u32 = 1; +pub const ABORTDOC: u32 = 2; +pub const NEXTBAND: u32 = 3; +pub const SETCOLORTABLE: u32 = 4; +pub const GETCOLORTABLE: u32 = 5; +pub const FLUSHOUTPUT: u32 = 6; +pub const DRAFTMODE: u32 = 7; +pub const QUERYESCSUPPORT: u32 = 8; +pub const SETABORTPROC: u32 = 9; +pub const STARTDOC: u32 = 10; +pub const ENDDOC: u32 = 11; +pub const GETPHYSPAGESIZE: u32 = 12; +pub const GETPRINTINGOFFSET: u32 = 13; +pub const GETSCALINGFACTOR: u32 = 14; +pub const MFCOMMENT: u32 = 15; +pub const GETPENWIDTH: u32 = 16; +pub const SETCOPYCOUNT: u32 = 17; +pub const SELECTPAPERSOURCE: u32 = 18; +pub const DEVICEDATA: u32 = 19; +pub const PASSTHROUGH: u32 = 19; +pub const GETTECHNOLGY: u32 = 20; +pub const GETTECHNOLOGY: u32 = 20; +pub const SETLINECAP: u32 = 21; +pub const SETLINEJOIN: u32 = 22; +pub const SETMITERLIMIT: u32 = 23; +pub const BANDINFO: u32 = 24; +pub const DRAWPATTERNRECT: u32 = 25; +pub const GETVECTORPENSIZE: u32 = 26; +pub const GETVECTORBRUSHSIZE: u32 = 27; +pub const ENABLEDUPLEX: u32 = 28; +pub const GETSETPAPERBINS: u32 = 29; +pub const GETSETPRINTORIENT: u32 = 30; +pub const ENUMPAPERBINS: u32 = 31; +pub const SETDIBSCALING: u32 = 32; +pub const EPSPRINTING: u32 = 33; +pub const ENUMPAPERMETRICS: u32 = 34; +pub const GETSETPAPERMETRICS: u32 = 35; +pub const POSTSCRIPT_DATA: u32 = 37; +pub const POSTSCRIPT_IGNORE: u32 = 38; +pub const MOUSETRAILS: u32 = 39; +pub const GETDEVICEUNITS: u32 = 42; +pub const GETEXTENDEDTEXTMETRICS: u32 = 256; +pub const GETEXTENTTABLE: u32 = 257; +pub const GETPAIRKERNTABLE: u32 = 258; +pub const GETTRACKKERNTABLE: u32 = 259; +pub const EXTTEXTOUT: u32 = 512; +pub const GETFACENAME: u32 = 513; +pub const DOWNLOADFACE: u32 = 514; +pub const ENABLERELATIVEWIDTHS: u32 = 768; +pub const ENABLEPAIRKERNING: u32 = 769; +pub const SETKERNTRACK: u32 = 770; +pub const SETALLJUSTVALUES: u32 = 771; +pub const SETCHARSET: u32 = 772; +pub const STRETCHBLT: u32 = 2048; +pub const METAFILE_DRIVER: u32 = 2049; +pub const GETSETSCREENPARAMS: u32 = 3072; +pub const QUERYDIBSUPPORT: u32 = 3073; +pub const BEGIN_PATH: u32 = 4096; +pub const CLIP_TO_PATH: u32 = 4097; +pub const END_PATH: u32 = 4098; +pub const EXT_DEVICE_CAPS: u32 = 4099; +pub const RESTORE_CTM: u32 = 4100; +pub const SAVE_CTM: u32 = 4101; +pub const SET_ARC_DIRECTION: u32 = 4102; +pub const SET_BACKGROUND_COLOR: u32 = 4103; +pub const SET_POLY_MODE: u32 = 4104; +pub const SET_SCREEN_ANGLE: u32 = 4105; +pub const SET_SPREAD: u32 = 4106; +pub const TRANSFORM_CTM: u32 = 4107; +pub const SET_CLIP_BOX: u32 = 4108; +pub const SET_BOUNDS: u32 = 4109; +pub const SET_MIRROR_MODE: u32 = 4110; +pub const OPENCHANNEL: u32 = 4110; +pub const DOWNLOADHEADER: u32 = 4111; +pub const CLOSECHANNEL: u32 = 4112; +pub const POSTSCRIPT_PASSTHROUGH: u32 = 4115; +pub const ENCAPSULATED_POSTSCRIPT: u32 = 4116; +pub const POSTSCRIPT_IDENTIFY: u32 = 4117; +pub const POSTSCRIPT_INJECTION: u32 = 4118; +pub const CHECKJPEGFORMAT: u32 = 4119; +pub const CHECKPNGFORMAT: u32 = 4120; +pub const GET_PS_FEATURESETTING: u32 = 4121; +pub const GDIPLUS_TS_QUERYVER: u32 = 4122; +pub const GDIPLUS_TS_RECORD: u32 = 4123; +pub const MILCORE_TS_QUERYVER_RESULT_FALSE: u32 = 0; +pub const MILCORE_TS_QUERYVER_RESULT_TRUE: u32 = 2147483647; +pub const SPCLPASSTHROUGH2: u32 = 4568; +pub const PSIDENT_GDICENTRIC: u32 = 0; +pub const PSIDENT_PSCENTRIC: u32 = 1; +pub const PSINJECT_BEGINSTREAM: u32 = 1; +pub const PSINJECT_PSADOBE: u32 = 2; +pub const PSINJECT_PAGESATEND: u32 = 3; +pub const PSINJECT_PAGES: u32 = 4; +pub const PSINJECT_DOCNEEDEDRES: u32 = 5; +pub const PSINJECT_DOCSUPPLIEDRES: u32 = 6; +pub const PSINJECT_PAGEORDER: u32 = 7; +pub const PSINJECT_ORIENTATION: u32 = 8; +pub const PSINJECT_BOUNDINGBOX: u32 = 9; +pub const PSINJECT_DOCUMENTPROCESSCOLORS: u32 = 10; +pub const PSINJECT_COMMENTS: u32 = 11; +pub const PSINJECT_BEGINDEFAULTS: u32 = 12; +pub const PSINJECT_ENDDEFAULTS: u32 = 13; +pub const PSINJECT_BEGINPROLOG: u32 = 14; +pub const PSINJECT_ENDPROLOG: u32 = 15; +pub const PSINJECT_BEGINSETUP: u32 = 16; +pub const PSINJECT_ENDSETUP: u32 = 17; +pub const PSINJECT_TRAILER: u32 = 18; +pub const PSINJECT_EOF: u32 = 19; +pub const PSINJECT_ENDSTREAM: u32 = 20; +pub const PSINJECT_DOCUMENTPROCESSCOLORSATEND: u32 = 21; +pub const PSINJECT_PAGENUMBER: u32 = 100; +pub const PSINJECT_BEGINPAGESETUP: u32 = 101; +pub const PSINJECT_ENDPAGESETUP: u32 = 102; +pub const PSINJECT_PAGETRAILER: u32 = 103; +pub const PSINJECT_PLATECOLOR: u32 = 104; +pub const PSINJECT_SHOWPAGE: u32 = 105; +pub const PSINJECT_PAGEBBOX: u32 = 106; +pub const PSINJECT_ENDPAGECOMMENTS: u32 = 107; +pub const PSINJECT_VMSAVE: u32 = 200; +pub const PSINJECT_VMRESTORE: u32 = 201; +pub const PSINJECT_DLFONT: u32 = 3722304989; +pub const FEATURESETTING_NUP: u32 = 0; +pub const FEATURESETTING_OUTPUT: u32 = 1; +pub const FEATURESETTING_PSLEVEL: u32 = 2; +pub const FEATURESETTING_CUSTPAPER: u32 = 3; +pub const FEATURESETTING_MIRROR: u32 = 4; +pub const FEATURESETTING_NEGATIVE: u32 = 5; +pub const FEATURESETTING_PROTOCOL: u32 = 6; +pub const FEATURESETTING_PRIVATE_BEGIN: u32 = 4096; +pub const FEATURESETTING_PRIVATE_END: u32 = 8191; +pub const PSPROTOCOL_ASCII: u32 = 0; +pub const PSPROTOCOL_BCP: u32 = 1; +pub const PSPROTOCOL_TBCP: u32 = 2; +pub const PSPROTOCOL_BINARY: u32 = 3; +pub const QDI_SETDIBITS: u32 = 1; +pub const QDI_GETDIBITS: u32 = 2; +pub const QDI_DIBTOSCREEN: u32 = 4; +pub const QDI_STRETCHDIB: u32 = 8; +pub const SP_NOTREPORTED: u32 = 16384; +pub const SP_ERROR: i32 = -1; +pub const SP_APPABORT: i32 = -2; +pub const SP_USERABORT: i32 = -3; +pub const SP_OUTOFDISK: i32 = -4; +pub const SP_OUTOFMEMORY: i32 = -5; +pub const PR_JOBSTATUS: u32 = 0; +pub const OBJ_PEN: u32 = 1; +pub const OBJ_BRUSH: u32 = 2; +pub const OBJ_DC: u32 = 3; +pub const OBJ_METADC: u32 = 4; +pub const OBJ_PAL: u32 = 5; +pub const OBJ_FONT: u32 = 6; +pub const OBJ_BITMAP: u32 = 7; +pub const OBJ_REGION: u32 = 8; +pub const OBJ_METAFILE: u32 = 9; +pub const OBJ_MEMDC: u32 = 10; +pub const OBJ_EXTPEN: u32 = 11; +pub const OBJ_ENHMETADC: u32 = 12; +pub const OBJ_ENHMETAFILE: u32 = 13; +pub const OBJ_COLORSPACE: u32 = 14; +pub const GDI_OBJ_LAST: u32 = 14; +pub const MWT_IDENTITY: u32 = 1; +pub const MWT_LEFTMULTIPLY: u32 = 2; +pub const MWT_RIGHTMULTIPLY: u32 = 3; +pub const MWT_MIN: u32 = 1; +pub const MWT_MAX: u32 = 3; +pub const CS_ENABLE: u32 = 1; +pub const CS_DISABLE: u32 = 2; +pub const CS_DELETE_TRANSFORM: u32 = 3; +pub const LCS_CALIBRATED_RGB: u32 = 0; +pub const LCS_GM_BUSINESS: u32 = 1; +pub const LCS_GM_GRAPHICS: u32 = 2; +pub const LCS_GM_IMAGES: u32 = 4; +pub const LCS_GM_ABS_COLORIMETRIC: u32 = 8; +pub const CM_OUT_OF_GAMUT: u32 = 255; +pub const CM_IN_GAMUT: u32 = 0; +pub const ICM_ADDPROFILE: u32 = 1; +pub const ICM_DELETEPROFILE: u32 = 2; +pub const ICM_QUERYPROFILE: u32 = 3; +pub const ICM_SETDEFAULTPROFILE: u32 = 4; +pub const ICM_REGISTERICMATCHER: u32 = 5; +pub const ICM_UNREGISTERICMATCHER: u32 = 6; +pub const ICM_QUERYMATCH: u32 = 7; +pub const BI_RGB: u32 = 0; +pub const BI_RLE8: u32 = 1; +pub const BI_RLE4: u32 = 2; +pub const BI_BITFIELDS: u32 = 3; +pub const BI_JPEG: u32 = 4; +pub const BI_PNG: u32 = 5; +pub const TCI_SRCCHARSET: u32 = 1; +pub const TCI_SRCCODEPAGE: u32 = 2; +pub const TCI_SRCFONTSIG: u32 = 3; +pub const TCI_SRCLOCALE: u32 = 4096; +pub const TMPF_FIXED_PITCH: u32 = 1; +pub const TMPF_VECTOR: u32 = 2; +pub const TMPF_DEVICE: u32 = 8; +pub const TMPF_TRUETYPE: u32 = 4; +pub const NTM_REGULAR: u32 = 64; +pub const NTM_BOLD: u32 = 32; +pub const NTM_ITALIC: u32 = 1; +pub const NTM_NONNEGATIVE_AC: u32 = 65536; +pub const NTM_PS_OPENTYPE: u32 = 131072; +pub const NTM_TT_OPENTYPE: u32 = 262144; +pub const NTM_MULTIPLEMASTER: u32 = 524288; +pub const NTM_TYPE1: u32 = 1048576; +pub const NTM_DSIG: u32 = 2097152; +pub const LF_FACESIZE: u32 = 32; +pub const LF_FULLFACESIZE: u32 = 64; +pub const OUT_DEFAULT_PRECIS: u32 = 0; +pub const OUT_STRING_PRECIS: u32 = 1; +pub const OUT_CHARACTER_PRECIS: u32 = 2; +pub const OUT_STROKE_PRECIS: u32 = 3; +pub const OUT_TT_PRECIS: u32 = 4; +pub const OUT_DEVICE_PRECIS: u32 = 5; +pub const OUT_RASTER_PRECIS: u32 = 6; +pub const OUT_TT_ONLY_PRECIS: u32 = 7; +pub const OUT_OUTLINE_PRECIS: u32 = 8; +pub const OUT_SCREEN_OUTLINE_PRECIS: u32 = 9; +pub const OUT_PS_ONLY_PRECIS: u32 = 10; +pub const CLIP_DEFAULT_PRECIS: u32 = 0; +pub const CLIP_CHARACTER_PRECIS: u32 = 1; +pub const CLIP_STROKE_PRECIS: u32 = 2; +pub const CLIP_MASK: u32 = 15; +pub const CLIP_LH_ANGLES: u32 = 16; +pub const CLIP_TT_ALWAYS: u32 = 32; +pub const CLIP_DFA_DISABLE: u32 = 64; +pub const CLIP_EMBEDDED: u32 = 128; +pub const DEFAULT_QUALITY: u32 = 0; +pub const DRAFT_QUALITY: u32 = 1; +pub const PROOF_QUALITY: u32 = 2; +pub const NONANTIALIASED_QUALITY: u32 = 3; +pub const ANTIALIASED_QUALITY: u32 = 4; +pub const CLEARTYPE_QUALITY: u32 = 5; +pub const CLEARTYPE_NATURAL_QUALITY: u32 = 6; +pub const DEFAULT_PITCH: u32 = 0; +pub const FIXED_PITCH: u32 = 1; +pub const VARIABLE_PITCH: u32 = 2; +pub const MONO_FONT: u32 = 8; +pub const ANSI_CHARSET: u32 = 0; +pub const DEFAULT_CHARSET: u32 = 1; +pub const SYMBOL_CHARSET: u32 = 2; +pub const SHIFTJIS_CHARSET: u32 = 128; +pub const HANGEUL_CHARSET: u32 = 129; +pub const HANGUL_CHARSET: u32 = 129; +pub const GB2312_CHARSET: u32 = 134; +pub const CHINESEBIG5_CHARSET: u32 = 136; +pub const OEM_CHARSET: u32 = 255; +pub const JOHAB_CHARSET: u32 = 130; +pub const HEBREW_CHARSET: u32 = 177; +pub const ARABIC_CHARSET: u32 = 178; +pub const GREEK_CHARSET: u32 = 161; +pub const TURKISH_CHARSET: u32 = 162; +pub const VIETNAMESE_CHARSET: u32 = 163; +pub const THAI_CHARSET: u32 = 222; +pub const EASTEUROPE_CHARSET: u32 = 238; +pub const RUSSIAN_CHARSET: u32 = 204; +pub const MAC_CHARSET: u32 = 77; +pub const BALTIC_CHARSET: u32 = 186; +pub const FS_LATIN1: u32 = 1; +pub const FS_LATIN2: u32 = 2; +pub const FS_CYRILLIC: u32 = 4; +pub const FS_GREEK: u32 = 8; +pub const FS_TURKISH: u32 = 16; +pub const FS_HEBREW: u32 = 32; +pub const FS_ARABIC: u32 = 64; +pub const FS_BALTIC: u32 = 128; +pub const FS_VIETNAMESE: u32 = 256; +pub const FS_THAI: u32 = 65536; +pub const FS_JISJAPAN: u32 = 131072; +pub const FS_CHINESESIMP: u32 = 262144; +pub const FS_WANSUNG: u32 = 524288; +pub const FS_CHINESETRAD: u32 = 1048576; +pub const FS_JOHAB: u32 = 2097152; +pub const FS_SYMBOL: u32 = 2147483648; +pub const FF_DONTCARE: u32 = 0; +pub const FF_ROMAN: u32 = 16; +pub const FF_SWISS: u32 = 32; +pub const FF_MODERN: u32 = 48; +pub const FF_SCRIPT: u32 = 64; +pub const FF_DECORATIVE: u32 = 80; +pub const FW_DONTCARE: u32 = 0; +pub const FW_THIN: u32 = 100; +pub const FW_EXTRALIGHT: u32 = 200; +pub const FW_LIGHT: u32 = 300; +pub const FW_NORMAL: u32 = 400; +pub const FW_MEDIUM: u32 = 500; +pub const FW_SEMIBOLD: u32 = 600; +pub const FW_BOLD: u32 = 700; +pub const FW_EXTRABOLD: u32 = 800; +pub const FW_HEAVY: u32 = 900; +pub const FW_ULTRALIGHT: u32 = 200; +pub const FW_REGULAR: u32 = 400; +pub const FW_DEMIBOLD: u32 = 600; +pub const FW_ULTRABOLD: u32 = 800; +pub const FW_BLACK: u32 = 900; +pub const PANOSE_COUNT: u32 = 10; +pub const PAN_FAMILYTYPE_INDEX: u32 = 0; +pub const PAN_SERIFSTYLE_INDEX: u32 = 1; +pub const PAN_WEIGHT_INDEX: u32 = 2; +pub const PAN_PROPORTION_INDEX: u32 = 3; +pub const PAN_CONTRAST_INDEX: u32 = 4; +pub const PAN_STROKEVARIATION_INDEX: u32 = 5; +pub const PAN_ARMSTYLE_INDEX: u32 = 6; +pub const PAN_LETTERFORM_INDEX: u32 = 7; +pub const PAN_MIDLINE_INDEX: u32 = 8; +pub const PAN_XHEIGHT_INDEX: u32 = 9; +pub const PAN_CULTURE_LATIN: u32 = 0; +pub const PAN_ANY: u32 = 0; +pub const PAN_NO_FIT: u32 = 1; +pub const PAN_FAMILY_TEXT_DISPLAY: u32 = 2; +pub const PAN_FAMILY_SCRIPT: u32 = 3; +pub const PAN_FAMILY_DECORATIVE: u32 = 4; +pub const PAN_FAMILY_PICTORIAL: u32 = 5; +pub const PAN_SERIF_COVE: u32 = 2; +pub const PAN_SERIF_OBTUSE_COVE: u32 = 3; +pub const PAN_SERIF_SQUARE_COVE: u32 = 4; +pub const PAN_SERIF_OBTUSE_SQUARE_COVE: u32 = 5; +pub const PAN_SERIF_SQUARE: u32 = 6; +pub const PAN_SERIF_THIN: u32 = 7; +pub const PAN_SERIF_BONE: u32 = 8; +pub const PAN_SERIF_EXAGGERATED: u32 = 9; +pub const PAN_SERIF_TRIANGLE: u32 = 10; +pub const PAN_SERIF_NORMAL_SANS: u32 = 11; +pub const PAN_SERIF_OBTUSE_SANS: u32 = 12; +pub const PAN_SERIF_PERP_SANS: u32 = 13; +pub const PAN_SERIF_FLARED: u32 = 14; +pub const PAN_SERIF_ROUNDED: u32 = 15; +pub const PAN_WEIGHT_VERY_LIGHT: u32 = 2; +pub const PAN_WEIGHT_LIGHT: u32 = 3; +pub const PAN_WEIGHT_THIN: u32 = 4; +pub const PAN_WEIGHT_BOOK: u32 = 5; +pub const PAN_WEIGHT_MEDIUM: u32 = 6; +pub const PAN_WEIGHT_DEMI: u32 = 7; +pub const PAN_WEIGHT_BOLD: u32 = 8; +pub const PAN_WEIGHT_HEAVY: u32 = 9; +pub const PAN_WEIGHT_BLACK: u32 = 10; +pub const PAN_WEIGHT_NORD: u32 = 11; +pub const PAN_PROP_OLD_STYLE: u32 = 2; +pub const PAN_PROP_MODERN: u32 = 3; +pub const PAN_PROP_EVEN_WIDTH: u32 = 4; +pub const PAN_PROP_EXPANDED: u32 = 5; +pub const PAN_PROP_CONDENSED: u32 = 6; +pub const PAN_PROP_VERY_EXPANDED: u32 = 7; +pub const PAN_PROP_VERY_CONDENSED: u32 = 8; +pub const PAN_PROP_MONOSPACED: u32 = 9; +pub const PAN_CONTRAST_NONE: u32 = 2; +pub const PAN_CONTRAST_VERY_LOW: u32 = 3; +pub const PAN_CONTRAST_LOW: u32 = 4; +pub const PAN_CONTRAST_MEDIUM_LOW: u32 = 5; +pub const PAN_CONTRAST_MEDIUM: u32 = 6; +pub const PAN_CONTRAST_MEDIUM_HIGH: u32 = 7; +pub const PAN_CONTRAST_HIGH: u32 = 8; +pub const PAN_CONTRAST_VERY_HIGH: u32 = 9; +pub const PAN_STROKE_GRADUAL_DIAG: u32 = 2; +pub const PAN_STROKE_GRADUAL_TRAN: u32 = 3; +pub const PAN_STROKE_GRADUAL_VERT: u32 = 4; +pub const PAN_STROKE_GRADUAL_HORZ: u32 = 5; +pub const PAN_STROKE_RAPID_VERT: u32 = 6; +pub const PAN_STROKE_RAPID_HORZ: u32 = 7; +pub const PAN_STROKE_INSTANT_VERT: u32 = 8; +pub const PAN_STRAIGHT_ARMS_HORZ: u32 = 2; +pub const PAN_STRAIGHT_ARMS_WEDGE: u32 = 3; +pub const PAN_STRAIGHT_ARMS_VERT: u32 = 4; +pub const PAN_STRAIGHT_ARMS_SINGLE_SERIF: u32 = 5; +pub const PAN_STRAIGHT_ARMS_DOUBLE_SERIF: u32 = 6; +pub const PAN_BENT_ARMS_HORZ: u32 = 7; +pub const PAN_BENT_ARMS_WEDGE: u32 = 8; +pub const PAN_BENT_ARMS_VERT: u32 = 9; +pub const PAN_BENT_ARMS_SINGLE_SERIF: u32 = 10; +pub const PAN_BENT_ARMS_DOUBLE_SERIF: u32 = 11; +pub const PAN_LETT_NORMAL_CONTACT: u32 = 2; +pub const PAN_LETT_NORMAL_WEIGHTED: u32 = 3; +pub const PAN_LETT_NORMAL_BOXED: u32 = 4; +pub const PAN_LETT_NORMAL_FLATTENED: u32 = 5; +pub const PAN_LETT_NORMAL_ROUNDED: u32 = 6; +pub const PAN_LETT_NORMAL_OFF_CENTER: u32 = 7; +pub const PAN_LETT_NORMAL_SQUARE: u32 = 8; +pub const PAN_LETT_OBLIQUE_CONTACT: u32 = 9; +pub const PAN_LETT_OBLIQUE_WEIGHTED: u32 = 10; +pub const PAN_LETT_OBLIQUE_BOXED: u32 = 11; +pub const PAN_LETT_OBLIQUE_FLATTENED: u32 = 12; +pub const PAN_LETT_OBLIQUE_ROUNDED: u32 = 13; +pub const PAN_LETT_OBLIQUE_OFF_CENTER: u32 = 14; +pub const PAN_LETT_OBLIQUE_SQUARE: u32 = 15; +pub const PAN_MIDLINE_STANDARD_TRIMMED: u32 = 2; +pub const PAN_MIDLINE_STANDARD_POINTED: u32 = 3; +pub const PAN_MIDLINE_STANDARD_SERIFED: u32 = 4; +pub const PAN_MIDLINE_HIGH_TRIMMED: u32 = 5; +pub const PAN_MIDLINE_HIGH_POINTED: u32 = 6; +pub const PAN_MIDLINE_HIGH_SERIFED: u32 = 7; +pub const PAN_MIDLINE_CONSTANT_TRIMMED: u32 = 8; +pub const PAN_MIDLINE_CONSTANT_POINTED: u32 = 9; +pub const PAN_MIDLINE_CONSTANT_SERIFED: u32 = 10; +pub const PAN_MIDLINE_LOW_TRIMMED: u32 = 11; +pub const PAN_MIDLINE_LOW_POINTED: u32 = 12; +pub const PAN_MIDLINE_LOW_SERIFED: u32 = 13; +pub const PAN_XHEIGHT_CONSTANT_SMALL: u32 = 2; +pub const PAN_XHEIGHT_CONSTANT_STD: u32 = 3; +pub const PAN_XHEIGHT_CONSTANT_LARGE: u32 = 4; +pub const PAN_XHEIGHT_DUCKING_SMALL: u32 = 5; +pub const PAN_XHEIGHT_DUCKING_STD: u32 = 6; +pub const PAN_XHEIGHT_DUCKING_LARGE: u32 = 7; +pub const ELF_VENDOR_SIZE: u32 = 4; +pub const ELF_VERSION: u32 = 0; +pub const ELF_CULTURE_LATIN: u32 = 0; +pub const RASTER_FONTTYPE: u32 = 1; +pub const DEVICE_FONTTYPE: u32 = 2; +pub const TRUETYPE_FONTTYPE: u32 = 4; +pub const PC_RESERVED: u32 = 1; +pub const PC_EXPLICIT: u32 = 2; +pub const PC_NOCOLLAPSE: u32 = 4; +pub const TRANSPARENT: u32 = 1; +pub const OPAQUE: u32 = 2; +pub const BKMODE_LAST: u32 = 2; +pub const GM_COMPATIBLE: u32 = 1; +pub const GM_ADVANCED: u32 = 2; +pub const GM_LAST: u32 = 2; +pub const PT_CLOSEFIGURE: u32 = 1; +pub const PT_LINETO: u32 = 2; +pub const PT_BEZIERTO: u32 = 4; +pub const PT_MOVETO: u32 = 6; +pub const MM_TEXT: u32 = 1; +pub const MM_LOMETRIC: u32 = 2; +pub const MM_HIMETRIC: u32 = 3; +pub const MM_LOENGLISH: u32 = 4; +pub const MM_HIENGLISH: u32 = 5; +pub const MM_TWIPS: u32 = 6; +pub const MM_ISOTROPIC: u32 = 7; +pub const MM_ANISOTROPIC: u32 = 8; +pub const MM_MIN: u32 = 1; +pub const MM_MAX: u32 = 8; +pub const MM_MAX_FIXEDSCALE: u32 = 6; +pub const ABSOLUTE: u32 = 1; +pub const RELATIVE: u32 = 2; +pub const WHITE_BRUSH: u32 = 0; +pub const LTGRAY_BRUSH: u32 = 1; +pub const GRAY_BRUSH: u32 = 2; +pub const DKGRAY_BRUSH: u32 = 3; +pub const BLACK_BRUSH: u32 = 4; +pub const NULL_BRUSH: u32 = 5; +pub const HOLLOW_BRUSH: u32 = 5; +pub const WHITE_PEN: u32 = 6; +pub const BLACK_PEN: u32 = 7; +pub const NULL_PEN: u32 = 8; +pub const OEM_FIXED_FONT: u32 = 10; +pub const ANSI_FIXED_FONT: u32 = 11; +pub const ANSI_VAR_FONT: u32 = 12; +pub const SYSTEM_FONT: u32 = 13; +pub const DEVICE_DEFAULT_FONT: u32 = 14; +pub const DEFAULT_PALETTE: u32 = 15; +pub const SYSTEM_FIXED_FONT: u32 = 16; +pub const DEFAULT_GUI_FONT: u32 = 17; +pub const DC_BRUSH: u32 = 18; +pub const DC_PEN: u32 = 19; +pub const STOCK_LAST: u32 = 19; +pub const CLR_INVALID: u32 = 4294967295; +pub const BS_SOLID: u32 = 0; +pub const BS_NULL: u32 = 1; +pub const BS_HOLLOW: u32 = 1; +pub const BS_HATCHED: u32 = 2; +pub const BS_PATTERN: u32 = 3; +pub const BS_INDEXED: u32 = 4; +pub const BS_DIBPATTERN: u32 = 5; +pub const BS_DIBPATTERNPT: u32 = 6; +pub const BS_PATTERN8X8: u32 = 7; +pub const BS_DIBPATTERN8X8: u32 = 8; +pub const BS_MONOPATTERN: u32 = 9; +pub const HS_HORIZONTAL: u32 = 0; +pub const HS_VERTICAL: u32 = 1; +pub const HS_FDIAGONAL: u32 = 2; +pub const HS_BDIAGONAL: u32 = 3; +pub const HS_CROSS: u32 = 4; +pub const HS_DIAGCROSS: u32 = 5; +pub const HS_API_MAX: u32 = 12; +pub const PS_SOLID: u32 = 0; +pub const PS_DASH: u32 = 1; +pub const PS_DOT: u32 = 2; +pub const PS_DASHDOT: u32 = 3; +pub const PS_DASHDOTDOT: u32 = 4; +pub const PS_NULL: u32 = 5; +pub const PS_INSIDEFRAME: u32 = 6; +pub const PS_USERSTYLE: u32 = 7; +pub const PS_ALTERNATE: u32 = 8; +pub const PS_STYLE_MASK: u32 = 15; +pub const PS_ENDCAP_ROUND: u32 = 0; +pub const PS_ENDCAP_SQUARE: u32 = 256; +pub const PS_ENDCAP_FLAT: u32 = 512; +pub const PS_ENDCAP_MASK: u32 = 3840; +pub const PS_JOIN_ROUND: u32 = 0; +pub const PS_JOIN_BEVEL: u32 = 4096; +pub const PS_JOIN_MITER: u32 = 8192; +pub const PS_JOIN_MASK: u32 = 61440; +pub const PS_COSMETIC: u32 = 0; +pub const PS_GEOMETRIC: u32 = 65536; +pub const PS_TYPE_MASK: u32 = 983040; +pub const AD_COUNTERCLOCKWISE: u32 = 1; +pub const AD_CLOCKWISE: u32 = 2; +pub const DRIVERVERSION: u32 = 0; +pub const TECHNOLOGY: u32 = 2; +pub const HORZSIZE: u32 = 4; +pub const VERTSIZE: u32 = 6; +pub const HORZRES: u32 = 8; +pub const VERTRES: u32 = 10; +pub const BITSPIXEL: u32 = 12; +pub const PLANES: u32 = 14; +pub const NUMBRUSHES: u32 = 16; +pub const NUMPENS: u32 = 18; +pub const NUMMARKERS: u32 = 20; +pub const NUMFONTS: u32 = 22; +pub const NUMCOLORS: u32 = 24; +pub const PDEVICESIZE: u32 = 26; +pub const CURVECAPS: u32 = 28; +pub const LINECAPS: u32 = 30; +pub const POLYGONALCAPS: u32 = 32; +pub const TEXTCAPS: u32 = 34; +pub const CLIPCAPS: u32 = 36; +pub const RASTERCAPS: u32 = 38; +pub const ASPECTX: u32 = 40; +pub const ASPECTY: u32 = 42; +pub const ASPECTXY: u32 = 44; +pub const LOGPIXELSX: u32 = 88; +pub const LOGPIXELSY: u32 = 90; +pub const SIZEPALETTE: u32 = 104; +pub const NUMRESERVED: u32 = 106; +pub const COLORRES: u32 = 108; +pub const PHYSICALWIDTH: u32 = 110; +pub const PHYSICALHEIGHT: u32 = 111; +pub const PHYSICALOFFSETX: u32 = 112; +pub const PHYSICALOFFSETY: u32 = 113; +pub const SCALINGFACTORX: u32 = 114; +pub const SCALINGFACTORY: u32 = 115; +pub const VREFRESH: u32 = 116; +pub const DESKTOPVERTRES: u32 = 117; +pub const DESKTOPHORZRES: u32 = 118; +pub const BLTALIGNMENT: u32 = 119; +pub const SHADEBLENDCAPS: u32 = 120; +pub const COLORMGMTCAPS: u32 = 121; +pub const DT_PLOTTER: u32 = 0; +pub const DT_RASDISPLAY: u32 = 1; +pub const DT_RASPRINTER: u32 = 2; +pub const DT_RASCAMERA: u32 = 3; +pub const DT_CHARSTREAM: u32 = 4; +pub const DT_METAFILE: u32 = 5; +pub const DT_DISPFILE: u32 = 6; +pub const CC_NONE: u32 = 0; +pub const CC_CIRCLES: u32 = 1; +pub const CC_PIE: u32 = 2; +pub const CC_CHORD: u32 = 4; +pub const CC_ELLIPSES: u32 = 8; +pub const CC_WIDE: u32 = 16; +pub const CC_STYLED: u32 = 32; +pub const CC_WIDESTYLED: u32 = 64; +pub const CC_INTERIORS: u32 = 128; +pub const CC_ROUNDRECT: u32 = 256; +pub const LC_NONE: u32 = 0; +pub const LC_POLYLINE: u32 = 2; +pub const LC_MARKER: u32 = 4; +pub const LC_POLYMARKER: u32 = 8; +pub const LC_WIDE: u32 = 16; +pub const LC_STYLED: u32 = 32; +pub const LC_WIDESTYLED: u32 = 64; +pub const LC_INTERIORS: u32 = 128; +pub const PC_NONE: u32 = 0; +pub const PC_POLYGON: u32 = 1; +pub const PC_RECTANGLE: u32 = 2; +pub const PC_WINDPOLYGON: u32 = 4; +pub const PC_TRAPEZOID: u32 = 4; +pub const PC_SCANLINE: u32 = 8; +pub const PC_WIDE: u32 = 16; +pub const PC_STYLED: u32 = 32; +pub const PC_WIDESTYLED: u32 = 64; +pub const PC_INTERIORS: u32 = 128; +pub const PC_POLYPOLYGON: u32 = 256; +pub const PC_PATHS: u32 = 512; +pub const CP_NONE: u32 = 0; +pub const CP_RECTANGLE: u32 = 1; +pub const CP_REGION: u32 = 2; +pub const TC_OP_CHARACTER: u32 = 1; +pub const TC_OP_STROKE: u32 = 2; +pub const TC_CP_STROKE: u32 = 4; +pub const TC_CR_90: u32 = 8; +pub const TC_CR_ANY: u32 = 16; +pub const TC_SF_X_YINDEP: u32 = 32; +pub const TC_SA_DOUBLE: u32 = 64; +pub const TC_SA_INTEGER: u32 = 128; +pub const TC_SA_CONTIN: u32 = 256; +pub const TC_EA_DOUBLE: u32 = 512; +pub const TC_IA_ABLE: u32 = 1024; +pub const TC_UA_ABLE: u32 = 2048; +pub const TC_SO_ABLE: u32 = 4096; +pub const TC_RA_ABLE: u32 = 8192; +pub const TC_VA_ABLE: u32 = 16384; +pub const TC_RESERVED: u32 = 32768; +pub const TC_SCROLLBLT: u32 = 65536; +pub const RC_BITBLT: u32 = 1; +pub const RC_BANDING: u32 = 2; +pub const RC_SCALING: u32 = 4; +pub const RC_BITMAP64: u32 = 8; +pub const RC_GDI20_OUTPUT: u32 = 16; +pub const RC_GDI20_STATE: u32 = 32; +pub const RC_SAVEBITMAP: u32 = 64; +pub const RC_DI_BITMAP: u32 = 128; +pub const RC_PALETTE: u32 = 256; +pub const RC_DIBTODEV: u32 = 512; +pub const RC_BIGFONT: u32 = 1024; +pub const RC_STRETCHBLT: u32 = 2048; +pub const RC_FLOODFILL: u32 = 4096; +pub const RC_STRETCHDIB: u32 = 8192; +pub const RC_OP_DX_OUTPUT: u32 = 16384; +pub const RC_DEVBITS: u32 = 32768; +pub const SB_NONE: u32 = 0; +pub const SB_CONST_ALPHA: u32 = 1; +pub const SB_PIXEL_ALPHA: u32 = 2; +pub const SB_PREMULT_ALPHA: u32 = 4; +pub const SB_GRAD_RECT: u32 = 16; +pub const SB_GRAD_TRI: u32 = 32; +pub const CM_NONE: u32 = 0; +pub const CM_DEVICE_ICM: u32 = 1; +pub const CM_GAMMA_RAMP: u32 = 2; +pub const CM_CMYK_COLOR: u32 = 4; +pub const DIB_RGB_COLORS: u32 = 0; +pub const DIB_PAL_COLORS: u32 = 1; +pub const SYSPAL_ERROR: u32 = 0; +pub const SYSPAL_STATIC: u32 = 1; +pub const SYSPAL_NOSTATIC: u32 = 2; +pub const SYSPAL_NOSTATIC256: u32 = 3; +pub const CBM_INIT: u32 = 4; +pub const FLOODFILLBORDER: u32 = 0; +pub const FLOODFILLSURFACE: u32 = 1; +pub const CCHDEVICENAME: u32 = 32; +pub const CCHFORMNAME: u32 = 32; +pub const DM_SPECVERSION: u32 = 1025; +pub const DM_ORIENTATION: u32 = 1; +pub const DM_PAPERSIZE: u32 = 2; +pub const DM_PAPERLENGTH: u32 = 4; +pub const DM_PAPERWIDTH: u32 = 8; +pub const DM_SCALE: u32 = 16; +pub const DM_POSITION: u32 = 32; +pub const DM_NUP: u32 = 64; +pub const DM_DISPLAYORIENTATION: u32 = 128; +pub const DM_COPIES: u32 = 256; +pub const DM_DEFAULTSOURCE: u32 = 512; +pub const DM_PRINTQUALITY: u32 = 1024; +pub const DM_COLOR: u32 = 2048; +pub const DM_DUPLEX: u32 = 4096; +pub const DM_YRESOLUTION: u32 = 8192; +pub const DM_TTOPTION: u32 = 16384; +pub const DM_COLLATE: u32 = 32768; +pub const DM_FORMNAME: u32 = 65536; +pub const DM_LOGPIXELS: u32 = 131072; +pub const DM_BITSPERPEL: u32 = 262144; +pub const DM_PELSWIDTH: u32 = 524288; +pub const DM_PELSHEIGHT: u32 = 1048576; +pub const DM_DISPLAYFLAGS: u32 = 2097152; +pub const DM_DISPLAYFREQUENCY: u32 = 4194304; +pub const DM_ICMMETHOD: u32 = 8388608; +pub const DM_ICMINTENT: u32 = 16777216; +pub const DM_MEDIATYPE: u32 = 33554432; +pub const DM_DITHERTYPE: u32 = 67108864; +pub const DM_PANNINGWIDTH: u32 = 134217728; +pub const DM_PANNINGHEIGHT: u32 = 268435456; +pub const DM_DISPLAYFIXEDOUTPUT: u32 = 536870912; +pub const DMORIENT_PORTRAIT: u32 = 1; +pub const DMORIENT_LANDSCAPE: u32 = 2; +pub const DMPAPER_LETTER: u32 = 1; +pub const DMPAPER_LETTERSMALL: u32 = 2; +pub const DMPAPER_TABLOID: u32 = 3; +pub const DMPAPER_LEDGER: u32 = 4; +pub const DMPAPER_LEGAL: u32 = 5; +pub const DMPAPER_STATEMENT: u32 = 6; +pub const DMPAPER_EXECUTIVE: u32 = 7; +pub const DMPAPER_A3: u32 = 8; +pub const DMPAPER_A4: u32 = 9; +pub const DMPAPER_A4SMALL: u32 = 10; +pub const DMPAPER_A5: u32 = 11; +pub const DMPAPER_B4: u32 = 12; +pub const DMPAPER_B5: u32 = 13; +pub const DMPAPER_FOLIO: u32 = 14; +pub const DMPAPER_QUARTO: u32 = 15; +pub const DMPAPER_10X14: u32 = 16; +pub const DMPAPER_11X17: u32 = 17; +pub const DMPAPER_NOTE: u32 = 18; +pub const DMPAPER_ENV_9: u32 = 19; +pub const DMPAPER_ENV_10: u32 = 20; +pub const DMPAPER_ENV_11: u32 = 21; +pub const DMPAPER_ENV_12: u32 = 22; +pub const DMPAPER_ENV_14: u32 = 23; +pub const DMPAPER_CSHEET: u32 = 24; +pub const DMPAPER_DSHEET: u32 = 25; +pub const DMPAPER_ESHEET: u32 = 26; +pub const DMPAPER_ENV_DL: u32 = 27; +pub const DMPAPER_ENV_C5: u32 = 28; +pub const DMPAPER_ENV_C3: u32 = 29; +pub const DMPAPER_ENV_C4: u32 = 30; +pub const DMPAPER_ENV_C6: u32 = 31; +pub const DMPAPER_ENV_C65: u32 = 32; +pub const DMPAPER_ENV_B4: u32 = 33; +pub const DMPAPER_ENV_B5: u32 = 34; +pub const DMPAPER_ENV_B6: u32 = 35; +pub const DMPAPER_ENV_ITALY: u32 = 36; +pub const DMPAPER_ENV_MONARCH: u32 = 37; +pub const DMPAPER_ENV_PERSONAL: u32 = 38; +pub const DMPAPER_FANFOLD_US: u32 = 39; +pub const DMPAPER_FANFOLD_STD_GERMAN: u32 = 40; +pub const DMPAPER_FANFOLD_LGL_GERMAN: u32 = 41; +pub const DMPAPER_ISO_B4: u32 = 42; +pub const DMPAPER_JAPANESE_POSTCARD: u32 = 43; +pub const DMPAPER_9X11: u32 = 44; +pub const DMPAPER_10X11: u32 = 45; +pub const DMPAPER_15X11: u32 = 46; +pub const DMPAPER_ENV_INVITE: u32 = 47; +pub const DMPAPER_RESERVED_48: u32 = 48; +pub const DMPAPER_RESERVED_49: u32 = 49; +pub const DMPAPER_LETTER_EXTRA: u32 = 50; +pub const DMPAPER_LEGAL_EXTRA: u32 = 51; +pub const DMPAPER_TABLOID_EXTRA: u32 = 52; +pub const DMPAPER_A4_EXTRA: u32 = 53; +pub const DMPAPER_LETTER_TRANSVERSE: u32 = 54; +pub const DMPAPER_A4_TRANSVERSE: u32 = 55; +pub const DMPAPER_LETTER_EXTRA_TRANSVERSE: u32 = 56; +pub const DMPAPER_A_PLUS: u32 = 57; +pub const DMPAPER_B_PLUS: u32 = 58; +pub const DMPAPER_LETTER_PLUS: u32 = 59; +pub const DMPAPER_A4_PLUS: u32 = 60; +pub const DMPAPER_A5_TRANSVERSE: u32 = 61; +pub const DMPAPER_B5_TRANSVERSE: u32 = 62; +pub const DMPAPER_A3_EXTRA: u32 = 63; +pub const DMPAPER_A5_EXTRA: u32 = 64; +pub const DMPAPER_B5_EXTRA: u32 = 65; +pub const DMPAPER_A2: u32 = 66; +pub const DMPAPER_A3_TRANSVERSE: u32 = 67; +pub const DMPAPER_A3_EXTRA_TRANSVERSE: u32 = 68; +pub const DMPAPER_DBL_JAPANESE_POSTCARD: u32 = 69; +pub const DMPAPER_A6: u32 = 70; +pub const DMPAPER_JENV_KAKU2: u32 = 71; +pub const DMPAPER_JENV_KAKU3: u32 = 72; +pub const DMPAPER_JENV_CHOU3: u32 = 73; +pub const DMPAPER_JENV_CHOU4: u32 = 74; +pub const DMPAPER_LETTER_ROTATED: u32 = 75; +pub const DMPAPER_A3_ROTATED: u32 = 76; +pub const DMPAPER_A4_ROTATED: u32 = 77; +pub const DMPAPER_A5_ROTATED: u32 = 78; +pub const DMPAPER_B4_JIS_ROTATED: u32 = 79; +pub const DMPAPER_B5_JIS_ROTATED: u32 = 80; +pub const DMPAPER_JAPANESE_POSTCARD_ROTATED: u32 = 81; +pub const DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED: u32 = 82; +pub const DMPAPER_A6_ROTATED: u32 = 83; +pub const DMPAPER_JENV_KAKU2_ROTATED: u32 = 84; +pub const DMPAPER_JENV_KAKU3_ROTATED: u32 = 85; +pub const DMPAPER_JENV_CHOU3_ROTATED: u32 = 86; +pub const DMPAPER_JENV_CHOU4_ROTATED: u32 = 87; +pub const DMPAPER_B6_JIS: u32 = 88; +pub const DMPAPER_B6_JIS_ROTATED: u32 = 89; +pub const DMPAPER_12X11: u32 = 90; +pub const DMPAPER_JENV_YOU4: u32 = 91; +pub const DMPAPER_JENV_YOU4_ROTATED: u32 = 92; +pub const DMPAPER_P16K: u32 = 93; +pub const DMPAPER_P32K: u32 = 94; +pub const DMPAPER_P32KBIG: u32 = 95; +pub const DMPAPER_PENV_1: u32 = 96; +pub const DMPAPER_PENV_2: u32 = 97; +pub const DMPAPER_PENV_3: u32 = 98; +pub const DMPAPER_PENV_4: u32 = 99; +pub const DMPAPER_PENV_5: u32 = 100; +pub const DMPAPER_PENV_6: u32 = 101; +pub const DMPAPER_PENV_7: u32 = 102; +pub const DMPAPER_PENV_8: u32 = 103; +pub const DMPAPER_PENV_9: u32 = 104; +pub const DMPAPER_PENV_10: u32 = 105; +pub const DMPAPER_P16K_ROTATED: u32 = 106; +pub const DMPAPER_P32K_ROTATED: u32 = 107; +pub const DMPAPER_P32KBIG_ROTATED: u32 = 108; +pub const DMPAPER_PENV_1_ROTATED: u32 = 109; +pub const DMPAPER_PENV_2_ROTATED: u32 = 110; +pub const DMPAPER_PENV_3_ROTATED: u32 = 111; +pub const DMPAPER_PENV_4_ROTATED: u32 = 112; +pub const DMPAPER_PENV_5_ROTATED: u32 = 113; +pub const DMPAPER_PENV_6_ROTATED: u32 = 114; +pub const DMPAPER_PENV_7_ROTATED: u32 = 115; +pub const DMPAPER_PENV_8_ROTATED: u32 = 116; +pub const DMPAPER_PENV_9_ROTATED: u32 = 117; +pub const DMPAPER_PENV_10_ROTATED: u32 = 118; +pub const DMPAPER_LAST: u32 = 118; +pub const DMPAPER_USER: u32 = 256; +pub const DMBIN_UPPER: u32 = 1; +pub const DMBIN_ONLYONE: u32 = 1; +pub const DMBIN_LOWER: u32 = 2; +pub const DMBIN_MIDDLE: u32 = 3; +pub const DMBIN_MANUAL: u32 = 4; +pub const DMBIN_ENVELOPE: u32 = 5; +pub const DMBIN_ENVMANUAL: u32 = 6; +pub const DMBIN_AUTO: u32 = 7; +pub const DMBIN_TRACTOR: u32 = 8; +pub const DMBIN_SMALLFMT: u32 = 9; +pub const DMBIN_LARGEFMT: u32 = 10; +pub const DMBIN_LARGECAPACITY: u32 = 11; +pub const DMBIN_CASSETTE: u32 = 14; +pub const DMBIN_FORMSOURCE: u32 = 15; +pub const DMBIN_LAST: u32 = 15; +pub const DMBIN_USER: u32 = 256; +pub const DMRES_DRAFT: i32 = -1; +pub const DMRES_LOW: i32 = -2; +pub const DMRES_MEDIUM: i32 = -3; +pub const DMRES_HIGH: i32 = -4; +pub const DMCOLOR_MONOCHROME: u32 = 1; +pub const DMCOLOR_COLOR: u32 = 2; +pub const DMDUP_SIMPLEX: u32 = 1; +pub const DMDUP_VERTICAL: u32 = 2; +pub const DMDUP_HORIZONTAL: u32 = 3; +pub const DMTT_BITMAP: u32 = 1; +pub const DMTT_DOWNLOAD: u32 = 2; +pub const DMTT_SUBDEV: u32 = 3; +pub const DMTT_DOWNLOAD_OUTLINE: u32 = 4; +pub const DMCOLLATE_FALSE: u32 = 0; +pub const DMCOLLATE_TRUE: u32 = 1; +pub const DMDO_DEFAULT: u32 = 0; +pub const DMDO_90: u32 = 1; +pub const DMDO_180: u32 = 2; +pub const DMDO_270: u32 = 3; +pub const DMDFO_DEFAULT: u32 = 0; +pub const DMDFO_STRETCH: u32 = 1; +pub const DMDFO_CENTER: u32 = 2; +pub const DM_INTERLACED: u32 = 2; +pub const DMDISPLAYFLAGS_TEXTMODE: u32 = 4; +pub const DMNUP_SYSTEM: u32 = 1; +pub const DMNUP_ONEUP: u32 = 2; +pub const DMICMMETHOD_NONE: u32 = 1; +pub const DMICMMETHOD_SYSTEM: u32 = 2; +pub const DMICMMETHOD_DRIVER: u32 = 3; +pub const DMICMMETHOD_DEVICE: u32 = 4; +pub const DMICMMETHOD_USER: u32 = 256; +pub const DMICM_SATURATE: u32 = 1; +pub const DMICM_CONTRAST: u32 = 2; +pub const DMICM_COLORIMETRIC: u32 = 3; +pub const DMICM_ABS_COLORIMETRIC: u32 = 4; +pub const DMICM_USER: u32 = 256; +pub const DMMEDIA_STANDARD: u32 = 1; +pub const DMMEDIA_TRANSPARENCY: u32 = 2; +pub const DMMEDIA_GLOSSY: u32 = 3; +pub const DMMEDIA_USER: u32 = 256; +pub const DMDITHER_NONE: u32 = 1; +pub const DMDITHER_COARSE: u32 = 2; +pub const DMDITHER_FINE: u32 = 3; +pub const DMDITHER_LINEART: u32 = 4; +pub const DMDITHER_ERRORDIFFUSION: u32 = 5; +pub const DMDITHER_RESERVED6: u32 = 6; +pub const DMDITHER_RESERVED7: u32 = 7; +pub const DMDITHER_RESERVED8: u32 = 8; +pub const DMDITHER_RESERVED9: u32 = 9; +pub const DMDITHER_GRAYSCALE: u32 = 10; +pub const DMDITHER_USER: u32 = 256; +pub const DISPLAY_DEVICE_ATTACHED_TO_DESKTOP: u32 = 1; +pub const DISPLAY_DEVICE_MULTI_DRIVER: u32 = 2; +pub const DISPLAY_DEVICE_PRIMARY_DEVICE: u32 = 4; +pub const DISPLAY_DEVICE_MIRRORING_DRIVER: u32 = 8; +pub const DISPLAY_DEVICE_VGA_COMPATIBLE: u32 = 16; +pub const DISPLAY_DEVICE_REMOVABLE: u32 = 32; +pub const DISPLAY_DEVICE_ACC_DRIVER: u32 = 64; +pub const DISPLAY_DEVICE_MODESPRUNED: u32 = 134217728; +pub const DISPLAY_DEVICE_RDPUDD: u32 = 16777216; +pub const DISPLAY_DEVICE_REMOTE: u32 = 67108864; +pub const DISPLAY_DEVICE_DISCONNECT: u32 = 33554432; +pub const DISPLAY_DEVICE_TS_COMPATIBLE: u32 = 2097152; +pub const DISPLAY_DEVICE_UNSAFE_MODES_ON: u32 = 524288; +pub const DISPLAY_DEVICE_ACTIVE: u32 = 1; +pub const DISPLAY_DEVICE_ATTACHED: u32 = 2; +pub const DISPLAYCONFIG_MAXPATH: u32 = 1024; +pub const DISPLAYCONFIG_PATH_MODE_IDX_INVALID: u32 = 4294967295; +pub const DISPLAYCONFIG_PATH_TARGET_MODE_IDX_INVALID: u32 = 65535; +pub const DISPLAYCONFIG_PATH_DESKTOP_IMAGE_IDX_INVALID: u32 = 65535; +pub const DISPLAYCONFIG_PATH_SOURCE_MODE_IDX_INVALID: u32 = 65535; +pub const DISPLAYCONFIG_PATH_CLONE_GROUP_INVALID: u32 = 65535; +pub const DISPLAYCONFIG_SOURCE_IN_USE: u32 = 1; +pub const DISPLAYCONFIG_TARGET_IN_USE: u32 = 1; +pub const DISPLAYCONFIG_TARGET_FORCIBLE: u32 = 2; +pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT: u32 = 4; +pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH: u32 = 8; +pub const DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM: u32 = 16; +pub const DISPLAYCONFIG_TARGET_IS_HMD: u32 = 32; +pub const DISPLAYCONFIG_PATH_ACTIVE: u32 = 1; +pub const DISPLAYCONFIG_PATH_PREFERRED_UNSCALED: u32 = 4; +pub const DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE: u32 = 8; +pub const DISPLAYCONFIG_PATH_VALID_FLAGS: u32 = 13; +pub const QDC_ALL_PATHS: u32 = 1; +pub const QDC_ONLY_ACTIVE_PATHS: u32 = 2; +pub const QDC_DATABASE_CURRENT: u32 = 4; +pub const QDC_VIRTUAL_MODE_AWARE: u32 = 16; +pub const QDC_INCLUDE_HMD: u32 = 32; +pub const SDC_TOPOLOGY_INTERNAL: u32 = 1; +pub const SDC_TOPOLOGY_CLONE: u32 = 2; +pub const SDC_TOPOLOGY_EXTEND: u32 = 4; +pub const SDC_TOPOLOGY_EXTERNAL: u32 = 8; +pub const SDC_TOPOLOGY_SUPPLIED: u32 = 16; +pub const SDC_USE_DATABASE_CURRENT: u32 = 15; +pub const SDC_USE_SUPPLIED_DISPLAY_CONFIG: u32 = 32; +pub const SDC_VALIDATE: u32 = 64; +pub const SDC_APPLY: u32 = 128; +pub const SDC_NO_OPTIMIZATION: u32 = 256; +pub const SDC_SAVE_TO_DATABASE: u32 = 512; +pub const SDC_ALLOW_CHANGES: u32 = 1024; +pub const SDC_PATH_PERSIST_IF_REQUIRED: u32 = 2048; +pub const SDC_FORCE_MODE_ENUMERATION: u32 = 4096; +pub const SDC_ALLOW_PATH_ORDER_CHANGES: u32 = 8192; +pub const SDC_VIRTUAL_MODE_AWARE: u32 = 32768; +pub const RDH_RECTANGLES: u32 = 1; +pub const SYSRGN: u32 = 4; +pub const GGO_METRICS: u32 = 0; +pub const GGO_BITMAP: u32 = 1; +pub const GGO_NATIVE: u32 = 2; +pub const GGO_BEZIER: u32 = 3; +pub const GGO_GRAY2_BITMAP: u32 = 4; +pub const GGO_GRAY4_BITMAP: u32 = 5; +pub const GGO_GRAY8_BITMAP: u32 = 6; +pub const GGO_GLYPH_INDEX: u32 = 128; +pub const GGO_UNHINTED: u32 = 256; +pub const TT_POLYGON_TYPE: u32 = 24; +pub const TT_PRIM_LINE: u32 = 1; +pub const TT_PRIM_QSPLINE: u32 = 2; +pub const TT_PRIM_CSPLINE: u32 = 3; +pub const GCP_DBCS: u32 = 1; +pub const GCP_REORDER: u32 = 2; +pub const GCP_USEKERNING: u32 = 8; +pub const GCP_GLYPHSHAPE: u32 = 16; +pub const GCP_LIGATE: u32 = 32; +pub const GCP_DIACRITIC: u32 = 256; +pub const GCP_KASHIDA: u32 = 1024; +pub const GCP_ERROR: u32 = 32768; +pub const FLI_MASK: u32 = 4155; +pub const GCP_JUSTIFY: u32 = 65536; +pub const FLI_GLYPHS: u32 = 262144; +pub const GCP_CLASSIN: u32 = 524288; +pub const GCP_MAXEXTENT: u32 = 1048576; +pub const GCP_JUSTIFYIN: u32 = 2097152; +pub const GCP_DISPLAYZWG: u32 = 4194304; +pub const GCP_SYMSWAPOFF: u32 = 8388608; +pub const GCP_NUMERICOVERRIDE: u32 = 16777216; +pub const GCP_NEUTRALOVERRIDE: u32 = 33554432; +pub const GCP_NUMERICSLATIN: u32 = 67108864; +pub const GCP_NUMERICSLOCAL: u32 = 134217728; +pub const GCPCLASS_LATIN: u32 = 1; +pub const GCPCLASS_HEBREW: u32 = 2; +pub const GCPCLASS_ARABIC: u32 = 2; +pub const GCPCLASS_NEUTRAL: u32 = 3; +pub const GCPCLASS_LOCALNUMBER: u32 = 4; +pub const GCPCLASS_LATINNUMBER: u32 = 5; +pub const GCPCLASS_LATINNUMERICTERMINATOR: u32 = 6; +pub const GCPCLASS_LATINNUMERICSEPARATOR: u32 = 7; +pub const GCPCLASS_NUMERICSEPARATOR: u32 = 8; +pub const GCPCLASS_PREBOUNDLTR: u32 = 128; +pub const GCPCLASS_PREBOUNDRTL: u32 = 64; +pub const GCPCLASS_POSTBOUNDLTR: u32 = 32; +pub const GCPCLASS_POSTBOUNDRTL: u32 = 16; +pub const GCPGLYPH_LINKBEFORE: u32 = 32768; +pub const GCPGLYPH_LINKAFTER: u32 = 16384; +pub const TT_AVAILABLE: u32 = 1; +pub const TT_ENABLED: u32 = 2; +pub const PFD_TYPE_RGBA: u32 = 0; +pub const PFD_TYPE_COLORINDEX: u32 = 1; +pub const PFD_MAIN_PLANE: u32 = 0; +pub const PFD_OVERLAY_PLANE: u32 = 1; +pub const PFD_UNDERLAY_PLANE: i32 = -1; +pub const PFD_DOUBLEBUFFER: u32 = 1; +pub const PFD_STEREO: u32 = 2; +pub const PFD_DRAW_TO_WINDOW: u32 = 4; +pub const PFD_DRAW_TO_BITMAP: u32 = 8; +pub const PFD_SUPPORT_GDI: u32 = 16; +pub const PFD_SUPPORT_OPENGL: u32 = 32; +pub const PFD_GENERIC_FORMAT: u32 = 64; +pub const PFD_NEED_PALETTE: u32 = 128; +pub const PFD_NEED_SYSTEM_PALETTE: u32 = 256; +pub const PFD_SWAP_EXCHANGE: u32 = 512; +pub const PFD_SWAP_COPY: u32 = 1024; +pub const PFD_SWAP_LAYER_BUFFERS: u32 = 2048; +pub const PFD_GENERIC_ACCELERATED: u32 = 4096; +pub const PFD_SUPPORT_DIRECTDRAW: u32 = 8192; +pub const PFD_DIRECT3D_ACCELERATED: u32 = 16384; +pub const PFD_SUPPORT_COMPOSITION: u32 = 32768; +pub const PFD_DEPTH_DONTCARE: u32 = 536870912; +pub const PFD_DOUBLEBUFFER_DONTCARE: u32 = 1073741824; +pub const PFD_STEREO_DONTCARE: u32 = 2147483648; +pub const DC_BINADJUST: u32 = 19; +pub const DC_EMF_COMPLIANT: u32 = 20; +pub const DC_DATATYPE_PRODUCED: u32 = 21; +pub const DC_COLLATE: u32 = 22; +pub const DC_MANUFACTURER: u32 = 23; +pub const DC_MODEL: u32 = 24; +pub const DC_PERSONALITY: u32 = 25; +pub const DC_PRINTRATE: u32 = 26; +pub const DC_PRINTRATEUNIT: u32 = 27; +pub const PRINTRATEUNIT_PPM: u32 = 1; +pub const PRINTRATEUNIT_CPS: u32 = 2; +pub const PRINTRATEUNIT_LPM: u32 = 3; +pub const PRINTRATEUNIT_IPM: u32 = 4; +pub const DC_PRINTERMEM: u32 = 28; +pub const DC_MEDIAREADY: u32 = 29; +pub const DC_STAPLE: u32 = 30; +pub const DC_PRINTRATEPPM: u32 = 31; +pub const DC_COLORDEVICE: u32 = 32; +pub const DC_NUP: u32 = 33; +pub const DC_MEDIATYPENAMES: u32 = 34; +pub const DC_MEDIATYPES: u32 = 35; +pub const DCTT_BITMAP: u32 = 1; +pub const DCTT_DOWNLOAD: u32 = 2; +pub const DCTT_SUBDEV: u32 = 4; +pub const DCTT_DOWNLOAD_OUTLINE: u32 = 8; +pub const DCBA_FACEUPNONE: u32 = 0; +pub const DCBA_FACEUPCENTER: u32 = 1; +pub const DCBA_FACEUPLEFT: u32 = 2; +pub const DCBA_FACEUPRIGHT: u32 = 3; +pub const DCBA_FACEDOWNNONE: u32 = 256; +pub const DCBA_FACEDOWNCENTER: u32 = 257; +pub const DCBA_FACEDOWNLEFT: u32 = 258; +pub const DCBA_FACEDOWNRIGHT: u32 = 259; +pub const GS_8BIT_INDICES: u32 = 1; +pub const GGI_MARK_NONEXISTING_GLYPHS: u32 = 1; +pub const MM_MAX_NUMAXES: u32 = 16; +pub const FR_PRIVATE: u32 = 16; +pub const FR_NOT_ENUM: u32 = 32; +pub const MM_MAX_AXES_NAMELEN: u32 = 16; +pub const AC_SRC_OVER: u32 = 0; +pub const AC_SRC_ALPHA: u32 = 1; +pub const GRADIENT_FILL_RECT_H: u32 = 0; +pub const GRADIENT_FILL_RECT_V: u32 = 1; +pub const GRADIENT_FILL_TRIANGLE: u32 = 2; +pub const GRADIENT_FILL_OP_FLAG: u32 = 255; +pub const CA_NEGATIVE: u32 = 1; +pub const CA_LOG_FILTER: u32 = 2; +pub const ILLUMINANT_DEVICE_DEFAULT: u32 = 0; +pub const ILLUMINANT_A: u32 = 1; +pub const ILLUMINANT_B: u32 = 2; +pub const ILLUMINANT_C: u32 = 3; +pub const ILLUMINANT_D50: u32 = 4; +pub const ILLUMINANT_D55: u32 = 5; +pub const ILLUMINANT_D65: u32 = 6; +pub const ILLUMINANT_D75: u32 = 7; +pub const ILLUMINANT_F2: u32 = 8; +pub const ILLUMINANT_MAX_INDEX: u32 = 8; +pub const ILLUMINANT_TUNGSTEN: u32 = 1; +pub const ILLUMINANT_DAYLIGHT: u32 = 3; +pub const ILLUMINANT_FLUORESCENT: u32 = 8; +pub const ILLUMINANT_NTSC: u32 = 3; +pub const DI_APPBANDING: u32 = 1; +pub const DI_ROPS_READ_DESTINATION: u32 = 2; +pub const FONTMAPPER_MAX: u32 = 10; +pub const ICM_OFF: u32 = 1; +pub const ICM_ON: u32 = 2; +pub const ICM_QUERY: u32 = 3; +pub const ICM_DONE_OUTSIDEDC: u32 = 4; +pub const ENHMETA_SIGNATURE: u32 = 1179469088; +pub const ENHMETA_STOCK_OBJECT: u32 = 2147483648; +pub const EMR_HEADER: u32 = 1; +pub const EMR_POLYBEZIER: u32 = 2; +pub const EMR_POLYGON: u32 = 3; +pub const EMR_POLYLINE: u32 = 4; +pub const EMR_POLYBEZIERTO: u32 = 5; +pub const EMR_POLYLINETO: u32 = 6; +pub const EMR_POLYPOLYLINE: u32 = 7; +pub const EMR_POLYPOLYGON: u32 = 8; +pub const EMR_SETWINDOWEXTEX: u32 = 9; +pub const EMR_SETWINDOWORGEX: u32 = 10; +pub const EMR_SETVIEWPORTEXTEX: u32 = 11; +pub const EMR_SETVIEWPORTORGEX: u32 = 12; +pub const EMR_SETBRUSHORGEX: u32 = 13; +pub const EMR_EOF: u32 = 14; +pub const EMR_SETPIXELV: u32 = 15; +pub const EMR_SETMAPPERFLAGS: u32 = 16; +pub const EMR_SETMAPMODE: u32 = 17; +pub const EMR_SETBKMODE: u32 = 18; +pub const EMR_SETPOLYFILLMODE: u32 = 19; +pub const EMR_SETROP2: u32 = 20; +pub const EMR_SETSTRETCHBLTMODE: u32 = 21; +pub const EMR_SETTEXTALIGN: u32 = 22; +pub const EMR_SETCOLORADJUSTMENT: u32 = 23; +pub const EMR_SETTEXTCOLOR: u32 = 24; +pub const EMR_SETBKCOLOR: u32 = 25; +pub const EMR_OFFSETCLIPRGN: u32 = 26; +pub const EMR_MOVETOEX: u32 = 27; +pub const EMR_SETMETARGN: u32 = 28; +pub const EMR_EXCLUDECLIPRECT: u32 = 29; +pub const EMR_INTERSECTCLIPRECT: u32 = 30; +pub const EMR_SCALEVIEWPORTEXTEX: u32 = 31; +pub const EMR_SCALEWINDOWEXTEX: u32 = 32; +pub const EMR_SAVEDC: u32 = 33; +pub const EMR_RESTOREDC: u32 = 34; +pub const EMR_SETWORLDTRANSFORM: u32 = 35; +pub const EMR_MODIFYWORLDTRANSFORM: u32 = 36; +pub const EMR_SELECTOBJECT: u32 = 37; +pub const EMR_CREATEPEN: u32 = 38; +pub const EMR_CREATEBRUSHINDIRECT: u32 = 39; +pub const EMR_DELETEOBJECT: u32 = 40; +pub const EMR_ANGLEARC: u32 = 41; +pub const EMR_ELLIPSE: u32 = 42; +pub const EMR_RECTANGLE: u32 = 43; +pub const EMR_ROUNDRECT: u32 = 44; +pub const EMR_ARC: u32 = 45; +pub const EMR_CHORD: u32 = 46; +pub const EMR_PIE: u32 = 47; +pub const EMR_SELECTPALETTE: u32 = 48; +pub const EMR_CREATEPALETTE: u32 = 49; +pub const EMR_SETPALETTEENTRIES: u32 = 50; +pub const EMR_RESIZEPALETTE: u32 = 51; +pub const EMR_REALIZEPALETTE: u32 = 52; +pub const EMR_EXTFLOODFILL: u32 = 53; +pub const EMR_LINETO: u32 = 54; +pub const EMR_ARCTO: u32 = 55; +pub const EMR_POLYDRAW: u32 = 56; +pub const EMR_SETARCDIRECTION: u32 = 57; +pub const EMR_SETMITERLIMIT: u32 = 58; +pub const EMR_BEGINPATH: u32 = 59; +pub const EMR_ENDPATH: u32 = 60; +pub const EMR_CLOSEFIGURE: u32 = 61; +pub const EMR_FILLPATH: u32 = 62; +pub const EMR_STROKEANDFILLPATH: u32 = 63; +pub const EMR_STROKEPATH: u32 = 64; +pub const EMR_FLATTENPATH: u32 = 65; +pub const EMR_WIDENPATH: u32 = 66; +pub const EMR_SELECTCLIPPATH: u32 = 67; +pub const EMR_ABORTPATH: u32 = 68; +pub const EMR_GDICOMMENT: u32 = 70; +pub const EMR_FILLRGN: u32 = 71; +pub const EMR_FRAMERGN: u32 = 72; +pub const EMR_INVERTRGN: u32 = 73; +pub const EMR_PAINTRGN: u32 = 74; +pub const EMR_EXTSELECTCLIPRGN: u32 = 75; +pub const EMR_BITBLT: u32 = 76; +pub const EMR_STRETCHBLT: u32 = 77; +pub const EMR_MASKBLT: u32 = 78; +pub const EMR_PLGBLT: u32 = 79; +pub const EMR_SETDIBITSTODEVICE: u32 = 80; +pub const EMR_STRETCHDIBITS: u32 = 81; +pub const EMR_EXTCREATEFONTINDIRECTW: u32 = 82; +pub const EMR_EXTTEXTOUTA: u32 = 83; +pub const EMR_EXTTEXTOUTW: u32 = 84; +pub const EMR_POLYBEZIER16: u32 = 85; +pub const EMR_POLYGON16: u32 = 86; +pub const EMR_POLYLINE16: u32 = 87; +pub const EMR_POLYBEZIERTO16: u32 = 88; +pub const EMR_POLYLINETO16: u32 = 89; +pub const EMR_POLYPOLYLINE16: u32 = 90; +pub const EMR_POLYPOLYGON16: u32 = 91; +pub const EMR_POLYDRAW16: u32 = 92; +pub const EMR_CREATEMONOBRUSH: u32 = 93; +pub const EMR_CREATEDIBPATTERNBRUSHPT: u32 = 94; +pub const EMR_EXTCREATEPEN: u32 = 95; +pub const EMR_POLYTEXTOUTA: u32 = 96; +pub const EMR_POLYTEXTOUTW: u32 = 97; +pub const EMR_SETICMMODE: u32 = 98; +pub const EMR_CREATECOLORSPACE: u32 = 99; +pub const EMR_SETCOLORSPACE: u32 = 100; +pub const EMR_DELETECOLORSPACE: u32 = 101; +pub const EMR_GLSRECORD: u32 = 102; +pub const EMR_GLSBOUNDEDRECORD: u32 = 103; +pub const EMR_PIXELFORMAT: u32 = 104; +pub const EMR_RESERVED_105: u32 = 105; +pub const EMR_RESERVED_106: u32 = 106; +pub const EMR_RESERVED_107: u32 = 107; +pub const EMR_RESERVED_108: u32 = 108; +pub const EMR_RESERVED_109: u32 = 109; +pub const EMR_RESERVED_110: u32 = 110; +pub const EMR_COLORCORRECTPALETTE: u32 = 111; +pub const EMR_SETICMPROFILEA: u32 = 112; +pub const EMR_SETICMPROFILEW: u32 = 113; +pub const EMR_ALPHABLEND: u32 = 114; +pub const EMR_SETLAYOUT: u32 = 115; +pub const EMR_TRANSPARENTBLT: u32 = 116; +pub const EMR_RESERVED_117: u32 = 117; +pub const EMR_GRADIENTFILL: u32 = 118; +pub const EMR_RESERVED_119: u32 = 119; +pub const EMR_RESERVED_120: u32 = 120; +pub const EMR_COLORMATCHTOTARGETW: u32 = 121; +pub const EMR_CREATECOLORSPACEW: u32 = 122; +pub const EMR_MIN: u32 = 1; +pub const EMR_MAX: u32 = 122; +pub const SETICMPROFILE_EMBEDED: u32 = 1; +pub const CREATECOLORSPACE_EMBEDED: u32 = 1; +pub const COLORMATCHTOTARGET_EMBEDED: u32 = 1; +pub const GDICOMMENT_IDENTIFIER: u32 = 1128875079; +pub const GDICOMMENT_WINDOWS_METAFILE: u32 = 2147483649; +pub const GDICOMMENT_BEGINGROUP: u32 = 2; +pub const GDICOMMENT_ENDGROUP: u32 = 3; +pub const GDICOMMENT_MULTIFORMATS: u32 = 1073741828; +pub const EPS_SIGNATURE: u32 = 1179865157; +pub const GDICOMMENT_UNICODE_STRING: u32 = 64; +pub const GDICOMMENT_UNICODE_END: u32 = 128; +pub const WGL_FONT_LINES: u32 = 0; +pub const WGL_FONT_POLYGONS: u32 = 1; +pub const LPD_DOUBLEBUFFER: u32 = 1; +pub const LPD_STEREO: u32 = 2; +pub const LPD_SUPPORT_GDI: u32 = 16; +pub const LPD_SUPPORT_OPENGL: u32 = 32; +pub const LPD_SHARE_DEPTH: u32 = 64; +pub const LPD_SHARE_STENCIL: u32 = 128; +pub const LPD_SHARE_ACCUM: u32 = 256; +pub const LPD_SWAP_EXCHANGE: u32 = 512; +pub const LPD_SWAP_COPY: u32 = 1024; +pub const LPD_TRANSPARENT: u32 = 4096; +pub const LPD_TYPE_RGBA: u32 = 0; +pub const LPD_TYPE_COLORINDEX: u32 = 1; +pub const WGL_SWAP_MAIN_PLANE: u32 = 1; +pub const WGL_SWAP_OVERLAY1: u32 = 2; +pub const WGL_SWAP_OVERLAY2: u32 = 4; +pub const WGL_SWAP_OVERLAY3: u32 = 8; +pub const WGL_SWAP_OVERLAY4: u32 = 16; +pub const WGL_SWAP_OVERLAY5: u32 = 32; +pub const WGL_SWAP_OVERLAY6: u32 = 64; +pub const WGL_SWAP_OVERLAY7: u32 = 128; +pub const WGL_SWAP_OVERLAY8: u32 = 256; +pub const WGL_SWAP_OVERLAY9: u32 = 512; +pub const WGL_SWAP_OVERLAY10: u32 = 1024; +pub const WGL_SWAP_OVERLAY11: u32 = 2048; +pub const WGL_SWAP_OVERLAY12: u32 = 4096; +pub const WGL_SWAP_OVERLAY13: u32 = 8192; +pub const WGL_SWAP_OVERLAY14: u32 = 16384; +pub const WGL_SWAP_OVERLAY15: u32 = 32768; +pub const WGL_SWAP_UNDERLAY1: u32 = 65536; +pub const WGL_SWAP_UNDERLAY2: u32 = 131072; +pub const WGL_SWAP_UNDERLAY3: u32 = 262144; +pub const WGL_SWAP_UNDERLAY4: u32 = 524288; +pub const WGL_SWAP_UNDERLAY5: u32 = 1048576; +pub const WGL_SWAP_UNDERLAY6: u32 = 2097152; +pub const WGL_SWAP_UNDERLAY7: u32 = 4194304; +pub const WGL_SWAP_UNDERLAY8: u32 = 8388608; +pub const WGL_SWAP_UNDERLAY9: u32 = 16777216; +pub const WGL_SWAP_UNDERLAY10: u32 = 33554432; +pub const WGL_SWAP_UNDERLAY11: u32 = 67108864; +pub const WGL_SWAP_UNDERLAY12: u32 = 134217728; +pub const WGL_SWAP_UNDERLAY13: u32 = 268435456; +pub const WGL_SWAP_UNDERLAY14: u32 = 536870912; +pub const WGL_SWAP_UNDERLAY15: u32 = 1073741824; +pub const WGL_SWAPMULTIPLE_MAX: u32 = 16; +pub const DIFFERENCE: u32 = 11; +pub const SB_HORZ: u32 = 0; +pub const SB_VERT: u32 = 1; +pub const SB_CTL: u32 = 2; +pub const SB_BOTH: u32 = 3; +pub const SB_LINEUP: u32 = 0; +pub const SB_LINELEFT: u32 = 0; +pub const SB_LINEDOWN: u32 = 1; +pub const SB_LINERIGHT: u32 = 1; +pub const SB_PAGEUP: u32 = 2; +pub const SB_PAGELEFT: u32 = 2; +pub const SB_PAGEDOWN: u32 = 3; +pub const SB_PAGERIGHT: u32 = 3; +pub const SB_THUMBPOSITION: u32 = 4; +pub const SB_THUMBTRACK: u32 = 5; +pub const SB_TOP: u32 = 6; +pub const SB_LEFT: u32 = 6; +pub const SB_BOTTOM: u32 = 7; +pub const SB_RIGHT: u32 = 7; +pub const SB_ENDSCROLL: u32 = 8; +pub const SW_HIDE: u32 = 0; +pub const SW_SHOWNORMAL: u32 = 1; +pub const SW_NORMAL: u32 = 1; +pub const SW_SHOWMINIMIZED: u32 = 2; +pub const SW_SHOWMAXIMIZED: u32 = 3; +pub const SW_MAXIMIZE: u32 = 3; +pub const SW_SHOWNOACTIVATE: u32 = 4; +pub const SW_SHOW: u32 = 5; +pub const SW_MINIMIZE: u32 = 6; +pub const SW_SHOWMINNOACTIVE: u32 = 7; +pub const SW_SHOWNA: u32 = 8; +pub const SW_RESTORE: u32 = 9; +pub const SW_SHOWDEFAULT: u32 = 10; +pub const SW_FORCEMINIMIZE: u32 = 11; +pub const SW_MAX: u32 = 11; +pub const HIDE_WINDOW: u32 = 0; +pub const SHOW_OPENWINDOW: u32 = 1; +pub const SHOW_ICONWINDOW: u32 = 2; +pub const SHOW_FULLSCREEN: u32 = 3; +pub const SHOW_OPENNOACTIVATE: u32 = 4; +pub const SW_PARENTCLOSING: u32 = 1; +pub const SW_OTHERZOOM: u32 = 2; +pub const SW_PARENTOPENING: u32 = 3; +pub const SW_OTHERUNZOOM: u32 = 4; +pub const AW_HOR_POSITIVE: u32 = 1; +pub const AW_HOR_NEGATIVE: u32 = 2; +pub const AW_VER_POSITIVE: u32 = 4; +pub const AW_VER_NEGATIVE: u32 = 8; +pub const AW_CENTER: u32 = 16; +pub const AW_HIDE: u32 = 65536; +pub const AW_ACTIVATE: u32 = 131072; +pub const AW_SLIDE: u32 = 262144; +pub const AW_BLEND: u32 = 524288; +pub const KF_EXTENDED: u32 = 256; +pub const KF_DLGMODE: u32 = 2048; +pub const KF_MENUMODE: u32 = 4096; +pub const KF_ALTDOWN: u32 = 8192; +pub const KF_REPEAT: u32 = 16384; +pub const KF_UP: u32 = 32768; +pub const VK_LBUTTON: u32 = 1; +pub const VK_RBUTTON: u32 = 2; +pub const VK_CANCEL: u32 = 3; +pub const VK_MBUTTON: u32 = 4; +pub const VK_XBUTTON1: u32 = 5; +pub const VK_XBUTTON2: u32 = 6; +pub const VK_BACK: u32 = 8; +pub const VK_TAB: u32 = 9; +pub const VK_CLEAR: u32 = 12; +pub const VK_RETURN: u32 = 13; +pub const VK_SHIFT: u32 = 16; +pub const VK_CONTROL: u32 = 17; +pub const VK_MENU: u32 = 18; +pub const VK_PAUSE: u32 = 19; +pub const VK_CAPITAL: u32 = 20; +pub const VK_KANA: u32 = 21; +pub const VK_HANGEUL: u32 = 21; +pub const VK_HANGUL: u32 = 21; +pub const VK_IME_ON: u32 = 22; +pub const VK_JUNJA: u32 = 23; +pub const VK_FINAL: u32 = 24; +pub const VK_HANJA: u32 = 25; +pub const VK_KANJI: u32 = 25; +pub const VK_IME_OFF: u32 = 26; +pub const VK_ESCAPE: u32 = 27; +pub const VK_CONVERT: u32 = 28; +pub const VK_NONCONVERT: u32 = 29; +pub const VK_ACCEPT: u32 = 30; +pub const VK_MODECHANGE: u32 = 31; +pub const VK_SPACE: u32 = 32; +pub const VK_PRIOR: u32 = 33; +pub const VK_NEXT: u32 = 34; +pub const VK_END: u32 = 35; +pub const VK_HOME: u32 = 36; +pub const VK_LEFT: u32 = 37; +pub const VK_UP: u32 = 38; +pub const VK_RIGHT: u32 = 39; +pub const VK_DOWN: u32 = 40; +pub const VK_SELECT: u32 = 41; +pub const VK_PRINT: u32 = 42; +pub const VK_EXECUTE: u32 = 43; +pub const VK_SNAPSHOT: u32 = 44; +pub const VK_INSERT: u32 = 45; +pub const VK_DELETE: u32 = 46; +pub const VK_HELP: u32 = 47; +pub const VK_LWIN: u32 = 91; +pub const VK_RWIN: u32 = 92; +pub const VK_APPS: u32 = 93; +pub const VK_SLEEP: u32 = 95; +pub const VK_NUMPAD0: u32 = 96; +pub const VK_NUMPAD1: u32 = 97; +pub const VK_NUMPAD2: u32 = 98; +pub const VK_NUMPAD3: u32 = 99; +pub const VK_NUMPAD4: u32 = 100; +pub const VK_NUMPAD5: u32 = 101; +pub const VK_NUMPAD6: u32 = 102; +pub const VK_NUMPAD7: u32 = 103; +pub const VK_NUMPAD8: u32 = 104; +pub const VK_NUMPAD9: u32 = 105; +pub const VK_MULTIPLY: u32 = 106; +pub const VK_ADD: u32 = 107; +pub const VK_SEPARATOR: u32 = 108; +pub const VK_SUBTRACT: u32 = 109; +pub const VK_DECIMAL: u32 = 110; +pub const VK_DIVIDE: u32 = 111; +pub const VK_F1: u32 = 112; +pub const VK_F2: u32 = 113; +pub const VK_F3: u32 = 114; +pub const VK_F4: u32 = 115; +pub const VK_F5: u32 = 116; +pub const VK_F6: u32 = 117; +pub const VK_F7: u32 = 118; +pub const VK_F8: u32 = 119; +pub const VK_F9: u32 = 120; +pub const VK_F10: u32 = 121; +pub const VK_F11: u32 = 122; +pub const VK_F12: u32 = 123; +pub const VK_F13: u32 = 124; +pub const VK_F14: u32 = 125; +pub const VK_F15: u32 = 126; +pub const VK_F16: u32 = 127; +pub const VK_F17: u32 = 128; +pub const VK_F18: u32 = 129; +pub const VK_F19: u32 = 130; +pub const VK_F20: u32 = 131; +pub const VK_F21: u32 = 132; +pub const VK_F22: u32 = 133; +pub const VK_F23: u32 = 134; +pub const VK_F24: u32 = 135; +pub const VK_NAVIGATION_VIEW: u32 = 136; +pub const VK_NAVIGATION_MENU: u32 = 137; +pub const VK_NAVIGATION_UP: u32 = 138; +pub const VK_NAVIGATION_DOWN: u32 = 139; +pub const VK_NAVIGATION_LEFT: u32 = 140; +pub const VK_NAVIGATION_RIGHT: u32 = 141; +pub const VK_NAVIGATION_ACCEPT: u32 = 142; +pub const VK_NAVIGATION_CANCEL: u32 = 143; +pub const VK_NUMLOCK: u32 = 144; +pub const VK_SCROLL: u32 = 145; +pub const VK_OEM_NEC_EQUAL: u32 = 146; +pub const VK_OEM_FJ_JISHO: u32 = 146; +pub const VK_OEM_FJ_MASSHOU: u32 = 147; +pub const VK_OEM_FJ_TOUROKU: u32 = 148; +pub const VK_OEM_FJ_LOYA: u32 = 149; +pub const VK_OEM_FJ_ROYA: u32 = 150; +pub const VK_LSHIFT: u32 = 160; +pub const VK_RSHIFT: u32 = 161; +pub const VK_LCONTROL: u32 = 162; +pub const VK_RCONTROL: u32 = 163; +pub const VK_LMENU: u32 = 164; +pub const VK_RMENU: u32 = 165; +pub const VK_BROWSER_BACK: u32 = 166; +pub const VK_BROWSER_FORWARD: u32 = 167; +pub const VK_BROWSER_REFRESH: u32 = 168; +pub const VK_BROWSER_STOP: u32 = 169; +pub const VK_BROWSER_SEARCH: u32 = 170; +pub const VK_BROWSER_FAVORITES: u32 = 171; +pub const VK_BROWSER_HOME: u32 = 172; +pub const VK_VOLUME_MUTE: u32 = 173; +pub const VK_VOLUME_DOWN: u32 = 174; +pub const VK_VOLUME_UP: u32 = 175; +pub const VK_MEDIA_NEXT_TRACK: u32 = 176; +pub const VK_MEDIA_PREV_TRACK: u32 = 177; +pub const VK_MEDIA_STOP: u32 = 178; +pub const VK_MEDIA_PLAY_PAUSE: u32 = 179; +pub const VK_LAUNCH_MAIL: u32 = 180; +pub const VK_LAUNCH_MEDIA_SELECT: u32 = 181; +pub const VK_LAUNCH_APP1: u32 = 182; +pub const VK_LAUNCH_APP2: u32 = 183; +pub const VK_OEM_1: u32 = 186; +pub const VK_OEM_PLUS: u32 = 187; +pub const VK_OEM_COMMA: u32 = 188; +pub const VK_OEM_MINUS: u32 = 189; +pub const VK_OEM_PERIOD: u32 = 190; +pub const VK_OEM_2: u32 = 191; +pub const VK_OEM_3: u32 = 192; +pub const VK_GAMEPAD_A: u32 = 195; +pub const VK_GAMEPAD_B: u32 = 196; +pub const VK_GAMEPAD_X: u32 = 197; +pub const VK_GAMEPAD_Y: u32 = 198; +pub const VK_GAMEPAD_RIGHT_SHOULDER: u32 = 199; +pub const VK_GAMEPAD_LEFT_SHOULDER: u32 = 200; +pub const VK_GAMEPAD_LEFT_TRIGGER: u32 = 201; +pub const VK_GAMEPAD_RIGHT_TRIGGER: u32 = 202; +pub const VK_GAMEPAD_DPAD_UP: u32 = 203; +pub const VK_GAMEPAD_DPAD_DOWN: u32 = 204; +pub const VK_GAMEPAD_DPAD_LEFT: u32 = 205; +pub const VK_GAMEPAD_DPAD_RIGHT: u32 = 206; +pub const VK_GAMEPAD_MENU: u32 = 207; +pub const VK_GAMEPAD_VIEW: u32 = 208; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON: u32 = 209; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON: u32 = 210; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_UP: u32 = 211; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_DOWN: u32 = 212; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT: u32 = 213; +pub const VK_GAMEPAD_LEFT_THUMBSTICK_LEFT: u32 = 214; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_UP: u32 = 215; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN: u32 = 216; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT: u32 = 217; +pub const VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT: u32 = 218; +pub const VK_OEM_4: u32 = 219; +pub const VK_OEM_5: u32 = 220; +pub const VK_OEM_6: u32 = 221; +pub const VK_OEM_7: u32 = 222; +pub const VK_OEM_8: u32 = 223; +pub const VK_OEM_AX: u32 = 225; +pub const VK_OEM_102: u32 = 226; +pub const VK_ICO_HELP: u32 = 227; +pub const VK_ICO_00: u32 = 228; +pub const VK_PROCESSKEY: u32 = 229; +pub const VK_ICO_CLEAR: u32 = 230; +pub const VK_PACKET: u32 = 231; +pub const VK_OEM_RESET: u32 = 233; +pub const VK_OEM_JUMP: u32 = 234; +pub const VK_OEM_PA1: u32 = 235; +pub const VK_OEM_PA2: u32 = 236; +pub const VK_OEM_PA3: u32 = 237; +pub const VK_OEM_WSCTRL: u32 = 238; +pub const VK_OEM_CUSEL: u32 = 239; +pub const VK_OEM_ATTN: u32 = 240; +pub const VK_OEM_FINISH: u32 = 241; +pub const VK_OEM_COPY: u32 = 242; +pub const VK_OEM_AUTO: u32 = 243; +pub const VK_OEM_ENLW: u32 = 244; +pub const VK_OEM_BACKTAB: u32 = 245; +pub const VK_ATTN: u32 = 246; +pub const VK_CRSEL: u32 = 247; +pub const VK_EXSEL: u32 = 248; +pub const VK_EREOF: u32 = 249; +pub const VK_PLAY: u32 = 250; +pub const VK_ZOOM: u32 = 251; +pub const VK_NONAME: u32 = 252; +pub const VK_PA1: u32 = 253; +pub const VK_OEM_CLEAR: u32 = 254; +pub const WH_MIN: i32 = -1; +pub const WH_MSGFILTER: i32 = -1; +pub const WH_JOURNALRECORD: u32 = 0; +pub const WH_JOURNALPLAYBACK: u32 = 1; +pub const WH_KEYBOARD: u32 = 2; +pub const WH_GETMESSAGE: u32 = 3; +pub const WH_CALLWNDPROC: u32 = 4; +pub const WH_CBT: u32 = 5; +pub const WH_SYSMSGFILTER: u32 = 6; +pub const WH_MOUSE: u32 = 7; +pub const WH_DEBUG: u32 = 9; +pub const WH_SHELL: u32 = 10; +pub const WH_FOREGROUNDIDLE: u32 = 11; +pub const WH_CALLWNDPROCRET: u32 = 12; +pub const WH_KEYBOARD_LL: u32 = 13; +pub const WH_MOUSE_LL: u32 = 14; +pub const WH_MAX: u32 = 14; +pub const WH_MINHOOK: i32 = -1; +pub const WH_MAXHOOK: u32 = 14; +pub const HC_ACTION: u32 = 0; +pub const HC_GETNEXT: u32 = 1; +pub const HC_SKIP: u32 = 2; +pub const HC_NOREMOVE: u32 = 3; +pub const HC_NOREM: u32 = 3; +pub const HC_SYSMODALON: u32 = 4; +pub const HC_SYSMODALOFF: u32 = 5; +pub const HCBT_MOVESIZE: u32 = 0; +pub const HCBT_MINMAX: u32 = 1; +pub const HCBT_QS: u32 = 2; +pub const HCBT_CREATEWND: u32 = 3; +pub const HCBT_DESTROYWND: u32 = 4; +pub const HCBT_ACTIVATE: u32 = 5; +pub const HCBT_CLICKSKIPPED: u32 = 6; +pub const HCBT_KEYSKIPPED: u32 = 7; +pub const HCBT_SYSCOMMAND: u32 = 8; +pub const HCBT_SETFOCUS: u32 = 9; +pub const WTS_CONSOLE_CONNECT: u32 = 1; +pub const WTS_CONSOLE_DISCONNECT: u32 = 2; +pub const WTS_REMOTE_CONNECT: u32 = 3; +pub const WTS_REMOTE_DISCONNECT: u32 = 4; +pub const WTS_SESSION_LOGON: u32 = 5; +pub const WTS_SESSION_LOGOFF: u32 = 6; +pub const WTS_SESSION_LOCK: u32 = 7; +pub const WTS_SESSION_UNLOCK: u32 = 8; +pub const WTS_SESSION_REMOTE_CONTROL: u32 = 9; +pub const WTS_SESSION_CREATE: u32 = 10; +pub const WTS_SESSION_TERMINATE: u32 = 11; +pub const MSGF_DIALOGBOX: u32 = 0; +pub const MSGF_MESSAGEBOX: u32 = 1; +pub const MSGF_MENU: u32 = 2; +pub const MSGF_SCROLLBAR: u32 = 5; +pub const MSGF_NEXTWINDOW: u32 = 6; +pub const MSGF_MAX: u32 = 8; +pub const MSGF_USER: u32 = 4096; +pub const HSHELL_WINDOWCREATED: u32 = 1; +pub const HSHELL_WINDOWDESTROYED: u32 = 2; +pub const HSHELL_ACTIVATESHELLWINDOW: u32 = 3; +pub const HSHELL_WINDOWACTIVATED: u32 = 4; +pub const HSHELL_GETMINRECT: u32 = 5; +pub const HSHELL_REDRAW: u32 = 6; +pub const HSHELL_TASKMAN: u32 = 7; +pub const HSHELL_LANGUAGE: u32 = 8; +pub const HSHELL_SYSMENU: u32 = 9; +pub const HSHELL_ENDTASK: u32 = 10; +pub const HSHELL_ACCESSIBILITYSTATE: u32 = 11; +pub const HSHELL_APPCOMMAND: u32 = 12; +pub const HSHELL_WINDOWREPLACED: u32 = 13; +pub const HSHELL_WINDOWREPLACING: u32 = 14; +pub const HSHELL_MONITORCHANGED: u32 = 16; +pub const HSHELL_HIGHBIT: u32 = 32768; +pub const HSHELL_FLASH: u32 = 32774; +pub const HSHELL_RUDEAPPACTIVATED: u32 = 32772; +pub const APPCOMMAND_BROWSER_BACKWARD: u32 = 1; +pub const APPCOMMAND_BROWSER_FORWARD: u32 = 2; +pub const APPCOMMAND_BROWSER_REFRESH: u32 = 3; +pub const APPCOMMAND_BROWSER_STOP: u32 = 4; +pub const APPCOMMAND_BROWSER_SEARCH: u32 = 5; +pub const APPCOMMAND_BROWSER_FAVORITES: u32 = 6; +pub const APPCOMMAND_BROWSER_HOME: u32 = 7; +pub const APPCOMMAND_VOLUME_MUTE: u32 = 8; +pub const APPCOMMAND_VOLUME_DOWN: u32 = 9; +pub const APPCOMMAND_VOLUME_UP: u32 = 10; +pub const APPCOMMAND_MEDIA_NEXTTRACK: u32 = 11; +pub const APPCOMMAND_MEDIA_PREVIOUSTRACK: u32 = 12; +pub const APPCOMMAND_MEDIA_STOP: u32 = 13; +pub const APPCOMMAND_MEDIA_PLAY_PAUSE: u32 = 14; +pub const APPCOMMAND_LAUNCH_MAIL: u32 = 15; +pub const APPCOMMAND_LAUNCH_MEDIA_SELECT: u32 = 16; +pub const APPCOMMAND_LAUNCH_APP1: u32 = 17; +pub const APPCOMMAND_LAUNCH_APP2: u32 = 18; +pub const APPCOMMAND_BASS_DOWN: u32 = 19; +pub const APPCOMMAND_BASS_BOOST: u32 = 20; +pub const APPCOMMAND_BASS_UP: u32 = 21; +pub const APPCOMMAND_TREBLE_DOWN: u32 = 22; +pub const APPCOMMAND_TREBLE_UP: u32 = 23; +pub const APPCOMMAND_MICROPHONE_VOLUME_MUTE: u32 = 24; +pub const APPCOMMAND_MICROPHONE_VOLUME_DOWN: u32 = 25; +pub const APPCOMMAND_MICROPHONE_VOLUME_UP: u32 = 26; +pub const APPCOMMAND_HELP: u32 = 27; +pub const APPCOMMAND_FIND: u32 = 28; +pub const APPCOMMAND_NEW: u32 = 29; +pub const APPCOMMAND_OPEN: u32 = 30; +pub const APPCOMMAND_CLOSE: u32 = 31; +pub const APPCOMMAND_SAVE: u32 = 32; +pub const APPCOMMAND_PRINT: u32 = 33; +pub const APPCOMMAND_UNDO: u32 = 34; +pub const APPCOMMAND_REDO: u32 = 35; +pub const APPCOMMAND_COPY: u32 = 36; +pub const APPCOMMAND_CUT: u32 = 37; +pub const APPCOMMAND_PASTE: u32 = 38; +pub const APPCOMMAND_REPLY_TO_MAIL: u32 = 39; +pub const APPCOMMAND_FORWARD_MAIL: u32 = 40; +pub const APPCOMMAND_SEND_MAIL: u32 = 41; +pub const APPCOMMAND_SPELL_CHECK: u32 = 42; +pub const APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE: u32 = 43; +pub const APPCOMMAND_MIC_ON_OFF_TOGGLE: u32 = 44; +pub const APPCOMMAND_CORRECTION_LIST: u32 = 45; +pub const APPCOMMAND_MEDIA_PLAY: u32 = 46; +pub const APPCOMMAND_MEDIA_PAUSE: u32 = 47; +pub const APPCOMMAND_MEDIA_RECORD: u32 = 48; +pub const APPCOMMAND_MEDIA_FAST_FORWARD: u32 = 49; +pub const APPCOMMAND_MEDIA_REWIND: u32 = 50; +pub const APPCOMMAND_MEDIA_CHANNEL_UP: u32 = 51; +pub const APPCOMMAND_MEDIA_CHANNEL_DOWN: u32 = 52; +pub const APPCOMMAND_DELETE: u32 = 53; +pub const APPCOMMAND_DWM_FLIP3D: u32 = 54; +pub const FAPPCOMMAND_MOUSE: u32 = 32768; +pub const FAPPCOMMAND_KEY: u32 = 0; +pub const FAPPCOMMAND_OEM: u32 = 4096; +pub const FAPPCOMMAND_MASK: u32 = 61440; +pub const LLKHF_EXTENDED: u32 = 1; +pub const LLKHF_INJECTED: u32 = 16; +pub const LLKHF_ALTDOWN: u32 = 32; +pub const LLKHF_UP: u32 = 128; +pub const LLKHF_LOWER_IL_INJECTED: u32 = 2; +pub const LLMHF_INJECTED: u32 = 1; +pub const LLMHF_LOWER_IL_INJECTED: u32 = 2; +pub const HKL_PREV: u32 = 0; +pub const HKL_NEXT: u32 = 1; +pub const KLF_ACTIVATE: u32 = 1; +pub const KLF_SUBSTITUTE_OK: u32 = 2; +pub const KLF_REORDER: u32 = 8; +pub const KLF_REPLACELANG: u32 = 16; +pub const KLF_NOTELLSHELL: u32 = 128; +pub const KLF_SETFORPROCESS: u32 = 256; +pub const KLF_SHIFTLOCK: u32 = 65536; +pub const KLF_RESET: u32 = 1073741824; +pub const INPUTLANGCHANGE_SYSCHARSET: u32 = 1; +pub const INPUTLANGCHANGE_FORWARD: u32 = 2; +pub const INPUTLANGCHANGE_BACKWARD: u32 = 4; +pub const KL_NAMELENGTH: u32 = 9; +pub const GMMP_USE_DISPLAY_POINTS: u32 = 1; +pub const GMMP_USE_HIGH_RESOLUTION_POINTS: u32 = 2; +pub const DESKTOP_READOBJECTS: u32 = 1; +pub const DESKTOP_CREATEWINDOW: u32 = 2; +pub const DESKTOP_CREATEMENU: u32 = 4; +pub const DESKTOP_HOOKCONTROL: u32 = 8; +pub const DESKTOP_JOURNALRECORD: u32 = 16; +pub const DESKTOP_JOURNALPLAYBACK: u32 = 32; +pub const DESKTOP_ENUMERATE: u32 = 64; +pub const DESKTOP_WRITEOBJECTS: u32 = 128; +pub const DESKTOP_SWITCHDESKTOP: u32 = 256; +pub const DF_ALLOWOTHERACCOUNTHOOK: u32 = 1; +pub const WINSTA_ENUMDESKTOPS: u32 = 1; +pub const WINSTA_READATTRIBUTES: u32 = 2; +pub const WINSTA_ACCESSCLIPBOARD: u32 = 4; +pub const WINSTA_CREATEDESKTOP: u32 = 8; +pub const WINSTA_WRITEATTRIBUTES: u32 = 16; +pub const WINSTA_ACCESSGLOBALATOMS: u32 = 32; +pub const WINSTA_EXITWINDOWS: u32 = 64; +pub const WINSTA_ENUMERATE: u32 = 256; +pub const WINSTA_READSCREEN: u32 = 512; +pub const WINSTA_ALL_ACCESS: u32 = 895; +pub const CWF_CREATE_ONLY: u32 = 1; +pub const WSF_VISIBLE: u32 = 1; +pub const UOI_FLAGS: u32 = 1; +pub const UOI_NAME: u32 = 2; +pub const UOI_TYPE: u32 = 3; +pub const UOI_USER_SID: u32 = 4; +pub const UOI_HEAPSIZE: u32 = 5; +pub const UOI_IO: u32 = 6; +pub const UOI_TIMERPROC_EXCEPTION_SUPPRESSION: u32 = 7; +pub const GWL_WNDPROC: i32 = -4; +pub const GWL_HINSTANCE: i32 = -6; +pub const GWL_HWNDPARENT: i32 = -8; +pub const GWL_STYLE: i32 = -16; +pub const GWL_EXSTYLE: i32 = -20; +pub const GWL_USERDATA: i32 = -21; +pub const GWL_ID: i32 = -12; +pub const GWLP_WNDPROC: i32 = -4; +pub const GWLP_HINSTANCE: i32 = -6; +pub const GWLP_HWNDPARENT: i32 = -8; +pub const GWLP_USERDATA: i32 = -21; +pub const GWLP_ID: i32 = -12; +pub const GCL_MENUNAME: i32 = -8; +pub const GCL_HBRBACKGROUND: i32 = -10; +pub const GCL_HCURSOR: i32 = -12; +pub const GCL_HICON: i32 = -14; +pub const GCL_HMODULE: i32 = -16; +pub const GCL_CBWNDEXTRA: i32 = -18; +pub const GCL_CBCLSEXTRA: i32 = -20; +pub const GCL_WNDPROC: i32 = -24; +pub const GCL_STYLE: i32 = -26; +pub const GCW_ATOM: i32 = -32; +pub const GCL_HICONSM: i32 = -34; +pub const GCLP_MENUNAME: i32 = -8; +pub const GCLP_HBRBACKGROUND: i32 = -10; +pub const GCLP_HCURSOR: i32 = -12; +pub const GCLP_HICON: i32 = -14; +pub const GCLP_HMODULE: i32 = -16; +pub const GCLP_WNDPROC: i32 = -24; +pub const GCLP_HICONSM: i32 = -34; +pub const WM_NULL: u32 = 0; +pub const WM_CREATE: u32 = 1; +pub const WM_DESTROY: u32 = 2; +pub const WM_MOVE: u32 = 3; +pub const WM_SIZE: u32 = 5; +pub const WM_ACTIVATE: u32 = 6; +pub const WA_INACTIVE: u32 = 0; +pub const WA_ACTIVE: u32 = 1; +pub const WA_CLICKACTIVE: u32 = 2; +pub const WM_SETFOCUS: u32 = 7; +pub const WM_KILLFOCUS: u32 = 8; +pub const WM_ENABLE: u32 = 10; +pub const WM_SETREDRAW: u32 = 11; +pub const WM_SETTEXT: u32 = 12; +pub const WM_GETTEXT: u32 = 13; +pub const WM_GETTEXTLENGTH: u32 = 14; +pub const WM_PAINT: u32 = 15; +pub const WM_CLOSE: u32 = 16; +pub const WM_QUERYENDSESSION: u32 = 17; +pub const WM_QUERYOPEN: u32 = 19; +pub const WM_ENDSESSION: u32 = 22; +pub const WM_QUIT: u32 = 18; +pub const WM_ERASEBKGND: u32 = 20; +pub const WM_SYSCOLORCHANGE: u32 = 21; +pub const WM_SHOWWINDOW: u32 = 24; +pub const WM_WININICHANGE: u32 = 26; +pub const WM_SETTINGCHANGE: u32 = 26; +pub const WM_DEVMODECHANGE: u32 = 27; +pub const WM_ACTIVATEAPP: u32 = 28; +pub const WM_FONTCHANGE: u32 = 29; +pub const WM_TIMECHANGE: u32 = 30; +pub const WM_CANCELMODE: u32 = 31; +pub const WM_SETCURSOR: u32 = 32; +pub const WM_MOUSEACTIVATE: u32 = 33; +pub const WM_CHILDACTIVATE: u32 = 34; +pub const WM_QUEUESYNC: u32 = 35; +pub const WM_GETMINMAXINFO: u32 = 36; +pub const WM_PAINTICON: u32 = 38; +pub const WM_ICONERASEBKGND: u32 = 39; +pub const WM_NEXTDLGCTL: u32 = 40; +pub const WM_SPOOLERSTATUS: u32 = 42; +pub const WM_DRAWITEM: u32 = 43; +pub const WM_MEASUREITEM: u32 = 44; +pub const WM_DELETEITEM: u32 = 45; +pub const WM_VKEYTOITEM: u32 = 46; +pub const WM_CHARTOITEM: u32 = 47; +pub const WM_SETFONT: u32 = 48; +pub const WM_GETFONT: u32 = 49; +pub const WM_SETHOTKEY: u32 = 50; +pub const WM_GETHOTKEY: u32 = 51; +pub const WM_QUERYDRAGICON: u32 = 55; +pub const WM_COMPAREITEM: u32 = 57; +pub const WM_GETOBJECT: u32 = 61; +pub const WM_COMPACTING: u32 = 65; +pub const WM_COMMNOTIFY: u32 = 68; +pub const WM_WINDOWPOSCHANGING: u32 = 70; +pub const WM_WINDOWPOSCHANGED: u32 = 71; +pub const WM_POWER: u32 = 72; +pub const PWR_OK: u32 = 1; +pub const PWR_FAIL: i32 = -1; +pub const PWR_SUSPENDREQUEST: u32 = 1; +pub const PWR_SUSPENDRESUME: u32 = 2; +pub const PWR_CRITICALRESUME: u32 = 3; +pub const WM_COPYDATA: u32 = 74; +pub const WM_CANCELJOURNAL: u32 = 75; +pub const WM_NOTIFY: u32 = 78; +pub const WM_INPUTLANGCHANGEREQUEST: u32 = 80; +pub const WM_INPUTLANGCHANGE: u32 = 81; +pub const WM_TCARD: u32 = 82; +pub const WM_HELP: u32 = 83; +pub const WM_USERCHANGED: u32 = 84; +pub const WM_NOTIFYFORMAT: u32 = 85; +pub const NFR_ANSI: u32 = 1; +pub const NFR_UNICODE: u32 = 2; +pub const NF_QUERY: u32 = 3; +pub const NF_REQUERY: u32 = 4; +pub const WM_CONTEXTMENU: u32 = 123; +pub const WM_STYLECHANGING: u32 = 124; +pub const WM_STYLECHANGED: u32 = 125; +pub const WM_DISPLAYCHANGE: u32 = 126; +pub const WM_GETICON: u32 = 127; +pub const WM_SETICON: u32 = 128; +pub const WM_NCCREATE: u32 = 129; +pub const WM_NCDESTROY: u32 = 130; +pub const WM_NCCALCSIZE: u32 = 131; +pub const WM_NCHITTEST: u32 = 132; +pub const WM_NCPAINT: u32 = 133; +pub const WM_NCACTIVATE: u32 = 134; +pub const WM_GETDLGCODE: u32 = 135; +pub const WM_SYNCPAINT: u32 = 136; +pub const WM_NCMOUSEMOVE: u32 = 160; +pub const WM_NCLBUTTONDOWN: u32 = 161; +pub const WM_NCLBUTTONUP: u32 = 162; +pub const WM_NCLBUTTONDBLCLK: u32 = 163; +pub const WM_NCRBUTTONDOWN: u32 = 164; +pub const WM_NCRBUTTONUP: u32 = 165; +pub const WM_NCRBUTTONDBLCLK: u32 = 166; +pub const WM_NCMBUTTONDOWN: u32 = 167; +pub const WM_NCMBUTTONUP: u32 = 168; +pub const WM_NCMBUTTONDBLCLK: u32 = 169; +pub const WM_NCXBUTTONDOWN: u32 = 171; +pub const WM_NCXBUTTONUP: u32 = 172; +pub const WM_NCXBUTTONDBLCLK: u32 = 173; +pub const WM_INPUT_DEVICE_CHANGE: u32 = 254; +pub const WM_INPUT: u32 = 255; +pub const WM_KEYFIRST: u32 = 256; +pub const WM_KEYDOWN: u32 = 256; +pub const WM_KEYUP: u32 = 257; +pub const WM_CHAR: u32 = 258; +pub const WM_DEADCHAR: u32 = 259; +pub const WM_SYSKEYDOWN: u32 = 260; +pub const WM_SYSKEYUP: u32 = 261; +pub const WM_SYSCHAR: u32 = 262; +pub const WM_SYSDEADCHAR: u32 = 263; +pub const WM_UNICHAR: u32 = 265; +pub const WM_KEYLAST: u32 = 265; +pub const UNICODE_NOCHAR: u32 = 65535; +pub const WM_IME_STARTCOMPOSITION: u32 = 269; +pub const WM_IME_ENDCOMPOSITION: u32 = 270; +pub const WM_IME_COMPOSITION: u32 = 271; +pub const WM_IME_KEYLAST: u32 = 271; +pub const WM_INITDIALOG: u32 = 272; +pub const WM_COMMAND: u32 = 273; +pub const WM_SYSCOMMAND: u32 = 274; +pub const WM_TIMER: u32 = 275; +pub const WM_HSCROLL: u32 = 276; +pub const WM_VSCROLL: u32 = 277; +pub const WM_INITMENU: u32 = 278; +pub const WM_INITMENUPOPUP: u32 = 279; +pub const WM_GESTURE: u32 = 281; +pub const WM_GESTURENOTIFY: u32 = 282; +pub const WM_MENUSELECT: u32 = 287; +pub const WM_MENUCHAR: u32 = 288; +pub const WM_ENTERIDLE: u32 = 289; +pub const WM_MENURBUTTONUP: u32 = 290; +pub const WM_MENUDRAG: u32 = 291; +pub const WM_MENUGETOBJECT: u32 = 292; +pub const WM_UNINITMENUPOPUP: u32 = 293; +pub const WM_MENUCOMMAND: u32 = 294; +pub const WM_CHANGEUISTATE: u32 = 295; +pub const WM_UPDATEUISTATE: u32 = 296; +pub const WM_QUERYUISTATE: u32 = 297; +pub const UIS_SET: u32 = 1; +pub const UIS_CLEAR: u32 = 2; +pub const UIS_INITIALIZE: u32 = 3; +pub const UISF_HIDEFOCUS: u32 = 1; +pub const UISF_HIDEACCEL: u32 = 2; +pub const UISF_ACTIVE: u32 = 4; +pub const WM_CTLCOLORMSGBOX: u32 = 306; +pub const WM_CTLCOLOREDIT: u32 = 307; +pub const WM_CTLCOLORLISTBOX: u32 = 308; +pub const WM_CTLCOLORBTN: u32 = 309; +pub const WM_CTLCOLORDLG: u32 = 310; +pub const WM_CTLCOLORSCROLLBAR: u32 = 311; +pub const WM_CTLCOLORSTATIC: u32 = 312; +pub const MN_GETHMENU: u32 = 481; +pub const WM_MOUSEFIRST: u32 = 512; +pub const WM_MOUSEMOVE: u32 = 512; +pub const WM_LBUTTONDOWN: u32 = 513; +pub const WM_LBUTTONUP: u32 = 514; +pub const WM_LBUTTONDBLCLK: u32 = 515; +pub const WM_RBUTTONDOWN: u32 = 516; +pub const WM_RBUTTONUP: u32 = 517; +pub const WM_RBUTTONDBLCLK: u32 = 518; +pub const WM_MBUTTONDOWN: u32 = 519; +pub const WM_MBUTTONUP: u32 = 520; +pub const WM_MBUTTONDBLCLK: u32 = 521; +pub const WM_MOUSEWHEEL: u32 = 522; +pub const WM_XBUTTONDOWN: u32 = 523; +pub const WM_XBUTTONUP: u32 = 524; +pub const WM_XBUTTONDBLCLK: u32 = 525; +pub const WM_MOUSEHWHEEL: u32 = 526; +pub const WM_MOUSELAST: u32 = 526; +pub const WHEEL_DELTA: u32 = 120; +pub const XBUTTON1: u32 = 1; +pub const XBUTTON2: u32 = 2; +pub const WM_PARENTNOTIFY: u32 = 528; +pub const WM_ENTERMENULOOP: u32 = 529; +pub const WM_EXITMENULOOP: u32 = 530; +pub const WM_NEXTMENU: u32 = 531; +pub const WM_SIZING: u32 = 532; +pub const WM_CAPTURECHANGED: u32 = 533; +pub const WM_MOVING: u32 = 534; +pub const WM_POWERBROADCAST: u32 = 536; +pub const PBT_APMQUERYSUSPEND: u32 = 0; +pub const PBT_APMQUERYSTANDBY: u32 = 1; +pub const PBT_APMQUERYSUSPENDFAILED: u32 = 2; +pub const PBT_APMQUERYSTANDBYFAILED: u32 = 3; +pub const PBT_APMSUSPEND: u32 = 4; +pub const PBT_APMSTANDBY: u32 = 5; +pub const PBT_APMRESUMECRITICAL: u32 = 6; +pub const PBT_APMRESUMESUSPEND: u32 = 7; +pub const PBT_APMRESUMESTANDBY: u32 = 8; +pub const PBTF_APMRESUMEFROMFAILURE: u32 = 1; +pub const PBT_APMBATTERYLOW: u32 = 9; +pub const PBT_APMPOWERSTATUSCHANGE: u32 = 10; +pub const PBT_APMOEMEVENT: u32 = 11; +pub const PBT_APMRESUMEAUTOMATIC: u32 = 18; +pub const PBT_POWERSETTINGCHANGE: u32 = 32787; +pub const WM_DEVICECHANGE: u32 = 537; +pub const WM_MDICREATE: u32 = 544; +pub const WM_MDIDESTROY: u32 = 545; +pub const WM_MDIACTIVATE: u32 = 546; +pub const WM_MDIRESTORE: u32 = 547; +pub const WM_MDINEXT: u32 = 548; +pub const WM_MDIMAXIMIZE: u32 = 549; +pub const WM_MDITILE: u32 = 550; +pub const WM_MDICASCADE: u32 = 551; +pub const WM_MDIICONARRANGE: u32 = 552; +pub const WM_MDIGETACTIVE: u32 = 553; +pub const WM_MDISETMENU: u32 = 560; +pub const WM_ENTERSIZEMOVE: u32 = 561; +pub const WM_EXITSIZEMOVE: u32 = 562; +pub const WM_DROPFILES: u32 = 563; +pub const WM_MDIREFRESHMENU: u32 = 564; +pub const WM_POINTERDEVICECHANGE: u32 = 568; +pub const WM_POINTERDEVICEINRANGE: u32 = 569; +pub const WM_POINTERDEVICEOUTOFRANGE: u32 = 570; +pub const WM_TOUCH: u32 = 576; +pub const WM_NCPOINTERUPDATE: u32 = 577; +pub const WM_NCPOINTERDOWN: u32 = 578; +pub const WM_NCPOINTERUP: u32 = 579; +pub const WM_POINTERUPDATE: u32 = 581; +pub const WM_POINTERDOWN: u32 = 582; +pub const WM_POINTERUP: u32 = 583; +pub const WM_POINTERENTER: u32 = 585; +pub const WM_POINTERLEAVE: u32 = 586; +pub const WM_POINTERACTIVATE: u32 = 587; +pub const WM_POINTERCAPTURECHANGED: u32 = 588; +pub const WM_TOUCHHITTESTING: u32 = 589; +pub const WM_POINTERWHEEL: u32 = 590; +pub const WM_POINTERHWHEEL: u32 = 591; +pub const DM_POINTERHITTEST: u32 = 592; +pub const WM_POINTERROUTEDTO: u32 = 593; +pub const WM_POINTERROUTEDAWAY: u32 = 594; +pub const WM_POINTERROUTEDRELEASED: u32 = 595; +pub const WM_IME_SETCONTEXT: u32 = 641; +pub const WM_IME_NOTIFY: u32 = 642; +pub const WM_IME_CONTROL: u32 = 643; +pub const WM_IME_COMPOSITIONFULL: u32 = 644; +pub const WM_IME_SELECT: u32 = 645; +pub const WM_IME_CHAR: u32 = 646; +pub const WM_IME_REQUEST: u32 = 648; +pub const WM_IME_KEYDOWN: u32 = 656; +pub const WM_IME_KEYUP: u32 = 657; +pub const WM_MOUSEHOVER: u32 = 673; +pub const WM_MOUSELEAVE: u32 = 675; +pub const WM_NCMOUSEHOVER: u32 = 672; +pub const WM_NCMOUSELEAVE: u32 = 674; +pub const WM_WTSSESSION_CHANGE: u32 = 689; +pub const WM_TABLET_FIRST: u32 = 704; +pub const WM_TABLET_LAST: u32 = 735; +pub const WM_DPICHANGED: u32 = 736; +pub const WM_DPICHANGED_BEFOREPARENT: u32 = 738; +pub const WM_DPICHANGED_AFTERPARENT: u32 = 739; +pub const WM_GETDPISCALEDSIZE: u32 = 740; +pub const WM_CUT: u32 = 768; +pub const WM_COPY: u32 = 769; +pub const WM_PASTE: u32 = 770; +pub const WM_CLEAR: u32 = 771; +pub const WM_UNDO: u32 = 772; +pub const WM_RENDERFORMAT: u32 = 773; +pub const WM_RENDERALLFORMATS: u32 = 774; +pub const WM_DESTROYCLIPBOARD: u32 = 775; +pub const WM_DRAWCLIPBOARD: u32 = 776; +pub const WM_PAINTCLIPBOARD: u32 = 777; +pub const WM_VSCROLLCLIPBOARD: u32 = 778; +pub const WM_SIZECLIPBOARD: u32 = 779; +pub const WM_ASKCBFORMATNAME: u32 = 780; +pub const WM_CHANGECBCHAIN: u32 = 781; +pub const WM_HSCROLLCLIPBOARD: u32 = 782; +pub const WM_QUERYNEWPALETTE: u32 = 783; +pub const WM_PALETTEISCHANGING: u32 = 784; +pub const WM_PALETTECHANGED: u32 = 785; +pub const WM_HOTKEY: u32 = 786; +pub const WM_PRINT: u32 = 791; +pub const WM_PRINTCLIENT: u32 = 792; +pub const WM_APPCOMMAND: u32 = 793; +pub const WM_THEMECHANGED: u32 = 794; +pub const WM_CLIPBOARDUPDATE: u32 = 797; +pub const WM_DWMCOMPOSITIONCHANGED: u32 = 798; +pub const WM_DWMNCRENDERINGCHANGED: u32 = 799; +pub const WM_DWMCOLORIZATIONCOLORCHANGED: u32 = 800; +pub const WM_DWMWINDOWMAXIMIZEDCHANGE: u32 = 801; +pub const WM_DWMSENDICONICTHUMBNAIL: u32 = 803; +pub const WM_DWMSENDICONICLIVEPREVIEWBITMAP: u32 = 806; +pub const WM_GETTITLEBARINFOEX: u32 = 831; +pub const WM_HANDHELDFIRST: u32 = 856; +pub const WM_HANDHELDLAST: u32 = 863; +pub const WM_AFXFIRST: u32 = 864; +pub const WM_AFXLAST: u32 = 895; +pub const WM_PENWINFIRST: u32 = 896; +pub const WM_PENWINLAST: u32 = 911; +pub const WM_APP: u32 = 32768; +pub const WM_USER: u32 = 1024; +pub const WMSZ_LEFT: u32 = 1; +pub const WMSZ_RIGHT: u32 = 2; +pub const WMSZ_TOP: u32 = 3; +pub const WMSZ_TOPLEFT: u32 = 4; +pub const WMSZ_TOPRIGHT: u32 = 5; +pub const WMSZ_BOTTOM: u32 = 6; +pub const WMSZ_BOTTOMLEFT: u32 = 7; +pub const WMSZ_BOTTOMRIGHT: u32 = 8; +pub const HTERROR: i32 = -2; +pub const HTTRANSPARENT: i32 = -1; +pub const HTNOWHERE: u32 = 0; +pub const HTCLIENT: u32 = 1; +pub const HTCAPTION: u32 = 2; +pub const HTSYSMENU: u32 = 3; +pub const HTGROWBOX: u32 = 4; +pub const HTSIZE: u32 = 4; +pub const HTMENU: u32 = 5; +pub const HTHSCROLL: u32 = 6; +pub const HTVSCROLL: u32 = 7; +pub const HTMINBUTTON: u32 = 8; +pub const HTMAXBUTTON: u32 = 9; +pub const HTLEFT: u32 = 10; +pub const HTRIGHT: u32 = 11; +pub const HTTOP: u32 = 12; +pub const HTTOPLEFT: u32 = 13; +pub const HTTOPRIGHT: u32 = 14; +pub const HTBOTTOM: u32 = 15; +pub const HTBOTTOMLEFT: u32 = 16; +pub const HTBOTTOMRIGHT: u32 = 17; +pub const HTBORDER: u32 = 18; +pub const HTREDUCE: u32 = 8; +pub const HTZOOM: u32 = 9; +pub const HTSIZEFIRST: u32 = 10; +pub const HTSIZELAST: u32 = 17; +pub const HTOBJECT: u32 = 19; +pub const HTCLOSE: u32 = 20; +pub const HTHELP: u32 = 21; +pub const SMTO_NORMAL: u32 = 0; +pub const SMTO_BLOCK: u32 = 1; +pub const SMTO_ABORTIFHUNG: u32 = 2; +pub const SMTO_NOTIMEOUTIFNOTHUNG: u32 = 8; +pub const SMTO_ERRORONEXIT: u32 = 32; +pub const MA_ACTIVATE: u32 = 1; +pub const MA_ACTIVATEANDEAT: u32 = 2; +pub const MA_NOACTIVATE: u32 = 3; +pub const MA_NOACTIVATEANDEAT: u32 = 4; +pub const ICON_SMALL: u32 = 0; +pub const ICON_BIG: u32 = 1; +pub const ICON_SMALL2: u32 = 2; +pub const SIZE_RESTORED: u32 = 0; +pub const SIZE_MINIMIZED: u32 = 1; +pub const SIZE_MAXIMIZED: u32 = 2; +pub const SIZE_MAXSHOW: u32 = 3; +pub const SIZE_MAXHIDE: u32 = 4; +pub const SIZENORMAL: u32 = 0; +pub const SIZEICONIC: u32 = 1; +pub const SIZEFULLSCREEN: u32 = 2; +pub const SIZEZOOMSHOW: u32 = 3; +pub const SIZEZOOMHIDE: u32 = 4; +pub const WVR_ALIGNTOP: u32 = 16; +pub const WVR_ALIGNLEFT: u32 = 32; +pub const WVR_ALIGNBOTTOM: u32 = 64; +pub const WVR_ALIGNRIGHT: u32 = 128; +pub const WVR_HREDRAW: u32 = 256; +pub const WVR_VREDRAW: u32 = 512; +pub const WVR_REDRAW: u32 = 768; +pub const WVR_VALIDRECTS: u32 = 1024; +pub const MK_LBUTTON: u32 = 1; +pub const MK_RBUTTON: u32 = 2; +pub const MK_SHIFT: u32 = 4; +pub const MK_CONTROL: u32 = 8; +pub const MK_MBUTTON: u32 = 16; +pub const MK_XBUTTON1: u32 = 32; +pub const MK_XBUTTON2: u32 = 64; +pub const TME_HOVER: u32 = 1; +pub const TME_LEAVE: u32 = 2; +pub const TME_NONCLIENT: u32 = 16; +pub const TME_QUERY: u32 = 1073741824; +pub const TME_CANCEL: u32 = 2147483648; +pub const HOVER_DEFAULT: u32 = 4294967295; +pub const WS_OVERLAPPED: u32 = 0; +pub const WS_POPUP: u32 = 2147483648; +pub const WS_CHILD: u32 = 1073741824; +pub const WS_MINIMIZE: u32 = 536870912; +pub const WS_VISIBLE: u32 = 268435456; +pub const WS_DISABLED: u32 = 134217728; +pub const WS_CLIPSIBLINGS: u32 = 67108864; +pub const WS_CLIPCHILDREN: u32 = 33554432; +pub const WS_MAXIMIZE: u32 = 16777216; +pub const WS_CAPTION: u32 = 12582912; +pub const WS_BORDER: u32 = 8388608; +pub const WS_DLGFRAME: u32 = 4194304; +pub const WS_VSCROLL: u32 = 2097152; +pub const WS_HSCROLL: u32 = 1048576; +pub const WS_SYSMENU: u32 = 524288; +pub const WS_THICKFRAME: u32 = 262144; +pub const WS_GROUP: u32 = 131072; +pub const WS_TABSTOP: u32 = 65536; +pub const WS_MINIMIZEBOX: u32 = 131072; +pub const WS_MAXIMIZEBOX: u32 = 65536; +pub const WS_TILED: u32 = 0; +pub const WS_ICONIC: u32 = 536870912; +pub const WS_SIZEBOX: u32 = 262144; +pub const WS_OVERLAPPEDWINDOW: u32 = 13565952; +pub const WS_POPUPWINDOW: u32 = 2156396544; +pub const WS_CHILDWINDOW: u32 = 1073741824; +pub const WS_EX_DLGMODALFRAME: u32 = 1; +pub const WS_EX_NOPARENTNOTIFY: u32 = 4; +pub const WS_EX_TOPMOST: u32 = 8; +pub const WS_EX_ACCEPTFILES: u32 = 16; +pub const WS_EX_TRANSPARENT: u32 = 32; +pub const WS_EX_MDICHILD: u32 = 64; +pub const WS_EX_TOOLWINDOW: u32 = 128; +pub const WS_EX_WINDOWEDGE: u32 = 256; +pub const WS_EX_CLIENTEDGE: u32 = 512; +pub const WS_EX_CONTEXTHELP: u32 = 1024; +pub const WS_EX_RIGHT: u32 = 4096; +pub const WS_EX_LEFT: u32 = 0; +pub const WS_EX_RTLREADING: u32 = 8192; +pub const WS_EX_LTRREADING: u32 = 0; +pub const WS_EX_LEFTSCROLLBAR: u32 = 16384; +pub const WS_EX_RIGHTSCROLLBAR: u32 = 0; +pub const WS_EX_CONTROLPARENT: u32 = 65536; +pub const WS_EX_STATICEDGE: u32 = 131072; +pub const WS_EX_APPWINDOW: u32 = 262144; +pub const WS_EX_OVERLAPPEDWINDOW: u32 = 768; +pub const WS_EX_PALETTEWINDOW: u32 = 392; +pub const WS_EX_LAYERED: u32 = 524288; +pub const WS_EX_NOINHERITLAYOUT: u32 = 1048576; +pub const WS_EX_NOREDIRECTIONBITMAP: u32 = 2097152; +pub const WS_EX_LAYOUTRTL: u32 = 4194304; +pub const WS_EX_COMPOSITED: u32 = 33554432; +pub const WS_EX_NOACTIVATE: u32 = 134217728; +pub const CS_VREDRAW: u32 = 1; +pub const CS_HREDRAW: u32 = 2; +pub const CS_DBLCLKS: u32 = 8; +pub const CS_OWNDC: u32 = 32; +pub const CS_CLASSDC: u32 = 64; +pub const CS_PARENTDC: u32 = 128; +pub const CS_NOCLOSE: u32 = 512; +pub const CS_SAVEBITS: u32 = 2048; +pub const CS_BYTEALIGNCLIENT: u32 = 4096; +pub const CS_BYTEALIGNWINDOW: u32 = 8192; +pub const CS_GLOBALCLASS: u32 = 16384; +pub const CS_IME: u32 = 65536; +pub const CS_DROPSHADOW: u32 = 131072; +pub const PRF_CHECKVISIBLE: u32 = 1; +pub const PRF_NONCLIENT: u32 = 2; +pub const PRF_CLIENT: u32 = 4; +pub const PRF_ERASEBKGND: u32 = 8; +pub const PRF_CHILDREN: u32 = 16; +pub const PRF_OWNED: u32 = 32; +pub const BDR_RAISEDOUTER: u32 = 1; +pub const BDR_SUNKENOUTER: u32 = 2; +pub const BDR_RAISEDINNER: u32 = 4; +pub const BDR_SUNKENINNER: u32 = 8; +pub const BDR_OUTER: u32 = 3; +pub const BDR_INNER: u32 = 12; +pub const BDR_RAISED: u32 = 5; +pub const BDR_SUNKEN: u32 = 10; +pub const EDGE_RAISED: u32 = 5; +pub const EDGE_SUNKEN: u32 = 10; +pub const EDGE_ETCHED: u32 = 6; +pub const EDGE_BUMP: u32 = 9; +pub const BF_LEFT: u32 = 1; +pub const BF_TOP: u32 = 2; +pub const BF_RIGHT: u32 = 4; +pub const BF_BOTTOM: u32 = 8; +pub const BF_TOPLEFT: u32 = 3; +pub const BF_TOPRIGHT: u32 = 6; +pub const BF_BOTTOMLEFT: u32 = 9; +pub const BF_BOTTOMRIGHT: u32 = 12; +pub const BF_RECT: u32 = 15; +pub const BF_DIAGONAL: u32 = 16; +pub const BF_DIAGONAL_ENDTOPRIGHT: u32 = 22; +pub const BF_DIAGONAL_ENDTOPLEFT: u32 = 19; +pub const BF_DIAGONAL_ENDBOTTOMLEFT: u32 = 25; +pub const BF_DIAGONAL_ENDBOTTOMRIGHT: u32 = 28; +pub const BF_MIDDLE: u32 = 2048; +pub const BF_SOFT: u32 = 4096; +pub const BF_ADJUST: u32 = 8192; +pub const BF_FLAT: u32 = 16384; +pub const BF_MONO: u32 = 32768; +pub const DFC_CAPTION: u32 = 1; +pub const DFC_MENU: u32 = 2; +pub const DFC_SCROLL: u32 = 3; +pub const DFC_BUTTON: u32 = 4; +pub const DFC_POPUPMENU: u32 = 5; +pub const DFCS_CAPTIONCLOSE: u32 = 0; +pub const DFCS_CAPTIONMIN: u32 = 1; +pub const DFCS_CAPTIONMAX: u32 = 2; +pub const DFCS_CAPTIONRESTORE: u32 = 3; +pub const DFCS_CAPTIONHELP: u32 = 4; +pub const DFCS_MENUARROW: u32 = 0; +pub const DFCS_MENUCHECK: u32 = 1; +pub const DFCS_MENUBULLET: u32 = 2; +pub const DFCS_MENUARROWRIGHT: u32 = 4; +pub const DFCS_SCROLLUP: u32 = 0; +pub const DFCS_SCROLLDOWN: u32 = 1; +pub const DFCS_SCROLLLEFT: u32 = 2; +pub const DFCS_SCROLLRIGHT: u32 = 3; +pub const DFCS_SCROLLCOMBOBOX: u32 = 5; +pub const DFCS_SCROLLSIZEGRIP: u32 = 8; +pub const DFCS_SCROLLSIZEGRIPRIGHT: u32 = 16; +pub const DFCS_BUTTONCHECK: u32 = 0; +pub const DFCS_BUTTONRADIOIMAGE: u32 = 1; +pub const DFCS_BUTTONRADIOMASK: u32 = 2; +pub const DFCS_BUTTONRADIO: u32 = 4; +pub const DFCS_BUTTON3STATE: u32 = 8; +pub const DFCS_BUTTONPUSH: u32 = 16; +pub const DFCS_INACTIVE: u32 = 256; +pub const DFCS_PUSHED: u32 = 512; +pub const DFCS_CHECKED: u32 = 1024; +pub const DFCS_TRANSPARENT: u32 = 2048; +pub const DFCS_HOT: u32 = 4096; +pub const DFCS_ADJUSTRECT: u32 = 8192; +pub const DFCS_FLAT: u32 = 16384; +pub const DFCS_MONO: u32 = 32768; +pub const DC_ACTIVE: u32 = 1; +pub const DC_SMALLCAP: u32 = 2; +pub const DC_ICON: u32 = 4; +pub const DC_TEXT: u32 = 8; +pub const DC_INBUTTON: u32 = 16; +pub const DC_GRADIENT: u32 = 32; +pub const DC_BUTTONS: u32 = 4096; +pub const IDANI_OPEN: u32 = 1; +pub const IDANI_CAPTION: u32 = 3; +pub const CF_TEXT: u32 = 1; +pub const CF_BITMAP: u32 = 2; +pub const CF_METAFILEPICT: u32 = 3; +pub const CF_SYLK: u32 = 4; +pub const CF_DIF: u32 = 5; +pub const CF_TIFF: u32 = 6; +pub const CF_OEMTEXT: u32 = 7; +pub const CF_DIB: u32 = 8; +pub const CF_PALETTE: u32 = 9; +pub const CF_PENDATA: u32 = 10; +pub const CF_RIFF: u32 = 11; +pub const CF_WAVE: u32 = 12; +pub const CF_UNICODETEXT: u32 = 13; +pub const CF_ENHMETAFILE: u32 = 14; +pub const CF_HDROP: u32 = 15; +pub const CF_LOCALE: u32 = 16; +pub const CF_DIBV5: u32 = 17; +pub const CF_MAX: u32 = 18; +pub const CF_OWNERDISPLAY: u32 = 128; +pub const CF_DSPTEXT: u32 = 129; +pub const CF_DSPBITMAP: u32 = 130; +pub const CF_DSPMETAFILEPICT: u32 = 131; +pub const CF_DSPENHMETAFILE: u32 = 142; +pub const CF_PRIVATEFIRST: u32 = 512; +pub const CF_PRIVATELAST: u32 = 767; +pub const CF_GDIOBJFIRST: u32 = 768; +pub const CF_GDIOBJLAST: u32 = 1023; +pub const FVIRTKEY: u32 = 1; +pub const FNOINVERT: u32 = 2; +pub const FSHIFT: u32 = 4; +pub const FCONTROL: u32 = 8; +pub const FALT: u32 = 16; +pub const WPF_SETMINPOSITION: u32 = 1; +pub const WPF_RESTORETOMAXIMIZED: u32 = 2; +pub const WPF_ASYNCWINDOWPLACEMENT: u32 = 4; +pub const ODT_MENU: u32 = 1; +pub const ODT_LISTBOX: u32 = 2; +pub const ODT_COMBOBOX: u32 = 3; +pub const ODT_BUTTON: u32 = 4; +pub const ODT_STATIC: u32 = 5; +pub const ODA_DRAWENTIRE: u32 = 1; +pub const ODA_SELECT: u32 = 2; +pub const ODA_FOCUS: u32 = 4; +pub const ODS_SELECTED: u32 = 1; +pub const ODS_GRAYED: u32 = 2; +pub const ODS_DISABLED: u32 = 4; +pub const ODS_CHECKED: u32 = 8; +pub const ODS_FOCUS: u32 = 16; +pub const ODS_DEFAULT: u32 = 32; +pub const ODS_COMBOBOXEDIT: u32 = 4096; +pub const ODS_HOTLIGHT: u32 = 64; +pub const ODS_INACTIVE: u32 = 128; +pub const ODS_NOACCEL: u32 = 256; +pub const ODS_NOFOCUSRECT: u32 = 512; +pub const PM_NOREMOVE: u32 = 0; +pub const PM_REMOVE: u32 = 1; +pub const PM_NOYIELD: u32 = 2; +pub const MOD_ALT: u32 = 1; +pub const MOD_CONTROL: u32 = 2; +pub const MOD_SHIFT: u32 = 4; +pub const MOD_WIN: u32 = 8; +pub const MOD_NOREPEAT: u32 = 16384; +pub const IDHOT_SNAPWINDOW: i32 = -1; +pub const IDHOT_SNAPDESKTOP: i32 = -2; +pub const ENDSESSION_CLOSEAPP: u32 = 1; +pub const ENDSESSION_CRITICAL: u32 = 1073741824; +pub const ENDSESSION_LOGOFF: u32 = 2147483648; +pub const EWX_LOGOFF: u32 = 0; +pub const EWX_SHUTDOWN: u32 = 1; +pub const EWX_REBOOT: u32 = 2; +pub const EWX_FORCE: u32 = 4; +pub const EWX_POWEROFF: u32 = 8; +pub const EWX_FORCEIFHUNG: u32 = 16; +pub const EWX_QUICKRESOLVE: u32 = 32; +pub const EWX_RESTARTAPPS: u32 = 64; +pub const EWX_HYBRID_SHUTDOWN: u32 = 4194304; +pub const EWX_BOOTOPTIONS: u32 = 16777216; +pub const EWX_ARSO: u32 = 67108864; +pub const BSM_ALLCOMPONENTS: u32 = 0; +pub const BSM_VXDS: u32 = 1; +pub const BSM_NETDRIVER: u32 = 2; +pub const BSM_INSTALLABLEDRIVERS: u32 = 4; +pub const BSM_APPLICATIONS: u32 = 8; +pub const BSM_ALLDESKTOPS: u32 = 16; +pub const BSF_QUERY: u32 = 1; +pub const BSF_IGNORECURRENTTASK: u32 = 2; +pub const BSF_FLUSHDISK: u32 = 4; +pub const BSF_NOHANG: u32 = 8; +pub const BSF_POSTMESSAGE: u32 = 16; +pub const BSF_FORCEIFHUNG: u32 = 32; +pub const BSF_NOTIMEOUTIFNOTHUNG: u32 = 64; +pub const BSF_ALLOWSFW: u32 = 128; +pub const BSF_SENDNOTIFYMESSAGE: u32 = 256; +pub const BSF_RETURNHDESK: u32 = 512; +pub const BSF_LUID: u32 = 1024; +pub const BROADCAST_QUERY_DENY: u32 = 1112363332; +pub const DEVICE_NOTIFY_WINDOW_HANDLE: u32 = 0; +pub const DEVICE_NOTIFY_SERVICE_HANDLE: u32 = 1; +pub const DEVICE_NOTIFY_ALL_INTERFACE_CLASSES: u32 = 4; +pub const ISMEX_NOSEND: u32 = 0; +pub const ISMEX_SEND: u32 = 1; +pub const ISMEX_NOTIFY: u32 = 2; +pub const ISMEX_CALLBACK: u32 = 4; +pub const ISMEX_REPLIED: u32 = 8; +pub const PW_CLIENTONLY: u32 = 1; +pub const PW_RENDERFULLCONTENT: u32 = 2; +pub const LWA_COLORKEY: u32 = 1; +pub const LWA_ALPHA: u32 = 2; +pub const ULW_COLORKEY: u32 = 1; +pub const ULW_ALPHA: u32 = 2; +pub const ULW_OPAQUE: u32 = 4; +pub const ULW_EX_NORESIZE: u32 = 8; +pub const FLASHW_STOP: u32 = 0; +pub const FLASHW_CAPTION: u32 = 1; +pub const FLASHW_TRAY: u32 = 2; +pub const FLASHW_ALL: u32 = 3; +pub const FLASHW_TIMER: u32 = 4; +pub const FLASHW_TIMERNOFG: u32 = 12; +pub const WDA_NONE: u32 = 0; +pub const WDA_MONITOR: u32 = 1; +pub const WDA_EXCLUDEFROMCAPTURE: u32 = 17; +pub const SWP_NOSIZE: u32 = 1; +pub const SWP_NOMOVE: u32 = 2; +pub const SWP_NOZORDER: u32 = 4; +pub const SWP_NOREDRAW: u32 = 8; +pub const SWP_NOACTIVATE: u32 = 16; +pub const SWP_FRAMECHANGED: u32 = 32; +pub const SWP_SHOWWINDOW: u32 = 64; +pub const SWP_HIDEWINDOW: u32 = 128; +pub const SWP_NOCOPYBITS: u32 = 256; +pub const SWP_NOOWNERZORDER: u32 = 512; +pub const SWP_NOSENDCHANGING: u32 = 1024; +pub const SWP_DRAWFRAME: u32 = 32; +pub const SWP_NOREPOSITION: u32 = 512; +pub const SWP_DEFERERASE: u32 = 8192; +pub const SWP_ASYNCWINDOWPOS: u32 = 16384; +pub const DLGWINDOWEXTRA: u32 = 30; +pub const KEYEVENTF_EXTENDEDKEY: u32 = 1; +pub const KEYEVENTF_KEYUP: u32 = 2; +pub const KEYEVENTF_UNICODE: u32 = 4; +pub const KEYEVENTF_SCANCODE: u32 = 8; +pub const MOUSEEVENTF_MOVE: u32 = 1; +pub const MOUSEEVENTF_LEFTDOWN: u32 = 2; +pub const MOUSEEVENTF_LEFTUP: u32 = 4; +pub const MOUSEEVENTF_RIGHTDOWN: u32 = 8; +pub const MOUSEEVENTF_RIGHTUP: u32 = 16; +pub const MOUSEEVENTF_MIDDLEDOWN: u32 = 32; +pub const MOUSEEVENTF_MIDDLEUP: u32 = 64; +pub const MOUSEEVENTF_XDOWN: u32 = 128; +pub const MOUSEEVENTF_XUP: u32 = 256; +pub const MOUSEEVENTF_WHEEL: u32 = 2048; +pub const MOUSEEVENTF_HWHEEL: u32 = 4096; +pub const MOUSEEVENTF_MOVE_NOCOALESCE: u32 = 8192; +pub const MOUSEEVENTF_VIRTUALDESK: u32 = 16384; +pub const MOUSEEVENTF_ABSOLUTE: u32 = 32768; +pub const INPUT_MOUSE: u32 = 0; +pub const INPUT_KEYBOARD: u32 = 1; +pub const INPUT_HARDWARE: u32 = 2; +pub const TOUCHEVENTF_MOVE: u32 = 1; +pub const TOUCHEVENTF_DOWN: u32 = 2; +pub const TOUCHEVENTF_UP: u32 = 4; +pub const TOUCHEVENTF_INRANGE: u32 = 8; +pub const TOUCHEVENTF_PRIMARY: u32 = 16; +pub const TOUCHEVENTF_NOCOALESCE: u32 = 32; +pub const TOUCHEVENTF_PEN: u32 = 64; +pub const TOUCHEVENTF_PALM: u32 = 128; +pub const TOUCHINPUTMASKF_TIMEFROMSYSTEM: u32 = 1; +pub const TOUCHINPUTMASKF_EXTRAINFO: u32 = 2; +pub const TOUCHINPUTMASKF_CONTACTAREA: u32 = 4; +pub const TWF_FINETOUCH: u32 = 1; +pub const TWF_WANTPALM: u32 = 2; +pub const POINTER_FLAG_NONE: u32 = 0; +pub const POINTER_FLAG_NEW: u32 = 1; +pub const POINTER_FLAG_INRANGE: u32 = 2; +pub const POINTER_FLAG_INCONTACT: u32 = 4; +pub const POINTER_FLAG_FIRSTBUTTON: u32 = 16; +pub const POINTER_FLAG_SECONDBUTTON: u32 = 32; +pub const POINTER_FLAG_THIRDBUTTON: u32 = 64; +pub const POINTER_FLAG_FOURTHBUTTON: u32 = 128; +pub const POINTER_FLAG_FIFTHBUTTON: u32 = 256; +pub const POINTER_FLAG_PRIMARY: u32 = 8192; +pub const POINTER_FLAG_CONFIDENCE: u32 = 16384; +pub const POINTER_FLAG_CANCELED: u32 = 32768; +pub const POINTER_FLAG_DOWN: u32 = 65536; +pub const POINTER_FLAG_UPDATE: u32 = 131072; +pub const POINTER_FLAG_UP: u32 = 262144; +pub const POINTER_FLAG_WHEEL: u32 = 524288; +pub const POINTER_FLAG_HWHEEL: u32 = 1048576; +pub const POINTER_FLAG_CAPTURECHANGED: u32 = 2097152; +pub const POINTER_FLAG_HASTRANSFORM: u32 = 4194304; +pub const POINTER_MOD_SHIFT: u32 = 4; +pub const POINTER_MOD_CTRL: u32 = 8; +pub const TOUCH_FLAG_NONE: u32 = 0; +pub const TOUCH_MASK_NONE: u32 = 0; +pub const TOUCH_MASK_CONTACTAREA: u32 = 1; +pub const TOUCH_MASK_ORIENTATION: u32 = 2; +pub const TOUCH_MASK_PRESSURE: u32 = 4; +pub const PEN_FLAG_NONE: u32 = 0; +pub const PEN_FLAG_BARREL: u32 = 1; +pub const PEN_FLAG_INVERTED: u32 = 2; +pub const PEN_FLAG_ERASER: u32 = 4; +pub const PEN_MASK_NONE: u32 = 0; +pub const PEN_MASK_PRESSURE: u32 = 1; +pub const PEN_MASK_ROTATION: u32 = 2; +pub const PEN_MASK_TILT_X: u32 = 4; +pub const PEN_MASK_TILT_Y: u32 = 8; +pub const POINTER_MESSAGE_FLAG_NEW: u32 = 1; +pub const POINTER_MESSAGE_FLAG_INRANGE: u32 = 2; +pub const POINTER_MESSAGE_FLAG_INCONTACT: u32 = 4; +pub const POINTER_MESSAGE_FLAG_FIRSTBUTTON: u32 = 16; +pub const POINTER_MESSAGE_FLAG_SECONDBUTTON: u32 = 32; +pub const POINTER_MESSAGE_FLAG_THIRDBUTTON: u32 = 64; +pub const POINTER_MESSAGE_FLAG_FOURTHBUTTON: u32 = 128; +pub const POINTER_MESSAGE_FLAG_FIFTHBUTTON: u32 = 256; +pub const POINTER_MESSAGE_FLAG_PRIMARY: u32 = 8192; +pub const POINTER_MESSAGE_FLAG_CONFIDENCE: u32 = 16384; +pub const POINTER_MESSAGE_FLAG_CANCELED: u32 = 32768; +pub const PA_ACTIVATE: u32 = 1; +pub const PA_NOACTIVATE: u32 = 3; +pub const MAX_TOUCH_COUNT: u32 = 256; +pub const TOUCH_FEEDBACK_DEFAULT: u32 = 1; +pub const TOUCH_FEEDBACK_INDIRECT: u32 = 2; +pub const TOUCH_FEEDBACK_NONE: u32 = 3; +pub const TOUCH_HIT_TESTING_DEFAULT: u32 = 0; +pub const TOUCH_HIT_TESTING_CLIENT: u32 = 1; +pub const TOUCH_HIT_TESTING_NONE: u32 = 2; +pub const TOUCH_HIT_TESTING_PROXIMITY_CLOSEST: u32 = 0; +pub const TOUCH_HIT_TESTING_PROXIMITY_FARTHEST: u32 = 4095; +pub const GWFS_INCLUDE_ANCESTORS: u32 = 1; +pub const MAPVK_VK_TO_VSC: u32 = 0; +pub const MAPVK_VSC_TO_VK: u32 = 1; +pub const MAPVK_VK_TO_CHAR: u32 = 2; +pub const MAPVK_VSC_TO_VK_EX: u32 = 3; +pub const MAPVK_VK_TO_VSC_EX: u32 = 4; +pub const MWMO_WAITALL: u32 = 1; +pub const MWMO_ALERTABLE: u32 = 2; +pub const MWMO_INPUTAVAILABLE: u32 = 4; +pub const QS_KEY: u32 = 1; +pub const QS_MOUSEMOVE: u32 = 2; +pub const QS_MOUSEBUTTON: u32 = 4; +pub const QS_POSTMESSAGE: u32 = 8; +pub const QS_TIMER: u32 = 16; +pub const QS_PAINT: u32 = 32; +pub const QS_SENDMESSAGE: u32 = 64; +pub const QS_HOTKEY: u32 = 128; +pub const QS_ALLPOSTMESSAGE: u32 = 256; +pub const QS_RAWINPUT: u32 = 1024; +pub const QS_TOUCH: u32 = 2048; +pub const QS_POINTER: u32 = 4096; +pub const QS_MOUSE: u32 = 6; +pub const QS_INPUT: u32 = 7175; +pub const QS_ALLEVENTS: u32 = 7359; +pub const QS_ALLINPUT: u32 = 7423; +pub const USER_TIMER_MAXIMUM: u32 = 2147483647; +pub const USER_TIMER_MINIMUM: u32 = 10; +pub const TIMERV_DEFAULT_COALESCING: u32 = 0; +pub const TIMERV_NO_COALESCING: u32 = 4294967295; +pub const TIMERV_COALESCING_MIN: u32 = 1; +pub const TIMERV_COALESCING_MAX: u32 = 2147483637; +pub const SM_CXSCREEN: u32 = 0; +pub const SM_CYSCREEN: u32 = 1; +pub const SM_CXVSCROLL: u32 = 2; +pub const SM_CYHSCROLL: u32 = 3; +pub const SM_CYCAPTION: u32 = 4; +pub const SM_CXBORDER: u32 = 5; +pub const SM_CYBORDER: u32 = 6; +pub const SM_CXDLGFRAME: u32 = 7; +pub const SM_CYDLGFRAME: u32 = 8; +pub const SM_CYVTHUMB: u32 = 9; +pub const SM_CXHTHUMB: u32 = 10; +pub const SM_CXICON: u32 = 11; +pub const SM_CYICON: u32 = 12; +pub const SM_CXCURSOR: u32 = 13; +pub const SM_CYCURSOR: u32 = 14; +pub const SM_CYMENU: u32 = 15; +pub const SM_CXFULLSCREEN: u32 = 16; +pub const SM_CYFULLSCREEN: u32 = 17; +pub const SM_CYKANJIWINDOW: u32 = 18; +pub const SM_MOUSEPRESENT: u32 = 19; +pub const SM_CYVSCROLL: u32 = 20; +pub const SM_CXHSCROLL: u32 = 21; +pub const SM_DEBUG: u32 = 22; +pub const SM_SWAPBUTTON: u32 = 23; +pub const SM_RESERVED1: u32 = 24; +pub const SM_RESERVED2: u32 = 25; +pub const SM_RESERVED3: u32 = 26; +pub const SM_RESERVED4: u32 = 27; +pub const SM_CXMIN: u32 = 28; +pub const SM_CYMIN: u32 = 29; +pub const SM_CXSIZE: u32 = 30; +pub const SM_CYSIZE: u32 = 31; +pub const SM_CXFRAME: u32 = 32; +pub const SM_CYFRAME: u32 = 33; +pub const SM_CXMINTRACK: u32 = 34; +pub const SM_CYMINTRACK: u32 = 35; +pub const SM_CXDOUBLECLK: u32 = 36; +pub const SM_CYDOUBLECLK: u32 = 37; +pub const SM_CXICONSPACING: u32 = 38; +pub const SM_CYICONSPACING: u32 = 39; +pub const SM_MENUDROPALIGNMENT: u32 = 40; +pub const SM_PENWINDOWS: u32 = 41; +pub const SM_DBCSENABLED: u32 = 42; +pub const SM_CMOUSEBUTTONS: u32 = 43; +pub const SM_CXFIXEDFRAME: u32 = 7; +pub const SM_CYFIXEDFRAME: u32 = 8; +pub const SM_CXSIZEFRAME: u32 = 32; +pub const SM_CYSIZEFRAME: u32 = 33; +pub const SM_SECURE: u32 = 44; +pub const SM_CXEDGE: u32 = 45; +pub const SM_CYEDGE: u32 = 46; +pub const SM_CXMINSPACING: u32 = 47; +pub const SM_CYMINSPACING: u32 = 48; +pub const SM_CXSMICON: u32 = 49; +pub const SM_CYSMICON: u32 = 50; +pub const SM_CYSMCAPTION: u32 = 51; +pub const SM_CXSMSIZE: u32 = 52; +pub const SM_CYSMSIZE: u32 = 53; +pub const SM_CXMENUSIZE: u32 = 54; +pub const SM_CYMENUSIZE: u32 = 55; +pub const SM_ARRANGE: u32 = 56; +pub const SM_CXMINIMIZED: u32 = 57; +pub const SM_CYMINIMIZED: u32 = 58; +pub const SM_CXMAXTRACK: u32 = 59; +pub const SM_CYMAXTRACK: u32 = 60; +pub const SM_CXMAXIMIZED: u32 = 61; +pub const SM_CYMAXIMIZED: u32 = 62; +pub const SM_NETWORK: u32 = 63; +pub const SM_CLEANBOOT: u32 = 67; +pub const SM_CXDRAG: u32 = 68; +pub const SM_CYDRAG: u32 = 69; +pub const SM_SHOWSOUNDS: u32 = 70; +pub const SM_CXMENUCHECK: u32 = 71; +pub const SM_CYMENUCHECK: u32 = 72; +pub const SM_SLOWMACHINE: u32 = 73; +pub const SM_MIDEASTENABLED: u32 = 74; +pub const SM_MOUSEWHEELPRESENT: u32 = 75; +pub const SM_XVIRTUALSCREEN: u32 = 76; +pub const SM_YVIRTUALSCREEN: u32 = 77; +pub const SM_CXVIRTUALSCREEN: u32 = 78; +pub const SM_CYVIRTUALSCREEN: u32 = 79; +pub const SM_CMONITORS: u32 = 80; +pub const SM_SAMEDISPLAYFORMAT: u32 = 81; +pub const SM_IMMENABLED: u32 = 82; +pub const SM_CXFOCUSBORDER: u32 = 83; +pub const SM_CYFOCUSBORDER: u32 = 84; +pub const SM_TABLETPC: u32 = 86; +pub const SM_MEDIACENTER: u32 = 87; +pub const SM_STARTER: u32 = 88; +pub const SM_SERVERR2: u32 = 89; +pub const SM_MOUSEHORIZONTALWHEELPRESENT: u32 = 91; +pub const SM_CXPADDEDBORDER: u32 = 92; +pub const SM_DIGITIZER: u32 = 94; +pub const SM_MAXIMUMTOUCHES: u32 = 95; +pub const SM_CMETRICS: u32 = 97; +pub const SM_REMOTESESSION: u32 = 4096; +pub const SM_SHUTTINGDOWN: u32 = 8192; +pub const SM_REMOTECONTROL: u32 = 8193; +pub const SM_CARETBLINKINGENABLED: u32 = 8194; +pub const SM_CONVERTIBLESLATEMODE: u32 = 8195; +pub const SM_SYSTEMDOCKED: u32 = 8196; +pub const PMB_ACTIVE: u32 = 1; +pub const MNC_IGNORE: u32 = 0; +pub const MNC_CLOSE: u32 = 1; +pub const MNC_EXECUTE: u32 = 2; +pub const MNC_SELECT: u32 = 3; +pub const MNS_NOCHECK: u32 = 2147483648; +pub const MNS_MODELESS: u32 = 1073741824; +pub const MNS_DRAGDROP: u32 = 536870912; +pub const MNS_AUTODISMISS: u32 = 268435456; +pub const MNS_NOTIFYBYPOS: u32 = 134217728; +pub const MNS_CHECKORBMP: u32 = 67108864; +pub const MIM_MAXHEIGHT: u32 = 1; +pub const MIM_BACKGROUND: u32 = 2; +pub const MIM_HELPID: u32 = 4; +pub const MIM_MENUDATA: u32 = 8; +pub const MIM_STYLE: u32 = 16; +pub const MIM_APPLYTOSUBMENUS: u32 = 2147483648; +pub const MND_CONTINUE: u32 = 0; +pub const MND_ENDMENU: u32 = 1; +pub const MNGOF_TOPGAP: u32 = 1; +pub const MNGOF_BOTTOMGAP: u32 = 2; +pub const MNGO_NOINTERFACE: u32 = 0; +pub const MNGO_NOERROR: u32 = 1; +pub const MIIM_STATE: u32 = 1; +pub const MIIM_ID: u32 = 2; +pub const MIIM_SUBMENU: u32 = 4; +pub const MIIM_CHECKMARKS: u32 = 8; +pub const MIIM_TYPE: u32 = 16; +pub const MIIM_DATA: u32 = 32; +pub const MIIM_STRING: u32 = 64; +pub const MIIM_BITMAP: u32 = 128; +pub const MIIM_FTYPE: u32 = 256; +pub const GMDI_USEDISABLED: u32 = 1; +pub const GMDI_GOINTOPOPUPS: u32 = 2; +pub const TPM_LEFTBUTTON: u32 = 0; +pub const TPM_RIGHTBUTTON: u32 = 2; +pub const TPM_LEFTALIGN: u32 = 0; +pub const TPM_CENTERALIGN: u32 = 4; +pub const TPM_RIGHTALIGN: u32 = 8; +pub const TPM_TOPALIGN: u32 = 0; +pub const TPM_VCENTERALIGN: u32 = 16; +pub const TPM_BOTTOMALIGN: u32 = 32; +pub const TPM_HORIZONTAL: u32 = 0; +pub const TPM_VERTICAL: u32 = 64; +pub const TPM_NONOTIFY: u32 = 128; +pub const TPM_RETURNCMD: u32 = 256; +pub const TPM_RECURSE: u32 = 1; +pub const TPM_HORPOSANIMATION: u32 = 1024; +pub const TPM_HORNEGANIMATION: u32 = 2048; +pub const TPM_VERPOSANIMATION: u32 = 4096; +pub const TPM_VERNEGANIMATION: u32 = 8192; +pub const TPM_NOANIMATION: u32 = 16384; +pub const TPM_LAYOUTRTL: u32 = 32768; +pub const TPM_WORKAREA: u32 = 65536; +pub const DOF_EXECUTABLE: u32 = 32769; +pub const DOF_DOCUMENT: u32 = 32770; +pub const DOF_DIRECTORY: u32 = 32771; +pub const DOF_MULTIPLE: u32 = 32772; +pub const DOF_PROGMAN: u32 = 1; +pub const DOF_SHELLDATA: u32 = 2; +pub const DO_DROPFILE: u32 = 1162627398; +pub const DO_PRINTFILE: u32 = 1414419024; +pub const DT_TOP: u32 = 0; +pub const DT_LEFT: u32 = 0; +pub const DT_CENTER: u32 = 1; +pub const DT_RIGHT: u32 = 2; +pub const DT_VCENTER: u32 = 4; +pub const DT_BOTTOM: u32 = 8; +pub const DT_WORDBREAK: u32 = 16; +pub const DT_SINGLELINE: u32 = 32; +pub const DT_EXPANDTABS: u32 = 64; +pub const DT_TABSTOP: u32 = 128; +pub const DT_NOCLIP: u32 = 256; +pub const DT_EXTERNALLEADING: u32 = 512; +pub const DT_CALCRECT: u32 = 1024; +pub const DT_NOPREFIX: u32 = 2048; +pub const DT_INTERNAL: u32 = 4096; +pub const DT_EDITCONTROL: u32 = 8192; +pub const DT_PATH_ELLIPSIS: u32 = 16384; +pub const DT_END_ELLIPSIS: u32 = 32768; +pub const DT_MODIFYSTRING: u32 = 65536; +pub const DT_RTLREADING: u32 = 131072; +pub const DT_WORD_ELLIPSIS: u32 = 262144; +pub const DT_NOFULLWIDTHCHARBREAK: u32 = 524288; +pub const DT_HIDEPREFIX: u32 = 1048576; +pub const DT_PREFIXONLY: u32 = 2097152; +pub const DST_COMPLEX: u32 = 0; +pub const DST_TEXT: u32 = 1; +pub const DST_PREFIXTEXT: u32 = 2; +pub const DST_ICON: u32 = 3; +pub const DST_BITMAP: u32 = 4; +pub const DSS_NORMAL: u32 = 0; +pub const DSS_UNION: u32 = 16; +pub const DSS_DISABLED: u32 = 32; +pub const DSS_MONO: u32 = 128; +pub const DSS_HIDEPREFIX: u32 = 512; +pub const DSS_PREFIXONLY: u32 = 1024; +pub const DSS_RIGHT: u32 = 32768; +pub const LSFW_LOCK: u32 = 1; +pub const LSFW_UNLOCK: u32 = 2; +pub const DCX_WINDOW: u32 = 1; +pub const DCX_CACHE: u32 = 2; +pub const DCX_NORESETATTRS: u32 = 4; +pub const DCX_CLIPCHILDREN: u32 = 8; +pub const DCX_CLIPSIBLINGS: u32 = 16; +pub const DCX_PARENTCLIP: u32 = 32; +pub const DCX_EXCLUDERGN: u32 = 64; +pub const DCX_INTERSECTRGN: u32 = 128; +pub const DCX_EXCLUDEUPDATE: u32 = 256; +pub const DCX_INTERSECTUPDATE: u32 = 512; +pub const DCX_LOCKWINDOWUPDATE: u32 = 1024; +pub const DCX_VALIDATE: u32 = 2097152; +pub const RDW_INVALIDATE: u32 = 1; +pub const RDW_INTERNALPAINT: u32 = 2; +pub const RDW_ERASE: u32 = 4; +pub const RDW_VALIDATE: u32 = 8; +pub const RDW_NOINTERNALPAINT: u32 = 16; +pub const RDW_NOERASE: u32 = 32; +pub const RDW_NOCHILDREN: u32 = 64; +pub const RDW_ALLCHILDREN: u32 = 128; +pub const RDW_UPDATENOW: u32 = 256; +pub const RDW_ERASENOW: u32 = 512; +pub const RDW_FRAME: u32 = 1024; +pub const RDW_NOFRAME: u32 = 2048; +pub const SW_SCROLLCHILDREN: u32 = 1; +pub const SW_INVALIDATE: u32 = 2; +pub const SW_ERASE: u32 = 4; +pub const SW_SMOOTHSCROLL: u32 = 16; +pub const ESB_ENABLE_BOTH: u32 = 0; +pub const ESB_DISABLE_BOTH: u32 = 3; +pub const ESB_DISABLE_LEFT: u32 = 1; +pub const ESB_DISABLE_RIGHT: u32 = 2; +pub const ESB_DISABLE_UP: u32 = 1; +pub const ESB_DISABLE_DOWN: u32 = 2; +pub const ESB_DISABLE_LTUP: u32 = 1; +pub const ESB_DISABLE_RTDN: u32 = 2; +pub const HELPINFO_WINDOW: u32 = 1; +pub const HELPINFO_MENUITEM: u32 = 2; +pub const MB_OK: u32 = 0; +pub const MB_OKCANCEL: u32 = 1; +pub const MB_ABORTRETRYIGNORE: u32 = 2; +pub const MB_YESNOCANCEL: u32 = 3; +pub const MB_YESNO: u32 = 4; +pub const MB_RETRYCANCEL: u32 = 5; +pub const MB_CANCELTRYCONTINUE: u32 = 6; +pub const MB_ICONHAND: u32 = 16; +pub const MB_ICONQUESTION: u32 = 32; +pub const MB_ICONEXCLAMATION: u32 = 48; +pub const MB_ICONASTERISK: u32 = 64; +pub const MB_USERICON: u32 = 128; +pub const MB_ICONWARNING: u32 = 48; +pub const MB_ICONERROR: u32 = 16; +pub const MB_ICONINFORMATION: u32 = 64; +pub const MB_ICONSTOP: u32 = 16; +pub const MB_DEFBUTTON1: u32 = 0; +pub const MB_DEFBUTTON2: u32 = 256; +pub const MB_DEFBUTTON3: u32 = 512; +pub const MB_DEFBUTTON4: u32 = 768; +pub const MB_APPLMODAL: u32 = 0; +pub const MB_SYSTEMMODAL: u32 = 4096; +pub const MB_TASKMODAL: u32 = 8192; +pub const MB_HELP: u32 = 16384; +pub const MB_NOFOCUS: u32 = 32768; +pub const MB_SETFOREGROUND: u32 = 65536; +pub const MB_DEFAULT_DESKTOP_ONLY: u32 = 131072; +pub const MB_TOPMOST: u32 = 262144; +pub const MB_RIGHT: u32 = 524288; +pub const MB_RTLREADING: u32 = 1048576; +pub const MB_SERVICE_NOTIFICATION: u32 = 2097152; +pub const MB_SERVICE_NOTIFICATION_NT3X: u32 = 262144; +pub const MB_TYPEMASK: u32 = 15; +pub const MB_ICONMASK: u32 = 240; +pub const MB_DEFMASK: u32 = 3840; +pub const MB_MODEMASK: u32 = 12288; +pub const MB_MISCMASK: u32 = 49152; +pub const CWP_ALL: u32 = 0; +pub const CWP_SKIPINVISIBLE: u32 = 1; +pub const CWP_SKIPDISABLED: u32 = 2; +pub const CWP_SKIPTRANSPARENT: u32 = 4; +pub const CTLCOLOR_MSGBOX: u32 = 0; +pub const CTLCOLOR_EDIT: u32 = 1; +pub const CTLCOLOR_LISTBOX: u32 = 2; +pub const CTLCOLOR_BTN: u32 = 3; +pub const CTLCOLOR_DLG: u32 = 4; +pub const CTLCOLOR_SCROLLBAR: u32 = 5; +pub const CTLCOLOR_STATIC: u32 = 6; +pub const CTLCOLOR_MAX: u32 = 7; +pub const COLOR_SCROLLBAR: u32 = 0; +pub const COLOR_BACKGROUND: u32 = 1; +pub const COLOR_ACTIVECAPTION: u32 = 2; +pub const COLOR_INACTIVECAPTION: u32 = 3; +pub const COLOR_MENU: u32 = 4; +pub const COLOR_WINDOW: u32 = 5; +pub const COLOR_WINDOWFRAME: u32 = 6; +pub const COLOR_MENUTEXT: u32 = 7; +pub const COLOR_WINDOWTEXT: u32 = 8; +pub const COLOR_CAPTIONTEXT: u32 = 9; +pub const COLOR_ACTIVEBORDER: u32 = 10; +pub const COLOR_INACTIVEBORDER: u32 = 11; +pub const COLOR_APPWORKSPACE: u32 = 12; +pub const COLOR_HIGHLIGHT: u32 = 13; +pub const COLOR_HIGHLIGHTTEXT: u32 = 14; +pub const COLOR_BTNFACE: u32 = 15; +pub const COLOR_BTNSHADOW: u32 = 16; +pub const COLOR_GRAYTEXT: u32 = 17; +pub const COLOR_BTNTEXT: u32 = 18; +pub const COLOR_INACTIVECAPTIONTEXT: u32 = 19; +pub const COLOR_BTNHIGHLIGHT: u32 = 20; +pub const COLOR_3DDKSHADOW: u32 = 21; +pub const COLOR_3DLIGHT: u32 = 22; +pub const COLOR_INFOTEXT: u32 = 23; +pub const COLOR_INFOBK: u32 = 24; +pub const COLOR_HOTLIGHT: u32 = 26; +pub const COLOR_GRADIENTACTIVECAPTION: u32 = 27; +pub const COLOR_GRADIENTINACTIVECAPTION: u32 = 28; +pub const COLOR_MENUHILIGHT: u32 = 29; +pub const COLOR_MENUBAR: u32 = 30; +pub const COLOR_DESKTOP: u32 = 1; +pub const COLOR_3DFACE: u32 = 15; +pub const COLOR_3DSHADOW: u32 = 16; +pub const COLOR_3DHIGHLIGHT: u32 = 20; +pub const COLOR_3DHILIGHT: u32 = 20; +pub const COLOR_BTNHILIGHT: u32 = 20; +pub const GW_HWNDFIRST: u32 = 0; +pub const GW_HWNDLAST: u32 = 1; +pub const GW_HWNDNEXT: u32 = 2; +pub const GW_HWNDPREV: u32 = 3; +pub const GW_OWNER: u32 = 4; +pub const GW_CHILD: u32 = 5; +pub const GW_ENABLEDPOPUP: u32 = 6; +pub const GW_MAX: u32 = 6; +pub const MF_INSERT: u32 = 0; +pub const MF_CHANGE: u32 = 128; +pub const MF_APPEND: u32 = 256; +pub const MF_DELETE: u32 = 512; +pub const MF_REMOVE: u32 = 4096; +pub const MF_BYCOMMAND: u32 = 0; +pub const MF_BYPOSITION: u32 = 1024; +pub const MF_SEPARATOR: u32 = 2048; +pub const MF_ENABLED: u32 = 0; +pub const MF_GRAYED: u32 = 1; +pub const MF_DISABLED: u32 = 2; +pub const MF_UNCHECKED: u32 = 0; +pub const MF_CHECKED: u32 = 8; +pub const MF_USECHECKBITMAPS: u32 = 512; +pub const MF_STRING: u32 = 0; +pub const MF_BITMAP: u32 = 4; +pub const MF_OWNERDRAW: u32 = 256; +pub const MF_POPUP: u32 = 16; +pub const MF_MENUBARBREAK: u32 = 32; +pub const MF_MENUBREAK: u32 = 64; +pub const MF_UNHILITE: u32 = 0; +pub const MF_HILITE: u32 = 128; +pub const MF_DEFAULT: u32 = 4096; +pub const MF_SYSMENU: u32 = 8192; +pub const MF_HELP: u32 = 16384; +pub const MF_RIGHTJUSTIFY: u32 = 16384; +pub const MF_MOUSESELECT: u32 = 32768; +pub const MF_END: u32 = 128; +pub const MFT_STRING: u32 = 0; +pub const MFT_BITMAP: u32 = 4; +pub const MFT_MENUBARBREAK: u32 = 32; +pub const MFT_MENUBREAK: u32 = 64; +pub const MFT_OWNERDRAW: u32 = 256; +pub const MFT_RADIOCHECK: u32 = 512; +pub const MFT_SEPARATOR: u32 = 2048; +pub const MFT_RIGHTORDER: u32 = 8192; +pub const MFT_RIGHTJUSTIFY: u32 = 16384; +pub const MFS_GRAYED: u32 = 3; +pub const MFS_DISABLED: u32 = 3; +pub const MFS_CHECKED: u32 = 8; +pub const MFS_HILITE: u32 = 128; +pub const MFS_ENABLED: u32 = 0; +pub const MFS_UNCHECKED: u32 = 0; +pub const MFS_UNHILITE: u32 = 0; +pub const MFS_DEFAULT: u32 = 4096; +pub const SC_SIZE: u32 = 61440; +pub const SC_MOVE: u32 = 61456; +pub const SC_MINIMIZE: u32 = 61472; +pub const SC_MAXIMIZE: u32 = 61488; +pub const SC_NEXTWINDOW: u32 = 61504; +pub const SC_PREVWINDOW: u32 = 61520; +pub const SC_CLOSE: u32 = 61536; +pub const SC_VSCROLL: u32 = 61552; +pub const SC_HSCROLL: u32 = 61568; +pub const SC_MOUSEMENU: u32 = 61584; +pub const SC_KEYMENU: u32 = 61696; +pub const SC_ARRANGE: u32 = 61712; +pub const SC_RESTORE: u32 = 61728; +pub const SC_TASKLIST: u32 = 61744; +pub const SC_SCREENSAVE: u32 = 61760; +pub const SC_HOTKEY: u32 = 61776; +pub const SC_DEFAULT: u32 = 61792; +pub const SC_MONITORPOWER: u32 = 61808; +pub const SC_CONTEXTHELP: u32 = 61824; +pub const SC_SEPARATOR: u32 = 61455; +pub const SCF_ISSECURE: u32 = 1; +pub const SC_ICON: u32 = 61472; +pub const SC_ZOOM: u32 = 61488; +pub const IMAGE_BITMAP: u32 = 0; +pub const IMAGE_ICON: u32 = 1; +pub const IMAGE_CURSOR: u32 = 2; +pub const IMAGE_ENHMETAFILE: u32 = 3; +pub const LR_DEFAULTCOLOR: u32 = 0; +pub const LR_MONOCHROME: u32 = 1; +pub const LR_COLOR: u32 = 2; +pub const LR_COPYRETURNORG: u32 = 4; +pub const LR_COPYDELETEORG: u32 = 8; +pub const LR_LOADFROMFILE: u32 = 16; +pub const LR_LOADTRANSPARENT: u32 = 32; +pub const LR_DEFAULTSIZE: u32 = 64; +pub const LR_VGACOLOR: u32 = 128; +pub const LR_LOADMAP3DCOLORS: u32 = 4096; +pub const LR_CREATEDIBSECTION: u32 = 8192; +pub const LR_COPYFROMRESOURCE: u32 = 16384; +pub const LR_SHARED: u32 = 32768; +pub const DI_MASK: u32 = 1; +pub const DI_IMAGE: u32 = 2; +pub const DI_NORMAL: u32 = 3; +pub const DI_COMPAT: u32 = 4; +pub const DI_DEFAULTSIZE: u32 = 8; +pub const DI_NOMIRROR: u32 = 16; +pub const RES_ICON: u32 = 1; +pub const RES_CURSOR: u32 = 2; +pub const ORD_LANGDRIVER: u32 = 1; +pub const IDOK: u32 = 1; +pub const IDCANCEL: u32 = 2; +pub const IDABORT: u32 = 3; +pub const IDRETRY: u32 = 4; +pub const IDIGNORE: u32 = 5; +pub const IDYES: u32 = 6; +pub const IDNO: u32 = 7; +pub const IDCLOSE: u32 = 8; +pub const IDHELP: u32 = 9; +pub const IDTRYAGAIN: u32 = 10; +pub const IDCONTINUE: u32 = 11; +pub const IDTIMEOUT: u32 = 32000; +pub const ES_LEFT: u32 = 0; +pub const ES_CENTER: u32 = 1; +pub const ES_RIGHT: u32 = 2; +pub const ES_MULTILINE: u32 = 4; +pub const ES_UPPERCASE: u32 = 8; +pub const ES_LOWERCASE: u32 = 16; +pub const ES_PASSWORD: u32 = 32; +pub const ES_AUTOVSCROLL: u32 = 64; +pub const ES_AUTOHSCROLL: u32 = 128; +pub const ES_NOHIDESEL: u32 = 256; +pub const ES_OEMCONVERT: u32 = 1024; +pub const ES_READONLY: u32 = 2048; +pub const ES_WANTRETURN: u32 = 4096; +pub const ES_NUMBER: u32 = 8192; +pub const EN_SETFOCUS: u32 = 256; +pub const EN_KILLFOCUS: u32 = 512; +pub const EN_CHANGE: u32 = 768; +pub const EN_UPDATE: u32 = 1024; +pub const EN_ERRSPACE: u32 = 1280; +pub const EN_MAXTEXT: u32 = 1281; +pub const EN_HSCROLL: u32 = 1537; +pub const EN_VSCROLL: u32 = 1538; +pub const EN_ALIGN_LTR_EC: u32 = 1792; +pub const EN_ALIGN_RTL_EC: u32 = 1793; +pub const EN_BEFORE_PASTE: u32 = 2048; +pub const EN_AFTER_PASTE: u32 = 2049; +pub const EC_LEFTMARGIN: u32 = 1; +pub const EC_RIGHTMARGIN: u32 = 2; +pub const EC_USEFONTINFO: u32 = 65535; +pub const EMSIS_COMPOSITIONSTRING: u32 = 1; +pub const EIMES_GETCOMPSTRATONCE: u32 = 1; +pub const EIMES_CANCELCOMPSTRINFOCUS: u32 = 2; +pub const EIMES_COMPLETECOMPSTRKILLFOCUS: u32 = 4; +pub const EM_GETSEL: u32 = 176; +pub const EM_SETSEL: u32 = 177; +pub const EM_GETRECT: u32 = 178; +pub const EM_SETRECT: u32 = 179; +pub const EM_SETRECTNP: u32 = 180; +pub const EM_SCROLL: u32 = 181; +pub const EM_LINESCROLL: u32 = 182; +pub const EM_SCROLLCARET: u32 = 183; +pub const EM_GETMODIFY: u32 = 184; +pub const EM_SETMODIFY: u32 = 185; +pub const EM_GETLINECOUNT: u32 = 186; +pub const EM_LINEINDEX: u32 = 187; +pub const EM_SETHANDLE: u32 = 188; +pub const EM_GETHANDLE: u32 = 189; +pub const EM_GETTHUMB: u32 = 190; +pub const EM_LINELENGTH: u32 = 193; +pub const EM_REPLACESEL: u32 = 194; +pub const EM_GETLINE: u32 = 196; +pub const EM_LIMITTEXT: u32 = 197; +pub const EM_CANUNDO: u32 = 198; +pub const EM_UNDO: u32 = 199; +pub const EM_FMTLINES: u32 = 200; +pub const EM_LINEFROMCHAR: u32 = 201; +pub const EM_SETTABSTOPS: u32 = 203; +pub const EM_SETPASSWORDCHAR: u32 = 204; +pub const EM_EMPTYUNDOBUFFER: u32 = 205; +pub const EM_GETFIRSTVISIBLELINE: u32 = 206; +pub const EM_SETREADONLY: u32 = 207; +pub const EM_SETWORDBREAKPROC: u32 = 208; +pub const EM_GETWORDBREAKPROC: u32 = 209; +pub const EM_GETPASSWORDCHAR: u32 = 210; +pub const EM_SETMARGINS: u32 = 211; +pub const EM_GETMARGINS: u32 = 212; +pub const EM_SETLIMITTEXT: u32 = 197; +pub const EM_GETLIMITTEXT: u32 = 213; +pub const EM_POSFROMCHAR: u32 = 214; +pub const EM_CHARFROMPOS: u32 = 215; +pub const EM_SETIMESTATUS: u32 = 216; +pub const EM_GETIMESTATUS: u32 = 217; +pub const EM_ENABLEFEATURE: u32 = 218; +pub const WB_LEFT: u32 = 0; +pub const WB_RIGHT: u32 = 1; +pub const WB_ISDELIMITER: u32 = 2; +pub const BS_PUSHBUTTON: u32 = 0; +pub const BS_DEFPUSHBUTTON: u32 = 1; +pub const BS_CHECKBOX: u32 = 2; +pub const BS_AUTOCHECKBOX: u32 = 3; +pub const BS_RADIOBUTTON: u32 = 4; +pub const BS_3STATE: u32 = 5; +pub const BS_AUTO3STATE: u32 = 6; +pub const BS_GROUPBOX: u32 = 7; +pub const BS_USERBUTTON: u32 = 8; +pub const BS_AUTORADIOBUTTON: u32 = 9; +pub const BS_PUSHBOX: u32 = 10; +pub const BS_OWNERDRAW: u32 = 11; +pub const BS_TYPEMASK: u32 = 15; +pub const BS_LEFTTEXT: u32 = 32; +pub const BS_TEXT: u32 = 0; +pub const BS_ICON: u32 = 64; +pub const BS_BITMAP: u32 = 128; +pub const BS_LEFT: u32 = 256; +pub const BS_RIGHT: u32 = 512; +pub const BS_CENTER: u32 = 768; +pub const BS_TOP: u32 = 1024; +pub const BS_BOTTOM: u32 = 2048; +pub const BS_VCENTER: u32 = 3072; +pub const BS_PUSHLIKE: u32 = 4096; +pub const BS_MULTILINE: u32 = 8192; +pub const BS_NOTIFY: u32 = 16384; +pub const BS_FLAT: u32 = 32768; +pub const BS_RIGHTBUTTON: u32 = 32; +pub const BN_CLICKED: u32 = 0; +pub const BN_PAINT: u32 = 1; +pub const BN_HILITE: u32 = 2; +pub const BN_UNHILITE: u32 = 3; +pub const BN_DISABLE: u32 = 4; +pub const BN_DOUBLECLICKED: u32 = 5; +pub const BN_PUSHED: u32 = 2; +pub const BN_UNPUSHED: u32 = 3; +pub const BN_DBLCLK: u32 = 5; +pub const BN_SETFOCUS: u32 = 6; +pub const BN_KILLFOCUS: u32 = 7; +pub const BM_GETCHECK: u32 = 240; +pub const BM_SETCHECK: u32 = 241; +pub const BM_GETSTATE: u32 = 242; +pub const BM_SETSTATE: u32 = 243; +pub const BM_SETSTYLE: u32 = 244; +pub const BM_CLICK: u32 = 245; +pub const BM_GETIMAGE: u32 = 246; +pub const BM_SETIMAGE: u32 = 247; +pub const BM_SETDONTCLICK: u32 = 248; +pub const BST_UNCHECKED: u32 = 0; +pub const BST_CHECKED: u32 = 1; +pub const BST_INDETERMINATE: u32 = 2; +pub const BST_PUSHED: u32 = 4; +pub const BST_FOCUS: u32 = 8; +pub const SS_LEFT: u32 = 0; +pub const SS_CENTER: u32 = 1; +pub const SS_RIGHT: u32 = 2; +pub const SS_ICON: u32 = 3; +pub const SS_BLACKRECT: u32 = 4; +pub const SS_GRAYRECT: u32 = 5; +pub const SS_WHITERECT: u32 = 6; +pub const SS_BLACKFRAME: u32 = 7; +pub const SS_GRAYFRAME: u32 = 8; +pub const SS_WHITEFRAME: u32 = 9; +pub const SS_USERITEM: u32 = 10; +pub const SS_SIMPLE: u32 = 11; +pub const SS_LEFTNOWORDWRAP: u32 = 12; +pub const SS_OWNERDRAW: u32 = 13; +pub const SS_BITMAP: u32 = 14; +pub const SS_ENHMETAFILE: u32 = 15; +pub const SS_ETCHEDHORZ: u32 = 16; +pub const SS_ETCHEDVERT: u32 = 17; +pub const SS_ETCHEDFRAME: u32 = 18; +pub const SS_TYPEMASK: u32 = 31; +pub const SS_REALSIZECONTROL: u32 = 64; +pub const SS_NOPREFIX: u32 = 128; +pub const SS_NOTIFY: u32 = 256; +pub const SS_CENTERIMAGE: u32 = 512; +pub const SS_RIGHTJUST: u32 = 1024; +pub const SS_REALSIZEIMAGE: u32 = 2048; +pub const SS_SUNKEN: u32 = 4096; +pub const SS_EDITCONTROL: u32 = 8192; +pub const SS_ENDELLIPSIS: u32 = 16384; +pub const SS_PATHELLIPSIS: u32 = 32768; +pub const SS_WORDELLIPSIS: u32 = 49152; +pub const SS_ELLIPSISMASK: u32 = 49152; +pub const STM_SETICON: u32 = 368; +pub const STM_GETICON: u32 = 369; +pub const STM_SETIMAGE: u32 = 370; +pub const STM_GETIMAGE: u32 = 371; +pub const STN_CLICKED: u32 = 0; +pub const STN_DBLCLK: u32 = 1; +pub const STN_ENABLE: u32 = 2; +pub const STN_DISABLE: u32 = 3; +pub const STM_MSGMAX: u32 = 372; +pub const DWL_MSGRESULT: u32 = 0; +pub const DWL_DLGPROC: u32 = 4; +pub const DWL_USER: u32 = 8; +pub const DWLP_MSGRESULT: u32 = 0; +pub const DDL_READWRITE: u32 = 0; +pub const DDL_READONLY: u32 = 1; +pub const DDL_HIDDEN: u32 = 2; +pub const DDL_SYSTEM: u32 = 4; +pub const DDL_DIRECTORY: u32 = 16; +pub const DDL_ARCHIVE: u32 = 32; +pub const DDL_POSTMSGS: u32 = 8192; +pub const DDL_DRIVES: u32 = 16384; +pub const DDL_EXCLUSIVE: u32 = 32768; +pub const DS_ABSALIGN: u32 = 1; +pub const DS_SYSMODAL: u32 = 2; +pub const DS_LOCALEDIT: u32 = 32; +pub const DS_SETFONT: u32 = 64; +pub const DS_MODALFRAME: u32 = 128; +pub const DS_NOIDLEMSG: u32 = 256; +pub const DS_SETFOREGROUND: u32 = 512; +pub const DS_3DLOOK: u32 = 4; +pub const DS_FIXEDSYS: u32 = 8; +pub const DS_NOFAILCREATE: u32 = 16; +pub const DS_CONTROL: u32 = 1024; +pub const DS_CENTER: u32 = 2048; +pub const DS_CENTERMOUSE: u32 = 4096; +pub const DS_CONTEXTHELP: u32 = 8192; +pub const DS_SHELLFONT: u32 = 72; +pub const DM_GETDEFID: u32 = 1024; +pub const DM_SETDEFID: u32 = 1025; +pub const DM_REPOSITION: u32 = 1026; +pub const DC_HASDEFID: u32 = 21323; +pub const DLGC_WANTARROWS: u32 = 1; +pub const DLGC_WANTTAB: u32 = 2; +pub const DLGC_WANTALLKEYS: u32 = 4; +pub const DLGC_WANTMESSAGE: u32 = 4; +pub const DLGC_HASSETSEL: u32 = 8; +pub const DLGC_DEFPUSHBUTTON: u32 = 16; +pub const DLGC_UNDEFPUSHBUTTON: u32 = 32; +pub const DLGC_RADIOBUTTON: u32 = 64; +pub const DLGC_WANTCHARS: u32 = 128; +pub const DLGC_STATIC: u32 = 256; +pub const DLGC_BUTTON: u32 = 8192; +pub const LB_CTLCODE: u32 = 0; +pub const LB_OKAY: u32 = 0; +pub const LB_ERR: i32 = -1; +pub const LB_ERRSPACE: i32 = -2; +pub const LBN_ERRSPACE: i32 = -2; +pub const LBN_SELCHANGE: u32 = 1; +pub const LBN_DBLCLK: u32 = 2; +pub const LBN_SELCANCEL: u32 = 3; +pub const LBN_SETFOCUS: u32 = 4; +pub const LBN_KILLFOCUS: u32 = 5; +pub const LB_ADDSTRING: u32 = 384; +pub const LB_INSERTSTRING: u32 = 385; +pub const LB_DELETESTRING: u32 = 386; +pub const LB_SELITEMRANGEEX: u32 = 387; +pub const LB_RESETCONTENT: u32 = 388; +pub const LB_SETSEL: u32 = 389; +pub const LB_SETCURSEL: u32 = 390; +pub const LB_GETSEL: u32 = 391; +pub const LB_GETCURSEL: u32 = 392; +pub const LB_GETTEXT: u32 = 393; +pub const LB_GETTEXTLEN: u32 = 394; +pub const LB_GETCOUNT: u32 = 395; +pub const LB_SELECTSTRING: u32 = 396; +pub const LB_DIR: u32 = 397; +pub const LB_GETTOPINDEX: u32 = 398; +pub const LB_FINDSTRING: u32 = 399; +pub const LB_GETSELCOUNT: u32 = 400; +pub const LB_GETSELITEMS: u32 = 401; +pub const LB_SETTABSTOPS: u32 = 402; +pub const LB_GETHORIZONTALEXTENT: u32 = 403; +pub const LB_SETHORIZONTALEXTENT: u32 = 404; +pub const LB_SETCOLUMNWIDTH: u32 = 405; +pub const LB_ADDFILE: u32 = 406; +pub const LB_SETTOPINDEX: u32 = 407; +pub const LB_GETITEMRECT: u32 = 408; +pub const LB_GETITEMDATA: u32 = 409; +pub const LB_SETITEMDATA: u32 = 410; +pub const LB_SELITEMRANGE: u32 = 411; +pub const LB_SETANCHORINDEX: u32 = 412; +pub const LB_GETANCHORINDEX: u32 = 413; +pub const LB_SETCARETINDEX: u32 = 414; +pub const LB_GETCARETINDEX: u32 = 415; +pub const LB_SETITEMHEIGHT: u32 = 416; +pub const LB_GETITEMHEIGHT: u32 = 417; +pub const LB_FINDSTRINGEXACT: u32 = 418; +pub const LB_SETLOCALE: u32 = 421; +pub const LB_GETLOCALE: u32 = 422; +pub const LB_SETCOUNT: u32 = 423; +pub const LB_INITSTORAGE: u32 = 424; +pub const LB_ITEMFROMPOINT: u32 = 425; +pub const LB_GETLISTBOXINFO: u32 = 434; +pub const LB_MSGMAX: u32 = 435; +pub const LBS_NOTIFY: u32 = 1; +pub const LBS_SORT: u32 = 2; +pub const LBS_NOREDRAW: u32 = 4; +pub const LBS_MULTIPLESEL: u32 = 8; +pub const LBS_OWNERDRAWFIXED: u32 = 16; +pub const LBS_OWNERDRAWVARIABLE: u32 = 32; +pub const LBS_HASSTRINGS: u32 = 64; +pub const LBS_USETABSTOPS: u32 = 128; +pub const LBS_NOINTEGRALHEIGHT: u32 = 256; +pub const LBS_MULTICOLUMN: u32 = 512; +pub const LBS_WANTKEYBOARDINPUT: u32 = 1024; +pub const LBS_EXTENDEDSEL: u32 = 2048; +pub const LBS_DISABLENOSCROLL: u32 = 4096; +pub const LBS_NODATA: u32 = 8192; +pub const LBS_NOSEL: u32 = 16384; +pub const LBS_COMBOBOX: u32 = 32768; +pub const LBS_STANDARD: u32 = 10485763; +pub const CB_OKAY: u32 = 0; +pub const CB_ERR: i32 = -1; +pub const CB_ERRSPACE: i32 = -2; +pub const CBN_ERRSPACE: i32 = -1; +pub const CBN_SELCHANGE: u32 = 1; +pub const CBN_DBLCLK: u32 = 2; +pub const CBN_SETFOCUS: u32 = 3; +pub const CBN_KILLFOCUS: u32 = 4; +pub const CBN_EDITCHANGE: u32 = 5; +pub const CBN_EDITUPDATE: u32 = 6; +pub const CBN_DROPDOWN: u32 = 7; +pub const CBN_CLOSEUP: u32 = 8; +pub const CBN_SELENDOK: u32 = 9; +pub const CBN_SELENDCANCEL: u32 = 10; +pub const CBS_SIMPLE: u32 = 1; +pub const CBS_DROPDOWN: u32 = 2; +pub const CBS_DROPDOWNLIST: u32 = 3; +pub const CBS_OWNERDRAWFIXED: u32 = 16; +pub const CBS_OWNERDRAWVARIABLE: u32 = 32; +pub const CBS_AUTOHSCROLL: u32 = 64; +pub const CBS_OEMCONVERT: u32 = 128; +pub const CBS_SORT: u32 = 256; +pub const CBS_HASSTRINGS: u32 = 512; +pub const CBS_NOINTEGRALHEIGHT: u32 = 1024; +pub const CBS_DISABLENOSCROLL: u32 = 2048; +pub const CBS_UPPERCASE: u32 = 8192; +pub const CBS_LOWERCASE: u32 = 16384; +pub const CB_GETEDITSEL: u32 = 320; +pub const CB_LIMITTEXT: u32 = 321; +pub const CB_SETEDITSEL: u32 = 322; +pub const CB_ADDSTRING: u32 = 323; +pub const CB_DELETESTRING: u32 = 324; +pub const CB_DIR: u32 = 325; +pub const CB_GETCOUNT: u32 = 326; +pub const CB_GETCURSEL: u32 = 327; +pub const CB_GETLBTEXT: u32 = 328; +pub const CB_GETLBTEXTLEN: u32 = 329; +pub const CB_INSERTSTRING: u32 = 330; +pub const CB_RESETCONTENT: u32 = 331; +pub const CB_FINDSTRING: u32 = 332; +pub const CB_SELECTSTRING: u32 = 333; +pub const CB_SETCURSEL: u32 = 334; +pub const CB_SHOWDROPDOWN: u32 = 335; +pub const CB_GETITEMDATA: u32 = 336; +pub const CB_SETITEMDATA: u32 = 337; +pub const CB_GETDROPPEDCONTROLRECT: u32 = 338; +pub const CB_SETITEMHEIGHT: u32 = 339; +pub const CB_GETITEMHEIGHT: u32 = 340; +pub const CB_SETEXTENDEDUI: u32 = 341; +pub const CB_GETEXTENDEDUI: u32 = 342; +pub const CB_GETDROPPEDSTATE: u32 = 343; +pub const CB_FINDSTRINGEXACT: u32 = 344; +pub const CB_SETLOCALE: u32 = 345; +pub const CB_GETLOCALE: u32 = 346; +pub const CB_GETTOPINDEX: u32 = 347; +pub const CB_SETTOPINDEX: u32 = 348; +pub const CB_GETHORIZONTALEXTENT: u32 = 349; +pub const CB_SETHORIZONTALEXTENT: u32 = 350; +pub const CB_GETDROPPEDWIDTH: u32 = 351; +pub const CB_SETDROPPEDWIDTH: u32 = 352; +pub const CB_INITSTORAGE: u32 = 353; +pub const CB_GETCOMBOBOXINFO: u32 = 356; +pub const CB_MSGMAX: u32 = 357; +pub const SBS_HORZ: u32 = 0; +pub const SBS_VERT: u32 = 1; +pub const SBS_TOPALIGN: u32 = 2; +pub const SBS_LEFTALIGN: u32 = 2; +pub const SBS_BOTTOMALIGN: u32 = 4; +pub const SBS_RIGHTALIGN: u32 = 4; +pub const SBS_SIZEBOXTOPLEFTALIGN: u32 = 2; +pub const SBS_SIZEBOXBOTTOMRIGHTALIGN: u32 = 4; +pub const SBS_SIZEBOX: u32 = 8; +pub const SBS_SIZEGRIP: u32 = 16; +pub const SBM_SETPOS: u32 = 224; +pub const SBM_GETPOS: u32 = 225; +pub const SBM_SETRANGE: u32 = 226; +pub const SBM_SETRANGEREDRAW: u32 = 230; +pub const SBM_GETRANGE: u32 = 227; +pub const SBM_ENABLE_ARROWS: u32 = 228; +pub const SBM_SETSCROLLINFO: u32 = 233; +pub const SBM_GETSCROLLINFO: u32 = 234; +pub const SBM_GETSCROLLBARINFO: u32 = 235; +pub const SIF_RANGE: u32 = 1; +pub const SIF_PAGE: u32 = 2; +pub const SIF_POS: u32 = 4; +pub const SIF_DISABLENOSCROLL: u32 = 8; +pub const SIF_TRACKPOS: u32 = 16; +pub const SIF_ALL: u32 = 23; +pub const MDIS_ALLCHILDSTYLES: u32 = 1; +pub const MDITILE_VERTICAL: u32 = 0; +pub const MDITILE_HORIZONTAL: u32 = 1; +pub const MDITILE_SKIPDISABLED: u32 = 2; +pub const MDITILE_ZORDER: u32 = 4; +pub const HELP_CONTEXT: u32 = 1; +pub const HELP_QUIT: u32 = 2; +pub const HELP_INDEX: u32 = 3; +pub const HELP_CONTENTS: u32 = 3; +pub const HELP_HELPONHELP: u32 = 4; +pub const HELP_SETINDEX: u32 = 5; +pub const HELP_SETCONTENTS: u32 = 5; +pub const HELP_CONTEXTPOPUP: u32 = 8; +pub const HELP_FORCEFILE: u32 = 9; +pub const HELP_KEY: u32 = 257; +pub const HELP_COMMAND: u32 = 258; +pub const HELP_PARTIALKEY: u32 = 261; +pub const HELP_MULTIKEY: u32 = 513; +pub const HELP_SETWINPOS: u32 = 515; +pub const HELP_CONTEXTMENU: u32 = 10; +pub const HELP_FINDER: u32 = 11; +pub const HELP_WM_HELP: u32 = 12; +pub const HELP_SETPOPUP_POS: u32 = 13; +pub const HELP_TCARD: u32 = 32768; +pub const HELP_TCARD_DATA: u32 = 16; +pub const HELP_TCARD_OTHER_CALLER: u32 = 17; +pub const IDH_NO_HELP: u32 = 28440; +pub const IDH_MISSING_CONTEXT: u32 = 28441; +pub const IDH_GENERIC_HELP_BUTTON: u32 = 28442; +pub const IDH_OK: u32 = 28443; +pub const IDH_CANCEL: u32 = 28444; +pub const IDH_HELP: u32 = 28445; +pub const GR_GDIOBJECTS: u32 = 0; +pub const GR_USEROBJECTS: u32 = 1; +pub const GR_GDIOBJECTS_PEAK: u32 = 2; +pub const GR_USEROBJECTS_PEAK: u32 = 4; +pub const SPI_GETBEEP: u32 = 1; +pub const SPI_SETBEEP: u32 = 2; +pub const SPI_GETMOUSE: u32 = 3; +pub const SPI_SETMOUSE: u32 = 4; +pub const SPI_GETBORDER: u32 = 5; +pub const SPI_SETBORDER: u32 = 6; +pub const SPI_GETKEYBOARDSPEED: u32 = 10; +pub const SPI_SETKEYBOARDSPEED: u32 = 11; +pub const SPI_LANGDRIVER: u32 = 12; +pub const SPI_ICONHORIZONTALSPACING: u32 = 13; +pub const SPI_GETSCREENSAVETIMEOUT: u32 = 14; +pub const SPI_SETSCREENSAVETIMEOUT: u32 = 15; +pub const SPI_GETSCREENSAVEACTIVE: u32 = 16; +pub const SPI_SETSCREENSAVEACTIVE: u32 = 17; +pub const SPI_GETGRIDGRANULARITY: u32 = 18; +pub const SPI_SETGRIDGRANULARITY: u32 = 19; +pub const SPI_SETDESKWALLPAPER: u32 = 20; +pub const SPI_SETDESKPATTERN: u32 = 21; +pub const SPI_GETKEYBOARDDELAY: u32 = 22; +pub const SPI_SETKEYBOARDDELAY: u32 = 23; +pub const SPI_ICONVERTICALSPACING: u32 = 24; +pub const SPI_GETICONTITLEWRAP: u32 = 25; +pub const SPI_SETICONTITLEWRAP: u32 = 26; +pub const SPI_GETMENUDROPALIGNMENT: u32 = 27; +pub const SPI_SETMENUDROPALIGNMENT: u32 = 28; +pub const SPI_SETDOUBLECLKWIDTH: u32 = 29; +pub const SPI_SETDOUBLECLKHEIGHT: u32 = 30; +pub const SPI_GETICONTITLELOGFONT: u32 = 31; +pub const SPI_SETDOUBLECLICKTIME: u32 = 32; +pub const SPI_SETMOUSEBUTTONSWAP: u32 = 33; +pub const SPI_SETICONTITLELOGFONT: u32 = 34; +pub const SPI_GETFASTTASKSWITCH: u32 = 35; +pub const SPI_SETFASTTASKSWITCH: u32 = 36; +pub const SPI_SETDRAGFULLWINDOWS: u32 = 37; +pub const SPI_GETDRAGFULLWINDOWS: u32 = 38; +pub const SPI_GETNONCLIENTMETRICS: u32 = 41; +pub const SPI_SETNONCLIENTMETRICS: u32 = 42; +pub const SPI_GETMINIMIZEDMETRICS: u32 = 43; +pub const SPI_SETMINIMIZEDMETRICS: u32 = 44; +pub const SPI_GETICONMETRICS: u32 = 45; +pub const SPI_SETICONMETRICS: u32 = 46; +pub const SPI_SETWORKAREA: u32 = 47; +pub const SPI_GETWORKAREA: u32 = 48; +pub const SPI_SETPENWINDOWS: u32 = 49; +pub const SPI_GETHIGHCONTRAST: u32 = 66; +pub const SPI_SETHIGHCONTRAST: u32 = 67; +pub const SPI_GETKEYBOARDPREF: u32 = 68; +pub const SPI_SETKEYBOARDPREF: u32 = 69; +pub const SPI_GETSCREENREADER: u32 = 70; +pub const SPI_SETSCREENREADER: u32 = 71; +pub const SPI_GETANIMATION: u32 = 72; +pub const SPI_SETANIMATION: u32 = 73; +pub const SPI_GETFONTSMOOTHING: u32 = 74; +pub const SPI_SETFONTSMOOTHING: u32 = 75; +pub const SPI_SETDRAGWIDTH: u32 = 76; +pub const SPI_SETDRAGHEIGHT: u32 = 77; +pub const SPI_SETHANDHELD: u32 = 78; +pub const SPI_GETLOWPOWERTIMEOUT: u32 = 79; +pub const SPI_GETPOWEROFFTIMEOUT: u32 = 80; +pub const SPI_SETLOWPOWERTIMEOUT: u32 = 81; +pub const SPI_SETPOWEROFFTIMEOUT: u32 = 82; +pub const SPI_GETLOWPOWERACTIVE: u32 = 83; +pub const SPI_GETPOWEROFFACTIVE: u32 = 84; +pub const SPI_SETLOWPOWERACTIVE: u32 = 85; +pub const SPI_SETPOWEROFFACTIVE: u32 = 86; +pub const SPI_SETCURSORS: u32 = 87; +pub const SPI_SETICONS: u32 = 88; +pub const SPI_GETDEFAULTINPUTLANG: u32 = 89; +pub const SPI_SETDEFAULTINPUTLANG: u32 = 90; +pub const SPI_SETLANGTOGGLE: u32 = 91; +pub const SPI_GETWINDOWSEXTENSION: u32 = 92; +pub const SPI_SETMOUSETRAILS: u32 = 93; +pub const SPI_GETMOUSETRAILS: u32 = 94; +pub const SPI_SETSCREENSAVERRUNNING: u32 = 97; +pub const SPI_SCREENSAVERRUNNING: u32 = 97; +pub const SPI_GETFILTERKEYS: u32 = 50; +pub const SPI_SETFILTERKEYS: u32 = 51; +pub const SPI_GETTOGGLEKEYS: u32 = 52; +pub const SPI_SETTOGGLEKEYS: u32 = 53; +pub const SPI_GETMOUSEKEYS: u32 = 54; +pub const SPI_SETMOUSEKEYS: u32 = 55; +pub const SPI_GETSHOWSOUNDS: u32 = 56; +pub const SPI_SETSHOWSOUNDS: u32 = 57; +pub const SPI_GETSTICKYKEYS: u32 = 58; +pub const SPI_SETSTICKYKEYS: u32 = 59; +pub const SPI_GETACCESSTIMEOUT: u32 = 60; +pub const SPI_SETACCESSTIMEOUT: u32 = 61; +pub const SPI_GETSERIALKEYS: u32 = 62; +pub const SPI_SETSERIALKEYS: u32 = 63; +pub const SPI_GETSOUNDSENTRY: u32 = 64; +pub const SPI_SETSOUNDSENTRY: u32 = 65; +pub const SPI_GETSNAPTODEFBUTTON: u32 = 95; +pub const SPI_SETSNAPTODEFBUTTON: u32 = 96; +pub const SPI_GETMOUSEHOVERWIDTH: u32 = 98; +pub const SPI_SETMOUSEHOVERWIDTH: u32 = 99; +pub const SPI_GETMOUSEHOVERHEIGHT: u32 = 100; +pub const SPI_SETMOUSEHOVERHEIGHT: u32 = 101; +pub const SPI_GETMOUSEHOVERTIME: u32 = 102; +pub const SPI_SETMOUSEHOVERTIME: u32 = 103; +pub const SPI_GETWHEELSCROLLLINES: u32 = 104; +pub const SPI_SETWHEELSCROLLLINES: u32 = 105; +pub const SPI_GETMENUSHOWDELAY: u32 = 106; +pub const SPI_SETMENUSHOWDELAY: u32 = 107; +pub const SPI_GETWHEELSCROLLCHARS: u32 = 108; +pub const SPI_SETWHEELSCROLLCHARS: u32 = 109; +pub const SPI_GETSHOWIMEUI: u32 = 110; +pub const SPI_SETSHOWIMEUI: u32 = 111; +pub const SPI_GETMOUSESPEED: u32 = 112; +pub const SPI_SETMOUSESPEED: u32 = 113; +pub const SPI_GETSCREENSAVERRUNNING: u32 = 114; +pub const SPI_GETDESKWALLPAPER: u32 = 115; +pub const SPI_GETAUDIODESCRIPTION: u32 = 116; +pub const SPI_SETAUDIODESCRIPTION: u32 = 117; +pub const SPI_GETSCREENSAVESECURE: u32 = 118; +pub const SPI_SETSCREENSAVESECURE: u32 = 119; +pub const SPI_GETHUNGAPPTIMEOUT: u32 = 120; +pub const SPI_SETHUNGAPPTIMEOUT: u32 = 121; +pub const SPI_GETWAITTOKILLTIMEOUT: u32 = 122; +pub const SPI_SETWAITTOKILLTIMEOUT: u32 = 123; +pub const SPI_GETWAITTOKILLSERVICETIMEOUT: u32 = 124; +pub const SPI_SETWAITTOKILLSERVICETIMEOUT: u32 = 125; +pub const SPI_GETMOUSEDOCKTHRESHOLD: u32 = 126; +pub const SPI_SETMOUSEDOCKTHRESHOLD: u32 = 127; +pub const SPI_GETPENDOCKTHRESHOLD: u32 = 128; +pub const SPI_SETPENDOCKTHRESHOLD: u32 = 129; +pub const SPI_GETWINARRANGING: u32 = 130; +pub const SPI_SETWINARRANGING: u32 = 131; +pub const SPI_GETMOUSEDRAGOUTTHRESHOLD: u32 = 132; +pub const SPI_SETMOUSEDRAGOUTTHRESHOLD: u32 = 133; +pub const SPI_GETPENDRAGOUTTHRESHOLD: u32 = 134; +pub const SPI_SETPENDRAGOUTTHRESHOLD: u32 = 135; +pub const SPI_GETMOUSESIDEMOVETHRESHOLD: u32 = 136; +pub const SPI_SETMOUSESIDEMOVETHRESHOLD: u32 = 137; +pub const SPI_GETPENSIDEMOVETHRESHOLD: u32 = 138; +pub const SPI_SETPENSIDEMOVETHRESHOLD: u32 = 139; +pub const SPI_GETDRAGFROMMAXIMIZE: u32 = 140; +pub const SPI_SETDRAGFROMMAXIMIZE: u32 = 141; +pub const SPI_GETSNAPSIZING: u32 = 142; +pub const SPI_SETSNAPSIZING: u32 = 143; +pub const SPI_GETDOCKMOVING: u32 = 144; +pub const SPI_SETDOCKMOVING: u32 = 145; +pub const MAX_TOUCH_PREDICTION_FILTER_TAPS: u32 = 3; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_LATENCY: u32 = 8; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_SAMPLETIME: u32 = 8; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_USE_HW_TIMESTAMP: u32 = 1; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_DELTA: f64 = 0.001; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MIN: f64 = 0.9; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MAX: f64 = 0.999; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_LEARNING_RATE: f64 = 0.001; +pub const TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_EXPO_SMOOTH_ALPHA: f64 = 0.99; +pub const SPI_GETTOUCHPREDICTIONPARAMETERS: u32 = 156; +pub const SPI_SETTOUCHPREDICTIONPARAMETERS: u32 = 157; +pub const MAX_LOGICALDPIOVERRIDE: u32 = 2; +pub const MIN_LOGICALDPIOVERRIDE: i32 = -2; +pub const SPI_GETLOGICALDPIOVERRIDE: u32 = 158; +pub const SPI_SETLOGICALDPIOVERRIDE: u32 = 159; +pub const SPI_GETMENURECT: u32 = 162; +pub const SPI_SETMENURECT: u32 = 163; +pub const SPI_GETACTIVEWINDOWTRACKING: u32 = 4096; +pub const SPI_SETACTIVEWINDOWTRACKING: u32 = 4097; +pub const SPI_GETMENUANIMATION: u32 = 4098; +pub const SPI_SETMENUANIMATION: u32 = 4099; +pub const SPI_GETCOMBOBOXANIMATION: u32 = 4100; +pub const SPI_SETCOMBOBOXANIMATION: u32 = 4101; +pub const SPI_GETLISTBOXSMOOTHSCROLLING: u32 = 4102; +pub const SPI_SETLISTBOXSMOOTHSCROLLING: u32 = 4103; +pub const SPI_GETGRADIENTCAPTIONS: u32 = 4104; +pub const SPI_SETGRADIENTCAPTIONS: u32 = 4105; +pub const SPI_GETKEYBOARDCUES: u32 = 4106; +pub const SPI_SETKEYBOARDCUES: u32 = 4107; +pub const SPI_GETMENUUNDERLINES: u32 = 4106; +pub const SPI_SETMENUUNDERLINES: u32 = 4107; +pub const SPI_GETACTIVEWNDTRKZORDER: u32 = 4108; +pub const SPI_SETACTIVEWNDTRKZORDER: u32 = 4109; +pub const SPI_GETHOTTRACKING: u32 = 4110; +pub const SPI_SETHOTTRACKING: u32 = 4111; +pub const SPI_GETMENUFADE: u32 = 4114; +pub const SPI_SETMENUFADE: u32 = 4115; +pub const SPI_GETSELECTIONFADE: u32 = 4116; +pub const SPI_SETSELECTIONFADE: u32 = 4117; +pub const SPI_GETTOOLTIPANIMATION: u32 = 4118; +pub const SPI_SETTOOLTIPANIMATION: u32 = 4119; +pub const SPI_GETTOOLTIPFADE: u32 = 4120; +pub const SPI_SETTOOLTIPFADE: u32 = 4121; +pub const SPI_GETCURSORSHADOW: u32 = 4122; +pub const SPI_SETCURSORSHADOW: u32 = 4123; +pub const SPI_GETMOUSESONAR: u32 = 4124; +pub const SPI_SETMOUSESONAR: u32 = 4125; +pub const SPI_GETMOUSECLICKLOCK: u32 = 4126; +pub const SPI_SETMOUSECLICKLOCK: u32 = 4127; +pub const SPI_GETMOUSEVANISH: u32 = 4128; +pub const SPI_SETMOUSEVANISH: u32 = 4129; +pub const SPI_GETFLATMENU: u32 = 4130; +pub const SPI_SETFLATMENU: u32 = 4131; +pub const SPI_GETDROPSHADOW: u32 = 4132; +pub const SPI_SETDROPSHADOW: u32 = 4133; +pub const SPI_GETBLOCKSENDINPUTRESETS: u32 = 4134; +pub const SPI_SETBLOCKSENDINPUTRESETS: u32 = 4135; +pub const SPI_GETUIEFFECTS: u32 = 4158; +pub const SPI_SETUIEFFECTS: u32 = 4159; +pub const SPI_GETDISABLEOVERLAPPEDCONTENT: u32 = 4160; +pub const SPI_SETDISABLEOVERLAPPEDCONTENT: u32 = 4161; +pub const SPI_GETCLIENTAREAANIMATION: u32 = 4162; +pub const SPI_SETCLIENTAREAANIMATION: u32 = 4163; +pub const SPI_GETCLEARTYPE: u32 = 4168; +pub const SPI_SETCLEARTYPE: u32 = 4169; +pub const SPI_GETSPEECHRECOGNITION: u32 = 4170; +pub const SPI_SETSPEECHRECOGNITION: u32 = 4171; +pub const SPI_GETCARETBROWSING: u32 = 4172; +pub const SPI_SETCARETBROWSING: u32 = 4173; +pub const SPI_GETTHREADLOCALINPUTSETTINGS: u32 = 4174; +pub const SPI_SETTHREADLOCALINPUTSETTINGS: u32 = 4175; +pub const SPI_GETSYSTEMLANGUAGEBAR: u32 = 4176; +pub const SPI_SETSYSTEMLANGUAGEBAR: u32 = 4177; +pub const SPI_GETFOREGROUNDLOCKTIMEOUT: u32 = 8192; +pub const SPI_SETFOREGROUNDLOCKTIMEOUT: u32 = 8193; +pub const SPI_GETACTIVEWNDTRKTIMEOUT: u32 = 8194; +pub const SPI_SETACTIVEWNDTRKTIMEOUT: u32 = 8195; +pub const SPI_GETFOREGROUNDFLASHCOUNT: u32 = 8196; +pub const SPI_SETFOREGROUNDFLASHCOUNT: u32 = 8197; +pub const SPI_GETCARETWIDTH: u32 = 8198; +pub const SPI_SETCARETWIDTH: u32 = 8199; +pub const SPI_GETMOUSECLICKLOCKTIME: u32 = 8200; +pub const SPI_SETMOUSECLICKLOCKTIME: u32 = 8201; +pub const SPI_GETFONTSMOOTHINGTYPE: u32 = 8202; +pub const SPI_SETFONTSMOOTHINGTYPE: u32 = 8203; +pub const FE_FONTSMOOTHINGSTANDARD: u32 = 1; +pub const FE_FONTSMOOTHINGCLEARTYPE: u32 = 2; +pub const SPI_GETFONTSMOOTHINGCONTRAST: u32 = 8204; +pub const SPI_SETFONTSMOOTHINGCONTRAST: u32 = 8205; +pub const SPI_GETFOCUSBORDERWIDTH: u32 = 8206; +pub const SPI_SETFOCUSBORDERWIDTH: u32 = 8207; +pub const SPI_GETFOCUSBORDERHEIGHT: u32 = 8208; +pub const SPI_SETFOCUSBORDERHEIGHT: u32 = 8209; +pub const SPI_GETFONTSMOOTHINGORIENTATION: u32 = 8210; +pub const SPI_SETFONTSMOOTHINGORIENTATION: u32 = 8211; +pub const FE_FONTSMOOTHINGORIENTATIONBGR: u32 = 0; +pub const FE_FONTSMOOTHINGORIENTATIONRGB: u32 = 1; +pub const SPI_GETMINIMUMHITRADIUS: u32 = 8212; +pub const SPI_SETMINIMUMHITRADIUS: u32 = 8213; +pub const SPI_GETMESSAGEDURATION: u32 = 8214; +pub const SPI_SETMESSAGEDURATION: u32 = 8215; +pub const SPI_GETCONTACTVISUALIZATION: u32 = 8216; +pub const SPI_SETCONTACTVISUALIZATION: u32 = 8217; +pub const CONTACTVISUALIZATION_OFF: u32 = 0; +pub const CONTACTVISUALIZATION_ON: u32 = 1; +pub const CONTACTVISUALIZATION_PRESENTATIONMODE: u32 = 2; +pub const SPI_GETGESTUREVISUALIZATION: u32 = 8218; +pub const SPI_SETGESTUREVISUALIZATION: u32 = 8219; +pub const GESTUREVISUALIZATION_OFF: u32 = 0; +pub const GESTUREVISUALIZATION_ON: u32 = 31; +pub const GESTUREVISUALIZATION_TAP: u32 = 1; +pub const GESTUREVISUALIZATION_DOUBLETAP: u32 = 2; +pub const GESTUREVISUALIZATION_PRESSANDTAP: u32 = 4; +pub const GESTUREVISUALIZATION_PRESSANDHOLD: u32 = 8; +pub const GESTUREVISUALIZATION_RIGHTTAP: u32 = 16; +pub const SPI_GETMOUSEWHEELROUTING: u32 = 8220; +pub const SPI_SETMOUSEWHEELROUTING: u32 = 8221; +pub const MOUSEWHEEL_ROUTING_FOCUS: u32 = 0; +pub const MOUSEWHEEL_ROUTING_HYBRID: u32 = 1; +pub const MOUSEWHEEL_ROUTING_MOUSE_POS: u32 = 2; +pub const SPI_GETPENVISUALIZATION: u32 = 8222; +pub const SPI_SETPENVISUALIZATION: u32 = 8223; +pub const PENVISUALIZATION_ON: u32 = 35; +pub const PENVISUALIZATION_OFF: u32 = 0; +pub const PENVISUALIZATION_TAP: u32 = 1; +pub const PENVISUALIZATION_DOUBLETAP: u32 = 2; +pub const PENVISUALIZATION_CURSOR: u32 = 32; +pub const SPI_GETPENARBITRATIONTYPE: u32 = 8224; +pub const SPI_SETPENARBITRATIONTYPE: u32 = 8225; +pub const PENARBITRATIONTYPE_NONE: u32 = 0; +pub const PENARBITRATIONTYPE_WIN8: u32 = 1; +pub const PENARBITRATIONTYPE_FIS: u32 = 2; +pub const PENARBITRATIONTYPE_SPT: u32 = 3; +pub const PENARBITRATIONTYPE_MAX: u32 = 4; +pub const SPI_GETCARETTIMEOUT: u32 = 8226; +pub const SPI_SETCARETTIMEOUT: u32 = 8227; +pub const SPI_GETHANDEDNESS: u32 = 8228; +pub const SPI_SETHANDEDNESS: u32 = 8229; +pub const SPIF_UPDATEINIFILE: u32 = 1; +pub const SPIF_SENDWININICHANGE: u32 = 2; +pub const SPIF_SENDCHANGE: u32 = 2; +pub const METRICS_USEDEFAULT: i32 = -1; +pub const ARW_BOTTOMLEFT: u32 = 0; +pub const ARW_BOTTOMRIGHT: u32 = 1; +pub const ARW_TOPLEFT: u32 = 2; +pub const ARW_TOPRIGHT: u32 = 3; +pub const ARW_STARTMASK: u32 = 3; +pub const ARW_STARTRIGHT: u32 = 1; +pub const ARW_STARTTOP: u32 = 2; +pub const ARW_LEFT: u32 = 0; +pub const ARW_RIGHT: u32 = 0; +pub const ARW_UP: u32 = 4; +pub const ARW_DOWN: u32 = 4; +pub const ARW_HIDE: u32 = 8; +pub const SERKF_SERIALKEYSON: u32 = 1; +pub const SERKF_AVAILABLE: u32 = 2; +pub const SERKF_INDICATOR: u32 = 4; +pub const HCF_HIGHCONTRASTON: u32 = 1; +pub const HCF_AVAILABLE: u32 = 2; +pub const HCF_HOTKEYACTIVE: u32 = 4; +pub const HCF_CONFIRMHOTKEY: u32 = 8; +pub const HCF_HOTKEYSOUND: u32 = 16; +pub const HCF_INDICATOR: u32 = 32; +pub const HCF_HOTKEYAVAILABLE: u32 = 64; +pub const HCF_LOGONDESKTOP: u32 = 256; +pub const HCF_DEFAULTDESKTOP: u32 = 512; +pub const HCF_OPTION_NOTHEMECHANGE: u32 = 4096; +pub const CDS_UPDATEREGISTRY: u32 = 1; +pub const CDS_TEST: u32 = 2; +pub const CDS_FULLSCREEN: u32 = 4; +pub const CDS_GLOBAL: u32 = 8; +pub const CDS_SET_PRIMARY: u32 = 16; +pub const CDS_VIDEOPARAMETERS: u32 = 32; +pub const CDS_ENABLE_UNSAFE_MODES: u32 = 256; +pub const CDS_DISABLE_UNSAFE_MODES: u32 = 512; +pub const CDS_RESET: u32 = 1073741824; +pub const CDS_RESET_EX: u32 = 536870912; +pub const CDS_NORESET: u32 = 268435456; +pub const VP_COMMAND_GET: u32 = 1; +pub const VP_COMMAND_SET: u32 = 2; +pub const VP_FLAGS_TV_MODE: u32 = 1; +pub const VP_FLAGS_TV_STANDARD: u32 = 2; +pub const VP_FLAGS_FLICKER: u32 = 4; +pub const VP_FLAGS_OVERSCAN: u32 = 8; +pub const VP_FLAGS_MAX_UNSCALED: u32 = 16; +pub const VP_FLAGS_POSITION: u32 = 32; +pub const VP_FLAGS_BRIGHTNESS: u32 = 64; +pub const VP_FLAGS_CONTRAST: u32 = 128; +pub const VP_FLAGS_COPYPROTECT: u32 = 256; +pub const VP_MODE_WIN_GRAPHICS: u32 = 1; +pub const VP_MODE_TV_PLAYBACK: u32 = 2; +pub const VP_TV_STANDARD_NTSC_M: u32 = 1; +pub const VP_TV_STANDARD_NTSC_M_J: u32 = 2; +pub const VP_TV_STANDARD_PAL_B: u32 = 4; +pub const VP_TV_STANDARD_PAL_D: u32 = 8; +pub const VP_TV_STANDARD_PAL_H: u32 = 16; +pub const VP_TV_STANDARD_PAL_I: u32 = 32; +pub const VP_TV_STANDARD_PAL_M: u32 = 64; +pub const VP_TV_STANDARD_PAL_N: u32 = 128; +pub const VP_TV_STANDARD_SECAM_B: u32 = 256; +pub const VP_TV_STANDARD_SECAM_D: u32 = 512; +pub const VP_TV_STANDARD_SECAM_G: u32 = 1024; +pub const VP_TV_STANDARD_SECAM_H: u32 = 2048; +pub const VP_TV_STANDARD_SECAM_K: u32 = 4096; +pub const VP_TV_STANDARD_SECAM_K1: u32 = 8192; +pub const VP_TV_STANDARD_SECAM_L: u32 = 16384; +pub const VP_TV_STANDARD_WIN_VGA: u32 = 32768; +pub const VP_TV_STANDARD_NTSC_433: u32 = 65536; +pub const VP_TV_STANDARD_PAL_G: u32 = 131072; +pub const VP_TV_STANDARD_PAL_60: u32 = 262144; +pub const VP_TV_STANDARD_SECAM_L1: u32 = 524288; +pub const VP_CP_TYPE_APS_TRIGGER: u32 = 1; +pub const VP_CP_TYPE_MACROVISION: u32 = 2; +pub const VP_CP_CMD_ACTIVATE: u32 = 1; +pub const VP_CP_CMD_DEACTIVATE: u32 = 2; +pub const VP_CP_CMD_CHANGE: u32 = 4; +pub const DISP_CHANGE_SUCCESSFUL: u32 = 0; +pub const DISP_CHANGE_RESTART: u32 = 1; +pub const DISP_CHANGE_FAILED: i32 = -1; +pub const DISP_CHANGE_BADMODE: i32 = -2; +pub const DISP_CHANGE_NOTUPDATED: i32 = -3; +pub const DISP_CHANGE_BADFLAGS: i32 = -4; +pub const DISP_CHANGE_BADPARAM: i32 = -5; +pub const DISP_CHANGE_BADDUALVIEW: i32 = -6; +pub const EDS_RAWMODE: u32 = 2; +pub const EDS_ROTATEDMODE: u32 = 4; +pub const EDD_GET_DEVICE_INTERFACE_NAME: u32 = 1; +pub const FKF_FILTERKEYSON: u32 = 1; +pub const FKF_AVAILABLE: u32 = 2; +pub const FKF_HOTKEYACTIVE: u32 = 4; +pub const FKF_CONFIRMHOTKEY: u32 = 8; +pub const FKF_HOTKEYSOUND: u32 = 16; +pub const FKF_INDICATOR: u32 = 32; +pub const FKF_CLICKON: u32 = 64; +pub const SKF_STICKYKEYSON: u32 = 1; +pub const SKF_AVAILABLE: u32 = 2; +pub const SKF_HOTKEYACTIVE: u32 = 4; +pub const SKF_CONFIRMHOTKEY: u32 = 8; +pub const SKF_HOTKEYSOUND: u32 = 16; +pub const SKF_INDICATOR: u32 = 32; +pub const SKF_AUDIBLEFEEDBACK: u32 = 64; +pub const SKF_TRISTATE: u32 = 128; +pub const SKF_TWOKEYSOFF: u32 = 256; +pub const SKF_LALTLATCHED: u32 = 268435456; +pub const SKF_LCTLLATCHED: u32 = 67108864; +pub const SKF_LSHIFTLATCHED: u32 = 16777216; +pub const SKF_RALTLATCHED: u32 = 536870912; +pub const SKF_RCTLLATCHED: u32 = 134217728; +pub const SKF_RSHIFTLATCHED: u32 = 33554432; +pub const SKF_LWINLATCHED: u32 = 1073741824; +pub const SKF_RWINLATCHED: u32 = 2147483648; +pub const SKF_LALTLOCKED: u32 = 1048576; +pub const SKF_LCTLLOCKED: u32 = 262144; +pub const SKF_LSHIFTLOCKED: u32 = 65536; +pub const SKF_RALTLOCKED: u32 = 2097152; +pub const SKF_RCTLLOCKED: u32 = 524288; +pub const SKF_RSHIFTLOCKED: u32 = 131072; +pub const SKF_LWINLOCKED: u32 = 4194304; +pub const SKF_RWINLOCKED: u32 = 8388608; +pub const MKF_MOUSEKEYSON: u32 = 1; +pub const MKF_AVAILABLE: u32 = 2; +pub const MKF_HOTKEYACTIVE: u32 = 4; +pub const MKF_CONFIRMHOTKEY: u32 = 8; +pub const MKF_HOTKEYSOUND: u32 = 16; +pub const MKF_INDICATOR: u32 = 32; +pub const MKF_MODIFIERS: u32 = 64; +pub const MKF_REPLACENUMBERS: u32 = 128; +pub const MKF_LEFTBUTTONSEL: u32 = 268435456; +pub const MKF_RIGHTBUTTONSEL: u32 = 536870912; +pub const MKF_LEFTBUTTONDOWN: u32 = 16777216; +pub const MKF_RIGHTBUTTONDOWN: u32 = 33554432; +pub const MKF_MOUSEMODE: u32 = 2147483648; +pub const ATF_TIMEOUTON: u32 = 1; +pub const ATF_ONOFFFEEDBACK: u32 = 2; +pub const SSGF_NONE: u32 = 0; +pub const SSGF_DISPLAY: u32 = 3; +pub const SSTF_NONE: u32 = 0; +pub const SSTF_CHARS: u32 = 1; +pub const SSTF_BORDER: u32 = 2; +pub const SSTF_DISPLAY: u32 = 3; +pub const SSWF_NONE: u32 = 0; +pub const SSWF_TITLE: u32 = 1; +pub const SSWF_WINDOW: u32 = 2; +pub const SSWF_DISPLAY: u32 = 3; +pub const SSWF_CUSTOM: u32 = 4; +pub const SSF_SOUNDSENTRYON: u32 = 1; +pub const SSF_AVAILABLE: u32 = 2; +pub const SSF_INDICATOR: u32 = 4; +pub const TKF_TOGGLEKEYSON: u32 = 1; +pub const TKF_AVAILABLE: u32 = 2; +pub const TKF_HOTKEYACTIVE: u32 = 4; +pub const TKF_CONFIRMHOTKEY: u32 = 8; +pub const TKF_HOTKEYSOUND: u32 = 16; +pub const TKF_INDICATOR: u32 = 32; +pub const SLE_ERROR: u32 = 1; +pub const SLE_MINORERROR: u32 = 2; +pub const SLE_WARNING: u32 = 3; +pub const MONITOR_DEFAULTTONULL: u32 = 0; +pub const MONITOR_DEFAULTTOPRIMARY: u32 = 1; +pub const MONITOR_DEFAULTTONEAREST: u32 = 2; +pub const MONITORINFOF_PRIMARY: u32 = 1; +pub const WINEVENT_OUTOFCONTEXT: u32 = 0; +pub const WINEVENT_SKIPOWNTHREAD: u32 = 1; +pub const WINEVENT_SKIPOWNPROCESS: u32 = 2; +pub const WINEVENT_INCONTEXT: u32 = 4; +pub const CHILDID_SELF: u32 = 0; +pub const INDEXID_OBJECT: u32 = 0; +pub const INDEXID_CONTAINER: u32 = 0; +pub const EVENT_MIN: u32 = 1; +pub const EVENT_MAX: u32 = 2147483647; +pub const EVENT_SYSTEM_SOUND: u32 = 1; +pub const EVENT_SYSTEM_ALERT: u32 = 2; +pub const EVENT_SYSTEM_FOREGROUND: u32 = 3; +pub const EVENT_SYSTEM_MENUSTART: u32 = 4; +pub const EVENT_SYSTEM_MENUEND: u32 = 5; +pub const EVENT_SYSTEM_MENUPOPUPSTART: u32 = 6; +pub const EVENT_SYSTEM_MENUPOPUPEND: u32 = 7; +pub const EVENT_SYSTEM_CAPTURESTART: u32 = 8; +pub const EVENT_SYSTEM_CAPTUREEND: u32 = 9; +pub const EVENT_SYSTEM_MOVESIZESTART: u32 = 10; +pub const EVENT_SYSTEM_MOVESIZEEND: u32 = 11; +pub const EVENT_SYSTEM_CONTEXTHELPSTART: u32 = 12; +pub const EVENT_SYSTEM_CONTEXTHELPEND: u32 = 13; +pub const EVENT_SYSTEM_DRAGDROPSTART: u32 = 14; +pub const EVENT_SYSTEM_DRAGDROPEND: u32 = 15; +pub const EVENT_SYSTEM_DIALOGSTART: u32 = 16; +pub const EVENT_SYSTEM_DIALOGEND: u32 = 17; +pub const EVENT_SYSTEM_SCROLLINGSTART: u32 = 18; +pub const EVENT_SYSTEM_SCROLLINGEND: u32 = 19; +pub const EVENT_SYSTEM_SWITCHSTART: u32 = 20; +pub const EVENT_SYSTEM_SWITCHEND: u32 = 21; +pub const EVENT_SYSTEM_MINIMIZESTART: u32 = 22; +pub const EVENT_SYSTEM_MINIMIZEEND: u32 = 23; +pub const EVENT_SYSTEM_DESKTOPSWITCH: u32 = 32; +pub const EVENT_SYSTEM_SWITCHER_APPGRABBED: u32 = 36; +pub const EVENT_SYSTEM_SWITCHER_APPOVERTARGET: u32 = 37; +pub const EVENT_SYSTEM_SWITCHER_APPDROPPED: u32 = 38; +pub const EVENT_SYSTEM_SWITCHER_CANCELLED: u32 = 39; +pub const EVENT_SYSTEM_IME_KEY_NOTIFICATION: u32 = 41; +pub const EVENT_SYSTEM_END: u32 = 255; +pub const EVENT_OEM_DEFINED_START: u32 = 257; +pub const EVENT_OEM_DEFINED_END: u32 = 511; +pub const EVENT_UIA_EVENTID_START: u32 = 19968; +pub const EVENT_UIA_EVENTID_END: u32 = 20223; +pub const EVENT_UIA_PROPID_START: u32 = 29952; +pub const EVENT_UIA_PROPID_END: u32 = 30207; +pub const EVENT_CONSOLE_CARET: u32 = 16385; +pub const EVENT_CONSOLE_UPDATE_REGION: u32 = 16386; +pub const EVENT_CONSOLE_UPDATE_SIMPLE: u32 = 16387; +pub const EVENT_CONSOLE_UPDATE_SCROLL: u32 = 16388; +pub const EVENT_CONSOLE_LAYOUT: u32 = 16389; +pub const EVENT_CONSOLE_START_APPLICATION: u32 = 16390; +pub const EVENT_CONSOLE_END_APPLICATION: u32 = 16391; +pub const CONSOLE_APPLICATION_16BIT: u32 = 0; +pub const CONSOLE_CARET_SELECTION: u32 = 1; +pub const CONSOLE_CARET_VISIBLE: u32 = 2; +pub const EVENT_CONSOLE_END: u32 = 16639; +pub const EVENT_OBJECT_CREATE: u32 = 32768; +pub const EVENT_OBJECT_DESTROY: u32 = 32769; +pub const EVENT_OBJECT_SHOW: u32 = 32770; +pub const EVENT_OBJECT_HIDE: u32 = 32771; +pub const EVENT_OBJECT_REORDER: u32 = 32772; +pub const EVENT_OBJECT_FOCUS: u32 = 32773; +pub const EVENT_OBJECT_SELECTION: u32 = 32774; +pub const EVENT_OBJECT_SELECTIONADD: u32 = 32775; +pub const EVENT_OBJECT_SELECTIONREMOVE: u32 = 32776; +pub const EVENT_OBJECT_SELECTIONWITHIN: u32 = 32777; +pub const EVENT_OBJECT_STATECHANGE: u32 = 32778; +pub const EVENT_OBJECT_LOCATIONCHANGE: u32 = 32779; +pub const EVENT_OBJECT_NAMECHANGE: u32 = 32780; +pub const EVENT_OBJECT_DESCRIPTIONCHANGE: u32 = 32781; +pub const EVENT_OBJECT_VALUECHANGE: u32 = 32782; +pub const EVENT_OBJECT_PARENTCHANGE: u32 = 32783; +pub const EVENT_OBJECT_HELPCHANGE: u32 = 32784; +pub const EVENT_OBJECT_DEFACTIONCHANGE: u32 = 32785; +pub const EVENT_OBJECT_ACCELERATORCHANGE: u32 = 32786; +pub const EVENT_OBJECT_INVOKED: u32 = 32787; +pub const EVENT_OBJECT_TEXTSELECTIONCHANGED: u32 = 32788; +pub const EVENT_OBJECT_CONTENTSCROLLED: u32 = 32789; +pub const EVENT_SYSTEM_ARRANGMENTPREVIEW: u32 = 32790; +pub const EVENT_OBJECT_CLOAKED: u32 = 32791; +pub const EVENT_OBJECT_UNCLOAKED: u32 = 32792; +pub const EVENT_OBJECT_LIVEREGIONCHANGED: u32 = 32793; +pub const EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED: u32 = 32800; +pub const EVENT_OBJECT_DRAGSTART: u32 = 32801; +pub const EVENT_OBJECT_DRAGCANCEL: u32 = 32802; +pub const EVENT_OBJECT_DRAGCOMPLETE: u32 = 32803; +pub const EVENT_OBJECT_DRAGENTER: u32 = 32804; +pub const EVENT_OBJECT_DRAGLEAVE: u32 = 32805; +pub const EVENT_OBJECT_DRAGDROPPED: u32 = 32806; +pub const EVENT_OBJECT_IME_SHOW: u32 = 32807; +pub const EVENT_OBJECT_IME_HIDE: u32 = 32808; +pub const EVENT_OBJECT_IME_CHANGE: u32 = 32809; +pub const EVENT_OBJECT_TEXTEDIT_CONVERSIONTARGETCHANGED: u32 = 32816; +pub const EVENT_OBJECT_END: u32 = 33023; +pub const EVENT_AIA_START: u32 = 40960; +pub const EVENT_AIA_END: u32 = 45055; +pub const SOUND_SYSTEM_STARTUP: u32 = 1; +pub const SOUND_SYSTEM_SHUTDOWN: u32 = 2; +pub const SOUND_SYSTEM_BEEP: u32 = 3; +pub const SOUND_SYSTEM_ERROR: u32 = 4; +pub const SOUND_SYSTEM_QUESTION: u32 = 5; +pub const SOUND_SYSTEM_WARNING: u32 = 6; +pub const SOUND_SYSTEM_INFORMATION: u32 = 7; +pub const SOUND_SYSTEM_MAXIMIZE: u32 = 8; +pub const SOUND_SYSTEM_MINIMIZE: u32 = 9; +pub const SOUND_SYSTEM_RESTOREUP: u32 = 10; +pub const SOUND_SYSTEM_RESTOREDOWN: u32 = 11; +pub const SOUND_SYSTEM_APPSTART: u32 = 12; +pub const SOUND_SYSTEM_FAULT: u32 = 13; +pub const SOUND_SYSTEM_APPEND: u32 = 14; +pub const SOUND_SYSTEM_MENUCOMMAND: u32 = 15; +pub const SOUND_SYSTEM_MENUPOPUP: u32 = 16; +pub const CSOUND_SYSTEM: u32 = 16; +pub const ALERT_SYSTEM_INFORMATIONAL: u32 = 1; +pub const ALERT_SYSTEM_WARNING: u32 = 2; +pub const ALERT_SYSTEM_ERROR: u32 = 3; +pub const ALERT_SYSTEM_QUERY: u32 = 4; +pub const ALERT_SYSTEM_CRITICAL: u32 = 5; +pub const CALERT_SYSTEM: u32 = 6; +pub const GUI_CARETBLINKING: u32 = 1; +pub const GUI_INMOVESIZE: u32 = 2; +pub const GUI_INMENUMODE: u32 = 4; +pub const GUI_SYSTEMMENUMODE: u32 = 8; +pub const GUI_POPUPMENUMODE: u32 = 16; +pub const GUI_16BITTASK: u32 = 0; +pub const USER_DEFAULT_SCREEN_DPI: u32 = 96; +pub const STATE_SYSTEM_UNAVAILABLE: u32 = 1; +pub const STATE_SYSTEM_SELECTED: u32 = 2; +pub const STATE_SYSTEM_FOCUSED: u32 = 4; +pub const STATE_SYSTEM_PRESSED: u32 = 8; +pub const STATE_SYSTEM_CHECKED: u32 = 16; +pub const STATE_SYSTEM_MIXED: u32 = 32; +pub const STATE_SYSTEM_INDETERMINATE: u32 = 32; +pub const STATE_SYSTEM_READONLY: u32 = 64; +pub const STATE_SYSTEM_HOTTRACKED: u32 = 128; +pub const STATE_SYSTEM_DEFAULT: u32 = 256; +pub const STATE_SYSTEM_EXPANDED: u32 = 512; +pub const STATE_SYSTEM_COLLAPSED: u32 = 1024; +pub const STATE_SYSTEM_BUSY: u32 = 2048; +pub const STATE_SYSTEM_FLOATING: u32 = 4096; +pub const STATE_SYSTEM_MARQUEED: u32 = 8192; +pub const STATE_SYSTEM_ANIMATED: u32 = 16384; +pub const STATE_SYSTEM_INVISIBLE: u32 = 32768; +pub const STATE_SYSTEM_OFFSCREEN: u32 = 65536; +pub const STATE_SYSTEM_SIZEABLE: u32 = 131072; +pub const STATE_SYSTEM_MOVEABLE: u32 = 262144; +pub const STATE_SYSTEM_SELFVOICING: u32 = 524288; +pub const STATE_SYSTEM_FOCUSABLE: u32 = 1048576; +pub const STATE_SYSTEM_SELECTABLE: u32 = 2097152; +pub const STATE_SYSTEM_LINKED: u32 = 4194304; +pub const STATE_SYSTEM_TRAVERSED: u32 = 8388608; +pub const STATE_SYSTEM_MULTISELECTABLE: u32 = 16777216; +pub const STATE_SYSTEM_EXTSELECTABLE: u32 = 33554432; +pub const STATE_SYSTEM_ALERT_LOW: u32 = 67108864; +pub const STATE_SYSTEM_ALERT_MEDIUM: u32 = 134217728; +pub const STATE_SYSTEM_ALERT_HIGH: u32 = 268435456; +pub const STATE_SYSTEM_PROTECTED: u32 = 536870912; +pub const STATE_SYSTEM_VALID: u32 = 1073741823; +pub const CCHILDREN_TITLEBAR: u32 = 5; +pub const CCHILDREN_SCROLLBAR: u32 = 5; +pub const CURSOR_SHOWING: u32 = 1; +pub const CURSOR_SUPPRESSED: u32 = 2; +pub const WS_ACTIVECAPTION: u32 = 1; +pub const GA_PARENT: u32 = 1; +pub const GA_ROOT: u32 = 2; +pub const GA_ROOTOWNER: u32 = 3; +pub const RIM_INPUT: u32 = 0; +pub const RIM_INPUTSINK: u32 = 1; +pub const RIM_TYPEMOUSE: u32 = 0; +pub const RIM_TYPEKEYBOARD: u32 = 1; +pub const RIM_TYPEHID: u32 = 2; +pub const RIM_TYPEMAX: u32 = 2; +pub const RI_MOUSE_LEFT_BUTTON_DOWN: u32 = 1; +pub const RI_MOUSE_LEFT_BUTTON_UP: u32 = 2; +pub const RI_MOUSE_RIGHT_BUTTON_DOWN: u32 = 4; +pub const RI_MOUSE_RIGHT_BUTTON_UP: u32 = 8; +pub const RI_MOUSE_MIDDLE_BUTTON_DOWN: u32 = 16; +pub const RI_MOUSE_MIDDLE_BUTTON_UP: u32 = 32; +pub const RI_MOUSE_BUTTON_1_DOWN: u32 = 1; +pub const RI_MOUSE_BUTTON_1_UP: u32 = 2; +pub const RI_MOUSE_BUTTON_2_DOWN: u32 = 4; +pub const RI_MOUSE_BUTTON_2_UP: u32 = 8; +pub const RI_MOUSE_BUTTON_3_DOWN: u32 = 16; +pub const RI_MOUSE_BUTTON_3_UP: u32 = 32; +pub const RI_MOUSE_BUTTON_4_DOWN: u32 = 64; +pub const RI_MOUSE_BUTTON_4_UP: u32 = 128; +pub const RI_MOUSE_BUTTON_5_DOWN: u32 = 256; +pub const RI_MOUSE_BUTTON_5_UP: u32 = 512; +pub const RI_MOUSE_WHEEL: u32 = 1024; +pub const RI_MOUSE_HWHEEL: u32 = 2048; +pub const MOUSE_MOVE_RELATIVE: u32 = 0; +pub const MOUSE_MOVE_ABSOLUTE: u32 = 1; +pub const MOUSE_VIRTUAL_DESKTOP: u32 = 2; +pub const MOUSE_ATTRIBUTES_CHANGED: u32 = 4; +pub const MOUSE_MOVE_NOCOALESCE: u32 = 8; +pub const KEYBOARD_OVERRUN_MAKE_CODE: u32 = 255; +pub const RI_KEY_MAKE: u32 = 0; +pub const RI_KEY_BREAK: u32 = 1; +pub const RI_KEY_E0: u32 = 2; +pub const RI_KEY_E1: u32 = 4; +pub const RI_KEY_TERMSRV_SET_LED: u32 = 8; +pub const RI_KEY_TERMSRV_SHADOW: u32 = 16; +pub const RID_INPUT: u32 = 268435459; +pub const RID_HEADER: u32 = 268435461; +pub const RIDI_PREPARSEDDATA: u32 = 536870917; +pub const RIDI_DEVICENAME: u32 = 536870919; +pub const RIDI_DEVICEINFO: u32 = 536870923; +pub const RIDEV_REMOVE: u32 = 1; +pub const RIDEV_EXCLUDE: u32 = 16; +pub const RIDEV_PAGEONLY: u32 = 32; +pub const RIDEV_NOLEGACY: u32 = 48; +pub const RIDEV_INPUTSINK: u32 = 256; +pub const RIDEV_CAPTUREMOUSE: u32 = 512; +pub const RIDEV_NOHOTKEYS: u32 = 512; +pub const RIDEV_APPKEYS: u32 = 1024; +pub const RIDEV_EXINPUTSINK: u32 = 4096; +pub const RIDEV_DEVNOTIFY: u32 = 8192; +pub const RIDEV_EXMODEMASK: u32 = 240; +pub const GIDC_ARRIVAL: u32 = 1; +pub const GIDC_REMOVAL: u32 = 2; +pub const POINTER_DEVICE_PRODUCT_STRING_MAX: u32 = 520; +pub const PDC_ARRIVAL: u32 = 1; +pub const PDC_REMOVAL: u32 = 2; +pub const PDC_ORIENTATION_0: u32 = 4; +pub const PDC_ORIENTATION_90: u32 = 8; +pub const PDC_ORIENTATION_180: u32 = 16; +pub const PDC_ORIENTATION_270: u32 = 32; +pub const PDC_MODE_DEFAULT: u32 = 64; +pub const PDC_MODE_CENTERED: u32 = 128; +pub const PDC_MAPPING_CHANGE: u32 = 256; +pub const PDC_RESOLUTION: u32 = 512; +pub const PDC_ORIGIN: u32 = 1024; +pub const PDC_MODE_ASPECTRATIOPRESERVED: u32 = 2048; +pub const MSGFLT_ADD: u32 = 1; +pub const MSGFLT_REMOVE: u32 = 2; +pub const MSGFLTINFO_NONE: u32 = 0; +pub const MSGFLTINFO_ALREADYALLOWED_FORWND: u32 = 1; +pub const MSGFLTINFO_ALREADYDISALLOWED_FORWND: u32 = 2; +pub const MSGFLTINFO_ALLOWED_HIGHER: u32 = 3; +pub const MSGFLT_RESET: u32 = 0; +pub const MSGFLT_ALLOW: u32 = 1; +pub const MSGFLT_DISALLOW: u32 = 2; +pub const GF_BEGIN: u32 = 1; +pub const GF_INERTIA: u32 = 2; +pub const GF_END: u32 = 4; +pub const GID_BEGIN: u32 = 1; +pub const GID_END: u32 = 2; +pub const GID_ZOOM: u32 = 3; +pub const GID_PAN: u32 = 4; +pub const GID_ROTATE: u32 = 5; +pub const GID_TWOFINGERTAP: u32 = 6; +pub const GID_PRESSANDTAP: u32 = 7; +pub const GID_ROLLOVER: u32 = 7; +pub const GC_ALLGESTURES: u32 = 1; +pub const GC_ZOOM: u32 = 1; +pub const GC_PAN: u32 = 1; +pub const GC_PAN_WITH_SINGLE_FINGER_VERTICALLY: u32 = 2; +pub const GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY: u32 = 4; +pub const GC_PAN_WITH_GUTTER: u32 = 8; +pub const GC_PAN_WITH_INERTIA: u32 = 16; +pub const GC_ROTATE: u32 = 1; +pub const GC_TWOFINGERTAP: u32 = 1; +pub const GC_PRESSANDTAP: u32 = 1; +pub const GC_ROLLOVER: u32 = 1; +pub const GESTURECONFIGMAXCOUNT: u32 = 256; +pub const GCF_INCLUDE_ANCESTORS: u32 = 1; +pub const NID_INTEGRATED_TOUCH: u32 = 1; +pub const NID_EXTERNAL_TOUCH: u32 = 2; +pub const NID_INTEGRATED_PEN: u32 = 4; +pub const NID_EXTERNAL_PEN: u32 = 8; +pub const NID_MULTI_INPUT: u32 = 64; +pub const NID_READY: u32 = 128; +pub const MAX_STR_BLOCKREASON: u32 = 256; +pub const MAX_LEADBYTES: u32 = 12; +pub const MAX_DEFAULTCHAR: u32 = 2; +pub const HIGH_SURROGATE_START: u32 = 55296; +pub const HIGH_SURROGATE_END: u32 = 56319; +pub const LOW_SURROGATE_START: u32 = 56320; +pub const LOW_SURROGATE_END: u32 = 57343; +pub const MB_PRECOMPOSED: u32 = 1; +pub const MB_COMPOSITE: u32 = 2; +pub const MB_USEGLYPHCHARS: u32 = 4; +pub const MB_ERR_INVALID_CHARS: u32 = 8; +pub const WC_COMPOSITECHECK: u32 = 512; +pub const WC_DISCARDNS: u32 = 16; +pub const WC_SEPCHARS: u32 = 32; +pub const WC_DEFAULTCHAR: u32 = 64; +pub const WC_ERR_INVALID_CHARS: u32 = 128; +pub const WC_NO_BEST_FIT_CHARS: u32 = 1024; +pub const CT_CTYPE1: u32 = 1; +pub const CT_CTYPE2: u32 = 2; +pub const CT_CTYPE3: u32 = 4; +pub const C1_UPPER: u32 = 1; +pub const C1_LOWER: u32 = 2; +pub const C1_DIGIT: u32 = 4; +pub const C1_SPACE: u32 = 8; +pub const C1_PUNCT: u32 = 16; +pub const C1_CNTRL: u32 = 32; +pub const C1_BLANK: u32 = 64; +pub const C1_XDIGIT: u32 = 128; +pub const C1_ALPHA: u32 = 256; +pub const C1_DEFINED: u32 = 512; +pub const C2_LEFTTORIGHT: u32 = 1; +pub const C2_RIGHTTOLEFT: u32 = 2; +pub const C2_EUROPENUMBER: u32 = 3; +pub const C2_EUROPESEPARATOR: u32 = 4; +pub const C2_EUROPETERMINATOR: u32 = 5; +pub const C2_ARABICNUMBER: u32 = 6; +pub const C2_COMMONSEPARATOR: u32 = 7; +pub const C2_BLOCKSEPARATOR: u32 = 8; +pub const C2_SEGMENTSEPARATOR: u32 = 9; +pub const C2_WHITESPACE: u32 = 10; +pub const C2_OTHERNEUTRAL: u32 = 11; +pub const C2_NOTAPPLICABLE: u32 = 0; +pub const C3_NONSPACING: u32 = 1; +pub const C3_DIACRITIC: u32 = 2; +pub const C3_VOWELMARK: u32 = 4; +pub const C3_SYMBOL: u32 = 8; +pub const C3_KATAKANA: u32 = 16; +pub const C3_HIRAGANA: u32 = 32; +pub const C3_HALFWIDTH: u32 = 64; +pub const C3_FULLWIDTH: u32 = 128; +pub const C3_IDEOGRAPH: u32 = 256; +pub const C3_KASHIDA: u32 = 512; +pub const C3_LEXICAL: u32 = 1024; +pub const C3_HIGHSURROGATE: u32 = 2048; +pub const C3_LOWSURROGATE: u32 = 4096; +pub const C3_ALPHA: u32 = 32768; +pub const C3_NOTAPPLICABLE: u32 = 0; +pub const NORM_IGNORECASE: u32 = 1; +pub const NORM_IGNORENONSPACE: u32 = 2; +pub const NORM_IGNORESYMBOLS: u32 = 4; +pub const LINGUISTIC_IGNORECASE: u32 = 16; +pub const LINGUISTIC_IGNOREDIACRITIC: u32 = 32; +pub const NORM_IGNOREKANATYPE: u32 = 65536; +pub const NORM_IGNOREWIDTH: u32 = 131072; +pub const NORM_LINGUISTIC_CASING: u32 = 134217728; +pub const MAP_FOLDCZONE: u32 = 16; +pub const MAP_PRECOMPOSED: u32 = 32; +pub const MAP_COMPOSITE: u32 = 64; +pub const MAP_FOLDDIGITS: u32 = 128; +pub const MAP_EXPAND_LIGATURES: u32 = 8192; +pub const LCMAP_LOWERCASE: u32 = 256; +pub const LCMAP_UPPERCASE: u32 = 512; +pub const LCMAP_TITLECASE: u32 = 768; +pub const LCMAP_SORTKEY: u32 = 1024; +pub const LCMAP_BYTEREV: u32 = 2048; +pub const LCMAP_HIRAGANA: u32 = 1048576; +pub const LCMAP_KATAKANA: u32 = 2097152; +pub const LCMAP_HALFWIDTH: u32 = 4194304; +pub const LCMAP_FULLWIDTH: u32 = 8388608; +pub const LCMAP_LINGUISTIC_CASING: u32 = 16777216; +pub const LCMAP_SIMPLIFIED_CHINESE: u32 = 33554432; +pub const LCMAP_TRADITIONAL_CHINESE: u32 = 67108864; +pub const LCMAP_SORTHANDLE: u32 = 536870912; +pub const LCMAP_HASH: u32 = 262144; +pub const FIND_STARTSWITH: u32 = 1048576; +pub const FIND_ENDSWITH: u32 = 2097152; +pub const FIND_FROMSTART: u32 = 4194304; +pub const FIND_FROMEND: u32 = 8388608; +pub const LGRPID_INSTALLED: u32 = 1; +pub const LGRPID_SUPPORTED: u32 = 2; +pub const LCID_INSTALLED: u32 = 1; +pub const LCID_SUPPORTED: u32 = 2; +pub const LCID_ALTERNATE_SORTS: u32 = 4; +pub const LOCALE_ALL: u32 = 0; +pub const LOCALE_WINDOWS: u32 = 1; +pub const LOCALE_SUPPLEMENTAL: u32 = 2; +pub const LOCALE_ALTERNATE_SORTS: u32 = 4; +pub const LOCALE_REPLACEMENT: u32 = 8; +pub const LOCALE_NEUTRALDATA: u32 = 16; +pub const LOCALE_SPECIFICDATA: u32 = 32; +pub const CP_INSTALLED: u32 = 1; +pub const CP_SUPPORTED: u32 = 2; +pub const SORT_STRINGSORT: u32 = 4096; +pub const SORT_DIGITSASNUMBERS: u32 = 8; +pub const CSTR_LESS_THAN: u32 = 1; +pub const CSTR_EQUAL: u32 = 2; +pub const CSTR_GREATER_THAN: u32 = 3; +pub const CP_ACP: u32 = 0; +pub const CP_OEMCP: u32 = 1; +pub const CP_MACCP: u32 = 2; +pub const CP_THREAD_ACP: u32 = 3; +pub const CP_SYMBOL: u32 = 42; +pub const CP_UTF7: u32 = 65000; +pub const CP_UTF8: u32 = 65001; +pub const CTRY_DEFAULT: u32 = 0; +pub const CTRY_ALBANIA: u32 = 355; +pub const CTRY_ALGERIA: u32 = 213; +pub const CTRY_ARGENTINA: u32 = 54; +pub const CTRY_ARMENIA: u32 = 374; +pub const CTRY_AUSTRALIA: u32 = 61; +pub const CTRY_AUSTRIA: u32 = 43; +pub const CTRY_AZERBAIJAN: u32 = 994; +pub const CTRY_BAHRAIN: u32 = 973; +pub const CTRY_BELARUS: u32 = 375; +pub const CTRY_BELGIUM: u32 = 32; +pub const CTRY_BELIZE: u32 = 501; +pub const CTRY_BOLIVIA: u32 = 591; +pub const CTRY_BRAZIL: u32 = 55; +pub const CTRY_BRUNEI_DARUSSALAM: u32 = 673; +pub const CTRY_BULGARIA: u32 = 359; +pub const CTRY_CANADA: u32 = 2; +pub const CTRY_CARIBBEAN: u32 = 1; +pub const CTRY_CHILE: u32 = 56; +pub const CTRY_COLOMBIA: u32 = 57; +pub const CTRY_COSTA_RICA: u32 = 506; +pub const CTRY_CROATIA: u32 = 385; +pub const CTRY_CZECH: u32 = 420; +pub const CTRY_DENMARK: u32 = 45; +pub const CTRY_DOMINICAN_REPUBLIC: u32 = 1; +pub const CTRY_ECUADOR: u32 = 593; +pub const CTRY_EGYPT: u32 = 20; +pub const CTRY_EL_SALVADOR: u32 = 503; +pub const CTRY_ESTONIA: u32 = 372; +pub const CTRY_FAEROE_ISLANDS: u32 = 298; +pub const CTRY_FINLAND: u32 = 358; +pub const CTRY_FRANCE: u32 = 33; +pub const CTRY_GEORGIA: u32 = 995; +pub const CTRY_GERMANY: u32 = 49; +pub const CTRY_GREECE: u32 = 30; +pub const CTRY_GUATEMALA: u32 = 502; +pub const CTRY_HONDURAS: u32 = 504; +pub const CTRY_HONG_KONG: u32 = 852; +pub const CTRY_HUNGARY: u32 = 36; +pub const CTRY_ICELAND: u32 = 354; +pub const CTRY_INDIA: u32 = 91; +pub const CTRY_INDONESIA: u32 = 62; +pub const CTRY_IRAN: u32 = 981; +pub const CTRY_IRAQ: u32 = 964; +pub const CTRY_IRELAND: u32 = 353; +pub const CTRY_ISRAEL: u32 = 972; +pub const CTRY_ITALY: u32 = 39; +pub const CTRY_JAMAICA: u32 = 1; +pub const CTRY_JAPAN: u32 = 81; +pub const CTRY_JORDAN: u32 = 962; +pub const CTRY_KAZAKSTAN: u32 = 7; +pub const CTRY_KENYA: u32 = 254; +pub const CTRY_KUWAIT: u32 = 965; +pub const CTRY_KYRGYZSTAN: u32 = 996; +pub const CTRY_LATVIA: u32 = 371; +pub const CTRY_LEBANON: u32 = 961; +pub const CTRY_LIBYA: u32 = 218; +pub const CTRY_LIECHTENSTEIN: u32 = 41; +pub const CTRY_LITHUANIA: u32 = 370; +pub const CTRY_LUXEMBOURG: u32 = 352; +pub const CTRY_MACAU: u32 = 853; +pub const CTRY_MACEDONIA: u32 = 389; +pub const CTRY_MALAYSIA: u32 = 60; +pub const CTRY_MALDIVES: u32 = 960; +pub const CTRY_MEXICO: u32 = 52; +pub const CTRY_MONACO: u32 = 33; +pub const CTRY_MONGOLIA: u32 = 976; +pub const CTRY_MOROCCO: u32 = 212; +pub const CTRY_NETHERLANDS: u32 = 31; +pub const CTRY_NEW_ZEALAND: u32 = 64; +pub const CTRY_NICARAGUA: u32 = 505; +pub const CTRY_NORWAY: u32 = 47; +pub const CTRY_OMAN: u32 = 968; +pub const CTRY_PAKISTAN: u32 = 92; +pub const CTRY_PANAMA: u32 = 507; +pub const CTRY_PARAGUAY: u32 = 595; +pub const CTRY_PERU: u32 = 51; +pub const CTRY_PHILIPPINES: u32 = 63; +pub const CTRY_POLAND: u32 = 48; +pub const CTRY_PORTUGAL: u32 = 351; +pub const CTRY_PRCHINA: u32 = 86; +pub const CTRY_PUERTO_RICO: u32 = 1; +pub const CTRY_QATAR: u32 = 974; +pub const CTRY_ROMANIA: u32 = 40; +pub const CTRY_RUSSIA: u32 = 7; +pub const CTRY_SAUDI_ARABIA: u32 = 966; +pub const CTRY_SERBIA: u32 = 381; +pub const CTRY_SINGAPORE: u32 = 65; +pub const CTRY_SLOVAK: u32 = 421; +pub const CTRY_SLOVENIA: u32 = 386; +pub const CTRY_SOUTH_AFRICA: u32 = 27; +pub const CTRY_SOUTH_KOREA: u32 = 82; +pub const CTRY_SPAIN: u32 = 34; +pub const CTRY_SWEDEN: u32 = 46; +pub const CTRY_SWITZERLAND: u32 = 41; +pub const CTRY_SYRIA: u32 = 963; +pub const CTRY_TAIWAN: u32 = 886; +pub const CTRY_TATARSTAN: u32 = 7; +pub const CTRY_THAILAND: u32 = 66; +pub const CTRY_TRINIDAD_Y_TOBAGO: u32 = 1; +pub const CTRY_TUNISIA: u32 = 216; +pub const CTRY_TURKEY: u32 = 90; +pub const CTRY_UAE: u32 = 971; +pub const CTRY_UKRAINE: u32 = 380; +pub const CTRY_UNITED_KINGDOM: u32 = 44; +pub const CTRY_UNITED_STATES: u32 = 1; +pub const CTRY_URUGUAY: u32 = 598; +pub const CTRY_UZBEKISTAN: u32 = 7; +pub const CTRY_VENEZUELA: u32 = 58; +pub const CTRY_VIET_NAM: u32 = 84; +pub const CTRY_YEMEN: u32 = 967; +pub const CTRY_ZIMBABWE: u32 = 263; +pub const LOCALE_NOUSEROVERRIDE: u32 = 2147483648; +pub const LOCALE_USE_CP_ACP: u32 = 1073741824; +pub const LOCALE_RETURN_NUMBER: u32 = 536870912; +pub const LOCALE_RETURN_GENITIVE_NAMES: u32 = 268435456; +pub const LOCALE_ALLOW_NEUTRAL_NAMES: u32 = 134217728; +pub const LOCALE_SLOCALIZEDDISPLAYNAME: u32 = 2; +pub const LOCALE_SENGLISHDISPLAYNAME: u32 = 114; +pub const LOCALE_SNATIVEDISPLAYNAME: u32 = 115; +pub const LOCALE_SLOCALIZEDLANGUAGENAME: u32 = 111; +pub const LOCALE_SENGLISHLANGUAGENAME: u32 = 4097; +pub const LOCALE_SNATIVELANGUAGENAME: u32 = 4; +pub const LOCALE_SLOCALIZEDCOUNTRYNAME: u32 = 6; +pub const LOCALE_SENGLISHCOUNTRYNAME: u32 = 4098; +pub const LOCALE_SNATIVECOUNTRYNAME: u32 = 8; +pub const LOCALE_IDIALINGCODE: u32 = 5; +pub const LOCALE_SLIST: u32 = 12; +pub const LOCALE_IMEASURE: u32 = 13; +pub const LOCALE_SDECIMAL: u32 = 14; +pub const LOCALE_STHOUSAND: u32 = 15; +pub const LOCALE_SGROUPING: u32 = 16; +pub const LOCALE_IDIGITS: u32 = 17; +pub const LOCALE_ILZERO: u32 = 18; +pub const LOCALE_INEGNUMBER: u32 = 4112; +pub const LOCALE_SNATIVEDIGITS: u32 = 19; +pub const LOCALE_SCURRENCY: u32 = 20; +pub const LOCALE_SINTLSYMBOL: u32 = 21; +pub const LOCALE_SMONDECIMALSEP: u32 = 22; +pub const LOCALE_SMONTHOUSANDSEP: u32 = 23; +pub const LOCALE_SMONGROUPING: u32 = 24; +pub const LOCALE_ICURRDIGITS: u32 = 25; +pub const LOCALE_ICURRENCY: u32 = 27; +pub const LOCALE_INEGCURR: u32 = 28; +pub const LOCALE_SSHORTDATE: u32 = 31; +pub const LOCALE_SLONGDATE: u32 = 32; +pub const LOCALE_STIMEFORMAT: u32 = 4099; +pub const LOCALE_SAM: u32 = 40; +pub const LOCALE_SPM: u32 = 41; +pub const LOCALE_ICALENDARTYPE: u32 = 4105; +pub const LOCALE_IOPTIONALCALENDAR: u32 = 4107; +pub const LOCALE_IFIRSTDAYOFWEEK: u32 = 4108; +pub const LOCALE_IFIRSTWEEKOFYEAR: u32 = 4109; +pub const LOCALE_SDAYNAME1: u32 = 42; +pub const LOCALE_SDAYNAME2: u32 = 43; +pub const LOCALE_SDAYNAME3: u32 = 44; +pub const LOCALE_SDAYNAME4: u32 = 45; +pub const LOCALE_SDAYNAME5: u32 = 46; +pub const LOCALE_SDAYNAME6: u32 = 47; +pub const LOCALE_SDAYNAME7: u32 = 48; +pub const LOCALE_SABBREVDAYNAME1: u32 = 49; +pub const LOCALE_SABBREVDAYNAME2: u32 = 50; +pub const LOCALE_SABBREVDAYNAME3: u32 = 51; +pub const LOCALE_SABBREVDAYNAME4: u32 = 52; +pub const LOCALE_SABBREVDAYNAME5: u32 = 53; +pub const LOCALE_SABBREVDAYNAME6: u32 = 54; +pub const LOCALE_SABBREVDAYNAME7: u32 = 55; +pub const LOCALE_SMONTHNAME1: u32 = 56; +pub const LOCALE_SMONTHNAME2: u32 = 57; +pub const LOCALE_SMONTHNAME3: u32 = 58; +pub const LOCALE_SMONTHNAME4: u32 = 59; +pub const LOCALE_SMONTHNAME5: u32 = 60; +pub const LOCALE_SMONTHNAME6: u32 = 61; +pub const LOCALE_SMONTHNAME7: u32 = 62; +pub const LOCALE_SMONTHNAME8: u32 = 63; +pub const LOCALE_SMONTHNAME9: u32 = 64; +pub const LOCALE_SMONTHNAME10: u32 = 65; +pub const LOCALE_SMONTHNAME11: u32 = 66; +pub const LOCALE_SMONTHNAME12: u32 = 67; +pub const LOCALE_SMONTHNAME13: u32 = 4110; +pub const LOCALE_SABBREVMONTHNAME1: u32 = 68; +pub const LOCALE_SABBREVMONTHNAME2: u32 = 69; +pub const LOCALE_SABBREVMONTHNAME3: u32 = 70; +pub const LOCALE_SABBREVMONTHNAME4: u32 = 71; +pub const LOCALE_SABBREVMONTHNAME5: u32 = 72; +pub const LOCALE_SABBREVMONTHNAME6: u32 = 73; +pub const LOCALE_SABBREVMONTHNAME7: u32 = 74; +pub const LOCALE_SABBREVMONTHNAME8: u32 = 75; +pub const LOCALE_SABBREVMONTHNAME9: u32 = 76; +pub const LOCALE_SABBREVMONTHNAME10: u32 = 77; +pub const LOCALE_SABBREVMONTHNAME11: u32 = 78; +pub const LOCALE_SABBREVMONTHNAME12: u32 = 79; +pub const LOCALE_SABBREVMONTHNAME13: u32 = 4111; +pub const LOCALE_SPOSITIVESIGN: u32 = 80; +pub const LOCALE_SNEGATIVESIGN: u32 = 81; +pub const LOCALE_IPOSSIGNPOSN: u32 = 82; +pub const LOCALE_INEGSIGNPOSN: u32 = 83; +pub const LOCALE_IPOSSYMPRECEDES: u32 = 84; +pub const LOCALE_IPOSSEPBYSPACE: u32 = 85; +pub const LOCALE_INEGSYMPRECEDES: u32 = 86; +pub const LOCALE_INEGSEPBYSPACE: u32 = 87; +pub const LOCALE_FONTSIGNATURE: u32 = 88; +pub const LOCALE_SISO639LANGNAME: u32 = 89; +pub const LOCALE_SISO3166CTRYNAME: u32 = 90; +pub const LOCALE_IPAPERSIZE: u32 = 4106; +pub const LOCALE_SENGCURRNAME: u32 = 4103; +pub const LOCALE_SNATIVECURRNAME: u32 = 4104; +pub const LOCALE_SYEARMONTH: u32 = 4102; +pub const LOCALE_SSORTNAME: u32 = 4115; +pub const LOCALE_IDIGITSUBSTITUTION: u32 = 4116; +pub const LOCALE_SNAME: u32 = 92; +pub const LOCALE_SDURATION: u32 = 93; +pub const LOCALE_SSHORTESTDAYNAME1: u32 = 96; +pub const LOCALE_SSHORTESTDAYNAME2: u32 = 97; +pub const LOCALE_SSHORTESTDAYNAME3: u32 = 98; +pub const LOCALE_SSHORTESTDAYNAME4: u32 = 99; +pub const LOCALE_SSHORTESTDAYNAME5: u32 = 100; +pub const LOCALE_SSHORTESTDAYNAME6: u32 = 101; +pub const LOCALE_SSHORTESTDAYNAME7: u32 = 102; +pub const LOCALE_SISO639LANGNAME2: u32 = 103; +pub const LOCALE_SISO3166CTRYNAME2: u32 = 104; +pub const LOCALE_SNAN: u32 = 105; +pub const LOCALE_SPOSINFINITY: u32 = 106; +pub const LOCALE_SNEGINFINITY: u32 = 107; +pub const LOCALE_SSCRIPTS: u32 = 108; +pub const LOCALE_SPARENT: u32 = 109; +pub const LOCALE_SCONSOLEFALLBACKNAME: u32 = 110; +pub const LOCALE_IREADINGLAYOUT: u32 = 112; +pub const LOCALE_INEUTRAL: u32 = 113; +pub const LOCALE_INEGATIVEPERCENT: u32 = 116; +pub const LOCALE_IPOSITIVEPERCENT: u32 = 117; +pub const LOCALE_SPERCENT: u32 = 118; +pub const LOCALE_SPERMILLE: u32 = 119; +pub const LOCALE_SMONTHDAY: u32 = 120; +pub const LOCALE_SSHORTTIME: u32 = 121; +pub const LOCALE_SOPENTYPELANGUAGETAG: u32 = 122; +pub const LOCALE_SSORTLOCALE: u32 = 123; +pub const LOCALE_SRELATIVELONGDATE: u32 = 124; +pub const LOCALE_SSHORTESTAM: u32 = 126; +pub const LOCALE_SSHORTESTPM: u32 = 127; +pub const LOCALE_IDEFAULTCODEPAGE: u32 = 11; +pub const LOCALE_IDEFAULTANSICODEPAGE: u32 = 4100; +pub const LOCALE_IDEFAULTMACCODEPAGE: u32 = 4113; +pub const LOCALE_IDEFAULTEBCDICCODEPAGE: u32 = 4114; +pub const LOCALE_ILANGUAGE: u32 = 1; +pub const LOCALE_SABBREVLANGNAME: u32 = 3; +pub const LOCALE_SABBREVCTRYNAME: u32 = 7; +pub const LOCALE_IGEOID: u32 = 91; +pub const LOCALE_IDEFAULTLANGUAGE: u32 = 9; +pub const LOCALE_IDEFAULTCOUNTRY: u32 = 10; +pub const LOCALE_IINTLCURRDIGITS: u32 = 26; +pub const LOCALE_SDATE: u32 = 29; +pub const LOCALE_STIME: u32 = 30; +pub const LOCALE_IDATE: u32 = 33; +pub const LOCALE_ILDATE: u32 = 34; +pub const LOCALE_ITIME: u32 = 35; +pub const LOCALE_ITIMEMARKPOSN: u32 = 4101; +pub const LOCALE_ICENTURY: u32 = 36; +pub const LOCALE_ITLZERO: u32 = 37; +pub const LOCALE_IDAYLZERO: u32 = 38; +pub const LOCALE_IMONLZERO: u32 = 39; +pub const LOCALE_SKEYBOARDSTOINSTALL: u32 = 94; +pub const LOCALE_SLANGUAGE: u32 = 2; +pub const LOCALE_SLANGDISPLAYNAME: u32 = 111; +pub const LOCALE_SENGLANGUAGE: u32 = 4097; +pub const LOCALE_SNATIVELANGNAME: u32 = 4; +pub const LOCALE_SCOUNTRY: u32 = 6; +pub const LOCALE_SENGCOUNTRY: u32 = 4098; +pub const LOCALE_SNATIVECTRYNAME: u32 = 8; +pub const LOCALE_ICOUNTRY: u32 = 5; +pub const LOCALE_S1159: u32 = 40; +pub const LOCALE_S2359: u32 = 41; +pub const TIME_NOMINUTESORSECONDS: u32 = 1; +pub const TIME_NOSECONDS: u32 = 2; +pub const TIME_NOTIMEMARKER: u32 = 4; +pub const TIME_FORCE24HOURFORMAT: u32 = 8; +pub const DATE_SHORTDATE: u32 = 1; +pub const DATE_LONGDATE: u32 = 2; +pub const DATE_USE_ALT_CALENDAR: u32 = 4; +pub const DATE_YEARMONTH: u32 = 8; +pub const DATE_LTRREADING: u32 = 16; +pub const DATE_RTLREADING: u32 = 32; +pub const DATE_AUTOLAYOUT: u32 = 64; +pub const DATE_MONTHDAY: u32 = 128; +pub const CAL_NOUSEROVERRIDE: u32 = 2147483648; +pub const CAL_USE_CP_ACP: u32 = 1073741824; +pub const CAL_RETURN_NUMBER: u32 = 536870912; +pub const CAL_RETURN_GENITIVE_NAMES: u32 = 268435456; +pub const CAL_ICALINTVALUE: u32 = 1; +pub const CAL_SCALNAME: u32 = 2; +pub const CAL_IYEAROFFSETRANGE: u32 = 3; +pub const CAL_SERASTRING: u32 = 4; +pub const CAL_SSHORTDATE: u32 = 5; +pub const CAL_SLONGDATE: u32 = 6; +pub const CAL_SDAYNAME1: u32 = 7; +pub const CAL_SDAYNAME2: u32 = 8; +pub const CAL_SDAYNAME3: u32 = 9; +pub const CAL_SDAYNAME4: u32 = 10; +pub const CAL_SDAYNAME5: u32 = 11; +pub const CAL_SDAYNAME6: u32 = 12; +pub const CAL_SDAYNAME7: u32 = 13; +pub const CAL_SABBREVDAYNAME1: u32 = 14; +pub const CAL_SABBREVDAYNAME2: u32 = 15; +pub const CAL_SABBREVDAYNAME3: u32 = 16; +pub const CAL_SABBREVDAYNAME4: u32 = 17; +pub const CAL_SABBREVDAYNAME5: u32 = 18; +pub const CAL_SABBREVDAYNAME6: u32 = 19; +pub const CAL_SABBREVDAYNAME7: u32 = 20; +pub const CAL_SMONTHNAME1: u32 = 21; +pub const CAL_SMONTHNAME2: u32 = 22; +pub const CAL_SMONTHNAME3: u32 = 23; +pub const CAL_SMONTHNAME4: u32 = 24; +pub const CAL_SMONTHNAME5: u32 = 25; +pub const CAL_SMONTHNAME6: u32 = 26; +pub const CAL_SMONTHNAME7: u32 = 27; +pub const CAL_SMONTHNAME8: u32 = 28; +pub const CAL_SMONTHNAME9: u32 = 29; +pub const CAL_SMONTHNAME10: u32 = 30; +pub const CAL_SMONTHNAME11: u32 = 31; +pub const CAL_SMONTHNAME12: u32 = 32; +pub const CAL_SMONTHNAME13: u32 = 33; +pub const CAL_SABBREVMONTHNAME1: u32 = 34; +pub const CAL_SABBREVMONTHNAME2: u32 = 35; +pub const CAL_SABBREVMONTHNAME3: u32 = 36; +pub const CAL_SABBREVMONTHNAME4: u32 = 37; +pub const CAL_SABBREVMONTHNAME5: u32 = 38; +pub const CAL_SABBREVMONTHNAME6: u32 = 39; +pub const CAL_SABBREVMONTHNAME7: u32 = 40; +pub const CAL_SABBREVMONTHNAME8: u32 = 41; +pub const CAL_SABBREVMONTHNAME9: u32 = 42; +pub const CAL_SABBREVMONTHNAME10: u32 = 43; +pub const CAL_SABBREVMONTHNAME11: u32 = 44; +pub const CAL_SABBREVMONTHNAME12: u32 = 45; +pub const CAL_SABBREVMONTHNAME13: u32 = 46; +pub const CAL_SYEARMONTH: u32 = 47; +pub const CAL_ITWODIGITYEARMAX: u32 = 48; +pub const CAL_SSHORTESTDAYNAME1: u32 = 49; +pub const CAL_SSHORTESTDAYNAME2: u32 = 50; +pub const CAL_SSHORTESTDAYNAME3: u32 = 51; +pub const CAL_SSHORTESTDAYNAME4: u32 = 52; +pub const CAL_SSHORTESTDAYNAME5: u32 = 53; +pub const CAL_SSHORTESTDAYNAME6: u32 = 54; +pub const CAL_SSHORTESTDAYNAME7: u32 = 55; +pub const CAL_SMONTHDAY: u32 = 56; +pub const CAL_SABBREVERASTRING: u32 = 57; +pub const CAL_SRELATIVELONGDATE: u32 = 58; +pub const CAL_SENGLISHERANAME: u32 = 59; +pub const CAL_SENGLISHABBREVERANAME: u32 = 60; +pub const CAL_SJAPANESEERAFIRSTYEAR: u32 = 61; +pub const ENUM_ALL_CALENDARS: u32 = 4294967295; +pub const CAL_GREGORIAN: u32 = 1; +pub const CAL_GREGORIAN_US: u32 = 2; +pub const CAL_JAPAN: u32 = 3; +pub const CAL_TAIWAN: u32 = 4; +pub const CAL_KOREA: u32 = 5; +pub const CAL_HIJRI: u32 = 6; +pub const CAL_THAI: u32 = 7; +pub const CAL_HEBREW: u32 = 8; +pub const CAL_GREGORIAN_ME_FRENCH: u32 = 9; +pub const CAL_GREGORIAN_ARABIC: u32 = 10; +pub const CAL_GREGORIAN_XLIT_ENGLISH: u32 = 11; +pub const CAL_GREGORIAN_XLIT_FRENCH: u32 = 12; +pub const CAL_PERSIAN: u32 = 22; +pub const CAL_UMALQURA: u32 = 23; +pub const LGRPID_WESTERN_EUROPE: u32 = 1; +pub const LGRPID_CENTRAL_EUROPE: u32 = 2; +pub const LGRPID_BALTIC: u32 = 3; +pub const LGRPID_GREEK: u32 = 4; +pub const LGRPID_CYRILLIC: u32 = 5; +pub const LGRPID_TURKIC: u32 = 6; +pub const LGRPID_TURKISH: u32 = 6; +pub const LGRPID_JAPANESE: u32 = 7; +pub const LGRPID_KOREAN: u32 = 8; +pub const LGRPID_TRADITIONAL_CHINESE: u32 = 9; +pub const LGRPID_SIMPLIFIED_CHINESE: u32 = 10; +pub const LGRPID_THAI: u32 = 11; +pub const LGRPID_HEBREW: u32 = 12; +pub const LGRPID_ARABIC: u32 = 13; +pub const LGRPID_VIETNAMESE: u32 = 14; +pub const LGRPID_INDIC: u32 = 15; +pub const LGRPID_GEORGIAN: u32 = 16; +pub const LGRPID_ARMENIAN: u32 = 17; +pub const MUI_LANGUAGE_ID: u32 = 4; +pub const MUI_LANGUAGE_NAME: u32 = 8; +pub const MUI_MERGE_SYSTEM_FALLBACK: u32 = 16; +pub const MUI_MERGE_USER_FALLBACK: u32 = 32; +pub const MUI_UI_FALLBACK: u32 = 48; +pub const MUI_THREAD_LANGUAGES: u32 = 64; +pub const MUI_CONSOLE_FILTER: u32 = 256; +pub const MUI_COMPLEX_SCRIPT_FILTER: u32 = 512; +pub const MUI_RESET_FILTERS: u32 = 1; +pub const MUI_USER_PREFERRED_UI_LANGUAGES: u32 = 16; +pub const MUI_USE_INSTALLED_LANGUAGES: u32 = 32; +pub const MUI_USE_SEARCH_ALL_LANGUAGES: u32 = 64; +pub const MUI_LANG_NEUTRAL_PE_FILE: u32 = 256; +pub const MUI_NON_LANG_NEUTRAL_FILE: u32 = 512; +pub const MUI_MACHINE_LANGUAGE_SETTINGS: u32 = 1024; +pub const MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL: u32 = 1; +pub const MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN: u32 = 2; +pub const MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI: u32 = 4; +pub const MUI_QUERY_TYPE: u32 = 1; +pub const MUI_QUERY_CHECKSUM: u32 = 2; +pub const MUI_QUERY_LANGUAGE_NAME: u32 = 4; +pub const MUI_QUERY_RESOURCE_TYPES: u32 = 8; +pub const MUI_FILEINFO_VERSION: u32 = 1; +pub const MUI_FULL_LANGUAGE: u32 = 1; +pub const MUI_PARTIAL_LANGUAGE: u32 = 2; +pub const MUI_LIP_LANGUAGE: u32 = 4; +pub const MUI_LANGUAGE_INSTALLED: u32 = 32; +pub const MUI_LANGUAGE_LICENSED: u32 = 64; +pub const GEOID_NOT_AVAILABLE: i32 = -1; +pub const IDN_ALLOW_UNASSIGNED: u32 = 1; +pub const IDN_USE_STD3_ASCII_RULES: u32 = 2; +pub const IDN_EMAIL_ADDRESS: u32 = 4; +pub const IDN_RAW_PUNYCODE: u32 = 8; +pub const VS_ALLOW_LATIN: u32 = 1; +pub const GSS_ALLOW_INHERITED_COMMON: u32 = 1; +pub const MUI_FORMAT_REG_COMPAT: u32 = 1; +pub const MUI_FORMAT_INF_COMPAT: u32 = 2; +pub const MUI_VERIFY_FILE_EXISTS: u32 = 4; +pub const MUI_SKIP_STRING_CACHE: u32 = 8; +pub const MUI_IMMUTABLE_LOOKUP: u32 = 16; +pub const LOCALE_NAME_INVARIANT: &[u8; 1usize] = b"\0"; +pub const LOCALE_NAME_SYSTEM_DEFAULT: &[u8; 22usize] = b"!x-sys-default-locale\0"; +pub const RIGHT_ALT_PRESSED: u32 = 1; +pub const LEFT_ALT_PRESSED: u32 = 2; +pub const RIGHT_CTRL_PRESSED: u32 = 4; +pub const LEFT_CTRL_PRESSED: u32 = 8; +pub const SHIFT_PRESSED: u32 = 16; +pub const NUMLOCK_ON: u32 = 32; +pub const SCROLLLOCK_ON: u32 = 64; +pub const CAPSLOCK_ON: u32 = 128; +pub const ENHANCED_KEY: u32 = 256; +pub const NLS_DBCSCHAR: u32 = 65536; +pub const NLS_ALPHANUMERIC: u32 = 0; +pub const NLS_KATAKANA: u32 = 131072; +pub const NLS_HIRAGANA: u32 = 262144; +pub const NLS_ROMAN: u32 = 4194304; +pub const NLS_IME_CONVERSION: u32 = 8388608; +pub const ALTNUMPAD_BIT: u32 = 67108864; +pub const NLS_IME_DISABLE: u32 = 536870912; +pub const FROM_LEFT_1ST_BUTTON_PRESSED: u32 = 1; +pub const RIGHTMOST_BUTTON_PRESSED: u32 = 2; +pub const FROM_LEFT_2ND_BUTTON_PRESSED: u32 = 4; +pub const FROM_LEFT_3RD_BUTTON_PRESSED: u32 = 8; +pub const FROM_LEFT_4TH_BUTTON_PRESSED: u32 = 16; +pub const MOUSE_MOVED: u32 = 1; +pub const DOUBLE_CLICK: u32 = 2; +pub const MOUSE_WHEELED: u32 = 4; +pub const MOUSE_HWHEELED: u32 = 8; +pub const KEY_EVENT: u32 = 1; +pub const MOUSE_EVENT: u32 = 2; +pub const WINDOW_BUFFER_SIZE_EVENT: u32 = 4; +pub const MENU_EVENT: u32 = 8; +pub const FOCUS_EVENT: u32 = 16; +pub const ENABLE_PROCESSED_INPUT: u32 = 1; +pub const ENABLE_LINE_INPUT: u32 = 2; +pub const ENABLE_ECHO_INPUT: u32 = 4; +pub const ENABLE_WINDOW_INPUT: u32 = 8; +pub const ENABLE_MOUSE_INPUT: u32 = 16; +pub const ENABLE_INSERT_MODE: u32 = 32; +pub const ENABLE_QUICK_EDIT_MODE: u32 = 64; +pub const ENABLE_EXTENDED_FLAGS: u32 = 128; +pub const ENABLE_AUTO_POSITION: u32 = 256; +pub const ENABLE_VIRTUAL_TERMINAL_INPUT: u32 = 512; +pub const ENABLE_PROCESSED_OUTPUT: u32 = 1; +pub const ENABLE_WRAP_AT_EOL_OUTPUT: u32 = 2; +pub const ENABLE_VIRTUAL_TERMINAL_PROCESSING: u32 = 4; +pub const DISABLE_NEWLINE_AUTO_RETURN: u32 = 8; +pub const ENABLE_LVB_GRID_WORLDWIDE: u32 = 16; +pub const CTRL_C_EVENT: u32 = 0; +pub const CTRL_BREAK_EVENT: u32 = 1; +pub const CTRL_CLOSE_EVENT: u32 = 2; +pub const CTRL_LOGOFF_EVENT: u32 = 5; +pub const CTRL_SHUTDOWN_EVENT: u32 = 6; +pub const PSEUDOCONSOLE_INHERIT_CURSOR: u32 = 1; +pub const FOREGROUND_BLUE: u32 = 1; +pub const FOREGROUND_GREEN: u32 = 2; +pub const FOREGROUND_RED: u32 = 4; +pub const FOREGROUND_INTENSITY: u32 = 8; +pub const BACKGROUND_BLUE: u32 = 16; +pub const BACKGROUND_GREEN: u32 = 32; +pub const BACKGROUND_RED: u32 = 64; +pub const BACKGROUND_INTENSITY: u32 = 128; +pub const COMMON_LVB_LEADING_BYTE: u32 = 256; +pub const COMMON_LVB_TRAILING_BYTE: u32 = 512; +pub const COMMON_LVB_GRID_HORIZONTAL: u32 = 1024; +pub const COMMON_LVB_GRID_LVERTICAL: u32 = 2048; +pub const COMMON_LVB_GRID_RVERTICAL: u32 = 4096; +pub const COMMON_LVB_REVERSE_VIDEO: u32 = 16384; +pub const COMMON_LVB_UNDERSCORE: u32 = 32768; +pub const COMMON_LVB_SBCSDBCS: u32 = 768; +pub const CONSOLE_NO_SELECTION: u32 = 0; +pub const CONSOLE_SELECTION_IN_PROGRESS: u32 = 1; +pub const CONSOLE_SELECTION_NOT_EMPTY: u32 = 2; +pub const CONSOLE_MOUSE_SELECTION: u32 = 4; +pub const CONSOLE_MOUSE_DOWN: u32 = 8; +pub const HISTORY_NO_DUP_FLAG: u32 = 1; +pub const CONSOLE_FULLSCREEN: u32 = 1; +pub const CONSOLE_FULLSCREEN_HARDWARE: u32 = 2; +pub const CONSOLE_FULLSCREEN_MODE: u32 = 1; +pub const CONSOLE_WINDOWED_MODE: u32 = 2; +pub const CONSOLE_TEXTMODE_BUFFER: u32 = 1; +pub const VS_VERSION_INFO: u32 = 1; +pub const VS_USER_DEFINED: u32 = 100; +pub const VS_FFI_SIGNATURE: u32 = 4277077181; +pub const VS_FFI_STRUCVERSION: u32 = 65536; +pub const VS_FFI_FILEFLAGSMASK: u32 = 63; +pub const VS_FF_DEBUG: u32 = 1; +pub const VS_FF_PRERELEASE: u32 = 2; +pub const VS_FF_PATCHED: u32 = 4; +pub const VS_FF_PRIVATEBUILD: u32 = 8; +pub const VS_FF_INFOINFERRED: u32 = 16; +pub const VS_FF_SPECIALBUILD: u32 = 32; +pub const VOS_UNKNOWN: u32 = 0; +pub const VOS_DOS: u32 = 65536; +pub const VOS_OS216: u32 = 131072; +pub const VOS_OS232: u32 = 196608; +pub const VOS_NT: u32 = 262144; +pub const VOS_WINCE: u32 = 327680; +pub const VOS__BASE: u32 = 0; +pub const VOS__WINDOWS16: u32 = 1; +pub const VOS__PM16: u32 = 2; +pub const VOS__PM32: u32 = 3; +pub const VOS__WINDOWS32: u32 = 4; +pub const VOS_DOS_WINDOWS16: u32 = 65537; +pub const VOS_DOS_WINDOWS32: u32 = 65540; +pub const VOS_OS216_PM16: u32 = 131074; +pub const VOS_OS232_PM32: u32 = 196611; +pub const VOS_NT_WINDOWS32: u32 = 262148; +pub const VFT_UNKNOWN: u32 = 0; +pub const VFT_APP: u32 = 1; +pub const VFT_DLL: u32 = 2; +pub const VFT_DRV: u32 = 3; +pub const VFT_FONT: u32 = 4; +pub const VFT_VXD: u32 = 5; +pub const VFT_STATIC_LIB: u32 = 7; +pub const VFT2_UNKNOWN: u32 = 0; +pub const VFT2_DRV_PRINTER: u32 = 1; +pub const VFT2_DRV_KEYBOARD: u32 = 2; +pub const VFT2_DRV_LANGUAGE: u32 = 3; +pub const VFT2_DRV_DISPLAY: u32 = 4; +pub const VFT2_DRV_MOUSE: u32 = 5; +pub const VFT2_DRV_NETWORK: u32 = 6; +pub const VFT2_DRV_SYSTEM: u32 = 7; +pub const VFT2_DRV_INSTALLABLE: u32 = 8; +pub const VFT2_DRV_SOUND: u32 = 9; +pub const VFT2_DRV_COMM: u32 = 10; +pub const VFT2_DRV_INPUTMETHOD: u32 = 11; +pub const VFT2_DRV_VERSIONED_PRINTER: u32 = 12; +pub const VFT2_FONT_RASTER: u32 = 1; +pub const VFT2_FONT_VECTOR: u32 = 2; +pub const VFT2_FONT_TRUETYPE: u32 = 3; +pub const VFFF_ISSHAREDFILE: u32 = 1; +pub const VFF_CURNEDEST: u32 = 1; +pub const VFF_FILEINUSE: u32 = 2; +pub const VFF_BUFFTOOSMALL: u32 = 4; +pub const VIFF_FORCEINSTALL: u32 = 1; +pub const VIFF_DONTDELETEOLD: u32 = 2; +pub const VIF_TEMPFILE: u32 = 1; +pub const VIF_MISMATCH: u32 = 2; +pub const VIF_SRCOLD: u32 = 4; +pub const VIF_DIFFLANG: u32 = 8; +pub const VIF_DIFFCODEPG: u32 = 16; +pub const VIF_DIFFTYPE: u32 = 32; +pub const VIF_WRITEPROT: u32 = 64; +pub const VIF_FILEINUSE: u32 = 128; +pub const VIF_OUTOFSPACE: u32 = 256; +pub const VIF_ACCESSVIOLATION: u32 = 512; +pub const VIF_SHARINGVIOLATION: u32 = 1024; +pub const VIF_CANNOTCREATE: u32 = 2048; +pub const VIF_CANNOTDELETE: u32 = 4096; +pub const VIF_CANNOTRENAME: u32 = 8192; +pub const VIF_CANNOTDELETECUR: u32 = 16384; +pub const VIF_OUTOFMEMORY: u32 = 32768; +pub const VIF_CANNOTREADSRC: u32 = 65536; +pub const VIF_CANNOTREADDST: u32 = 131072; +pub const VIF_BUFFTOOSMALL: u32 = 262144; +pub const VIF_CANNOTLOADLZ32: u32 = 524288; +pub const VIF_CANNOTLOADCABINET: u32 = 1048576; +pub const FILE_VER_GET_LOCALISED: u32 = 1; +pub const FILE_VER_GET_NEUTRAL: u32 = 2; +pub const FILE_VER_GET_PREFETCHED: u32 = 4; +pub const RRF_RT_REG_NONE: u32 = 1; +pub const RRF_RT_REG_SZ: u32 = 2; +pub const RRF_RT_REG_EXPAND_SZ: u32 = 4; +pub const RRF_RT_REG_BINARY: u32 = 8; +pub const RRF_RT_REG_DWORD: u32 = 16; +pub const RRF_RT_REG_MULTI_SZ: u32 = 32; +pub const RRF_RT_REG_QWORD: u32 = 64; +pub const RRF_RT_DWORD: u32 = 24; +pub const RRF_RT_QWORD: u32 = 72; +pub const RRF_RT_ANY: u32 = 65535; +pub const RRF_SUBKEY_WOW6464KEY: u32 = 65536; +pub const RRF_SUBKEY_WOW6432KEY: u32 = 131072; +pub const RRF_WOW64_MASK: u32 = 196608; +pub const RRF_NOEXPAND: u32 = 268435456; +pub const RRF_ZEROONFAILURE: u32 = 536870912; +pub const REG_PROCESS_APPKEY: u32 = 1; +pub const PROVIDER_KEEPS_VALUE_LENGTH: u32 = 1; +pub const REG_MUI_STRING_TRUNCATE: u32 = 1; +pub const REG_SECURE_CONNECTION: u32 = 1; +pub const SHTDN_REASON_FLAG_COMMENT_REQUIRED: u32 = 16777216; +pub const SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED: u32 = 33554432; +pub const SHTDN_REASON_FLAG_CLEAN_UI: u32 = 67108864; +pub const SHTDN_REASON_FLAG_DIRTY_UI: u32 = 134217728; +pub const SHTDN_REASON_FLAG_MOBILE_UI_RESERVED: u32 = 268435456; +pub const SHTDN_REASON_FLAG_USER_DEFINED: u32 = 1073741824; +pub const SHTDN_REASON_FLAG_PLANNED: u32 = 2147483648; +pub const SHTDN_REASON_MAJOR_OTHER: u32 = 0; +pub const SHTDN_REASON_MAJOR_NONE: u32 = 0; +pub const SHTDN_REASON_MAJOR_HARDWARE: u32 = 65536; +pub const SHTDN_REASON_MAJOR_OPERATINGSYSTEM: u32 = 131072; +pub const SHTDN_REASON_MAJOR_SOFTWARE: u32 = 196608; +pub const SHTDN_REASON_MAJOR_APPLICATION: u32 = 262144; +pub const SHTDN_REASON_MAJOR_SYSTEM: u32 = 327680; +pub const SHTDN_REASON_MAJOR_POWER: u32 = 393216; +pub const SHTDN_REASON_MAJOR_LEGACY_API: u32 = 458752; +pub const SHTDN_REASON_MINOR_OTHER: u32 = 0; +pub const SHTDN_REASON_MINOR_NONE: u32 = 255; +pub const SHTDN_REASON_MINOR_MAINTENANCE: u32 = 1; +pub const SHTDN_REASON_MINOR_INSTALLATION: u32 = 2; +pub const SHTDN_REASON_MINOR_UPGRADE: u32 = 3; +pub const SHTDN_REASON_MINOR_RECONFIG: u32 = 4; +pub const SHTDN_REASON_MINOR_HUNG: u32 = 5; +pub const SHTDN_REASON_MINOR_UNSTABLE: u32 = 6; +pub const SHTDN_REASON_MINOR_DISK: u32 = 7; +pub const SHTDN_REASON_MINOR_PROCESSOR: u32 = 8; +pub const SHTDN_REASON_MINOR_NETWORKCARD: u32 = 9; +pub const SHTDN_REASON_MINOR_POWER_SUPPLY: u32 = 10; +pub const SHTDN_REASON_MINOR_CORDUNPLUGGED: u32 = 11; +pub const SHTDN_REASON_MINOR_ENVIRONMENT: u32 = 12; +pub const SHTDN_REASON_MINOR_HARDWARE_DRIVER: u32 = 13; +pub const SHTDN_REASON_MINOR_OTHERDRIVER: u32 = 14; +pub const SHTDN_REASON_MINOR_BLUESCREEN: u32 = 15; +pub const SHTDN_REASON_MINOR_SERVICEPACK: u32 = 16; +pub const SHTDN_REASON_MINOR_HOTFIX: u32 = 17; +pub const SHTDN_REASON_MINOR_SECURITYFIX: u32 = 18; +pub const SHTDN_REASON_MINOR_SECURITY: u32 = 19; +pub const SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY: u32 = 20; +pub const SHTDN_REASON_MINOR_WMI: u32 = 21; +pub const SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL: u32 = 22; +pub const SHTDN_REASON_MINOR_HOTFIX_UNINSTALL: u32 = 23; +pub const SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL: u32 = 24; +pub const SHTDN_REASON_MINOR_MMC: u32 = 25; +pub const SHTDN_REASON_MINOR_SYSTEMRESTORE: u32 = 26; +pub const SHTDN_REASON_MINOR_TERMSRV: u32 = 32; +pub const SHTDN_REASON_MINOR_DC_PROMOTION: u32 = 33; +pub const SHTDN_REASON_MINOR_DC_DEMOTION: u32 = 34; +pub const SHTDN_REASON_UNKNOWN: u32 = 255; +pub const SHTDN_REASON_LEGACY_API: u32 = 2147942400; +pub const SHTDN_REASON_VALID_BIT_MASK: u32 = 3238002687; +pub const PCLEANUI: u32 = 2214592512; +pub const UCLEANUI: u32 = 67108864; +pub const PDIRTYUI: u32 = 2281701376; +pub const UDIRTYUI: u32 = 134217728; +pub const MAX_REASON_NAME_LEN: u32 = 64; +pub const MAX_REASON_DESC_LEN: u32 = 256; +pub const MAX_REASON_BUGID_LEN: u32 = 32; +pub const MAX_REASON_COMMENT_LEN: u32 = 512; +pub const SHUTDOWN_TYPE_LEN: u32 = 32; +pub const POLICY_SHOWREASONUI_NEVER: u32 = 0; +pub const POLICY_SHOWREASONUI_ALWAYS: u32 = 1; +pub const POLICY_SHOWREASONUI_WORKSTATIONONLY: u32 = 2; +pub const POLICY_SHOWREASONUI_SERVERONLY: u32 = 3; +pub const SNAPSHOT_POLICY_NEVER: u32 = 0; +pub const SNAPSHOT_POLICY_ALWAYS: u32 = 1; +pub const SNAPSHOT_POLICY_UNPLANNED: u32 = 2; +pub const MAX_NUM_REASONS: u32 = 256; +pub const REASON_SWINSTALL: u32 = 196610; +pub const REASON_HWINSTALL: u32 = 65538; +pub const REASON_SERVICEHANG: u32 = 196613; +pub const REASON_UNSTABLE: u32 = 327686; +pub const REASON_SWHWRECONF: u32 = 196612; +pub const REASON_OTHER: u32 = 0; +pub const REASON_UNKNOWN: u32 = 255; +pub const REASON_LEGACY_API: u32 = 2147942400; +pub const REASON_PLANNED_FLAG: u32 = 2147483648; +pub const MAX_SHUTDOWN_TIMEOUT: u32 = 315360000; +pub const SHUTDOWN_FORCE_OTHERS: u32 = 1; +pub const SHUTDOWN_FORCE_SELF: u32 = 2; +pub const SHUTDOWN_RESTART: u32 = 4; +pub const SHUTDOWN_POWEROFF: u32 = 8; +pub const SHUTDOWN_NOREBOOT: u32 = 16; +pub const SHUTDOWN_GRACE_OVERRIDE: u32 = 32; +pub const SHUTDOWN_INSTALL_UPDATES: u32 = 64; +pub const SHUTDOWN_RESTARTAPPS: u32 = 128; +pub const SHUTDOWN_SKIP_SVC_PRESHUTDOWN: u32 = 256; +pub const SHUTDOWN_HYBRID: u32 = 512; +pub const SHUTDOWN_RESTART_BOOTOPTIONS: u32 = 1024; +pub const SHUTDOWN_SOFT_REBOOT: u32 = 2048; +pub const SHUTDOWN_MOBILE_UI: u32 = 4096; +pub const SHUTDOWN_ARSO: u32 = 8192; +pub const WNNC_NET_MSNET: u32 = 65536; +pub const WNNC_NET_SMB: u32 = 131072; +pub const WNNC_NET_NETWARE: u32 = 196608; +pub const WNNC_NET_VINES: u32 = 262144; +pub const WNNC_NET_10NET: u32 = 327680; +pub const WNNC_NET_LOCUS: u32 = 393216; +pub const WNNC_NET_SUN_PC_NFS: u32 = 458752; +pub const WNNC_NET_LANSTEP: u32 = 524288; +pub const WNNC_NET_9TILES: u32 = 589824; +pub const WNNC_NET_LANTASTIC: u32 = 655360; +pub const WNNC_NET_AS400: u32 = 720896; +pub const WNNC_NET_FTP_NFS: u32 = 786432; +pub const WNNC_NET_PATHWORKS: u32 = 851968; +pub const WNNC_NET_LIFENET: u32 = 917504; +pub const WNNC_NET_POWERLAN: u32 = 983040; +pub const WNNC_NET_BWNFS: u32 = 1048576; +pub const WNNC_NET_COGENT: u32 = 1114112; +pub const WNNC_NET_FARALLON: u32 = 1179648; +pub const WNNC_NET_APPLETALK: u32 = 1245184; +pub const WNNC_NET_INTERGRAPH: u32 = 1310720; +pub const WNNC_NET_SYMFONET: u32 = 1376256; +pub const WNNC_NET_CLEARCASE: u32 = 1441792; +pub const WNNC_NET_FRONTIER: u32 = 1507328; +pub const WNNC_NET_BMC: u32 = 1572864; +pub const WNNC_NET_DCE: u32 = 1638400; +pub const WNNC_NET_AVID: u32 = 1703936; +pub const WNNC_NET_DOCUSPACE: u32 = 1769472; +pub const WNNC_NET_MANGOSOFT: u32 = 1835008; +pub const WNNC_NET_SERNET: u32 = 1900544; +pub const WNNC_NET_RIVERFRONT1: u32 = 1966080; +pub const WNNC_NET_RIVERFRONT2: u32 = 2031616; +pub const WNNC_NET_DECORB: u32 = 2097152; +pub const WNNC_NET_PROTSTOR: u32 = 2162688; +pub const WNNC_NET_FJ_REDIR: u32 = 2228224; +pub const WNNC_NET_DISTINCT: u32 = 2293760; +pub const WNNC_NET_TWINS: u32 = 2359296; +pub const WNNC_NET_RDR2SAMPLE: u32 = 2424832; +pub const WNNC_NET_CSC: u32 = 2490368; +pub const WNNC_NET_3IN1: u32 = 2555904; +pub const WNNC_NET_EXTENDNET: u32 = 2686976; +pub const WNNC_NET_STAC: u32 = 2752512; +pub const WNNC_NET_FOXBAT: u32 = 2818048; +pub const WNNC_NET_YAHOO: u32 = 2883584; +pub const WNNC_NET_EXIFS: u32 = 2949120; +pub const WNNC_NET_DAV: u32 = 3014656; +pub const WNNC_NET_KNOWARE: u32 = 3080192; +pub const WNNC_NET_OBJECT_DIRE: u32 = 3145728; +pub const WNNC_NET_MASFAX: u32 = 3211264; +pub const WNNC_NET_HOB_NFS: u32 = 3276800; +pub const WNNC_NET_SHIVA: u32 = 3342336; +pub const WNNC_NET_IBMAL: u32 = 3407872; +pub const WNNC_NET_LOCK: u32 = 3473408; +pub const WNNC_NET_TERMSRV: u32 = 3538944; +pub const WNNC_NET_SRT: u32 = 3604480; +pub const WNNC_NET_QUINCY: u32 = 3670016; +pub const WNNC_NET_OPENAFS: u32 = 3735552; +pub const WNNC_NET_AVID1: u32 = 3801088; +pub const WNNC_NET_DFS: u32 = 3866624; +pub const WNNC_NET_KWNP: u32 = 3932160; +pub const WNNC_NET_ZENWORKS: u32 = 3997696; +pub const WNNC_NET_DRIVEONWEB: u32 = 4063232; +pub const WNNC_NET_VMWARE: u32 = 4128768; +pub const WNNC_NET_RSFX: u32 = 4194304; +pub const WNNC_NET_MFILES: u32 = 4259840; +pub const WNNC_NET_MS_NFS: u32 = 4325376; +pub const WNNC_NET_GOOGLE: u32 = 4390912; +pub const WNNC_NET_NDFS: u32 = 4456448; +pub const WNNC_NET_DOCUSHARE: u32 = 4521984; +pub const WNNC_NET_AURISTOR_FS: u32 = 4587520; +pub const WNNC_NET_SECUREAGENT: u32 = 4653056; +pub const WNNC_NET_9P: u32 = 4718592; +pub const WNNC_CRED_MANAGER: u32 = 4294901760; +pub const WNNC_NET_LANMAN: u32 = 131072; +pub const RESOURCE_CONNECTED: u32 = 1; +pub const RESOURCE_GLOBALNET: u32 = 2; +pub const RESOURCE_REMEMBERED: u32 = 3; +pub const RESOURCE_RECENT: u32 = 4; +pub const RESOURCE_CONTEXT: u32 = 5; +pub const RESOURCETYPE_ANY: u32 = 0; +pub const RESOURCETYPE_DISK: u32 = 1; +pub const RESOURCETYPE_PRINT: u32 = 2; +pub const RESOURCETYPE_RESERVED: u32 = 8; +pub const RESOURCETYPE_UNKNOWN: u32 = 4294967295; +pub const RESOURCEUSAGE_CONNECTABLE: u32 = 1; +pub const RESOURCEUSAGE_CONTAINER: u32 = 2; +pub const RESOURCEUSAGE_NOLOCALDEVICE: u32 = 4; +pub const RESOURCEUSAGE_SIBLING: u32 = 8; +pub const RESOURCEUSAGE_ATTACHED: u32 = 16; +pub const RESOURCEUSAGE_ALL: u32 = 19; +pub const RESOURCEUSAGE_RESERVED: u32 = 2147483648; +pub const RESOURCEDISPLAYTYPE_GENERIC: u32 = 0; +pub const RESOURCEDISPLAYTYPE_DOMAIN: u32 = 1; +pub const RESOURCEDISPLAYTYPE_SERVER: u32 = 2; +pub const RESOURCEDISPLAYTYPE_SHARE: u32 = 3; +pub const RESOURCEDISPLAYTYPE_FILE: u32 = 4; +pub const RESOURCEDISPLAYTYPE_GROUP: u32 = 5; +pub const RESOURCEDISPLAYTYPE_NETWORK: u32 = 6; +pub const RESOURCEDISPLAYTYPE_ROOT: u32 = 7; +pub const RESOURCEDISPLAYTYPE_SHAREADMIN: u32 = 8; +pub const RESOURCEDISPLAYTYPE_DIRECTORY: u32 = 9; +pub const RESOURCEDISPLAYTYPE_TREE: u32 = 10; +pub const RESOURCEDISPLAYTYPE_NDSCONTAINER: u32 = 11; +pub const NETPROPERTY_PERSISTENT: u32 = 1; +pub const CONNECT_UPDATE_PROFILE: u32 = 1; +pub const CONNECT_UPDATE_RECENT: u32 = 2; +pub const CONNECT_TEMPORARY: u32 = 4; +pub const CONNECT_INTERACTIVE: u32 = 8; +pub const CONNECT_PROMPT: u32 = 16; +pub const CONNECT_NEED_DRIVE: u32 = 32; +pub const CONNECT_REFCOUNT: u32 = 64; +pub const CONNECT_REDIRECT: u32 = 128; +pub const CONNECT_LOCALDRIVE: u32 = 256; +pub const CONNECT_CURRENT_MEDIA: u32 = 512; +pub const CONNECT_DEFERRED: u32 = 1024; +pub const CONNECT_RESERVED: u32 = 4278190080; +pub const CONNECT_COMMANDLINE: u32 = 2048; +pub const CONNECT_CMD_SAVECRED: u32 = 4096; +pub const CONNECT_CRED_RESET: u32 = 8192; +pub const CONNECT_REQUIRE_INTEGRITY: u32 = 16384; +pub const CONNECT_REQUIRE_PRIVACY: u32 = 32768; +pub const CONNECT_WRITE_THROUGH_SEMANTICS: u32 = 65536; +pub const CONNECT_COMPRESS_NETWORK_TRAFFIC: u32 = 131072; +pub const CONNDLG_RO_PATH: u32 = 1; +pub const CONNDLG_CONN_POINT: u32 = 2; +pub const CONNDLG_USE_MRU: u32 = 4; +pub const CONNDLG_HIDE_BOX: u32 = 8; +pub const CONNDLG_PERSIST: u32 = 16; +pub const CONNDLG_NOT_PERSIST: u32 = 32; +pub const DISC_UPDATE_PROFILE: u32 = 1; +pub const DISC_NO_FORCE: u32 = 64; +pub const UNIVERSAL_NAME_INFO_LEVEL: u32 = 1; +pub const REMOTE_NAME_INFO_LEVEL: u32 = 2; +pub const WNFMT_MULTILINE: u32 = 1; +pub const WNFMT_ABBREVIATED: u32 = 2; +pub const WNFMT_INENUM: u32 = 16; +pub const WNFMT_CONNECTION: u32 = 32; +pub const NETINFO_DLL16: u32 = 1; +pub const NETINFO_DISKRED: u32 = 4; +pub const NETINFO_PRINTERRED: u32 = 8; +pub const WN_SUCCESS: u32 = 0; +pub const WN_NO_ERROR: u32 = 0; +pub const WN_NOT_SUPPORTED: u32 = 50; +pub const WN_CANCEL: u32 = 1223; +pub const WN_RETRY: u32 = 1237; +pub const WN_NET_ERROR: u32 = 59; +pub const WN_MORE_DATA: u32 = 234; +pub const WN_BAD_POINTER: u32 = 487; +pub const WN_BAD_VALUE: u32 = 87; +pub const WN_BAD_USER: u32 = 2202; +pub const WN_BAD_PASSWORD: u32 = 86; +pub const WN_ACCESS_DENIED: u32 = 5; +pub const WN_FUNCTION_BUSY: u32 = 170; +pub const WN_WINDOWS_ERROR: u32 = 59; +pub const WN_OUT_OF_MEMORY: u32 = 8; +pub const WN_NO_NETWORK: u32 = 1222; +pub const WN_EXTENDED_ERROR: u32 = 1208; +pub const WN_BAD_LEVEL: u32 = 124; +pub const WN_BAD_HANDLE: u32 = 6; +pub const WN_NOT_INITIALIZING: u32 = 1247; +pub const WN_NO_MORE_DEVICES: u32 = 1248; +pub const WN_NOT_CONNECTED: u32 = 2250; +pub const WN_OPEN_FILES: u32 = 2401; +pub const WN_DEVICE_IN_USE: u32 = 2404; +pub const WN_BAD_NETNAME: u32 = 67; +pub const WN_BAD_LOCALNAME: u32 = 1200; +pub const WN_ALREADY_CONNECTED: u32 = 85; +pub const WN_DEVICE_ERROR: u32 = 31; +pub const WN_CONNECTION_CLOSED: u32 = 1201; +pub const WN_NO_NET_OR_BAD_PATH: u32 = 1203; +pub const WN_BAD_PROVIDER: u32 = 1204; +pub const WN_CANNOT_OPEN_PROFILE: u32 = 1205; +pub const WN_BAD_PROFILE: u32 = 1206; +pub const WN_BAD_DEV_TYPE: u32 = 66; +pub const WN_DEVICE_ALREADY_REMEMBERED: u32 = 1202; +pub const WN_CONNECTED_OTHER_PASSWORD: u32 = 2108; +pub const WN_CONNECTED_OTHER_PASSWORD_DEFAULT: u32 = 2109; +pub const WN_NO_MORE_ENTRIES: u32 = 259; +pub const WN_NOT_CONTAINER: u32 = 1207; +pub const WN_NOT_AUTHENTICATED: u32 = 1244; +pub const WN_NOT_LOGGED_ON: u32 = 1245; +pub const WN_NOT_VALIDATED: u32 = 1311; +pub const WNCON_FORNETCARD: u32 = 1; +pub const WNCON_NOTROUTED: u32 = 2; +pub const WNCON_SLOWLINK: u32 = 4; +pub const WNCON_DYNAMIC: u32 = 8; +pub const CDERR_DIALOGFAILURE: u32 = 65535; +pub const CDERR_GENERALCODES: u32 = 0; +pub const CDERR_STRUCTSIZE: u32 = 1; +pub const CDERR_INITIALIZATION: u32 = 2; +pub const CDERR_NOTEMPLATE: u32 = 3; +pub const CDERR_NOHINSTANCE: u32 = 4; +pub const CDERR_LOADSTRFAILURE: u32 = 5; +pub const CDERR_FINDRESFAILURE: u32 = 6; +pub const CDERR_LOADRESFAILURE: u32 = 7; +pub const CDERR_LOCKRESFAILURE: u32 = 8; +pub const CDERR_MEMALLOCFAILURE: u32 = 9; +pub const CDERR_MEMLOCKFAILURE: u32 = 10; +pub const CDERR_NOHOOK: u32 = 11; +pub const CDERR_REGISTERMSGFAIL: u32 = 12; +pub const PDERR_PRINTERCODES: u32 = 4096; +pub const PDERR_SETUPFAILURE: u32 = 4097; +pub const PDERR_PARSEFAILURE: u32 = 4098; +pub const PDERR_RETDEFFAILURE: u32 = 4099; +pub const PDERR_LOADDRVFAILURE: u32 = 4100; +pub const PDERR_GETDEVMODEFAIL: u32 = 4101; +pub const PDERR_INITFAILURE: u32 = 4102; +pub const PDERR_NODEVICES: u32 = 4103; +pub const PDERR_NODEFAULTPRN: u32 = 4104; +pub const PDERR_DNDMMISMATCH: u32 = 4105; +pub const PDERR_CREATEICFAILURE: u32 = 4106; +pub const PDERR_PRINTERNOTFOUND: u32 = 4107; +pub const PDERR_DEFAULTDIFFERENT: u32 = 4108; +pub const CFERR_CHOOSEFONTCODES: u32 = 8192; +pub const CFERR_NOFONTS: u32 = 8193; +pub const CFERR_MAXLESSTHANMIN: u32 = 8194; +pub const FNERR_FILENAMECODES: u32 = 12288; +pub const FNERR_SUBCLASSFAILURE: u32 = 12289; +pub const FNERR_INVALIDFILENAME: u32 = 12290; +pub const FNERR_BUFFERTOOSMALL: u32 = 12291; +pub const FRERR_FINDREPLACECODES: u32 = 16384; +pub const FRERR_BUFFERLENGTHZERO: u32 = 16385; +pub const CCERR_CHOOSECOLORCODES: u32 = 20480; +pub const WM_DDE_FIRST: u32 = 992; +pub const WM_DDE_INITIATE: u32 = 992; +pub const WM_DDE_TERMINATE: u32 = 993; +pub const WM_DDE_ADVISE: u32 = 994; +pub const WM_DDE_UNADVISE: u32 = 995; +pub const WM_DDE_ACK: u32 = 996; +pub const WM_DDE_DATA: u32 = 997; +pub const WM_DDE_REQUEST: u32 = 998; +pub const WM_DDE_POKE: u32 = 999; +pub const WM_DDE_EXECUTE: u32 = 1000; +pub const WM_DDE_LAST: u32 = 1000; +pub const XST_NULL: u32 = 0; +pub const XST_INCOMPLETE: u32 = 1; +pub const XST_CONNECTED: u32 = 2; +pub const XST_INIT1: u32 = 3; +pub const XST_INIT2: u32 = 4; +pub const XST_REQSENT: u32 = 5; +pub const XST_DATARCVD: u32 = 6; +pub const XST_POKESENT: u32 = 7; +pub const XST_POKEACKRCVD: u32 = 8; +pub const XST_EXECSENT: u32 = 9; +pub const XST_EXECACKRCVD: u32 = 10; +pub const XST_ADVSENT: u32 = 11; +pub const XST_UNADVSENT: u32 = 12; +pub const XST_ADVACKRCVD: u32 = 13; +pub const XST_UNADVACKRCVD: u32 = 14; +pub const XST_ADVDATASENT: u32 = 15; +pub const XST_ADVDATAACKRCVD: u32 = 16; +pub const CADV_LATEACK: u32 = 65535; +pub const ST_CONNECTED: u32 = 1; +pub const ST_ADVISE: u32 = 2; +pub const ST_ISLOCAL: u32 = 4; +pub const ST_BLOCKED: u32 = 8; +pub const ST_CLIENT: u32 = 16; +pub const ST_TERMINATED: u32 = 32; +pub const ST_INLIST: u32 = 64; +pub const ST_BLOCKNEXT: u32 = 128; +pub const ST_ISSELF: u32 = 256; +pub const DDE_FACK: u32 = 32768; +pub const DDE_FBUSY: u32 = 16384; +pub const DDE_FDEFERUPD: u32 = 16384; +pub const DDE_FACKREQ: u32 = 32768; +pub const DDE_FRELEASE: u32 = 8192; +pub const DDE_FREQUESTED: u32 = 4096; +pub const DDE_FAPPSTATUS: u32 = 255; +pub const DDE_FNOTPROCESSED: u32 = 0; +pub const DDE_FACKRESERVED: i32 = -49408; +pub const DDE_FADVRESERVED: i32 = -49153; +pub const DDE_FDATRESERVED: i32 = -45057; +pub const DDE_FPOKRESERVED: i32 = -8193; +pub const MSGF_DDEMGR: u32 = 32769; +pub const CP_WINANSI: u32 = 1004; +pub const CP_WINUNICODE: u32 = 1200; +pub const CP_WINNEUTRAL: u32 = 1004; +pub const XTYPF_NOBLOCK: u32 = 2; +pub const XTYPF_NODATA: u32 = 4; +pub const XTYPF_ACKREQ: u32 = 8; +pub const XCLASS_MASK: u32 = 64512; +pub const XCLASS_BOOL: u32 = 4096; +pub const XCLASS_DATA: u32 = 8192; +pub const XCLASS_FLAGS: u32 = 16384; +pub const XCLASS_NOTIFICATION: u32 = 32768; +pub const XTYP_ERROR: u32 = 32770; +pub const XTYP_ADVDATA: u32 = 16400; +pub const XTYP_ADVREQ: u32 = 8226; +pub const XTYP_ADVSTART: u32 = 4144; +pub const XTYP_ADVSTOP: u32 = 32832; +pub const XTYP_EXECUTE: u32 = 16464; +pub const XTYP_CONNECT: u32 = 4194; +pub const XTYP_CONNECT_CONFIRM: u32 = 32882; +pub const XTYP_XACT_COMPLETE: u32 = 32896; +pub const XTYP_POKE: u32 = 16528; +pub const XTYP_REGISTER: u32 = 32930; +pub const XTYP_REQUEST: u32 = 8368; +pub const XTYP_DISCONNECT: u32 = 32962; +pub const XTYP_UNREGISTER: u32 = 32978; +pub const XTYP_WILDCONNECT: u32 = 8418; +pub const XTYP_MASK: u32 = 240; +pub const XTYP_SHIFT: u32 = 4; +pub const TIMEOUT_ASYNC: u32 = 4294967295; +pub const QID_SYNC: u32 = 4294967295; +pub const SZDDESYS_TOPIC: &[u8; 7usize] = b"System\0"; +pub const SZDDESYS_ITEM_TOPICS: &[u8; 7usize] = b"Topics\0"; +pub const SZDDESYS_ITEM_SYSITEMS: &[u8; 9usize] = b"SysItems\0"; +pub const SZDDESYS_ITEM_RTNMSG: &[u8; 14usize] = b"ReturnMessage\0"; +pub const SZDDESYS_ITEM_STATUS: &[u8; 7usize] = b"Status\0"; +pub const SZDDESYS_ITEM_FORMATS: &[u8; 8usize] = b"Formats\0"; +pub const SZDDESYS_ITEM_HELP: &[u8; 5usize] = b"Help\0"; +pub const SZDDE_ITEM_ITEMLIST: &[u8; 14usize] = b"TopicItemList\0"; +pub const CBF_FAIL_SELFCONNECTIONS: u32 = 4096; +pub const CBF_FAIL_CONNECTIONS: u32 = 8192; +pub const CBF_FAIL_ADVISES: u32 = 16384; +pub const CBF_FAIL_EXECUTES: u32 = 32768; +pub const CBF_FAIL_POKES: u32 = 65536; +pub const CBF_FAIL_REQUESTS: u32 = 131072; +pub const CBF_FAIL_ALLSVRXACTIONS: u32 = 258048; +pub const CBF_SKIP_CONNECT_CONFIRMS: u32 = 262144; +pub const CBF_SKIP_REGISTRATIONS: u32 = 524288; +pub const CBF_SKIP_UNREGISTRATIONS: u32 = 1048576; +pub const CBF_SKIP_DISCONNECTS: u32 = 2097152; +pub const CBF_SKIP_ALLNOTIFICATIONS: u32 = 3932160; +pub const APPCMD_CLIENTONLY: u32 = 16; +pub const APPCMD_FILTERINITS: u32 = 32; +pub const APPCMD_MASK: u32 = 4080; +pub const APPCLASS_STANDARD: u32 = 0; +pub const APPCLASS_MASK: u32 = 15; +pub const EC_ENABLEALL: u32 = 0; +pub const EC_ENABLEONE: u32 = 128; +pub const EC_DISABLE: u32 = 8; +pub const EC_QUERYWAITING: u32 = 2; +pub const DNS_REGISTER: u32 = 1; +pub const DNS_UNREGISTER: u32 = 2; +pub const DNS_FILTERON: u32 = 4; +pub const DNS_FILTEROFF: u32 = 8; +pub const HDATA_APPOWNED: u32 = 1; +pub const DMLERR_NO_ERROR: u32 = 0; +pub const DMLERR_FIRST: u32 = 16384; +pub const DMLERR_ADVACKTIMEOUT: u32 = 16384; +pub const DMLERR_BUSY: u32 = 16385; +pub const DMLERR_DATAACKTIMEOUT: u32 = 16386; +pub const DMLERR_DLL_NOT_INITIALIZED: u32 = 16387; +pub const DMLERR_DLL_USAGE: u32 = 16388; +pub const DMLERR_EXECACKTIMEOUT: u32 = 16389; +pub const DMLERR_INVALIDPARAMETER: u32 = 16390; +pub const DMLERR_LOW_MEMORY: u32 = 16391; +pub const DMLERR_MEMORY_ERROR: u32 = 16392; +pub const DMLERR_NOTPROCESSED: u32 = 16393; +pub const DMLERR_NO_CONV_ESTABLISHED: u32 = 16394; +pub const DMLERR_POKEACKTIMEOUT: u32 = 16395; +pub const DMLERR_POSTMSG_FAILED: u32 = 16396; +pub const DMLERR_REENTRANCY: u32 = 16397; +pub const DMLERR_SERVER_DIED: u32 = 16398; +pub const DMLERR_SYS_ERROR: u32 = 16399; +pub const DMLERR_UNADVACKTIMEOUT: u32 = 16400; +pub const DMLERR_UNFOUND_QUEUE_ID: u32 = 16401; +pub const DMLERR_LAST: u32 = 16401; +pub const MH_CREATE: u32 = 1; +pub const MH_KEEP: u32 = 2; +pub const MH_DELETE: u32 = 3; +pub const MH_CLEANUP: u32 = 4; +pub const MAX_MONITORS: u32 = 4; +pub const APPCLASS_MONITOR: u32 = 1; +pub const XTYP_MONITOR: u32 = 33010; +pub const MF_HSZ_INFO: u32 = 16777216; +pub const MF_SENDMSGS: u32 = 33554432; +pub const MF_POSTMSGS: u32 = 67108864; +pub const MF_CALLBACKS: u32 = 134217728; +pub const MF_ERRORS: u32 = 268435456; +pub const MF_LINKS: u32 = 536870912; +pub const MF_CONV: u32 = 1073741824; +pub const MF_MASK: u32 = 4278190080; +pub const ctlFirst: u32 = 1024; +pub const ctlLast: u32 = 1279; +pub const psh1: u32 = 1024; +pub const psh2: u32 = 1025; +pub const psh3: u32 = 1026; +pub const psh4: u32 = 1027; +pub const psh5: u32 = 1028; +pub const psh6: u32 = 1029; +pub const psh7: u32 = 1030; +pub const psh8: u32 = 1031; +pub const psh9: u32 = 1032; +pub const psh10: u32 = 1033; +pub const psh11: u32 = 1034; +pub const psh12: u32 = 1035; +pub const psh13: u32 = 1036; +pub const psh14: u32 = 1037; +pub const psh15: u32 = 1038; +pub const pshHelp: u32 = 1038; +pub const psh16: u32 = 1039; +pub const chx1: u32 = 1040; +pub const chx2: u32 = 1041; +pub const chx3: u32 = 1042; +pub const chx4: u32 = 1043; +pub const chx5: u32 = 1044; +pub const chx6: u32 = 1045; +pub const chx7: u32 = 1046; +pub const chx8: u32 = 1047; +pub const chx9: u32 = 1048; +pub const chx10: u32 = 1049; +pub const chx11: u32 = 1050; +pub const chx12: u32 = 1051; +pub const chx13: u32 = 1052; +pub const chx14: u32 = 1053; +pub const chx15: u32 = 1054; +pub const chx16: u32 = 1055; +pub const rad1: u32 = 1056; +pub const rad2: u32 = 1057; +pub const rad3: u32 = 1058; +pub const rad4: u32 = 1059; +pub const rad5: u32 = 1060; +pub const rad6: u32 = 1061; +pub const rad7: u32 = 1062; +pub const rad8: u32 = 1063; +pub const rad9: u32 = 1064; +pub const rad10: u32 = 1065; +pub const rad11: u32 = 1066; +pub const rad12: u32 = 1067; +pub const rad13: u32 = 1068; +pub const rad14: u32 = 1069; +pub const rad15: u32 = 1070; +pub const rad16: u32 = 1071; +pub const grp1: u32 = 1072; +pub const grp2: u32 = 1073; +pub const grp3: u32 = 1074; +pub const grp4: u32 = 1075; +pub const frm1: u32 = 1076; +pub const frm2: u32 = 1077; +pub const frm3: u32 = 1078; +pub const frm4: u32 = 1079; +pub const rct1: u32 = 1080; +pub const rct2: u32 = 1081; +pub const rct3: u32 = 1082; +pub const rct4: u32 = 1083; +pub const ico1: u32 = 1084; +pub const ico2: u32 = 1085; +pub const ico3: u32 = 1086; +pub const ico4: u32 = 1087; +pub const stc1: u32 = 1088; +pub const stc2: u32 = 1089; +pub const stc3: u32 = 1090; +pub const stc4: u32 = 1091; +pub const stc5: u32 = 1092; +pub const stc6: u32 = 1093; +pub const stc7: u32 = 1094; +pub const stc8: u32 = 1095; +pub const stc9: u32 = 1096; +pub const stc10: u32 = 1097; +pub const stc11: u32 = 1098; +pub const stc12: u32 = 1099; +pub const stc13: u32 = 1100; +pub const stc14: u32 = 1101; +pub const stc15: u32 = 1102; +pub const stc16: u32 = 1103; +pub const stc17: u32 = 1104; +pub const stc18: u32 = 1105; +pub const stc19: u32 = 1106; +pub const stc20: u32 = 1107; +pub const stc21: u32 = 1108; +pub const stc22: u32 = 1109; +pub const stc23: u32 = 1110; +pub const stc24: u32 = 1111; +pub const stc25: u32 = 1112; +pub const stc26: u32 = 1113; +pub const stc27: u32 = 1114; +pub const stc28: u32 = 1115; +pub const stc29: u32 = 1116; +pub const stc30: u32 = 1117; +pub const stc31: u32 = 1118; +pub const stc32: u32 = 1119; +pub const lst1: u32 = 1120; +pub const lst2: u32 = 1121; +pub const lst3: u32 = 1122; +pub const lst4: u32 = 1123; +pub const lst5: u32 = 1124; +pub const lst6: u32 = 1125; +pub const lst7: u32 = 1126; +pub const lst8: u32 = 1127; +pub const lst9: u32 = 1128; +pub const lst10: u32 = 1129; +pub const lst11: u32 = 1130; +pub const lst12: u32 = 1131; +pub const lst13: u32 = 1132; +pub const lst14: u32 = 1133; +pub const lst15: u32 = 1134; +pub const lst16: u32 = 1135; +pub const cmb1: u32 = 1136; +pub const cmb2: u32 = 1137; +pub const cmb3: u32 = 1138; +pub const cmb4: u32 = 1139; +pub const cmb5: u32 = 1140; +pub const cmb6: u32 = 1141; +pub const cmb7: u32 = 1142; +pub const cmb8: u32 = 1143; +pub const cmb9: u32 = 1144; +pub const cmb10: u32 = 1145; +pub const cmb11: u32 = 1146; +pub const cmb12: u32 = 1147; +pub const cmb13: u32 = 1148; +pub const cmb14: u32 = 1149; +pub const cmb15: u32 = 1150; +pub const cmb16: u32 = 1151; +pub const edt1: u32 = 1152; +pub const edt2: u32 = 1153; +pub const edt3: u32 = 1154; +pub const edt4: u32 = 1155; +pub const edt5: u32 = 1156; +pub const edt6: u32 = 1157; +pub const edt7: u32 = 1158; +pub const edt8: u32 = 1159; +pub const edt9: u32 = 1160; +pub const edt10: u32 = 1161; +pub const edt11: u32 = 1162; +pub const edt12: u32 = 1163; +pub const edt13: u32 = 1164; +pub const edt14: u32 = 1165; +pub const edt15: u32 = 1166; +pub const edt16: u32 = 1167; +pub const scr1: u32 = 1168; +pub const scr2: u32 = 1169; +pub const scr3: u32 = 1170; +pub const scr4: u32 = 1171; +pub const scr5: u32 = 1172; +pub const scr6: u32 = 1173; +pub const scr7: u32 = 1174; +pub const scr8: u32 = 1175; +pub const ctl1: u32 = 1184; +pub const FILEOPENORD: u32 = 1536; +pub const MULTIFILEOPENORD: u32 = 1537; +pub const PRINTDLGORD: u32 = 1538; +pub const PRNSETUPDLGORD: u32 = 1539; +pub const FINDDLGORD: u32 = 1540; +pub const REPLACEDLGORD: u32 = 1541; +pub const FONTDLGORD: u32 = 1542; +pub const FORMATDLGORD31: u32 = 1543; +pub const FORMATDLGORD30: u32 = 1544; +pub const RUNDLGORD: u32 = 1545; +pub const PAGESETUPDLGORD: u32 = 1546; +pub const NEWFILEOPENORD: u32 = 1547; +pub const PRINTDLGEXORD: u32 = 1549; +pub const PAGESETUPDLGORDMOTIF: u32 = 1550; +pub const COLORMGMTDLGORD: u32 = 1551; +pub const NEWFILEOPENV2ORD: u32 = 1552; +pub const NEWFILEOPENV3ORD: u32 = 1553; +pub const NEWFORMATDLGWITHLINK: u32 = 1591; +pub const IDC_MANAGE_LINK: u32 = 1592; +pub const LZERROR_BADINHANDLE: i32 = -1; +pub const LZERROR_BADOUTHANDLE: i32 = -2; +pub const LZERROR_READ: i32 = -3; +pub const LZERROR_WRITE: i32 = -4; +pub const LZERROR_GLOBALLOC: i32 = -5; +pub const LZERROR_GLOBLOCK: i32 = -6; +pub const LZERROR_BADVALUE: i32 = -7; +pub const LZERROR_UNKNOWNALG: i32 = -8; +pub const MAXPNAMELEN: u32 = 32; +pub const MAXERRORLENGTH: u32 = 256; +pub const MAX_JOYSTICKOEMVXDNAME: u32 = 260; +pub const TIME_MS: u32 = 1; +pub const TIME_SAMPLES: u32 = 2; +pub const TIME_BYTES: u32 = 4; +pub const TIME_SMPTE: u32 = 8; +pub const TIME_MIDI: u32 = 16; +pub const TIME_TICKS: u32 = 32; +pub const MM_JOY1MOVE: u32 = 928; +pub const MM_JOY2MOVE: u32 = 929; +pub const MM_JOY1ZMOVE: u32 = 930; +pub const MM_JOY2ZMOVE: u32 = 931; +pub const MM_JOY1BUTTONDOWN: u32 = 949; +pub const MM_JOY2BUTTONDOWN: u32 = 950; +pub const MM_JOY1BUTTONUP: u32 = 951; +pub const MM_JOY2BUTTONUP: u32 = 952; +pub const MM_MCINOTIFY: u32 = 953; +pub const MM_WOM_OPEN: u32 = 955; +pub const MM_WOM_CLOSE: u32 = 956; +pub const MM_WOM_DONE: u32 = 957; +pub const MM_WIM_OPEN: u32 = 958; +pub const MM_WIM_CLOSE: u32 = 959; +pub const MM_WIM_DATA: u32 = 960; +pub const MM_MIM_OPEN: u32 = 961; +pub const MM_MIM_CLOSE: u32 = 962; +pub const MM_MIM_DATA: u32 = 963; +pub const MM_MIM_LONGDATA: u32 = 964; +pub const MM_MIM_ERROR: u32 = 965; +pub const MM_MIM_LONGERROR: u32 = 966; +pub const MM_MOM_OPEN: u32 = 967; +pub const MM_MOM_CLOSE: u32 = 968; +pub const MM_MOM_DONE: u32 = 969; +pub const MM_DRVM_OPEN: u32 = 976; +pub const MM_DRVM_CLOSE: u32 = 977; +pub const MM_DRVM_DATA: u32 = 978; +pub const MM_DRVM_ERROR: u32 = 979; +pub const MM_STREAM_OPEN: u32 = 980; +pub const MM_STREAM_CLOSE: u32 = 981; +pub const MM_STREAM_DONE: u32 = 982; +pub const MM_STREAM_ERROR: u32 = 983; +pub const MM_MOM_POSITIONCB: u32 = 970; +pub const MM_MCISIGNAL: u32 = 971; +pub const MM_MIM_MOREDATA: u32 = 972; +pub const MM_MIXM_LINE_CHANGE: u32 = 976; +pub const MM_MIXM_CONTROL_CHANGE: u32 = 977; +pub const MMSYSERR_BASE: u32 = 0; +pub const WAVERR_BASE: u32 = 32; +pub const MIDIERR_BASE: u32 = 64; +pub const TIMERR_BASE: u32 = 96; +pub const JOYERR_BASE: u32 = 160; +pub const MCIERR_BASE: u32 = 256; +pub const MIXERR_BASE: u32 = 1024; +pub const MCI_STRING_OFFSET: u32 = 512; +pub const MCI_VD_OFFSET: u32 = 1024; +pub const MCI_CD_OFFSET: u32 = 1088; +pub const MCI_WAVE_OFFSET: u32 = 1152; +pub const MCI_SEQ_OFFSET: u32 = 1216; +pub const MMSYSERR_NOERROR: u32 = 0; +pub const MMSYSERR_ERROR: u32 = 1; +pub const MMSYSERR_BADDEVICEID: u32 = 2; +pub const MMSYSERR_NOTENABLED: u32 = 3; +pub const MMSYSERR_ALLOCATED: u32 = 4; +pub const MMSYSERR_INVALHANDLE: u32 = 5; +pub const MMSYSERR_NODRIVER: u32 = 6; +pub const MMSYSERR_NOMEM: u32 = 7; +pub const MMSYSERR_NOTSUPPORTED: u32 = 8; +pub const MMSYSERR_BADERRNUM: u32 = 9; +pub const MMSYSERR_INVALFLAG: u32 = 10; +pub const MMSYSERR_INVALPARAM: u32 = 11; +pub const MMSYSERR_HANDLEBUSY: u32 = 12; +pub const MMSYSERR_INVALIDALIAS: u32 = 13; +pub const MMSYSERR_BADDB: u32 = 14; +pub const MMSYSERR_KEYNOTFOUND: u32 = 15; +pub const MMSYSERR_READERROR: u32 = 16; +pub const MMSYSERR_WRITEERROR: u32 = 17; +pub const MMSYSERR_DELETEERROR: u32 = 18; +pub const MMSYSERR_VALNOTFOUND: u32 = 19; +pub const MMSYSERR_NODRIVERCB: u32 = 20; +pub const MMSYSERR_MOREDATA: u32 = 21; +pub const MMSYSERR_LASTERROR: u32 = 21; +pub const CALLBACK_TYPEMASK: u32 = 458752; +pub const CALLBACK_NULL: u32 = 0; +pub const CALLBACK_WINDOW: u32 = 65536; +pub const CALLBACK_TASK: u32 = 131072; +pub const CALLBACK_FUNCTION: u32 = 196608; +pub const CALLBACK_THREAD: u32 = 131072; +pub const CALLBACK_EVENT: u32 = 327680; +pub const MCIERR_INVALID_DEVICE_ID: u32 = 257; +pub const MCIERR_UNRECOGNIZED_KEYWORD: u32 = 259; +pub const MCIERR_UNRECOGNIZED_COMMAND: u32 = 261; +pub const MCIERR_HARDWARE: u32 = 262; +pub const MCIERR_INVALID_DEVICE_NAME: u32 = 263; +pub const MCIERR_OUT_OF_MEMORY: u32 = 264; +pub const MCIERR_DEVICE_OPEN: u32 = 265; +pub const MCIERR_CANNOT_LOAD_DRIVER: u32 = 266; +pub const MCIERR_MISSING_COMMAND_STRING: u32 = 267; +pub const MCIERR_PARAM_OVERFLOW: u32 = 268; +pub const MCIERR_MISSING_STRING_ARGUMENT: u32 = 269; +pub const MCIERR_BAD_INTEGER: u32 = 270; +pub const MCIERR_PARSER_INTERNAL: u32 = 271; +pub const MCIERR_DRIVER_INTERNAL: u32 = 272; +pub const MCIERR_MISSING_PARAMETER: u32 = 273; +pub const MCIERR_UNSUPPORTED_FUNCTION: u32 = 274; +pub const MCIERR_FILE_NOT_FOUND: u32 = 275; +pub const MCIERR_DEVICE_NOT_READY: u32 = 276; +pub const MCIERR_INTERNAL: u32 = 277; +pub const MCIERR_DRIVER: u32 = 278; +pub const MCIERR_CANNOT_USE_ALL: u32 = 279; +pub const MCIERR_MULTIPLE: u32 = 280; +pub const MCIERR_EXTENSION_NOT_FOUND: u32 = 281; +pub const MCIERR_OUTOFRANGE: u32 = 282; +pub const MCIERR_FLAGS_NOT_COMPATIBLE: u32 = 284; +pub const MCIERR_FILE_NOT_SAVED: u32 = 286; +pub const MCIERR_DEVICE_TYPE_REQUIRED: u32 = 287; +pub const MCIERR_DEVICE_LOCKED: u32 = 288; +pub const MCIERR_DUPLICATE_ALIAS: u32 = 289; +pub const MCIERR_BAD_CONSTANT: u32 = 290; +pub const MCIERR_MUST_USE_SHAREABLE: u32 = 291; +pub const MCIERR_MISSING_DEVICE_NAME: u32 = 292; +pub const MCIERR_BAD_TIME_FORMAT: u32 = 293; +pub const MCIERR_NO_CLOSING_QUOTE: u32 = 294; +pub const MCIERR_DUPLICATE_FLAGS: u32 = 295; +pub const MCIERR_INVALID_FILE: u32 = 296; +pub const MCIERR_NULL_PARAMETER_BLOCK: u32 = 297; +pub const MCIERR_UNNAMED_RESOURCE: u32 = 298; +pub const MCIERR_NEW_REQUIRES_ALIAS: u32 = 299; +pub const MCIERR_NOTIFY_ON_AUTO_OPEN: u32 = 300; +pub const MCIERR_NO_ELEMENT_ALLOWED: u32 = 301; +pub const MCIERR_NONAPPLICABLE_FUNCTION: u32 = 302; +pub const MCIERR_ILLEGAL_FOR_AUTO_OPEN: u32 = 303; +pub const MCIERR_FILENAME_REQUIRED: u32 = 304; +pub const MCIERR_EXTRA_CHARACTERS: u32 = 305; +pub const MCIERR_DEVICE_NOT_INSTALLED: u32 = 306; +pub const MCIERR_GET_CD: u32 = 307; +pub const MCIERR_SET_CD: u32 = 308; +pub const MCIERR_SET_DRIVE: u32 = 309; +pub const MCIERR_DEVICE_LENGTH: u32 = 310; +pub const MCIERR_DEVICE_ORD_LENGTH: u32 = 311; +pub const MCIERR_NO_INTEGER: u32 = 312; +pub const MCIERR_WAVE_OUTPUTSINUSE: u32 = 320; +pub const MCIERR_WAVE_SETOUTPUTINUSE: u32 = 321; +pub const MCIERR_WAVE_INPUTSINUSE: u32 = 322; +pub const MCIERR_WAVE_SETINPUTINUSE: u32 = 323; +pub const MCIERR_WAVE_OUTPUTUNSPECIFIED: u32 = 324; +pub const MCIERR_WAVE_INPUTUNSPECIFIED: u32 = 325; +pub const MCIERR_WAVE_OUTPUTSUNSUITABLE: u32 = 326; +pub const MCIERR_WAVE_SETOUTPUTUNSUITABLE: u32 = 327; +pub const MCIERR_WAVE_INPUTSUNSUITABLE: u32 = 328; +pub const MCIERR_WAVE_SETINPUTUNSUITABLE: u32 = 329; +pub const MCIERR_SEQ_DIV_INCOMPATIBLE: u32 = 336; +pub const MCIERR_SEQ_PORT_INUSE: u32 = 337; +pub const MCIERR_SEQ_PORT_NONEXISTENT: u32 = 338; +pub const MCIERR_SEQ_PORT_MAPNODEVICE: u32 = 339; +pub const MCIERR_SEQ_PORT_MISCERROR: u32 = 340; +pub const MCIERR_SEQ_TIMER: u32 = 341; +pub const MCIERR_SEQ_PORTUNSPECIFIED: u32 = 342; +pub const MCIERR_SEQ_NOMIDIPRESENT: u32 = 343; +pub const MCIERR_NO_WINDOW: u32 = 346; +pub const MCIERR_CREATEWINDOW: u32 = 347; +pub const MCIERR_FILE_READ: u32 = 348; +pub const MCIERR_FILE_WRITE: u32 = 349; +pub const MCIERR_NO_IDENTITY: u32 = 350; +pub const MCIERR_CUSTOM_DRIVER_BASE: u32 = 512; +pub const MCI_OPEN: u32 = 2051; +pub const MCI_CLOSE: u32 = 2052; +pub const MCI_ESCAPE: u32 = 2053; +pub const MCI_PLAY: u32 = 2054; +pub const MCI_SEEK: u32 = 2055; +pub const MCI_STOP: u32 = 2056; +pub const MCI_PAUSE: u32 = 2057; +pub const MCI_INFO: u32 = 2058; +pub const MCI_GETDEVCAPS: u32 = 2059; +pub const MCI_SPIN: u32 = 2060; +pub const MCI_SET: u32 = 2061; +pub const MCI_STEP: u32 = 2062; +pub const MCI_RECORD: u32 = 2063; +pub const MCI_SYSINFO: u32 = 2064; +pub const MCI_BREAK: u32 = 2065; +pub const MCI_SAVE: u32 = 2067; +pub const MCI_STATUS: u32 = 2068; +pub const MCI_CUE: u32 = 2096; +pub const MCI_REALIZE: u32 = 2112; +pub const MCI_WINDOW: u32 = 2113; +pub const MCI_PUT: u32 = 2114; +pub const MCI_WHERE: u32 = 2115; +pub const MCI_FREEZE: u32 = 2116; +pub const MCI_UNFREEZE: u32 = 2117; +pub const MCI_LOAD: u32 = 2128; +pub const MCI_CUT: u32 = 2129; +pub const MCI_COPY: u32 = 2130; +pub const MCI_PASTE: u32 = 2131; +pub const MCI_UPDATE: u32 = 2132; +pub const MCI_RESUME: u32 = 2133; +pub const MCI_DELETE: u32 = 2134; +pub const MCI_LAST: u32 = 4095; +pub const MCI_DEVTYPE_VCR: u32 = 513; +pub const MCI_DEVTYPE_VIDEODISC: u32 = 514; +pub const MCI_DEVTYPE_OVERLAY: u32 = 515; +pub const MCI_DEVTYPE_CD_AUDIO: u32 = 516; +pub const MCI_DEVTYPE_DAT: u32 = 517; +pub const MCI_DEVTYPE_SCANNER: u32 = 518; +pub const MCI_DEVTYPE_ANIMATION: u32 = 519; +pub const MCI_DEVTYPE_DIGITAL_VIDEO: u32 = 520; +pub const MCI_DEVTYPE_OTHER: u32 = 521; +pub const MCI_DEVTYPE_WAVEFORM_AUDIO: u32 = 522; +pub const MCI_DEVTYPE_SEQUENCER: u32 = 523; +pub const MCI_DEVTYPE_FIRST: u32 = 513; +pub const MCI_DEVTYPE_LAST: u32 = 523; +pub const MCI_DEVTYPE_FIRST_USER: u32 = 4096; +pub const MCI_MODE_NOT_READY: u32 = 524; +pub const MCI_MODE_STOP: u32 = 525; +pub const MCI_MODE_PLAY: u32 = 526; +pub const MCI_MODE_RECORD: u32 = 527; +pub const MCI_MODE_SEEK: u32 = 528; +pub const MCI_MODE_PAUSE: u32 = 529; +pub const MCI_MODE_OPEN: u32 = 530; +pub const MCI_FORMAT_MILLISECONDS: u32 = 0; +pub const MCI_FORMAT_HMS: u32 = 1; +pub const MCI_FORMAT_MSF: u32 = 2; +pub const MCI_FORMAT_FRAMES: u32 = 3; +pub const MCI_FORMAT_SMPTE_24: u32 = 4; +pub const MCI_FORMAT_SMPTE_25: u32 = 5; +pub const MCI_FORMAT_SMPTE_30: u32 = 6; +pub const MCI_FORMAT_SMPTE_30DROP: u32 = 7; +pub const MCI_FORMAT_BYTES: u32 = 8; +pub const MCI_FORMAT_SAMPLES: u32 = 9; +pub const MCI_FORMAT_TMSF: u32 = 10; +pub const MCI_NOTIFY_SUCCESSFUL: u32 = 1; +pub const MCI_NOTIFY_SUPERSEDED: u32 = 2; +pub const MCI_NOTIFY_ABORTED: u32 = 4; +pub const MCI_NOTIFY_FAILURE: u32 = 8; +pub const MCI_NOTIFY: u32 = 1; +pub const MCI_WAIT: u32 = 2; +pub const MCI_FROM: u32 = 4; +pub const MCI_TO: u32 = 8; +pub const MCI_TRACK: u32 = 16; +pub const MCI_OPEN_SHAREABLE: u32 = 256; +pub const MCI_OPEN_ELEMENT: u32 = 512; +pub const MCI_OPEN_ALIAS: u32 = 1024; +pub const MCI_OPEN_ELEMENT_ID: u32 = 2048; +pub const MCI_OPEN_TYPE_ID: u32 = 4096; +pub const MCI_OPEN_TYPE: u32 = 8192; +pub const MCI_SEEK_TO_START: u32 = 256; +pub const MCI_SEEK_TO_END: u32 = 512; +pub const MCI_STATUS_ITEM: u32 = 256; +pub const MCI_STATUS_START: u32 = 512; +pub const MCI_STATUS_LENGTH: u32 = 1; +pub const MCI_STATUS_POSITION: u32 = 2; +pub const MCI_STATUS_NUMBER_OF_TRACKS: u32 = 3; +pub const MCI_STATUS_MODE: u32 = 4; +pub const MCI_STATUS_MEDIA_PRESENT: u32 = 5; +pub const MCI_STATUS_TIME_FORMAT: u32 = 6; +pub const MCI_STATUS_READY: u32 = 7; +pub const MCI_STATUS_CURRENT_TRACK: u32 = 8; +pub const MCI_INFO_PRODUCT: u32 = 256; +pub const MCI_INFO_FILE: u32 = 512; +pub const MCI_INFO_MEDIA_UPC: u32 = 1024; +pub const MCI_INFO_MEDIA_IDENTITY: u32 = 2048; +pub const MCI_INFO_NAME: u32 = 4096; +pub const MCI_INFO_COPYRIGHT: u32 = 8192; +pub const MCI_GETDEVCAPS_ITEM: u32 = 256; +pub const MCI_GETDEVCAPS_CAN_RECORD: u32 = 1; +pub const MCI_GETDEVCAPS_HAS_AUDIO: u32 = 2; +pub const MCI_GETDEVCAPS_HAS_VIDEO: u32 = 3; +pub const MCI_GETDEVCAPS_DEVICE_TYPE: u32 = 4; +pub const MCI_GETDEVCAPS_USES_FILES: u32 = 5; +pub const MCI_GETDEVCAPS_COMPOUND_DEVICE: u32 = 6; +pub const MCI_GETDEVCAPS_CAN_EJECT: u32 = 7; +pub const MCI_GETDEVCAPS_CAN_PLAY: u32 = 8; +pub const MCI_GETDEVCAPS_CAN_SAVE: u32 = 9; +pub const MCI_SYSINFO_QUANTITY: u32 = 256; +pub const MCI_SYSINFO_OPEN: u32 = 512; +pub const MCI_SYSINFO_NAME: u32 = 1024; +pub const MCI_SYSINFO_INSTALLNAME: u32 = 2048; +pub const MCI_SET_DOOR_OPEN: u32 = 256; +pub const MCI_SET_DOOR_CLOSED: u32 = 512; +pub const MCI_SET_TIME_FORMAT: u32 = 1024; +pub const MCI_SET_AUDIO: u32 = 2048; +pub const MCI_SET_VIDEO: u32 = 4096; +pub const MCI_SET_ON: u32 = 8192; +pub const MCI_SET_OFF: u32 = 16384; +pub const MCI_SET_AUDIO_ALL: u32 = 0; +pub const MCI_SET_AUDIO_LEFT: u32 = 1; +pub const MCI_SET_AUDIO_RIGHT: u32 = 2; +pub const MCI_BREAK_KEY: u32 = 256; +pub const MCI_BREAK_HWND: u32 = 512; +pub const MCI_BREAK_OFF: u32 = 1024; +pub const MCI_RECORD_INSERT: u32 = 256; +pub const MCI_RECORD_OVERWRITE: u32 = 512; +pub const MCI_SAVE_FILE: u32 = 256; +pub const MCI_LOAD_FILE: u32 = 256; +pub const MCI_VD_MODE_PARK: u32 = 1025; +pub const MCI_VD_MEDIA_CLV: u32 = 1026; +pub const MCI_VD_MEDIA_CAV: u32 = 1027; +pub const MCI_VD_MEDIA_OTHER: u32 = 1028; +pub const MCI_VD_FORMAT_TRACK: u32 = 16385; +pub const MCI_VD_PLAY_REVERSE: u32 = 65536; +pub const MCI_VD_PLAY_FAST: u32 = 131072; +pub const MCI_VD_PLAY_SPEED: u32 = 262144; +pub const MCI_VD_PLAY_SCAN: u32 = 524288; +pub const MCI_VD_PLAY_SLOW: u32 = 1048576; +pub const MCI_VD_SEEK_REVERSE: u32 = 65536; +pub const MCI_VD_STATUS_SPEED: u32 = 16386; +pub const MCI_VD_STATUS_FORWARD: u32 = 16387; +pub const MCI_VD_STATUS_MEDIA_TYPE: u32 = 16388; +pub const MCI_VD_STATUS_SIDE: u32 = 16389; +pub const MCI_VD_STATUS_DISC_SIZE: u32 = 16390; +pub const MCI_VD_GETDEVCAPS_CLV: u32 = 65536; +pub const MCI_VD_GETDEVCAPS_CAV: u32 = 131072; +pub const MCI_VD_SPIN_UP: u32 = 65536; +pub const MCI_VD_SPIN_DOWN: u32 = 131072; +pub const MCI_VD_GETDEVCAPS_CAN_REVERSE: u32 = 16386; +pub const MCI_VD_GETDEVCAPS_FAST_RATE: u32 = 16387; +pub const MCI_VD_GETDEVCAPS_SLOW_RATE: u32 = 16388; +pub const MCI_VD_GETDEVCAPS_NORMAL_RATE: u32 = 16389; +pub const MCI_VD_STEP_FRAMES: u32 = 65536; +pub const MCI_VD_STEP_REVERSE: u32 = 131072; +pub const MCI_VD_ESCAPE_STRING: u32 = 256; +pub const MCI_CDA_STATUS_TYPE_TRACK: u32 = 16385; +pub const MCI_CDA_TRACK_AUDIO: u32 = 1088; +pub const MCI_CDA_TRACK_OTHER: u32 = 1089; +pub const MCI_WAVE_PCM: u32 = 1152; +pub const MCI_WAVE_MAPPER: u32 = 1153; +pub const MCI_WAVE_OPEN_BUFFER: u32 = 65536; +pub const MCI_WAVE_SET_FORMATTAG: u32 = 65536; +pub const MCI_WAVE_SET_CHANNELS: u32 = 131072; +pub const MCI_WAVE_SET_SAMPLESPERSEC: u32 = 262144; +pub const MCI_WAVE_SET_AVGBYTESPERSEC: u32 = 524288; +pub const MCI_WAVE_SET_BLOCKALIGN: u32 = 1048576; +pub const MCI_WAVE_SET_BITSPERSAMPLE: u32 = 2097152; +pub const MCI_WAVE_INPUT: u32 = 4194304; +pub const MCI_WAVE_OUTPUT: u32 = 8388608; +pub const MCI_WAVE_STATUS_FORMATTAG: u32 = 16385; +pub const MCI_WAVE_STATUS_CHANNELS: u32 = 16386; +pub const MCI_WAVE_STATUS_SAMPLESPERSEC: u32 = 16387; +pub const MCI_WAVE_STATUS_AVGBYTESPERSEC: u32 = 16388; +pub const MCI_WAVE_STATUS_BLOCKALIGN: u32 = 16389; +pub const MCI_WAVE_STATUS_BITSPERSAMPLE: u32 = 16390; +pub const MCI_WAVE_STATUS_LEVEL: u32 = 16391; +pub const MCI_WAVE_SET_ANYINPUT: u32 = 67108864; +pub const MCI_WAVE_SET_ANYOUTPUT: u32 = 134217728; +pub const MCI_WAVE_GETDEVCAPS_INPUTS: u32 = 16385; +pub const MCI_WAVE_GETDEVCAPS_OUTPUTS: u32 = 16386; +pub const MCI_SEQ_DIV_PPQN: u32 = 1216; +pub const MCI_SEQ_DIV_SMPTE_24: u32 = 1217; +pub const MCI_SEQ_DIV_SMPTE_25: u32 = 1218; +pub const MCI_SEQ_DIV_SMPTE_30DROP: u32 = 1219; +pub const MCI_SEQ_DIV_SMPTE_30: u32 = 1220; +pub const MCI_SEQ_FORMAT_SONGPTR: u32 = 16385; +pub const MCI_SEQ_FILE: u32 = 16386; +pub const MCI_SEQ_MIDI: u32 = 16387; +pub const MCI_SEQ_SMPTE: u32 = 16388; +pub const MCI_SEQ_NONE: u32 = 65533; +pub const MCI_SEQ_MAPPER: u32 = 65535; +pub const MCI_SEQ_STATUS_TEMPO: u32 = 16386; +pub const MCI_SEQ_STATUS_PORT: u32 = 16387; +pub const MCI_SEQ_STATUS_SLAVE: u32 = 16391; +pub const MCI_SEQ_STATUS_MASTER: u32 = 16392; +pub const MCI_SEQ_STATUS_OFFSET: u32 = 16393; +pub const MCI_SEQ_STATUS_DIVTYPE: u32 = 16394; +pub const MCI_SEQ_STATUS_NAME: u32 = 16395; +pub const MCI_SEQ_STATUS_COPYRIGHT: u32 = 16396; +pub const MCI_SEQ_SET_TEMPO: u32 = 65536; +pub const MCI_SEQ_SET_PORT: u32 = 131072; +pub const MCI_SEQ_SET_SLAVE: u32 = 262144; +pub const MCI_SEQ_SET_MASTER: u32 = 524288; +pub const MCI_SEQ_SET_OFFSET: u32 = 16777216; +pub const MCI_ANIM_OPEN_WS: u32 = 65536; +pub const MCI_ANIM_OPEN_PARENT: u32 = 131072; +pub const MCI_ANIM_OPEN_NOSTATIC: u32 = 262144; +pub const MCI_ANIM_PLAY_SPEED: u32 = 65536; +pub const MCI_ANIM_PLAY_REVERSE: u32 = 131072; +pub const MCI_ANIM_PLAY_FAST: u32 = 262144; +pub const MCI_ANIM_PLAY_SLOW: u32 = 524288; +pub const MCI_ANIM_PLAY_SCAN: u32 = 1048576; +pub const MCI_ANIM_STEP_REVERSE: u32 = 65536; +pub const MCI_ANIM_STEP_FRAMES: u32 = 131072; +pub const MCI_ANIM_STATUS_SPEED: u32 = 16385; +pub const MCI_ANIM_STATUS_FORWARD: u32 = 16386; +pub const MCI_ANIM_STATUS_HWND: u32 = 16387; +pub const MCI_ANIM_STATUS_HPAL: u32 = 16388; +pub const MCI_ANIM_STATUS_STRETCH: u32 = 16389; +pub const MCI_ANIM_INFO_TEXT: u32 = 65536; +pub const MCI_ANIM_GETDEVCAPS_CAN_REVERSE: u32 = 16385; +pub const MCI_ANIM_GETDEVCAPS_FAST_RATE: u32 = 16386; +pub const MCI_ANIM_GETDEVCAPS_SLOW_RATE: u32 = 16387; +pub const MCI_ANIM_GETDEVCAPS_NORMAL_RATE: u32 = 16388; +pub const MCI_ANIM_GETDEVCAPS_PALETTES: u32 = 16390; +pub const MCI_ANIM_GETDEVCAPS_CAN_STRETCH: u32 = 16391; +pub const MCI_ANIM_GETDEVCAPS_MAX_WINDOWS: u32 = 16392; +pub const MCI_ANIM_REALIZE_NORM: u32 = 65536; +pub const MCI_ANIM_REALIZE_BKGD: u32 = 131072; +pub const MCI_ANIM_WINDOW_HWND: u32 = 65536; +pub const MCI_ANIM_WINDOW_STATE: u32 = 262144; +pub const MCI_ANIM_WINDOW_TEXT: u32 = 524288; +pub const MCI_ANIM_WINDOW_ENABLE_STRETCH: u32 = 1048576; +pub const MCI_ANIM_WINDOW_DISABLE_STRETCH: u32 = 2097152; +pub const MCI_ANIM_WINDOW_DEFAULT: u32 = 0; +pub const MCI_ANIM_RECT: u32 = 65536; +pub const MCI_ANIM_PUT_SOURCE: u32 = 131072; +pub const MCI_ANIM_PUT_DESTINATION: u32 = 262144; +pub const MCI_ANIM_WHERE_SOURCE: u32 = 131072; +pub const MCI_ANIM_WHERE_DESTINATION: u32 = 262144; +pub const MCI_ANIM_UPDATE_HDC: u32 = 131072; +pub const MCI_OVLY_OPEN_WS: u32 = 65536; +pub const MCI_OVLY_OPEN_PARENT: u32 = 131072; +pub const MCI_OVLY_STATUS_HWND: u32 = 16385; +pub const MCI_OVLY_STATUS_STRETCH: u32 = 16386; +pub const MCI_OVLY_INFO_TEXT: u32 = 65536; +pub const MCI_OVLY_GETDEVCAPS_CAN_STRETCH: u32 = 16385; +pub const MCI_OVLY_GETDEVCAPS_CAN_FREEZE: u32 = 16386; +pub const MCI_OVLY_GETDEVCAPS_MAX_WINDOWS: u32 = 16387; +pub const MCI_OVLY_WINDOW_HWND: u32 = 65536; +pub const MCI_OVLY_WINDOW_STATE: u32 = 262144; +pub const MCI_OVLY_WINDOW_TEXT: u32 = 524288; +pub const MCI_OVLY_WINDOW_ENABLE_STRETCH: u32 = 1048576; +pub const MCI_OVLY_WINDOW_DISABLE_STRETCH: u32 = 2097152; +pub const MCI_OVLY_WINDOW_DEFAULT: u32 = 0; +pub const MCI_OVLY_RECT: u32 = 65536; +pub const MCI_OVLY_PUT_SOURCE: u32 = 131072; +pub const MCI_OVLY_PUT_DESTINATION: u32 = 262144; +pub const MCI_OVLY_PUT_FRAME: u32 = 524288; +pub const MCI_OVLY_PUT_VIDEO: u32 = 1048576; +pub const MCI_OVLY_WHERE_SOURCE: u32 = 131072; +pub const MCI_OVLY_WHERE_DESTINATION: u32 = 262144; +pub const MCI_OVLY_WHERE_FRAME: u32 = 524288; +pub const MCI_OVLY_WHERE_VIDEO: u32 = 1048576; +pub const DRV_LOAD: u32 = 1; +pub const DRV_ENABLE: u32 = 2; +pub const DRV_OPEN: u32 = 3; +pub const DRV_CLOSE: u32 = 4; +pub const DRV_DISABLE: u32 = 5; +pub const DRV_FREE: u32 = 6; +pub const DRV_CONFIGURE: u32 = 7; +pub const DRV_QUERYCONFIGURE: u32 = 8; +pub const DRV_INSTALL: u32 = 9; +pub const DRV_REMOVE: u32 = 10; +pub const DRV_EXITSESSION: u32 = 11; +pub const DRV_POWER: u32 = 15; +pub const DRV_RESERVED: u32 = 2048; +pub const DRV_USER: u32 = 16384; +pub const DRVCNF_CANCEL: u32 = 0; +pub const DRVCNF_OK: u32 = 1; +pub const DRVCNF_RESTART: u32 = 2; +pub const DRV_CANCEL: u32 = 0; +pub const DRV_OK: u32 = 1; +pub const DRV_RESTART: u32 = 2; +pub const DRV_MCI_FIRST: u32 = 2048; +pub const DRV_MCI_LAST: u32 = 6143; +pub const MMIOERR_BASE: u32 = 256; +pub const MMIOERR_FILENOTFOUND: u32 = 257; +pub const MMIOERR_OUTOFMEMORY: u32 = 258; +pub const MMIOERR_CANNOTOPEN: u32 = 259; +pub const MMIOERR_CANNOTCLOSE: u32 = 260; +pub const MMIOERR_CANNOTREAD: u32 = 261; +pub const MMIOERR_CANNOTWRITE: u32 = 262; +pub const MMIOERR_CANNOTSEEK: u32 = 263; +pub const MMIOERR_CANNOTEXPAND: u32 = 264; +pub const MMIOERR_CHUNKNOTFOUND: u32 = 265; +pub const MMIOERR_UNBUFFERED: u32 = 266; +pub const MMIOERR_PATHNOTFOUND: u32 = 267; +pub const MMIOERR_ACCESSDENIED: u32 = 268; +pub const MMIOERR_SHARINGVIOLATION: u32 = 269; +pub const MMIOERR_NETWORKERROR: u32 = 270; +pub const MMIOERR_TOOMANYOPENFILES: u32 = 271; +pub const MMIOERR_INVALIDFILE: u32 = 272; +pub const CFSEPCHAR: u8 = 43u8; +pub const MMIO_RWMODE: u32 = 3; +pub const MMIO_SHAREMODE: u32 = 112; +pub const MMIO_CREATE: u32 = 4096; +pub const MMIO_PARSE: u32 = 256; +pub const MMIO_DELETE: u32 = 512; +pub const MMIO_EXIST: u32 = 16384; +pub const MMIO_ALLOCBUF: u32 = 65536; +pub const MMIO_GETTEMP: u32 = 131072; +pub const MMIO_DIRTY: u32 = 268435456; +pub const MMIO_READ: u32 = 0; +pub const MMIO_WRITE: u32 = 1; +pub const MMIO_READWRITE: u32 = 2; +pub const MMIO_COMPAT: u32 = 0; +pub const MMIO_EXCLUSIVE: u32 = 16; +pub const MMIO_DENYWRITE: u32 = 32; +pub const MMIO_DENYREAD: u32 = 48; +pub const MMIO_DENYNONE: u32 = 64; +pub const MMIO_FHOPEN: u32 = 16; +pub const MMIO_EMPTYBUF: u32 = 16; +pub const MMIO_TOUPPER: u32 = 16; +pub const MMIO_INSTALLPROC: u32 = 65536; +pub const MMIO_GLOBALPROC: u32 = 268435456; +pub const MMIO_REMOVEPROC: u32 = 131072; +pub const MMIO_UNICODEPROC: u32 = 16777216; +pub const MMIO_FINDPROC: u32 = 262144; +pub const MMIO_FINDCHUNK: u32 = 16; +pub const MMIO_FINDRIFF: u32 = 32; +pub const MMIO_FINDLIST: u32 = 64; +pub const MMIO_CREATERIFF: u32 = 32; +pub const MMIO_CREATELIST: u32 = 64; +pub const MMIOM_READ: u32 = 0; +pub const MMIOM_WRITE: u32 = 1; +pub const MMIOM_SEEK: u32 = 2; +pub const MMIOM_OPEN: u32 = 3; +pub const MMIOM_CLOSE: u32 = 4; +pub const MMIOM_WRITEFLUSH: u32 = 5; +pub const MMIOM_RENAME: u32 = 6; +pub const MMIOM_USER: u32 = 32768; +pub const SEEK_SET: u32 = 0; +pub const SEEK_CUR: u32 = 1; +pub const SEEK_END: u32 = 2; +pub const MMIO_DEFAULTBUFFER: u32 = 8192; +pub const TIME_ONESHOT: u32 = 0; +pub const TIME_PERIODIC: u32 = 1; +pub const TIME_CALLBACK_FUNCTION: u32 = 0; +pub const TIME_CALLBACK_EVENT_SET: u32 = 16; +pub const TIME_CALLBACK_EVENT_PULSE: u32 = 32; +pub const TIME_KILL_SYNCHRONOUS: u32 = 256; +pub const SND_SYNC: u32 = 0; +pub const SND_ASYNC: u32 = 1; +pub const SND_NODEFAULT: u32 = 2; +pub const SND_MEMORY: u32 = 4; +pub const SND_LOOP: u32 = 8; +pub const SND_NOSTOP: u32 = 16; +pub const SND_NOWAIT: u32 = 8192; +pub const SND_ALIAS: u32 = 65536; +pub const SND_ALIAS_ID: u32 = 1114112; +pub const SND_FILENAME: u32 = 131072; +pub const SND_RESOURCE: u32 = 262148; +pub const SND_PURGE: u32 = 64; +pub const SND_APPLICATION: u32 = 128; +pub const SND_SENTRY: u32 = 524288; +pub const SND_RING: u32 = 1048576; +pub const SND_SYSTEM: u32 = 2097152; +pub const SND_ALIAS_START: u32 = 0; +pub const WAVERR_BADFORMAT: u32 = 32; +pub const WAVERR_STILLPLAYING: u32 = 33; +pub const WAVERR_UNPREPARED: u32 = 34; +pub const WAVERR_SYNC: u32 = 35; +pub const WAVERR_LASTERROR: u32 = 35; +pub const WOM_OPEN: u32 = 955; +pub const WOM_CLOSE: u32 = 956; +pub const WOM_DONE: u32 = 957; +pub const WIM_OPEN: u32 = 958; +pub const WIM_CLOSE: u32 = 959; +pub const WIM_DATA: u32 = 960; +pub const WAVE_FORMAT_QUERY: u32 = 1; +pub const WAVE_ALLOWSYNC: u32 = 2; +pub const WAVE_MAPPED: u32 = 4; +pub const WAVE_FORMAT_DIRECT: u32 = 8; +pub const WAVE_FORMAT_DIRECT_QUERY: u32 = 9; +pub const WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE: u32 = 16; +pub const WHDR_DONE: u32 = 1; +pub const WHDR_PREPARED: u32 = 2; +pub const WHDR_BEGINLOOP: u32 = 4; +pub const WHDR_ENDLOOP: u32 = 8; +pub const WHDR_INQUEUE: u32 = 16; +pub const WAVECAPS_PITCH: u32 = 1; +pub const WAVECAPS_PLAYBACKRATE: u32 = 2; +pub const WAVECAPS_VOLUME: u32 = 4; +pub const WAVECAPS_LRVOLUME: u32 = 8; +pub const WAVECAPS_SYNC: u32 = 16; +pub const WAVECAPS_SAMPLEACCURATE: u32 = 32; +pub const WAVE_INVALIDFORMAT: u32 = 0; +pub const WAVE_FORMAT_1M08: u32 = 1; +pub const WAVE_FORMAT_1S08: u32 = 2; +pub const WAVE_FORMAT_1M16: u32 = 4; +pub const WAVE_FORMAT_1S16: u32 = 8; +pub const WAVE_FORMAT_2M08: u32 = 16; +pub const WAVE_FORMAT_2S08: u32 = 32; +pub const WAVE_FORMAT_2M16: u32 = 64; +pub const WAVE_FORMAT_2S16: u32 = 128; +pub const WAVE_FORMAT_4M08: u32 = 256; +pub const WAVE_FORMAT_4S08: u32 = 512; +pub const WAVE_FORMAT_4M16: u32 = 1024; +pub const WAVE_FORMAT_4S16: u32 = 2048; +pub const WAVE_FORMAT_44M08: u32 = 256; +pub const WAVE_FORMAT_44S08: u32 = 512; +pub const WAVE_FORMAT_44M16: u32 = 1024; +pub const WAVE_FORMAT_44S16: u32 = 2048; +pub const WAVE_FORMAT_48M08: u32 = 4096; +pub const WAVE_FORMAT_48S08: u32 = 8192; +pub const WAVE_FORMAT_48M16: u32 = 16384; +pub const WAVE_FORMAT_48S16: u32 = 32768; +pub const WAVE_FORMAT_96M08: u32 = 65536; +pub const WAVE_FORMAT_96S08: u32 = 131072; +pub const WAVE_FORMAT_96M16: u32 = 262144; +pub const WAVE_FORMAT_96S16: u32 = 524288; +pub const WAVE_FORMAT_PCM: u32 = 1; +pub const MIDIERR_UNPREPARED: u32 = 64; +pub const MIDIERR_STILLPLAYING: u32 = 65; +pub const MIDIERR_NOMAP: u32 = 66; +pub const MIDIERR_NOTREADY: u32 = 67; +pub const MIDIERR_NODEVICE: u32 = 68; +pub const MIDIERR_INVALIDSETUP: u32 = 69; +pub const MIDIERR_BADOPENMODE: u32 = 70; +pub const MIDIERR_DONT_CONTINUE: u32 = 71; +pub const MIDIERR_LASTERROR: u32 = 71; +pub const MIDIPATCHSIZE: u32 = 128; +pub const MIM_OPEN: u32 = 961; +pub const MIM_CLOSE: u32 = 962; +pub const MIM_DATA: u32 = 963; +pub const MIM_LONGDATA: u32 = 964; +pub const MIM_ERROR: u32 = 965; +pub const MIM_LONGERROR: u32 = 966; +pub const MOM_OPEN: u32 = 967; +pub const MOM_CLOSE: u32 = 968; +pub const MOM_DONE: u32 = 969; +pub const MIM_MOREDATA: u32 = 972; +pub const MOM_POSITIONCB: u32 = 970; +pub const MIDI_IO_STATUS: u32 = 32; +pub const MIDI_CACHE_ALL: u32 = 1; +pub const MIDI_CACHE_BESTFIT: u32 = 2; +pub const MIDI_CACHE_QUERY: u32 = 3; +pub const MIDI_UNCACHE: u32 = 4; +pub const MOD_MIDIPORT: u32 = 1; +pub const MOD_SYNTH: u32 = 2; +pub const MOD_SQSYNTH: u32 = 3; +pub const MOD_FMSYNTH: u32 = 4; +pub const MOD_MAPPER: u32 = 5; +pub const MOD_WAVETABLE: u32 = 6; +pub const MOD_SWSYNTH: u32 = 7; +pub const MIDICAPS_VOLUME: u32 = 1; +pub const MIDICAPS_LRVOLUME: u32 = 2; +pub const MIDICAPS_CACHE: u32 = 4; +pub const MIDICAPS_STREAM: u32 = 8; +pub const MHDR_DONE: u32 = 1; +pub const MHDR_PREPARED: u32 = 2; +pub const MHDR_INQUEUE: u32 = 4; +pub const MHDR_ISSTRM: u32 = 8; +pub const MEVT_F_SHORT: u32 = 0; +pub const MEVT_F_LONG: u32 = 2147483648; +pub const MEVT_F_CALLBACK: u32 = 1073741824; +pub const MIDISTRM_ERROR: i32 = -2; +pub const MIDIPROP_SET: u32 = 2147483648; +pub const MIDIPROP_GET: u32 = 1073741824; +pub const MIDIPROP_TIMEDIV: u32 = 1; +pub const MIDIPROP_TEMPO: u32 = 2; +pub const AUXCAPS_CDAUDIO: u32 = 1; +pub const AUXCAPS_AUXIN: u32 = 2; +pub const AUXCAPS_VOLUME: u32 = 1; +pub const AUXCAPS_LRVOLUME: u32 = 2; +pub const MIXER_SHORT_NAME_CHARS: u32 = 16; +pub const MIXER_LONG_NAME_CHARS: u32 = 64; +pub const MIXERR_INVALLINE: u32 = 1024; +pub const MIXERR_INVALCONTROL: u32 = 1025; +pub const MIXERR_INVALVALUE: u32 = 1026; +pub const MIXERR_LASTERROR: u32 = 1026; +pub const MIXER_OBJECTF_HANDLE: u32 = 2147483648; +pub const MIXER_OBJECTF_MIXER: u32 = 0; +pub const MIXER_OBJECTF_HMIXER: u32 = 2147483648; +pub const MIXER_OBJECTF_WAVEOUT: u32 = 268435456; +pub const MIXER_OBJECTF_HWAVEOUT: u32 = 2415919104; +pub const MIXER_OBJECTF_WAVEIN: u32 = 536870912; +pub const MIXER_OBJECTF_HWAVEIN: u32 = 2684354560; +pub const MIXER_OBJECTF_MIDIOUT: u32 = 805306368; +pub const MIXER_OBJECTF_HMIDIOUT: u32 = 2952790016; +pub const MIXER_OBJECTF_MIDIIN: u32 = 1073741824; +pub const MIXER_OBJECTF_HMIDIIN: u32 = 3221225472; +pub const MIXER_OBJECTF_AUX: u32 = 1342177280; +pub const MIXERLINE_LINEF_ACTIVE: u32 = 1; +pub const MIXERLINE_LINEF_DISCONNECTED: u32 = 32768; +pub const MIXERLINE_LINEF_SOURCE: u32 = 2147483648; +pub const MIXERLINE_COMPONENTTYPE_DST_FIRST: u32 = 0; +pub const MIXERLINE_COMPONENTTYPE_DST_UNDEFINED: u32 = 0; +pub const MIXERLINE_COMPONENTTYPE_DST_DIGITAL: u32 = 1; +pub const MIXERLINE_COMPONENTTYPE_DST_LINE: u32 = 2; +pub const MIXERLINE_COMPONENTTYPE_DST_MONITOR: u32 = 3; +pub const MIXERLINE_COMPONENTTYPE_DST_SPEAKERS: u32 = 4; +pub const MIXERLINE_COMPONENTTYPE_DST_HEADPHONES: u32 = 5; +pub const MIXERLINE_COMPONENTTYPE_DST_TELEPHONE: u32 = 6; +pub const MIXERLINE_COMPONENTTYPE_DST_WAVEIN: u32 = 7; +pub const MIXERLINE_COMPONENTTYPE_DST_VOICEIN: u32 = 8; +pub const MIXERLINE_COMPONENTTYPE_DST_LAST: u32 = 8; +pub const MIXERLINE_COMPONENTTYPE_SRC_FIRST: u32 = 4096; +pub const MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED: u32 = 4096; +pub const MIXERLINE_COMPONENTTYPE_SRC_DIGITAL: u32 = 4097; +pub const MIXERLINE_COMPONENTTYPE_SRC_LINE: u32 = 4098; +pub const MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE: u32 = 4099; +pub const MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER: u32 = 4100; +pub const MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC: u32 = 4101; +pub const MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE: u32 = 4102; +pub const MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER: u32 = 4103; +pub const MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT: u32 = 4104; +pub const MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY: u32 = 4105; +pub const MIXERLINE_COMPONENTTYPE_SRC_ANALOG: u32 = 4106; +pub const MIXERLINE_COMPONENTTYPE_SRC_LAST: u32 = 4106; +pub const MIXERLINE_TARGETTYPE_UNDEFINED: u32 = 0; +pub const MIXERLINE_TARGETTYPE_WAVEOUT: u32 = 1; +pub const MIXERLINE_TARGETTYPE_WAVEIN: u32 = 2; +pub const MIXERLINE_TARGETTYPE_MIDIOUT: u32 = 3; +pub const MIXERLINE_TARGETTYPE_MIDIIN: u32 = 4; +pub const MIXERLINE_TARGETTYPE_AUX: u32 = 5; +pub const MIXER_GETLINEINFOF_DESTINATION: u32 = 0; +pub const MIXER_GETLINEINFOF_SOURCE: u32 = 1; +pub const MIXER_GETLINEINFOF_LINEID: u32 = 2; +pub const MIXER_GETLINEINFOF_COMPONENTTYPE: u32 = 3; +pub const MIXER_GETLINEINFOF_TARGETTYPE: u32 = 4; +pub const MIXER_GETLINEINFOF_QUERYMASK: u32 = 15; +pub const MIXERCONTROL_CONTROLF_UNIFORM: u32 = 1; +pub const MIXERCONTROL_CONTROLF_MULTIPLE: u32 = 2; +pub const MIXERCONTROL_CONTROLF_DISABLED: u32 = 2147483648; +pub const MIXERCONTROL_CT_CLASS_MASK: u32 = 4026531840; +pub const MIXERCONTROL_CT_CLASS_CUSTOM: u32 = 0; +pub const MIXERCONTROL_CT_CLASS_METER: u32 = 268435456; +pub const MIXERCONTROL_CT_CLASS_SWITCH: u32 = 536870912; +pub const MIXERCONTROL_CT_CLASS_NUMBER: u32 = 805306368; +pub const MIXERCONTROL_CT_CLASS_SLIDER: u32 = 1073741824; +pub const MIXERCONTROL_CT_CLASS_FADER: u32 = 1342177280; +pub const MIXERCONTROL_CT_CLASS_TIME: u32 = 1610612736; +pub const MIXERCONTROL_CT_CLASS_LIST: u32 = 1879048192; +pub const MIXERCONTROL_CT_SUBCLASS_MASK: u32 = 251658240; +pub const MIXERCONTROL_CT_SC_SWITCH_BOOLEAN: u32 = 0; +pub const MIXERCONTROL_CT_SC_SWITCH_BUTTON: u32 = 16777216; +pub const MIXERCONTROL_CT_SC_METER_POLLED: u32 = 0; +pub const MIXERCONTROL_CT_SC_TIME_MICROSECS: u32 = 0; +pub const MIXERCONTROL_CT_SC_TIME_MILLISECS: u32 = 16777216; +pub const MIXERCONTROL_CT_SC_LIST_SINGLE: u32 = 0; +pub const MIXERCONTROL_CT_SC_LIST_MULTIPLE: u32 = 16777216; +pub const MIXERCONTROL_CT_UNITS_MASK: u32 = 16711680; +pub const MIXERCONTROL_CT_UNITS_CUSTOM: u32 = 0; +pub const MIXERCONTROL_CT_UNITS_BOOLEAN: u32 = 65536; +pub const MIXERCONTROL_CT_UNITS_SIGNED: u32 = 131072; +pub const MIXERCONTROL_CT_UNITS_UNSIGNED: u32 = 196608; +pub const MIXERCONTROL_CT_UNITS_DECIBELS: u32 = 262144; +pub const MIXERCONTROL_CT_UNITS_PERCENT: u32 = 327680; +pub const MIXERCONTROL_CONTROLTYPE_CUSTOM: u32 = 0; +pub const MIXERCONTROL_CONTROLTYPE_BOOLEANMETER: u32 = 268500992; +pub const MIXERCONTROL_CONTROLTYPE_SIGNEDMETER: u32 = 268566528; +pub const MIXERCONTROL_CONTROLTYPE_PEAKMETER: u32 = 268566529; +pub const MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER: u32 = 268632064; +pub const MIXERCONTROL_CONTROLTYPE_BOOLEAN: u32 = 536936448; +pub const MIXERCONTROL_CONTROLTYPE_ONOFF: u32 = 536936449; +pub const MIXERCONTROL_CONTROLTYPE_MUTE: u32 = 536936450; +pub const MIXERCONTROL_CONTROLTYPE_MONO: u32 = 536936451; +pub const MIXERCONTROL_CONTROLTYPE_LOUDNESS: u32 = 536936452; +pub const MIXERCONTROL_CONTROLTYPE_STEREOENH: u32 = 536936453; +pub const MIXERCONTROL_CONTROLTYPE_BASS_BOOST: u32 = 536945271; +pub const MIXERCONTROL_CONTROLTYPE_BUTTON: u32 = 553713664; +pub const MIXERCONTROL_CONTROLTYPE_DECIBELS: u32 = 805568512; +pub const MIXERCONTROL_CONTROLTYPE_SIGNED: u32 = 805437440; +pub const MIXERCONTROL_CONTROLTYPE_UNSIGNED: u32 = 805502976; +pub const MIXERCONTROL_CONTROLTYPE_PERCENT: u32 = 805634048; +pub const MIXERCONTROL_CONTROLTYPE_SLIDER: u32 = 1073872896; +pub const MIXERCONTROL_CONTROLTYPE_PAN: u32 = 1073872897; +pub const MIXERCONTROL_CONTROLTYPE_QSOUNDPAN: u32 = 1073872898; +pub const MIXERCONTROL_CONTROLTYPE_FADER: u32 = 1342373888; +pub const MIXERCONTROL_CONTROLTYPE_VOLUME: u32 = 1342373889; +pub const MIXERCONTROL_CONTROLTYPE_BASS: u32 = 1342373890; +pub const MIXERCONTROL_CONTROLTYPE_TREBLE: u32 = 1342373891; +pub const MIXERCONTROL_CONTROLTYPE_EQUALIZER: u32 = 1342373892; +pub const MIXERCONTROL_CONTROLTYPE_SINGLESELECT: u32 = 1879113728; +pub const MIXERCONTROL_CONTROLTYPE_MUX: u32 = 1879113729; +pub const MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT: u32 = 1895890944; +pub const MIXERCONTROL_CONTROLTYPE_MIXER: u32 = 1895890945; +pub const MIXERCONTROL_CONTROLTYPE_MICROTIME: u32 = 1610809344; +pub const MIXERCONTROL_CONTROLTYPE_MILLITIME: u32 = 1627586560; +pub const MIXER_GETLINECONTROLSF_ALL: u32 = 0; +pub const MIXER_GETLINECONTROLSF_ONEBYID: u32 = 1; +pub const MIXER_GETLINECONTROLSF_ONEBYTYPE: u32 = 2; +pub const MIXER_GETLINECONTROLSF_QUERYMASK: u32 = 15; +pub const MIXER_GETCONTROLDETAILSF_VALUE: u32 = 0; +pub const MIXER_GETCONTROLDETAILSF_LISTTEXT: u32 = 1; +pub const MIXER_GETCONTROLDETAILSF_QUERYMASK: u32 = 15; +pub const MIXER_SETCONTROLDETAILSF_VALUE: u32 = 0; +pub const MIXER_SETCONTROLDETAILSF_CUSTOM: u32 = 1; +pub const MIXER_SETCONTROLDETAILSF_QUERYMASK: u32 = 15; +pub const TIMERR_NOERROR: u32 = 0; +pub const TIMERR_NOCANDO: u32 = 97; +pub const TIMERR_STRUCT: u32 = 129; +pub const JOYERR_NOERROR: u32 = 0; +pub const JOYERR_PARMS: u32 = 165; +pub const JOYERR_NOCANDO: u32 = 166; +pub const JOYERR_UNPLUGGED: u32 = 167; +pub const JOY_BUTTON1: u32 = 1; +pub const JOY_BUTTON2: u32 = 2; +pub const JOY_BUTTON3: u32 = 4; +pub const JOY_BUTTON4: u32 = 8; +pub const JOY_BUTTON1CHG: u32 = 256; +pub const JOY_BUTTON2CHG: u32 = 512; +pub const JOY_BUTTON3CHG: u32 = 1024; +pub const JOY_BUTTON4CHG: u32 = 2048; +pub const JOY_BUTTON5: u32 = 16; +pub const JOY_BUTTON6: u32 = 32; +pub const JOY_BUTTON7: u32 = 64; +pub const JOY_BUTTON8: u32 = 128; +pub const JOY_BUTTON9: u32 = 256; +pub const JOY_BUTTON10: u32 = 512; +pub const JOY_BUTTON11: u32 = 1024; +pub const JOY_BUTTON12: u32 = 2048; +pub const JOY_BUTTON13: u32 = 4096; +pub const JOY_BUTTON14: u32 = 8192; +pub const JOY_BUTTON15: u32 = 16384; +pub const JOY_BUTTON16: u32 = 32768; +pub const JOY_BUTTON17: u32 = 65536; +pub const JOY_BUTTON18: u32 = 131072; +pub const JOY_BUTTON19: u32 = 262144; +pub const JOY_BUTTON20: u32 = 524288; +pub const JOY_BUTTON21: u32 = 1048576; +pub const JOY_BUTTON22: u32 = 2097152; +pub const JOY_BUTTON23: u32 = 4194304; +pub const JOY_BUTTON24: u32 = 8388608; +pub const JOY_BUTTON25: u32 = 16777216; +pub const JOY_BUTTON26: u32 = 33554432; +pub const JOY_BUTTON27: u32 = 67108864; +pub const JOY_BUTTON28: u32 = 134217728; +pub const JOY_BUTTON29: u32 = 268435456; +pub const JOY_BUTTON30: u32 = 536870912; +pub const JOY_BUTTON31: u32 = 1073741824; +pub const JOY_BUTTON32: u32 = 2147483648; +pub const JOY_POVFORWARD: u32 = 0; +pub const JOY_POVRIGHT: u32 = 9000; +pub const JOY_POVBACKWARD: u32 = 18000; +pub const JOY_POVLEFT: u32 = 27000; +pub const JOY_RETURNX: u32 = 1; +pub const JOY_RETURNY: u32 = 2; +pub const JOY_RETURNZ: u32 = 4; +pub const JOY_RETURNR: u32 = 8; +pub const JOY_RETURNU: u32 = 16; +pub const JOY_RETURNV: u32 = 32; +pub const JOY_RETURNPOV: u32 = 64; +pub const JOY_RETURNBUTTONS: u32 = 128; +pub const JOY_RETURNRAWDATA: u32 = 256; +pub const JOY_RETURNPOVCTS: u32 = 512; +pub const JOY_RETURNCENTERED: u32 = 1024; +pub const JOY_USEDEADZONE: u32 = 2048; +pub const JOY_RETURNALL: u32 = 255; +pub const JOY_CAL_READALWAYS: u32 = 65536; +pub const JOY_CAL_READXYONLY: u32 = 131072; +pub const JOY_CAL_READ3: u32 = 262144; +pub const JOY_CAL_READ4: u32 = 524288; +pub const JOY_CAL_READXONLY: u32 = 1048576; +pub const JOY_CAL_READYONLY: u32 = 2097152; +pub const JOY_CAL_READ5: u32 = 4194304; +pub const JOY_CAL_READ6: u32 = 8388608; +pub const JOY_CAL_READZONLY: u32 = 16777216; +pub const JOY_CAL_READRONLY: u32 = 33554432; +pub const JOY_CAL_READUONLY: u32 = 67108864; +pub const JOY_CAL_READVONLY: u32 = 134217728; +pub const JOYSTICKID1: u32 = 0; +pub const JOYSTICKID2: u32 = 1; +pub const JOYCAPS_HASZ: u32 = 1; +pub const JOYCAPS_HASR: u32 = 2; +pub const JOYCAPS_HASU: u32 = 4; +pub const JOYCAPS_HASV: u32 = 8; +pub const JOYCAPS_HASPOV: u32 = 16; +pub const JOYCAPS_POV4DIR: u32 = 32; +pub const JOYCAPS_POVCTS: u32 = 64; +pub const NEWTRANSPARENT: u32 = 3; +pub const QUERYROPSUPPORT: u32 = 40; +pub const SELECTDIB: u32 = 41; +pub const NCBNAMSZ: u32 = 16; +pub const MAX_LANA: u32 = 254; +pub const NAME_FLAGS_MASK: u32 = 135; +pub const GROUP_NAME: u32 = 128; +pub const UNIQUE_NAME: u32 = 0; +pub const REGISTERING: u32 = 0; +pub const REGISTERED: u32 = 4; +pub const DEREGISTERED: u32 = 5; +pub const DUPLICATE: u32 = 6; +pub const DUPLICATE_DEREG: u32 = 7; +pub const LISTEN_OUTSTANDING: u32 = 1; +pub const CALL_PENDING: u32 = 2; +pub const SESSION_ESTABLISHED: u32 = 3; +pub const HANGUP_PENDING: u32 = 4; +pub const HANGUP_COMPLETE: u32 = 5; +pub const SESSION_ABORTED: u32 = 6; +pub const ALL_TRANSPORTS: &[u8; 5usize] = b"M\0\0\0\0"; +pub const MS_NBF: &[u8; 5usize] = b"MNBF\0"; +pub const NCBCALL: u32 = 16; +pub const NCBLISTEN: u32 = 17; +pub const NCBHANGUP: u32 = 18; +pub const NCBSEND: u32 = 20; +pub const NCBRECV: u32 = 21; +pub const NCBRECVANY: u32 = 22; +pub const NCBCHAINSEND: u32 = 23; +pub const NCBDGSEND: u32 = 32; +pub const NCBDGRECV: u32 = 33; +pub const NCBDGSENDBC: u32 = 34; +pub const NCBDGRECVBC: u32 = 35; +pub const NCBADDNAME: u32 = 48; +pub const NCBDELNAME: u32 = 49; +pub const NCBRESET: u32 = 50; +pub const NCBASTAT: u32 = 51; +pub const NCBSSTAT: u32 = 52; +pub const NCBCANCEL: u32 = 53; +pub const NCBADDGRNAME: u32 = 54; +pub const NCBENUM: u32 = 55; +pub const NCBUNLINK: u32 = 112; +pub const NCBSENDNA: u32 = 113; +pub const NCBCHAINSENDNA: u32 = 114; +pub const NCBLANSTALERT: u32 = 115; +pub const NCBACTION: u32 = 119; +pub const NCBFINDNAME: u32 = 120; +pub const NCBTRACE: u32 = 121; +pub const ASYNCH: u32 = 128; +pub const NRC_GOODRET: u32 = 0; +pub const NRC_BUFLEN: u32 = 1; +pub const NRC_ILLCMD: u32 = 3; +pub const NRC_CMDTMO: u32 = 5; +pub const NRC_INCOMP: u32 = 6; +pub const NRC_BADDR: u32 = 7; +pub const NRC_SNUMOUT: u32 = 8; +pub const NRC_NORES: u32 = 9; +pub const NRC_SCLOSED: u32 = 10; +pub const NRC_CMDCAN: u32 = 11; +pub const NRC_DUPNAME: u32 = 13; +pub const NRC_NAMTFUL: u32 = 14; +pub const NRC_ACTSES: u32 = 15; +pub const NRC_LOCTFUL: u32 = 17; +pub const NRC_REMTFUL: u32 = 18; +pub const NRC_ILLNN: u32 = 19; +pub const NRC_NOCALL: u32 = 20; +pub const NRC_NOWILD: u32 = 21; +pub const NRC_INUSE: u32 = 22; +pub const NRC_NAMERR: u32 = 23; +pub const NRC_SABORT: u32 = 24; +pub const NRC_NAMCONF: u32 = 25; +pub const NRC_IFBUSY: u32 = 33; +pub const NRC_TOOMANY: u32 = 34; +pub const NRC_BRIDGE: u32 = 35; +pub const NRC_CANOCCR: u32 = 36; +pub const NRC_CANCEL: u32 = 38; +pub const NRC_DUPENV: u32 = 48; +pub const NRC_ENVNOTDEF: u32 = 52; +pub const NRC_OSRESNOTAV: u32 = 53; +pub const NRC_MAXAPPS: u32 = 54; +pub const NRC_NOSAPS: u32 = 55; +pub const NRC_NORESOURCES: u32 = 56; +pub const NRC_INVADDRESS: u32 = 57; +pub const NRC_INVDDID: u32 = 59; +pub const NRC_LOCKFAIL: u32 = 60; +pub const NRC_OPENERR: u32 = 63; +pub const NRC_SYSTEM: u32 = 64; +pub const NRC_PENDING: u32 = 255; +pub const RPC_C_BINDING_INFINITE_TIMEOUT: u32 = 10; +pub const RPC_C_BINDING_MIN_TIMEOUT: u32 = 0; +pub const RPC_C_BINDING_DEFAULT_TIMEOUT: u32 = 5; +pub const RPC_C_BINDING_MAX_TIMEOUT: u32 = 9; +pub const RPC_C_CANCEL_INFINITE_TIMEOUT: i32 = -1; +pub const RPC_C_LISTEN_MAX_CALLS_DEFAULT: u32 = 1234; +pub const RPC_C_PROTSEQ_MAX_REQS_DEFAULT: u32 = 10; +pub const RPC_C_BIND_TO_ALL_NICS: u32 = 1; +pub const RPC_C_USE_INTERNET_PORT: u32 = 1; +pub const RPC_C_USE_INTRANET_PORT: u32 = 2; +pub const RPC_C_DONT_FAIL: u32 = 4; +pub const RPC_C_RPCHTTP_USE_LOAD_BALANCE: u32 = 8; +pub const RPC_C_OPT_BINDING_NONCAUSAL: u32 = 9; +pub const RPC_C_OPT_SECURITY_CALLBACK: u32 = 10; +pub const RPC_C_OPT_UNIQUE_BINDING: u32 = 11; +pub const RPC_C_OPT_TRANS_SEND_BUFFER_SIZE: u32 = 5; +pub const RPC_C_OPT_CALL_TIMEOUT: u32 = 12; +pub const RPC_C_OPT_DONT_LINGER: u32 = 13; +pub const RPC_C_OPT_TRUST_PEER: u32 = 14; +pub const RPC_C_OPT_ASYNC_BLOCK: u32 = 15; +pub const RPC_C_OPT_OPTIMIZE_TIME: u32 = 16; +pub const RPC_C_OPT_MAX_OPTIONS: u32 = 17; +pub const RPC_C_FULL_CERT_CHAIN: u32 = 1; +pub const RPC_C_STATS_CALLS_IN: u32 = 0; +pub const RPC_C_STATS_CALLS_OUT: u32 = 1; +pub const RPC_C_STATS_PKTS_IN: u32 = 2; +pub const RPC_C_STATS_PKTS_OUT: u32 = 3; +pub const RPC_C_AUTHN_LEVEL_DEFAULT: u32 = 0; +pub const RPC_C_AUTHN_LEVEL_NONE: u32 = 1; +pub const RPC_C_AUTHN_LEVEL_CONNECT: u32 = 2; +pub const RPC_C_AUTHN_LEVEL_CALL: u32 = 3; +pub const RPC_C_AUTHN_LEVEL_PKT: u32 = 4; +pub const RPC_C_AUTHN_LEVEL_PKT_INTEGRITY: u32 = 5; +pub const RPC_C_AUTHN_LEVEL_PKT_PRIVACY: u32 = 6; +pub const RPC_C_IMP_LEVEL_DEFAULT: u32 = 0; +pub const RPC_C_IMP_LEVEL_ANONYMOUS: u32 = 1; +pub const RPC_C_IMP_LEVEL_IDENTIFY: u32 = 2; +pub const RPC_C_IMP_LEVEL_IMPERSONATE: u32 = 3; +pub const RPC_C_IMP_LEVEL_DELEGATE: u32 = 4; +pub const RPC_C_QOS_IDENTITY_STATIC: u32 = 0; +pub const RPC_C_QOS_IDENTITY_DYNAMIC: u32 = 1; +pub const RPC_C_QOS_CAPABILITIES_DEFAULT: u32 = 0; +pub const RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH: u32 = 1; +pub const RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC: u32 = 2; +pub const RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY: u32 = 4; +pub const RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE: u32 = 8; +pub const RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT: u32 = 16; +pub const RPC_C_QOS_CAPABILITIES_SCHANNEL_FULL_AUTH_IDENTITY: u32 = 32; +pub const RPC_C_PROTECT_LEVEL_DEFAULT: u32 = 0; +pub const RPC_C_PROTECT_LEVEL_NONE: u32 = 1; +pub const RPC_C_PROTECT_LEVEL_CONNECT: u32 = 2; +pub const RPC_C_PROTECT_LEVEL_CALL: u32 = 3; +pub const RPC_C_PROTECT_LEVEL_PKT: u32 = 4; +pub const RPC_C_PROTECT_LEVEL_PKT_INTEGRITY: u32 = 5; +pub const RPC_C_PROTECT_LEVEL_PKT_PRIVACY: u32 = 6; +pub const RPC_C_AUTHN_NONE: u32 = 0; +pub const RPC_C_AUTHN_DCE_PRIVATE: u32 = 1; +pub const RPC_C_AUTHN_DCE_PUBLIC: u32 = 2; +pub const RPC_C_AUTHN_DEC_PUBLIC: u32 = 4; +pub const RPC_C_AUTHN_GSS_NEGOTIATE: u32 = 9; +pub const RPC_C_AUTHN_WINNT: u32 = 10; +pub const RPC_C_AUTHN_GSS_SCHANNEL: u32 = 14; +pub const RPC_C_AUTHN_GSS_KERBEROS: u32 = 16; +pub const RPC_C_AUTHN_DPA: u32 = 17; +pub const RPC_C_AUTHN_MSN: u32 = 18; +pub const RPC_C_AUTHN_DIGEST: u32 = 21; +pub const RPC_C_AUTHN_KERNEL: u32 = 20; +pub const RPC_C_AUTHN_NEGO_EXTENDER: u32 = 30; +pub const RPC_C_AUTHN_PKU2U: u32 = 31; +pub const RPC_C_AUTHN_LIVE_SSP: u32 = 32; +pub const RPC_C_AUTHN_LIVEXP_SSP: u32 = 35; +pub const RPC_C_AUTHN_CLOUD_AP: u32 = 36; +pub const RPC_C_AUTHN_MSONLINE: u32 = 82; +pub const RPC_C_AUTHN_MQ: u32 = 100; +pub const RPC_C_AUTHN_DEFAULT: u32 = 4294967295; +pub const RPC_C_SECURITY_QOS_VERSION: u32 = 1; +pub const RPC_C_SECURITY_QOS_VERSION_1: u32 = 1; +pub const SEC_WINNT_AUTH_IDENTITY_ANSI: u32 = 1; +pub const SEC_WINNT_AUTH_IDENTITY_UNICODE: u32 = 2; +pub const RPC_C_SECURITY_QOS_VERSION_2: u32 = 2; +pub const RPC_C_AUTHN_INFO_TYPE_HTTP: u32 = 1; +pub const RPC_C_HTTP_AUTHN_TARGET_SERVER: u32 = 1; +pub const RPC_C_HTTP_AUTHN_TARGET_PROXY: u32 = 2; +pub const RPC_C_HTTP_AUTHN_SCHEME_BASIC: u32 = 1; +pub const RPC_C_HTTP_AUTHN_SCHEME_NTLM: u32 = 2; +pub const RPC_C_HTTP_AUTHN_SCHEME_PASSPORT: u32 = 4; +pub const RPC_C_HTTP_AUTHN_SCHEME_DIGEST: u32 = 8; +pub const RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE: u32 = 16; +pub const RPC_C_HTTP_AUTHN_SCHEME_CERT: u32 = 65536; +pub const RPC_C_HTTP_FLAG_USE_SSL: u32 = 1; +pub const RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME: u32 = 2; +pub const RPC_C_HTTP_FLAG_IGNORE_CERT_CN_INVALID: u32 = 8; +pub const RPC_C_HTTP_FLAG_ENABLE_CERT_REVOCATION_CHECK: u32 = 16; +pub const RPC_C_SECURITY_QOS_VERSION_3: u32 = 3; +pub const RPC_C_SECURITY_QOS_VERSION_4: u32 = 4; +pub const RPC_C_SECURITY_QOS_VERSION_5: u32 = 5; +pub const RPC_PROTSEQ_TCP: u32 = 1; +pub const RPC_PROTSEQ_NMP: u32 = 2; +pub const RPC_PROTSEQ_LRPC: u32 = 3; +pub const RPC_PROTSEQ_HTTP: u32 = 4; +pub const RPC_BHT_OBJECT_UUID_VALID: u32 = 1; +pub const RPC_BHO_NONCAUSAL: u32 = 1; +pub const RPC_BHO_DONTLINGER: u32 = 2; +pub const RPC_BHO_EXCLUSIVE_AND_GUARANTEED: u32 = 4; +pub const RPC_C_AUTHZ_NONE: u32 = 0; +pub const RPC_C_AUTHZ_NAME: u32 = 1; +pub const RPC_C_AUTHZ_DCE: u32 = 2; +pub const RPC_C_AUTHZ_DEFAULT: u32 = 4294967295; +pub const DCE_C_ERROR_STRING_LEN: u32 = 256; +pub const RPC_C_EP_ALL_ELTS: u32 = 0; +pub const RPC_C_EP_MATCH_BY_IF: u32 = 1; +pub const RPC_C_EP_MATCH_BY_OBJ: u32 = 2; +pub const RPC_C_EP_MATCH_BY_BOTH: u32 = 3; +pub const RPC_C_VERS_ALL: u32 = 1; +pub const RPC_C_VERS_COMPATIBLE: u32 = 2; +pub const RPC_C_VERS_EXACT: u32 = 3; +pub const RPC_C_VERS_MAJOR_ONLY: u32 = 4; +pub const RPC_C_VERS_UPTO: u32 = 5; +pub const RPC_C_MGMT_INQ_IF_IDS: u32 = 0; +pub const RPC_C_MGMT_INQ_PRINC_NAME: u32 = 1; +pub const RPC_C_MGMT_INQ_STATS: u32 = 2; +pub const RPC_C_MGMT_IS_SERVER_LISTEN: u32 = 3; +pub const RPC_C_MGMT_STOP_SERVER_LISTEN: u32 = 4; +pub const RPC_C_PARM_MAX_PACKET_LENGTH: u32 = 1; +pub const RPC_C_PARM_BUFFER_LENGTH: u32 = 2; +pub const RPC_IF_AUTOLISTEN: u32 = 1; +pub const RPC_IF_OLE: u32 = 2; +pub const RPC_IF_ALLOW_UNKNOWN_AUTHORITY: u32 = 4; +pub const RPC_IF_ALLOW_SECURE_ONLY: u32 = 8; +pub const RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH: u32 = 16; +pub const RPC_IF_ALLOW_LOCAL_ONLY: u32 = 32; +pub const RPC_IF_SEC_NO_CACHE: u32 = 64; +pub const RPC_IF_SEC_CACHE_PER_PROC: u32 = 128; +pub const RPC_IF_ASYNC_CALLBACK: u32 = 256; +pub const RPC_FW_IF_FLAG_DCOM: u32 = 1; +pub const RPC_CONTEXT_HANDLE_DEFAULT_FLAGS: u32 = 0; +pub const RPC_CONTEXT_HANDLE_FLAGS: u32 = 805306368; +pub const RPC_CONTEXT_HANDLE_SERIALIZE: u32 = 268435456; +pub const RPC_CONTEXT_HANDLE_DONT_SERIALIZE: u32 = 536870912; +pub const RPC_TYPE_STRICT_CONTEXT_HANDLE: u32 = 1073741824; +pub const RPC_TYPE_DISCONNECT_EVENT_CONTEXT_HANDLE: u32 = 2147483648; +pub const RPC_NCA_FLAGS_DEFAULT: u32 = 0; +pub const RPC_NCA_FLAGS_IDEMPOTENT: u32 = 1; +pub const RPC_NCA_FLAGS_BROADCAST: u32 = 2; +pub const RPC_NCA_FLAGS_MAYBE: u32 = 4; +pub const RPCFLG_HAS_GUARANTEE: u32 = 16; +pub const RPCFLG_WINRT_REMOTE_ASYNC: u32 = 32; +pub const RPC_BUFFER_COMPLETE: u32 = 4096; +pub const RPC_BUFFER_PARTIAL: u32 = 8192; +pub const RPC_BUFFER_EXTRA: u32 = 16384; +pub const RPC_BUFFER_ASYNC: u32 = 32768; +pub const RPC_BUFFER_NONOTIFY: u32 = 65536; +pub const RPCFLG_MESSAGE: u32 = 16777216; +pub const RPCFLG_AUTO_COMPLETE: u32 = 134217728; +pub const RPCFLG_LOCAL_CALL: u32 = 268435456; +pub const RPCFLG_INPUT_SYNCHRONOUS: u32 = 536870912; +pub const RPCFLG_ASYNCHRONOUS: u32 = 1073741824; +pub const RPCFLG_NON_NDR: u32 = 2147483648; +pub const RPCFLG_HAS_MULTI_SYNTAXES: u32 = 33554432; +pub const RPCFLG_HAS_CALLBACK: u32 = 67108864; +pub const RPCFLG_ACCESSIBILITY_BIT1: u32 = 1048576; +pub const RPCFLG_ACCESSIBILITY_BIT2: u32 = 2097152; +pub const RPCFLG_ACCESS_LOCAL: u32 = 4194304; +pub const NDR_CUSTOM_OR_DEFAULT_ALLOCATOR: u32 = 268435456; +pub const NDR_DEFAULT_ALLOCATOR: u32 = 536870912; +pub const RPCFLG_NDR64_CONTAINS_ARM_LAYOUT: u32 = 67108864; +pub const RPCFLG_SENDER_WAITING_FOR_REPLY: u32 = 8388608; +pub const RPC_FLAGS_VALID_BIT: u32 = 32768; +pub const NT351_INTERFACE_SIZE: u32 = 64; +pub const RPC_INTERFACE_HAS_PIPES: u32 = 1; +pub const RPC_SYSTEM_HANDLE_FREE_UNRETRIEVED: u32 = 1; +pub const RPC_SYSTEM_HANDLE_FREE_RETRIEVED: u32 = 2; +pub const RPC_SYSTEM_HANDLE_FREE_ALL: u32 = 3; +pub const RPC_SYSTEM_HANDLE_FREE_ERROR_ON_CLOSE: u32 = 4; +pub const TRANSPORT_TYPE_CN: u32 = 1; +pub const TRANSPORT_TYPE_DG: u32 = 2; +pub const TRANSPORT_TYPE_LPC: u32 = 4; +pub const TRANSPORT_TYPE_WMSG: u32 = 8; +pub const RPC_P_ADDR_FORMAT_TCP_IPV4: u32 = 1; +pub const RPC_P_ADDR_FORMAT_TCP_IPV6: u32 = 2; +pub const RPC_C_OPT_SESSION_ID: u32 = 6; +pub const RPC_C_OPT_COOKIE_AUTH: u32 = 7; +pub const RPC_C_OPT_RESOURCE_TYPE_UUID: u32 = 8; +pub const RPC_PROXY_CONNECTION_TYPE_IN_PROXY: u32 = 0; +pub const RPC_PROXY_CONNECTION_TYPE_OUT_PROXY: u32 = 1; +pub const RPC_C_OPT_PRIVATE_SUPPRESS_WAKE: u32 = 1; +pub const RPC_C_OPT_PRIVATE_DO_NOT_DISTURB: u32 = 2; +pub const RPC_C_OPT_PRIVATE_BREAK_ON_SUSPEND: u32 = 3; +pub const RPC_C_NS_SYNTAX_DEFAULT: u32 = 0; +pub const RPC_C_NS_SYNTAX_DCE: u32 = 3; +pub const RPC_C_PROFILE_DEFAULT_ELT: u32 = 0; +pub const RPC_C_PROFILE_ALL_ELT: u32 = 1; +pub const RPC_C_PROFILE_ALL_ELTS: u32 = 1; +pub const RPC_C_PROFILE_MATCH_BY_IF: u32 = 2; +pub const RPC_C_PROFILE_MATCH_BY_MBR: u32 = 3; +pub const RPC_C_PROFILE_MATCH_BY_BOTH: u32 = 4; +pub const RPC_C_NS_DEFAULT_EXP_AGE: i32 = -1; +pub const RPC_S_OK: u32 = 0; +pub const RPC_S_INVALID_ARG: u32 = 87; +pub const RPC_S_OUT_OF_MEMORY: u32 = 14; +pub const RPC_S_OUT_OF_THREADS: u32 = 164; +pub const RPC_S_INVALID_LEVEL: u32 = 87; +pub const RPC_S_BUFFER_TOO_SMALL: u32 = 122; +pub const RPC_S_INVALID_SECURITY_DESC: u32 = 1338; +pub const RPC_S_ACCESS_DENIED: u32 = 5; +pub const RPC_S_SERVER_OUT_OF_MEMORY: u32 = 1130; +pub const RPC_S_ASYNC_CALL_PENDING: u32 = 997; +pub const RPC_S_UNKNOWN_PRINCIPAL: u32 = 1332; +pub const RPC_S_TIMEOUT: u32 = 1460; +pub const RPC_S_NOT_ENOUGH_QUOTA: u32 = 1816; +pub const RPC_X_NO_MEMORY: u32 = 14; +pub const RPC_X_INVALID_BOUND: u32 = 1734; +pub const RPC_X_INVALID_TAG: u32 = 1733; +pub const RPC_X_ENUM_VALUE_TOO_LARGE: u32 = 1781; +pub const RPC_X_SS_CONTEXT_MISMATCH: u32 = 6; +pub const RPC_X_INVALID_BUFFER: u32 = 1784; +pub const RPC_X_PIPE_APP_MEMORY: u32 = 14; +pub const RPC_X_INVALID_PIPE_OPERATION: u32 = 1831; +pub const RPC_C_NOTIFY_ON_SEND_COMPLETE: u32 = 1; +pub const RPC_C_INFINITE_TIMEOUT: u32 = 4294967295; +pub const MaxNumberOfEEInfoParams: u32 = 4; +pub const RPC_EEINFO_VERSION: u32 = 1; +pub const EEInfoPreviousRecordsMissing: u32 = 1; +pub const EEInfoNextRecordsMissing: u32 = 2; +pub const EEInfoUseFileTime: u32 = 4; +pub const EEInfoGCCOM: u32 = 11; +pub const EEInfoGCFRS: u32 = 12; +pub const RPC_QUERY_SERVER_PRINCIPAL_NAME: u32 = 2; +pub const RPC_QUERY_CLIENT_PRINCIPAL_NAME: u32 = 4; +pub const RPC_QUERY_CALL_LOCAL_ADDRESS: u32 = 8; +pub const RPC_QUERY_CLIENT_PID: u32 = 16; +pub const RPC_QUERY_IS_CLIENT_LOCAL: u32 = 32; +pub const RPC_QUERY_NO_AUTH_REQUIRED: u32 = 64; +pub const RPC_CALL_ATTRIBUTES_VERSION: u32 = 3; +pub const RPC_QUERY_CLIENT_ID: u32 = 128; +pub const RPC_CALL_STATUS_CANCELLED: u32 = 1; +pub const RPC_CALL_STATUS_DISCONNECTED: u32 = 2; +pub const ABM_NEW: u32 = 0; +pub const ABM_REMOVE: u32 = 1; +pub const ABM_QUERYPOS: u32 = 2; +pub const ABM_SETPOS: u32 = 3; +pub const ABM_GETSTATE: u32 = 4; +pub const ABM_GETTASKBARPOS: u32 = 5; +pub const ABM_ACTIVATE: u32 = 6; +pub const ABM_GETAUTOHIDEBAR: u32 = 7; +pub const ABM_SETAUTOHIDEBAR: u32 = 8; +pub const ABM_WINDOWPOSCHANGED: u32 = 9; +pub const ABM_SETSTATE: u32 = 10; +pub const ABM_GETAUTOHIDEBAREX: u32 = 11; +pub const ABM_SETAUTOHIDEBAREX: u32 = 12; +pub const ABN_STATECHANGE: u32 = 0; +pub const ABN_POSCHANGED: u32 = 1; +pub const ABN_FULLSCREENAPP: u32 = 2; +pub const ABN_WINDOWARRANGE: u32 = 3; +pub const ABS_AUTOHIDE: u32 = 1; +pub const ABS_ALWAYSONTOP: u32 = 2; +pub const ABE_LEFT: u32 = 0; +pub const ABE_TOP: u32 = 1; +pub const ABE_RIGHT: u32 = 2; +pub const ABE_BOTTOM: u32 = 3; +pub const FO_MOVE: u32 = 1; +pub const FO_COPY: u32 = 2; +pub const FO_DELETE: u32 = 3; +pub const FO_RENAME: u32 = 4; +pub const FOF_MULTIDESTFILES: u32 = 1; +pub const FOF_CONFIRMMOUSE: u32 = 2; +pub const FOF_SILENT: u32 = 4; +pub const FOF_RENAMEONCOLLISION: u32 = 8; +pub const FOF_NOCONFIRMATION: u32 = 16; +pub const FOF_WANTMAPPINGHANDLE: u32 = 32; +pub const FOF_ALLOWUNDO: u32 = 64; +pub const FOF_FILESONLY: u32 = 128; +pub const FOF_SIMPLEPROGRESS: u32 = 256; +pub const FOF_NOCONFIRMMKDIR: u32 = 512; +pub const FOF_NOERRORUI: u32 = 1024; +pub const FOF_NOCOPYSECURITYATTRIBS: u32 = 2048; +pub const FOF_NORECURSION: u32 = 4096; +pub const FOF_NO_CONNECTED_ELEMENTS: u32 = 8192; +pub const FOF_WANTNUKEWARNING: u32 = 16384; +pub const FOF_NORECURSEREPARSE: u32 = 32768; +pub const FOF_NO_UI: u32 = 1556; +pub const PO_DELETE: u32 = 19; +pub const PO_RENAME: u32 = 20; +pub const PO_PORTCHANGE: u32 = 32; +pub const PO_REN_PORT: u32 = 52; +pub const SE_ERR_FNF: u32 = 2; +pub const SE_ERR_PNF: u32 = 3; +pub const SE_ERR_ACCESSDENIED: u32 = 5; +pub const SE_ERR_OOM: u32 = 8; +pub const SE_ERR_DLLNOTFOUND: u32 = 32; +pub const SE_ERR_SHARE: u32 = 26; +pub const SE_ERR_ASSOCINCOMPLETE: u32 = 27; +pub const SE_ERR_DDETIMEOUT: u32 = 28; +pub const SE_ERR_DDEFAIL: u32 = 29; +pub const SE_ERR_DDEBUSY: u32 = 30; +pub const SE_ERR_NOASSOC: u32 = 31; +pub const SEE_MASK_DEFAULT: u32 = 0; +pub const SEE_MASK_CLASSNAME: u32 = 1; +pub const SEE_MASK_CLASSKEY: u32 = 3; +pub const SEE_MASK_IDLIST: u32 = 4; +pub const SEE_MASK_INVOKEIDLIST: u32 = 12; +pub const SEE_MASK_HOTKEY: u32 = 32; +pub const SEE_MASK_NOCLOSEPROCESS: u32 = 64; +pub const SEE_MASK_CONNECTNETDRV: u32 = 128; +pub const SEE_MASK_NOASYNC: u32 = 256; +pub const SEE_MASK_FLAG_DDEWAIT: u32 = 256; +pub const SEE_MASK_DOENVSUBST: u32 = 512; +pub const SEE_MASK_FLAG_NO_UI: u32 = 1024; +pub const SEE_MASK_UNICODE: u32 = 16384; +pub const SEE_MASK_NO_CONSOLE: u32 = 32768; +pub const SEE_MASK_ASYNCOK: u32 = 1048576; +pub const SEE_MASK_HMONITOR: u32 = 2097152; +pub const SEE_MASK_NOZONECHECKS: u32 = 8388608; +pub const SEE_MASK_NOQUERYCLASSSTORE: u32 = 16777216; +pub const SEE_MASK_WAITFORINPUTIDLE: u32 = 33554432; +pub const SEE_MASK_FLAG_LOG_USAGE: u32 = 67108864; +pub const SEE_MASK_FLAG_HINST_IS_SITE: u32 = 134217728; +pub const SHERB_NOCONFIRMATION: u32 = 1; +pub const SHERB_NOPROGRESSUI: u32 = 2; +pub const SHERB_NOSOUND: u32 = 4; +pub const NIN_SELECT: u32 = 1024; +pub const NINF_KEY: u32 = 1; +pub const NIN_KEYSELECT: u32 = 1025; +pub const NIN_BALLOONSHOW: u32 = 1026; +pub const NIN_BALLOONHIDE: u32 = 1027; +pub const NIN_BALLOONTIMEOUT: u32 = 1028; +pub const NIN_BALLOONUSERCLICK: u32 = 1029; +pub const NIN_POPUPOPEN: u32 = 1030; +pub const NIN_POPUPCLOSE: u32 = 1031; +pub const NIM_ADD: u32 = 0; +pub const NIM_MODIFY: u32 = 1; +pub const NIM_DELETE: u32 = 2; +pub const NIM_SETFOCUS: u32 = 3; +pub const NIM_SETVERSION: u32 = 4; +pub const NOTIFYICON_VERSION: u32 = 3; +pub const NOTIFYICON_VERSION_4: u32 = 4; +pub const NIF_MESSAGE: u32 = 1; +pub const NIF_ICON: u32 = 2; +pub const NIF_TIP: u32 = 4; +pub const NIF_STATE: u32 = 8; +pub const NIF_INFO: u32 = 16; +pub const NIF_GUID: u32 = 32; +pub const NIF_REALTIME: u32 = 64; +pub const NIF_SHOWTIP: u32 = 128; +pub const NIS_HIDDEN: u32 = 1; +pub const NIS_SHAREDICON: u32 = 2; +pub const NIIF_NONE: u32 = 0; +pub const NIIF_INFO: u32 = 1; +pub const NIIF_WARNING: u32 = 2; +pub const NIIF_ERROR: u32 = 3; +pub const NIIF_USER: u32 = 4; +pub const NIIF_ICON_MASK: u32 = 15; +pub const NIIF_NOSOUND: u32 = 16; +pub const NIIF_LARGE_ICON: u32 = 32; +pub const NIIF_RESPECT_QUIET_TIME: u32 = 128; +pub const SHGFI_ICON: u32 = 256; +pub const SHGFI_DISPLAYNAME: u32 = 512; +pub const SHGFI_TYPENAME: u32 = 1024; +pub const SHGFI_ATTRIBUTES: u32 = 2048; +pub const SHGFI_ICONLOCATION: u32 = 4096; +pub const SHGFI_EXETYPE: u32 = 8192; +pub const SHGFI_SYSICONINDEX: u32 = 16384; +pub const SHGFI_LINKOVERLAY: u32 = 32768; +pub const SHGFI_SELECTED: u32 = 65536; +pub const SHGFI_ATTR_SPECIFIED: u32 = 131072; +pub const SHGFI_LARGEICON: u32 = 0; +pub const SHGFI_SMALLICON: u32 = 1; +pub const SHGFI_OPENICON: u32 = 2; +pub const SHGFI_SHELLICONSIZE: u32 = 4; +pub const SHGFI_PIDL: u32 = 8; +pub const SHGFI_USEFILEATTRIBUTES: u32 = 16; +pub const SHGFI_ADDOVERLAYS: u32 = 32; +pub const SHGFI_OVERLAYINDEX: u32 = 64; +pub const SHGSI_ICONLOCATION: u32 = 0; +pub const SHGSI_ICON: u32 = 256; +pub const SHGSI_SYSICONINDEX: u32 = 16384; +pub const SHGSI_LINKOVERLAY: u32 = 32768; +pub const SHGSI_SELECTED: u32 = 65536; +pub const SHGSI_LARGEICON: u32 = 0; +pub const SHGSI_SMALLICON: u32 = 1; +pub const SHGSI_SHELLICONSIZE: u32 = 4; +pub const SHGNLI_PIDL: u32 = 1; +pub const SHGNLI_PREFIXNAME: u32 = 2; +pub const SHGNLI_NOUNIQUE: u32 = 4; +pub const SHGNLI_NOLNK: u32 = 8; +pub const SHGNLI_NOLOCNAME: u32 = 16; +pub const SHGNLI_USEURLEXT: u32 = 32; +pub const PRINTACTION_OPEN: u32 = 0; +pub const PRINTACTION_PROPERTIES: u32 = 1; +pub const PRINTACTION_NETINSTALL: u32 = 2; +pub const PRINTACTION_NETINSTALLLINK: u32 = 3; +pub const PRINTACTION_TESTPAGE: u32 = 4; +pub const PRINTACTION_OPENNETPRN: u32 = 5; +pub const PRINTACTION_DOCUMENTDEFAULTS: u32 = 6; +pub const PRINTACTION_SERVERPROPERTIES: u32 = 7; +pub const PRINT_PROP_FORCE_NAME: u32 = 1; +pub const OFFLINE_STATUS_LOCAL: u32 = 1; +pub const OFFLINE_STATUS_REMOTE: u32 = 2; +pub const OFFLINE_STATUS_INCOMPLETE: u32 = 4; +pub const SHIL_LARGE: u32 = 0; +pub const SHIL_SMALL: u32 = 1; +pub const SHIL_EXTRALARGE: u32 = 2; +pub const SHIL_SYSSMALL: u32 = 3; +pub const SHIL_JUMBO: u32 = 4; +pub const SHIL_LAST: u32 = 4; +pub const WC_NETADDRESS: &[u8; 18usize] = b"msctls_netaddress\0"; +pub const NCM_GETADDRESS: u32 = 1025; +pub const NCM_SETALLOWTYPE: u32 = 1026; +pub const NCM_GETALLOWTYPE: u32 = 1027; +pub const NCM_DISPLAYERRORTIP: u32 = 1028; +pub const PERF_DATA_VERSION: u32 = 1; +pub const PERF_DATA_REVISION: u32 = 1; +pub const PERF_NO_INSTANCES: i32 = -1; +pub const PERF_SIZE_DWORD: u32 = 0; +pub const PERF_SIZE_LARGE: u32 = 256; +pub const PERF_SIZE_ZERO: u32 = 512; +pub const PERF_SIZE_VARIABLE_LEN: u32 = 768; +pub const PERF_TYPE_NUMBER: u32 = 0; +pub const PERF_TYPE_COUNTER: u32 = 1024; +pub const PERF_TYPE_TEXT: u32 = 2048; +pub const PERF_TYPE_ZERO: u32 = 3072; +pub const PERF_NUMBER_HEX: u32 = 0; +pub const PERF_NUMBER_DECIMAL: u32 = 65536; +pub const PERF_NUMBER_DEC_1000: u32 = 131072; +pub const PERF_COUNTER_VALUE: u32 = 0; +pub const PERF_COUNTER_RATE: u32 = 65536; +pub const PERF_COUNTER_FRACTION: u32 = 131072; +pub const PERF_COUNTER_BASE: u32 = 196608; +pub const PERF_COUNTER_ELAPSED: u32 = 262144; +pub const PERF_COUNTER_QUEUELEN: u32 = 327680; +pub const PERF_COUNTER_HISTOGRAM: u32 = 393216; +pub const PERF_COUNTER_PRECISION: u32 = 458752; +pub const PERF_TEXT_UNICODE: u32 = 0; +pub const PERF_TEXT_ASCII: u32 = 65536; +pub const PERF_TIMER_TICK: u32 = 0; +pub const PERF_TIMER_100NS: u32 = 1048576; +pub const PERF_OBJECT_TIMER: u32 = 2097152; +pub const PERF_DELTA_COUNTER: u32 = 4194304; +pub const PERF_DELTA_BASE: u32 = 8388608; +pub const PERF_INVERSE_COUNTER: u32 = 16777216; +pub const PERF_MULTI_COUNTER: u32 = 33554432; +pub const PERF_DISPLAY_NO_SUFFIX: u32 = 0; +pub const PERF_DISPLAY_PER_SEC: u32 = 268435456; +pub const PERF_DISPLAY_PERCENT: u32 = 536870912; +pub const PERF_DISPLAY_SECONDS: u32 = 805306368; +pub const PERF_DISPLAY_NOSHOW: u32 = 1073741824; +pub const PERF_COUNTER_COUNTER: u32 = 272696320; +pub const PERF_COUNTER_TIMER: u32 = 541132032; +pub const PERF_COUNTER_QUEUELEN_TYPE: u32 = 4523008; +pub const PERF_COUNTER_LARGE_QUEUELEN_TYPE: u32 = 4523264; +pub const PERF_COUNTER_100NS_QUEUELEN_TYPE: u32 = 5571840; +pub const PERF_COUNTER_OBJ_TIME_QUEUELEN_TYPE: u32 = 6620416; +pub const PERF_COUNTER_BULK_COUNT: u32 = 272696576; +pub const PERF_COUNTER_TEXT: u32 = 2816; +pub const PERF_COUNTER_RAWCOUNT: u32 = 65536; +pub const PERF_COUNTER_LARGE_RAWCOUNT: u32 = 65792; +pub const PERF_COUNTER_RAWCOUNT_HEX: u32 = 0; +pub const PERF_COUNTER_LARGE_RAWCOUNT_HEX: u32 = 256; +pub const PERF_SAMPLE_FRACTION: u32 = 549585920; +pub const PERF_SAMPLE_COUNTER: u32 = 4260864; +pub const PERF_COUNTER_NODATA: u32 = 1073742336; +pub const PERF_COUNTER_TIMER_INV: u32 = 557909248; +pub const PERF_SAMPLE_BASE: u32 = 1073939457; +pub const PERF_AVERAGE_TIMER: u32 = 805438464; +pub const PERF_AVERAGE_BASE: u32 = 1073939458; +pub const PERF_AVERAGE_BULK: u32 = 1073874176; +pub const PERF_OBJ_TIME_TIMER: u32 = 543229184; +pub const PERF_100NSEC_TIMER: u32 = 542180608; +pub const PERF_100NSEC_TIMER_INV: u32 = 558957824; +pub const PERF_COUNTER_MULTI_TIMER: u32 = 574686464; +pub const PERF_COUNTER_MULTI_TIMER_INV: u32 = 591463680; +pub const PERF_COUNTER_MULTI_BASE: u32 = 1107494144; +pub const PERF_100NSEC_MULTI_TIMER: u32 = 575735040; +pub const PERF_100NSEC_MULTI_TIMER_INV: u32 = 592512256; +pub const PERF_RAW_FRACTION: u32 = 537003008; +pub const PERF_LARGE_RAW_FRACTION: u32 = 537003264; +pub const PERF_RAW_BASE: u32 = 1073939459; +pub const PERF_LARGE_RAW_BASE: u32 = 1073939712; +pub const PERF_ELAPSED_TIME: u32 = 807666944; +pub const PERF_COUNTER_HISTOGRAM_TYPE: u32 = 2147483648; +pub const PERF_COUNTER_DELTA: u32 = 4195328; +pub const PERF_COUNTER_LARGE_DELTA: u32 = 4195584; +pub const PERF_PRECISION_SYSTEM_TIMER: u32 = 541525248; +pub const PERF_PRECISION_100NS_TIMER: u32 = 542573824; +pub const PERF_PRECISION_OBJECT_TIMER: u32 = 543622400; +pub const PERF_PRECISION_TIMESTAMP: u32 = 1073939712; +pub const PERF_DETAIL_NOVICE: u32 = 100; +pub const PERF_DETAIL_ADVANCED: u32 = 200; +pub const PERF_DETAIL_EXPERT: u32 = 300; +pub const PERF_DETAIL_WIZARD: u32 = 400; +pub const PERF_NO_UNIQUE_ID: i32 = -1; +pub const MAX_PERF_OBJECTS_IN_QUERY_FUNCTION: u32 = 64; +pub const WINPERF_LOG_NONE: u32 = 0; +pub const WINPERF_LOG_USER: u32 = 1; +pub const WINPERF_LOG_DEBUG: u32 = 2; +pub const WINPERF_LOG_VERBOSE: u32 = 3; +pub const ALG_CLASS_ANY: u32 = 0; +pub const ALG_CLASS_SIGNATURE: u32 = 8192; +pub const ALG_CLASS_MSG_ENCRYPT: u32 = 16384; +pub const ALG_CLASS_DATA_ENCRYPT: u32 = 24576; +pub const ALG_CLASS_HASH: u32 = 32768; +pub const ALG_CLASS_KEY_EXCHANGE: u32 = 40960; +pub const ALG_CLASS_ALL: u32 = 57344; +pub const ALG_TYPE_ANY: u32 = 0; +pub const ALG_TYPE_DSS: u32 = 512; +pub const ALG_TYPE_RSA: u32 = 1024; +pub const ALG_TYPE_BLOCK: u32 = 1536; +pub const ALG_TYPE_STREAM: u32 = 2048; +pub const ALG_TYPE_DH: u32 = 2560; +pub const ALG_TYPE_SECURECHANNEL: u32 = 3072; +pub const ALG_TYPE_ECDH: u32 = 3584; +pub const ALG_TYPE_THIRDPARTY: u32 = 4096; +pub const ALG_SID_ANY: u32 = 0; +pub const ALG_SID_THIRDPARTY_ANY: u32 = 0; +pub const ALG_SID_RSA_ANY: u32 = 0; +pub const ALG_SID_RSA_PKCS: u32 = 1; +pub const ALG_SID_RSA_MSATWORK: u32 = 2; +pub const ALG_SID_RSA_ENTRUST: u32 = 3; +pub const ALG_SID_RSA_PGP: u32 = 4; +pub const ALG_SID_DSS_ANY: u32 = 0; +pub const ALG_SID_DSS_PKCS: u32 = 1; +pub const ALG_SID_DSS_DMS: u32 = 2; +pub const ALG_SID_ECDSA: u32 = 3; +pub const ALG_SID_DES: u32 = 1; +pub const ALG_SID_3DES: u32 = 3; +pub const ALG_SID_DESX: u32 = 4; +pub const ALG_SID_IDEA: u32 = 5; +pub const ALG_SID_CAST: u32 = 6; +pub const ALG_SID_SAFERSK64: u32 = 7; +pub const ALG_SID_SAFERSK128: u32 = 8; +pub const ALG_SID_3DES_112: u32 = 9; +pub const ALG_SID_CYLINK_MEK: u32 = 12; +pub const ALG_SID_RC5: u32 = 13; +pub const ALG_SID_AES_128: u32 = 14; +pub const ALG_SID_AES_192: u32 = 15; +pub const ALG_SID_AES_256: u32 = 16; +pub const ALG_SID_AES: u32 = 17; +pub const ALG_SID_SKIPJACK: u32 = 10; +pub const ALG_SID_TEK: u32 = 11; +pub const CRYPT_MODE_CBCI: u32 = 6; +pub const CRYPT_MODE_CFBP: u32 = 7; +pub const CRYPT_MODE_OFBP: u32 = 8; +pub const CRYPT_MODE_CBCOFM: u32 = 9; +pub const CRYPT_MODE_CBCOFMI: u32 = 10; +pub const ALG_SID_RC2: u32 = 2; +pub const ALG_SID_RC4: u32 = 1; +pub const ALG_SID_SEAL: u32 = 2; +pub const ALG_SID_DH_SANDF: u32 = 1; +pub const ALG_SID_DH_EPHEM: u32 = 2; +pub const ALG_SID_AGREED_KEY_ANY: u32 = 3; +pub const ALG_SID_KEA: u32 = 4; +pub const ALG_SID_ECDH: u32 = 5; +pub const ALG_SID_ECDH_EPHEM: u32 = 6; +pub const ALG_SID_MD2: u32 = 1; +pub const ALG_SID_MD4: u32 = 2; +pub const ALG_SID_MD5: u32 = 3; +pub const ALG_SID_SHA: u32 = 4; +pub const ALG_SID_SHA1: u32 = 4; +pub const ALG_SID_MAC: u32 = 5; +pub const ALG_SID_RIPEMD: u32 = 6; +pub const ALG_SID_RIPEMD160: u32 = 7; +pub const ALG_SID_SSL3SHAMD5: u32 = 8; +pub const ALG_SID_HMAC: u32 = 9; +pub const ALG_SID_TLS1PRF: u32 = 10; +pub const ALG_SID_HASH_REPLACE_OWF: u32 = 11; +pub const ALG_SID_SHA_256: u32 = 12; +pub const ALG_SID_SHA_384: u32 = 13; +pub const ALG_SID_SHA_512: u32 = 14; +pub const ALG_SID_SSL3_MASTER: u32 = 1; +pub const ALG_SID_SCHANNEL_MASTER_HASH: u32 = 2; +pub const ALG_SID_SCHANNEL_MAC_KEY: u32 = 3; +pub const ALG_SID_PCT1_MASTER: u32 = 4; +pub const ALG_SID_SSL2_MASTER: u32 = 5; +pub const ALG_SID_TLS1_MASTER: u32 = 6; +pub const ALG_SID_SCHANNEL_ENC_KEY: u32 = 7; +pub const ALG_SID_ECMQV: u32 = 1; +pub const ALG_SID_EXAMPLE: u32 = 80; +pub const CALG_MD2: u32 = 32769; +pub const CALG_MD4: u32 = 32770; +pub const CALG_MD5: u32 = 32771; +pub const CALG_SHA: u32 = 32772; +pub const CALG_SHA1: u32 = 32772; +pub const CALG_MAC: u32 = 32773; +pub const CALG_RSA_SIGN: u32 = 9216; +pub const CALG_DSS_SIGN: u32 = 8704; +pub const CALG_NO_SIGN: u32 = 8192; +pub const CALG_RSA_KEYX: u32 = 41984; +pub const CALG_DES: u32 = 26113; +pub const CALG_3DES_112: u32 = 26121; +pub const CALG_3DES: u32 = 26115; +pub const CALG_DESX: u32 = 26116; +pub const CALG_RC2: u32 = 26114; +pub const CALG_RC4: u32 = 26625; +pub const CALG_SEAL: u32 = 26626; +pub const CALG_DH_SF: u32 = 43521; +pub const CALG_DH_EPHEM: u32 = 43522; +pub const CALG_AGREEDKEY_ANY: u32 = 43523; +pub const CALG_KEA_KEYX: u32 = 43524; +pub const CALG_HUGHES_MD5: u32 = 40963; +pub const CALG_SKIPJACK: u32 = 26122; +pub const CALG_TEK: u32 = 26123; +pub const CALG_CYLINK_MEK: u32 = 26124; +pub const CALG_SSL3_SHAMD5: u32 = 32776; +pub const CALG_SSL3_MASTER: u32 = 19457; +pub const CALG_SCHANNEL_MASTER_HASH: u32 = 19458; +pub const CALG_SCHANNEL_MAC_KEY: u32 = 19459; +pub const CALG_SCHANNEL_ENC_KEY: u32 = 19463; +pub const CALG_PCT1_MASTER: u32 = 19460; +pub const CALG_SSL2_MASTER: u32 = 19461; +pub const CALG_TLS1_MASTER: u32 = 19462; +pub const CALG_RC5: u32 = 26125; +pub const CALG_HMAC: u32 = 32777; +pub const CALG_TLS1PRF: u32 = 32778; +pub const CALG_HASH_REPLACE_OWF: u32 = 32779; +pub const CALG_AES_128: u32 = 26126; +pub const CALG_AES_192: u32 = 26127; +pub const CALG_AES_256: u32 = 26128; +pub const CALG_AES: u32 = 26129; +pub const CALG_SHA_256: u32 = 32780; +pub const CALG_SHA_384: u32 = 32781; +pub const CALG_SHA_512: u32 = 32782; +pub const CALG_ECDH: u32 = 43525; +pub const CALG_ECDH_EPHEM: u32 = 44550; +pub const CALG_ECMQV: u32 = 40961; +pub const CALG_ECDSA: u32 = 8707; +pub const CALG_NULLCIPHER: u32 = 24576; +pub const CALG_THIRDPARTY_KEY_EXCHANGE: u32 = 45056; +pub const CALG_THIRDPARTY_SIGNATURE: u32 = 12288; +pub const CALG_THIRDPARTY_CIPHER: u32 = 28672; +pub const CALG_THIRDPARTY_HASH: u32 = 36864; +pub const CRYPT_VERIFYCONTEXT: u32 = 4026531840; +pub const CRYPT_NEWKEYSET: u32 = 8; +pub const CRYPT_DELETEKEYSET: u32 = 16; +pub const CRYPT_MACHINE_KEYSET: u32 = 32; +pub const CRYPT_SILENT: u32 = 64; +pub const CRYPT_DEFAULT_CONTAINER_OPTIONAL: u32 = 128; +pub const CRYPT_EXPORTABLE: u32 = 1; +pub const CRYPT_USER_PROTECTED: u32 = 2; +pub const CRYPT_CREATE_SALT: u32 = 4; +pub const CRYPT_UPDATE_KEY: u32 = 8; +pub const CRYPT_NO_SALT: u32 = 16; +pub const CRYPT_PREGEN: u32 = 64; +pub const CRYPT_RECIPIENT: u32 = 16; +pub const CRYPT_INITIATOR: u32 = 64; +pub const CRYPT_ONLINE: u32 = 128; +pub const CRYPT_SF: u32 = 256; +pub const CRYPT_CREATE_IV: u32 = 512; +pub const CRYPT_KEK: u32 = 1024; +pub const CRYPT_DATA_KEY: u32 = 2048; +pub const CRYPT_VOLATILE: u32 = 4096; +pub const CRYPT_SGCKEY: u32 = 8192; +pub const CRYPT_USER_PROTECTED_STRONG: u32 = 1048576; +pub const CRYPT_ARCHIVABLE: u32 = 16384; +pub const CRYPT_FORCE_KEY_PROTECTION_HIGH: u32 = 32768; +pub const RSA1024BIT_KEY: u32 = 67108864; +pub const CRYPT_SERVER: u32 = 1024; +pub const KEY_LENGTH_MASK: u32 = 4294901760; +pub const CRYPT_Y_ONLY: u32 = 1; +pub const CRYPT_SSL2_FALLBACK: u32 = 2; +pub const CRYPT_DESTROYKEY: u32 = 4; +pub const CRYPT_OAEP: u32 = 64; +pub const CRYPT_BLOB_VER3: u32 = 128; +pub const CRYPT_IPSEC_HMAC_KEY: u32 = 256; +pub const CRYPT_DECRYPT_RSA_NO_PADDING_CHECK: u32 = 32; +pub const CRYPT_SECRETDIGEST: u32 = 1; +pub const CRYPT_OWF_REPL_LM_HASH: u32 = 1; +pub const CRYPT_LITTLE_ENDIAN: u32 = 1; +pub const CRYPT_NOHASHOID: u32 = 1; +pub const CRYPT_TYPE2_FORMAT: u32 = 2; +pub const CRYPT_X931_FORMAT: u32 = 4; +pub const CRYPT_MACHINE_DEFAULT: u32 = 1; +pub const CRYPT_USER_DEFAULT: u32 = 2; +pub const CRYPT_DELETE_DEFAULT: u32 = 4; +pub const SIMPLEBLOB: u32 = 1; +pub const PUBLICKEYBLOB: u32 = 6; +pub const PRIVATEKEYBLOB: u32 = 7; +pub const PLAINTEXTKEYBLOB: u32 = 8; +pub const OPAQUEKEYBLOB: u32 = 9; +pub const PUBLICKEYBLOBEX: u32 = 10; +pub const SYMMETRICWRAPKEYBLOB: u32 = 11; +pub const KEYSTATEBLOB: u32 = 12; +pub const AT_KEYEXCHANGE: u32 = 1; +pub const AT_SIGNATURE: u32 = 2; +pub const CRYPT_USERDATA: u32 = 1; +pub const KP_IV: u32 = 1; +pub const KP_SALT: u32 = 2; +pub const KP_PADDING: u32 = 3; +pub const KP_MODE: u32 = 4; +pub const KP_MODE_BITS: u32 = 5; +pub const KP_PERMISSIONS: u32 = 6; +pub const KP_ALGID: u32 = 7; +pub const KP_BLOCKLEN: u32 = 8; +pub const KP_KEYLEN: u32 = 9; +pub const KP_SALT_EX: u32 = 10; +pub const KP_P: u32 = 11; +pub const KP_G: u32 = 12; +pub const KP_Q: u32 = 13; +pub const KP_X: u32 = 14; +pub const KP_Y: u32 = 15; +pub const KP_RA: u32 = 16; +pub const KP_RB: u32 = 17; +pub const KP_INFO: u32 = 18; +pub const KP_EFFECTIVE_KEYLEN: u32 = 19; +pub const KP_SCHANNEL_ALG: u32 = 20; +pub const KP_CLIENT_RANDOM: u32 = 21; +pub const KP_SERVER_RANDOM: u32 = 22; +pub const KP_RP: u32 = 23; +pub const KP_PRECOMP_MD5: u32 = 24; +pub const KP_PRECOMP_SHA: u32 = 25; +pub const KP_CERTIFICATE: u32 = 26; +pub const KP_CLEAR_KEY: u32 = 27; +pub const KP_PUB_EX_LEN: u32 = 28; +pub const KP_PUB_EX_VAL: u32 = 29; +pub const KP_KEYVAL: u32 = 30; +pub const KP_ADMIN_PIN: u32 = 31; +pub const KP_KEYEXCHANGE_PIN: u32 = 32; +pub const KP_SIGNATURE_PIN: u32 = 33; +pub const KP_PREHASH: u32 = 34; +pub const KP_ROUNDS: u32 = 35; +pub const KP_OAEP_PARAMS: u32 = 36; +pub const KP_CMS_KEY_INFO: u32 = 37; +pub const KP_CMS_DH_KEY_INFO: u32 = 38; +pub const KP_PUB_PARAMS: u32 = 39; +pub const KP_VERIFY_PARAMS: u32 = 40; +pub const KP_HIGHEST_VERSION: u32 = 41; +pub const KP_GET_USE_COUNT: u32 = 42; +pub const KP_PIN_ID: u32 = 43; +pub const KP_PIN_INFO: u32 = 44; +pub const PKCS5_PADDING: u32 = 1; +pub const RANDOM_PADDING: u32 = 2; +pub const ZERO_PADDING: u32 = 3; +pub const CRYPT_MODE_CBC: u32 = 1; +pub const CRYPT_MODE_ECB: u32 = 2; +pub const CRYPT_MODE_OFB: u32 = 3; +pub const CRYPT_MODE_CFB: u32 = 4; +pub const CRYPT_MODE_CTS: u32 = 5; +pub const CRYPT_ENCRYPT: u32 = 1; +pub const CRYPT_DECRYPT: u32 = 2; +pub const CRYPT_EXPORT: u32 = 4; +pub const CRYPT_READ: u32 = 8; +pub const CRYPT_WRITE: u32 = 16; +pub const CRYPT_MAC: u32 = 32; +pub const CRYPT_EXPORT_KEY: u32 = 64; +pub const CRYPT_IMPORT_KEY: u32 = 128; +pub const CRYPT_ARCHIVE: u32 = 256; +pub const HP_ALGID: u32 = 1; +pub const HP_HASHVAL: u32 = 2; +pub const HP_HASHSIZE: u32 = 4; +pub const HP_HMAC_INFO: u32 = 5; +pub const HP_TLS1PRF_LABEL: u32 = 6; +pub const HP_TLS1PRF_SEED: u32 = 7; +pub const CRYPT_FAILED: u32 = 0; +pub const CRYPT_SUCCEED: u32 = 1; +pub const PP_ENUMALGS: u32 = 1; +pub const PP_ENUMCONTAINERS: u32 = 2; +pub const PP_IMPTYPE: u32 = 3; +pub const PP_NAME: u32 = 4; +pub const PP_VERSION: u32 = 5; +pub const PP_CONTAINER: u32 = 6; +pub const PP_CHANGE_PASSWORD: u32 = 7; +pub const PP_KEYSET_SEC_DESCR: u32 = 8; +pub const PP_CERTCHAIN: u32 = 9; +pub const PP_KEY_TYPE_SUBTYPE: u32 = 10; +pub const PP_PROVTYPE: u32 = 16; +pub const PP_KEYSTORAGE: u32 = 17; +pub const PP_APPLI_CERT: u32 = 18; +pub const PP_SYM_KEYSIZE: u32 = 19; +pub const PP_SESSION_KEYSIZE: u32 = 20; +pub const PP_UI_PROMPT: u32 = 21; +pub const PP_ENUMALGS_EX: u32 = 22; +pub const PP_ENUMMANDROOTS: u32 = 25; +pub const PP_ENUMELECTROOTS: u32 = 26; +pub const PP_KEYSET_TYPE: u32 = 27; +pub const PP_ADMIN_PIN: u32 = 31; +pub const PP_KEYEXCHANGE_PIN: u32 = 32; +pub const PP_SIGNATURE_PIN: u32 = 33; +pub const PP_SIG_KEYSIZE_INC: u32 = 34; +pub const PP_KEYX_KEYSIZE_INC: u32 = 35; +pub const PP_UNIQUE_CONTAINER: u32 = 36; +pub const PP_SGC_INFO: u32 = 37; +pub const PP_USE_HARDWARE_RNG: u32 = 38; +pub const PP_KEYSPEC: u32 = 39; +pub const PP_ENUMEX_SIGNING_PROT: u32 = 40; +pub const PP_CRYPT_COUNT_KEY_USE: u32 = 41; +pub const PP_USER_CERTSTORE: u32 = 42; +pub const PP_SMARTCARD_READER: u32 = 43; +pub const PP_SMARTCARD_GUID: u32 = 45; +pub const PP_ROOT_CERTSTORE: u32 = 46; +pub const PP_SMARTCARD_READER_ICON: u32 = 47; +pub const CRYPT_FIRST: u32 = 1; +pub const CRYPT_NEXT: u32 = 2; +pub const CRYPT_SGC_ENUM: u32 = 4; +pub const CRYPT_IMPL_HARDWARE: u32 = 1; +pub const CRYPT_IMPL_SOFTWARE: u32 = 2; +pub const CRYPT_IMPL_MIXED: u32 = 3; +pub const CRYPT_IMPL_UNKNOWN: u32 = 4; +pub const CRYPT_IMPL_REMOVABLE: u32 = 8; +pub const CRYPT_SEC_DESCR: u32 = 1; +pub const CRYPT_PSTORE: u32 = 2; +pub const CRYPT_UI_PROMPT: u32 = 4; +pub const CRYPT_FLAG_PCT1: u32 = 1; +pub const CRYPT_FLAG_SSL2: u32 = 2; +pub const CRYPT_FLAG_SSL3: u32 = 4; +pub const CRYPT_FLAG_TLS1: u32 = 8; +pub const CRYPT_FLAG_IPSEC: u32 = 16; +pub const CRYPT_FLAG_SIGNING: u32 = 32; +pub const CRYPT_SGC: u32 = 1; +pub const CRYPT_FASTSGC: u32 = 2; +pub const PP_CLIENT_HWND: u32 = 1; +pub const PP_CONTEXT_INFO: u32 = 11; +pub const PP_KEYEXCHANGE_KEYSIZE: u32 = 12; +pub const PP_SIGNATURE_KEYSIZE: u32 = 13; +pub const PP_KEYEXCHANGE_ALG: u32 = 14; +pub const PP_SIGNATURE_ALG: u32 = 15; +pub const PP_DELETEKEY: u32 = 24; +pub const PP_PIN_PROMPT_STRING: u32 = 44; +pub const PP_SECURE_KEYEXCHANGE_PIN: u32 = 47; +pub const PP_SECURE_SIGNATURE_PIN: u32 = 48; +pub const PP_DISMISS_PIN_UI_SEC: u32 = 49; +pub const PROV_RSA_FULL: u32 = 1; +pub const PROV_RSA_SIG: u32 = 2; +pub const PROV_DSS: u32 = 3; +pub const PROV_FORTEZZA: u32 = 4; +pub const PROV_MS_EXCHANGE: u32 = 5; +pub const PROV_SSL: u32 = 6; +pub const PROV_RSA_SCHANNEL: u32 = 12; +pub const PROV_DSS_DH: u32 = 13; +pub const PROV_EC_ECDSA_SIG: u32 = 14; +pub const PROV_EC_ECNRA_SIG: u32 = 15; +pub const PROV_EC_ECDSA_FULL: u32 = 16; +pub const PROV_EC_ECNRA_FULL: u32 = 17; +pub const PROV_DH_SCHANNEL: u32 = 18; +pub const PROV_SPYRUS_LYNKS: u32 = 20; +pub const PROV_RNG: u32 = 21; +pub const PROV_INTEL_SEC: u32 = 22; +pub const PROV_REPLACE_OWF: u32 = 23; +pub const PROV_RSA_AES: u32 = 24; +pub const MS_DEF_PROV_A: &[u8; 43usize] = b"Microsoft Base Cryptographic Provider v1.0\0"; +pub const MS_DEF_PROV_W: &[u8; 43usize] = b"Microsoft Base Cryptographic Provider v1.0\0"; +pub const MS_DEF_PROV: &[u8; 43usize] = b"Microsoft Base Cryptographic Provider v1.0\0"; +pub const MS_ENHANCED_PROV_A: &[u8; 47usize] = b"Microsoft Enhanced Cryptographic Provider v1.0\0"; +pub const MS_ENHANCED_PROV_W: &[u8; 47usize] = b"Microsoft Enhanced Cryptographic Provider v1.0\0"; +pub const MS_ENHANCED_PROV: &[u8; 47usize] = b"Microsoft Enhanced Cryptographic Provider v1.0\0"; +pub const MS_STRONG_PROV_A: &[u8; 40usize] = b"Microsoft Strong Cryptographic Provider\0"; +pub const MS_STRONG_PROV_W: &[u8; 40usize] = b"Microsoft Strong Cryptographic Provider\0"; +pub const MS_STRONG_PROV: &[u8; 40usize] = b"Microsoft Strong Cryptographic Provider\0"; +pub const MS_DEF_RSA_SIG_PROV_A: &[u8; 47usize] = + b"Microsoft RSA Signature Cryptographic Provider\0"; +pub const MS_DEF_RSA_SIG_PROV_W: &[u8; 47usize] = + b"Microsoft RSA Signature Cryptographic Provider\0"; +pub const MS_DEF_RSA_SIG_PROV: &[u8; 47usize] = b"Microsoft RSA Signature Cryptographic Provider\0"; +pub const MS_DEF_RSA_SCHANNEL_PROV_A: &[u8; 46usize] = + b"Microsoft RSA SChannel Cryptographic Provider\0"; +pub const MS_DEF_RSA_SCHANNEL_PROV_W: &[u8; 46usize] = + b"Microsoft RSA SChannel Cryptographic Provider\0"; +pub const MS_DEF_RSA_SCHANNEL_PROV: &[u8; 46usize] = + b"Microsoft RSA SChannel Cryptographic Provider\0"; +pub const MS_DEF_DSS_PROV_A: &[u8; 42usize] = b"Microsoft Base DSS Cryptographic Provider\0"; +pub const MS_DEF_DSS_PROV_W: &[u8; 42usize] = b"Microsoft Base DSS Cryptographic Provider\0"; +pub const MS_DEF_DSS_PROV: &[u8; 42usize] = b"Microsoft Base DSS Cryptographic Provider\0"; +pub const MS_DEF_DSS_DH_PROV_A: &[u8; 61usize] = + b"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_DEF_DSS_DH_PROV_W: &[u8; 61usize] = + b"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_DEF_DSS_DH_PROV: &[u8; 61usize] = + b"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_ENH_DSS_DH_PROV_A: &[u8; 65usize] = + b"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_ENH_DSS_DH_PROV_W: &[u8; 65usize] = + b"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_ENH_DSS_DH_PROV: &[u8; 65usize] = + b"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider\0"; +pub const MS_DEF_DH_SCHANNEL_PROV_A: &[u8; 45usize] = + b"Microsoft DH SChannel Cryptographic Provider\0"; +pub const MS_DEF_DH_SCHANNEL_PROV_W: &[u8; 45usize] = + b"Microsoft DH SChannel Cryptographic Provider\0"; +pub const MS_DEF_DH_SCHANNEL_PROV: &[u8; 45usize] = + b"Microsoft DH SChannel Cryptographic Provider\0"; +pub const MS_SCARD_PROV_A: &[u8; 42usize] = b"Microsoft Base Smart Card Crypto Provider\0"; +pub const MS_SCARD_PROV_W: &[u8; 42usize] = b"Microsoft Base Smart Card Crypto Provider\0"; +pub const MS_SCARD_PROV: &[u8; 42usize] = b"Microsoft Base Smart Card Crypto Provider\0"; +pub const MS_ENH_RSA_AES_PROV_A: &[u8; 54usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider\0"; +pub const MS_ENH_RSA_AES_PROV_W: &[u8; 54usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider\0"; +pub const MS_ENH_RSA_AES_PROV_XP_A: &[u8; 66usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)\0"; +pub const MS_ENH_RSA_AES_PROV_XP_W: &[u8; 66usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)\0"; +pub const MS_ENH_RSA_AES_PROV_XP: &[u8; 66usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)\0"; +pub const MS_ENH_RSA_AES_PROV: &[u8; 54usize] = + b"Microsoft Enhanced RSA and AES Cryptographic Provider\0"; +pub const MAXUIDLEN: u32 = 64; +pub const EXPO_OFFLOAD_REG_VALUE: &[u8; 12usize] = b"ExpoOffload\0"; +pub const EXPO_OFFLOAD_FUNC_NAME: &[u8; 15usize] = b"OffloadModExpo\0"; +pub const szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS: &[u8; 41usize] = + b"Software\\Policies\\Microsoft\\Cryptography\0"; +pub const szKEY_CACHE_ENABLED: &[u8; 17usize] = b"CachePrivateKeys\0"; +pub const szKEY_CACHE_SECONDS: &[u8; 26usize] = b"PrivateKeyLifetimeSeconds\0"; +pub const szPRIV_KEY_CACHE_MAX_ITEMS: &[u8; 21usize] = b"PrivKeyCacheMaxItems\0"; +pub const cPRIV_KEY_CACHE_MAX_ITEMS_DEFAULT: u32 = 20; +pub const szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS: &[u8; 33usize] = + b"PrivKeyCachePurgeIntervalSeconds\0"; +pub const cPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS_DEFAULT: u32 = 86400; +pub const CUR_BLOB_VERSION: u32 = 2; +pub const SCHANNEL_MAC_KEY: u32 = 0; +pub const SCHANNEL_ENC_KEY: u32 = 1; +pub const INTERNATIONAL_USAGE: u32 = 1; +pub const BCRYPT_OBJECT_ALIGNMENT: u32 = 16; +pub const BCRYPT_KDF_HASH: &[u8; 5usize] = b"HASH\0"; +pub const BCRYPT_KDF_HMAC: &[u8; 5usize] = b"HMAC\0"; +pub const BCRYPT_KDF_TLS_PRF: &[u8; 8usize] = b"TLS_PRF\0"; +pub const BCRYPT_KDF_SP80056A_CONCAT: &[u8; 17usize] = b"SP800_56A_CONCAT\0"; +pub const BCRYPT_KDF_RAW_SECRET: &[u8; 9usize] = b"TRUNCATE\0"; +pub const BCRYPT_KDF_HKDF: &[u8; 5usize] = b"HKDF\0"; +pub const KDF_HASH_ALGORITHM: u32 = 0; +pub const KDF_SECRET_PREPEND: u32 = 1; +pub const KDF_SECRET_APPEND: u32 = 2; +pub const KDF_HMAC_KEY: u32 = 3; +pub const KDF_TLS_PRF_LABEL: u32 = 4; +pub const KDF_TLS_PRF_SEED: u32 = 5; +pub const KDF_SECRET_HANDLE: u32 = 6; +pub const KDF_TLS_PRF_PROTOCOL: u32 = 7; +pub const KDF_ALGORITHMID: u32 = 8; +pub const KDF_PARTYUINFO: u32 = 9; +pub const KDF_PARTYVINFO: u32 = 10; +pub const KDF_SUPPPUBINFO: u32 = 11; +pub const KDF_SUPPPRIVINFO: u32 = 12; +pub const KDF_LABEL: u32 = 13; +pub const KDF_CONTEXT: u32 = 14; +pub const KDF_SALT: u32 = 15; +pub const KDF_ITERATION_COUNT: u32 = 16; +pub const KDF_GENERIC_PARAMETER: u32 = 17; +pub const KDF_KEYBITLENGTH: u32 = 18; +pub const KDF_HKDF_SALT: u32 = 19; +pub const KDF_HKDF_INFO: u32 = 20; +pub const KDF_USE_SECRET_AS_HMAC_KEY_FLAG: u32 = 1; +pub const BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO_VERSION: u32 = 1; +pub const BCRYPT_AUTH_MODE_CHAIN_CALLS_FLAG: u32 = 1; +pub const BCRYPT_AUTH_MODE_IN_PROGRESS_FLAG: u32 = 2; +pub const BCRYPT_OPAQUE_KEY_BLOB: &[u8; 14usize] = b"OpaqueKeyBlob\0"; +pub const BCRYPT_KEY_DATA_BLOB: &[u8; 12usize] = b"KeyDataBlob\0"; +pub const BCRYPT_AES_WRAP_KEY_BLOB: &[u8; 19usize] = b"Rfc3565KeyWrapBlob\0"; +pub const BCRYPT_OBJECT_LENGTH: &[u8; 13usize] = b"ObjectLength\0"; +pub const BCRYPT_ALGORITHM_NAME: &[u8; 14usize] = b"AlgorithmName\0"; +pub const BCRYPT_PROVIDER_HANDLE: &[u8; 15usize] = b"ProviderHandle\0"; +pub const BCRYPT_CHAINING_MODE: &[u8; 13usize] = b"ChainingMode\0"; +pub const BCRYPT_BLOCK_LENGTH: &[u8; 12usize] = b"BlockLength\0"; +pub const BCRYPT_KEY_LENGTH: &[u8; 10usize] = b"KeyLength\0"; +pub const BCRYPT_KEY_OBJECT_LENGTH: &[u8; 16usize] = b"KeyObjectLength\0"; +pub const BCRYPT_KEY_STRENGTH: &[u8; 12usize] = b"KeyStrength\0"; +pub const BCRYPT_KEY_LENGTHS: &[u8; 11usize] = b"KeyLengths\0"; +pub const BCRYPT_BLOCK_SIZE_LIST: &[u8; 14usize] = b"BlockSizeList\0"; +pub const BCRYPT_EFFECTIVE_KEY_LENGTH: &[u8; 19usize] = b"EffectiveKeyLength\0"; +pub const BCRYPT_HASH_LENGTH: &[u8; 17usize] = b"HashDigestLength\0"; +pub const BCRYPT_HASH_OID_LIST: &[u8; 12usize] = b"HashOIDList\0"; +pub const BCRYPT_PADDING_SCHEMES: &[u8; 15usize] = b"PaddingSchemes\0"; +pub const BCRYPT_SIGNATURE_LENGTH: &[u8; 16usize] = b"SignatureLength\0"; +pub const BCRYPT_HASH_BLOCK_LENGTH: &[u8; 16usize] = b"HashBlockLength\0"; +pub const BCRYPT_AUTH_TAG_LENGTH: &[u8; 14usize] = b"AuthTagLength\0"; +pub const BCRYPT_PRIMITIVE_TYPE: &[u8; 14usize] = b"PrimitiveType\0"; +pub const BCRYPT_IS_KEYED_HASH: &[u8; 12usize] = b"IsKeyedHash\0"; +pub const BCRYPT_IS_REUSABLE_HASH: &[u8; 15usize] = b"IsReusableHash\0"; +pub const BCRYPT_MESSAGE_BLOCK_LENGTH: &[u8; 19usize] = b"MessageBlockLength\0"; +pub const BCRYPT_PUBLIC_KEY_LENGTH: &[u8; 16usize] = b"PublicKeyLength\0"; +pub const BCRYPT_PCP_PLATFORM_TYPE_PROPERTY: &[u8; 18usize] = b"PCP_PLATFORM_TYPE\0"; +pub const BCRYPT_PCP_PROVIDER_VERSION_PROPERTY: &[u8; 21usize] = b"PCP_PROVIDER_VERSION\0"; +pub const BCRYPT_MULTI_OBJECT_LENGTH: &[u8; 18usize] = b"MultiObjectLength\0"; +pub const BCRYPT_IS_IFX_TPM_WEAK_KEY: &[u8; 16usize] = b"IsIfxTpmWeakKey\0"; +pub const BCRYPT_HKDF_HASH_ALGORITHM: &[u8; 18usize] = b"HkdfHashAlgorithm\0"; +pub const BCRYPT_HKDF_SALT_AND_FINALIZE: &[u8; 20usize] = b"HkdfSaltAndFinalize\0"; +pub const BCRYPT_HKDF_PRK_AND_FINALIZE: &[u8; 19usize] = b"HkdfPrkAndFinalize\0"; +pub const BCRYPT_INITIALIZATION_VECTOR: &[u8; 3usize] = b"IV\0"; +pub const BCRYPT_CHAIN_MODE_NA: &[u8; 16usize] = b"ChainingModeN/A\0"; +pub const BCRYPT_CHAIN_MODE_CBC: &[u8; 16usize] = b"ChainingModeCBC\0"; +pub const BCRYPT_CHAIN_MODE_ECB: &[u8; 16usize] = b"ChainingModeECB\0"; +pub const BCRYPT_CHAIN_MODE_CFB: &[u8; 16usize] = b"ChainingModeCFB\0"; +pub const BCRYPT_CHAIN_MODE_CCM: &[u8; 16usize] = b"ChainingModeCCM\0"; +pub const BCRYPT_CHAIN_MODE_GCM: &[u8; 16usize] = b"ChainingModeGCM\0"; +pub const BCRYPT_SUPPORTED_PAD_ROUTER: u32 = 1; +pub const BCRYPT_SUPPORTED_PAD_PKCS1_ENC: u32 = 2; +pub const BCRYPT_SUPPORTED_PAD_PKCS1_SIG: u32 = 4; +pub const BCRYPT_SUPPORTED_PAD_OAEP: u32 = 8; +pub const BCRYPT_SUPPORTED_PAD_PSS: u32 = 16; +pub const BCRYPT_PROV_DISPATCH: u32 = 1; +pub const BCRYPT_BLOCK_PADDING: u32 = 1; +pub const BCRYPT_PAD_NONE: u32 = 1; +pub const BCRYPT_PAD_PKCS1: u32 = 2; +pub const BCRYPT_PAD_OAEP: u32 = 4; +pub const BCRYPT_PAD_PSS: u32 = 8; +pub const BCRYPT_PAD_PKCS1_OPTIONAL_HASH_OID: u32 = 16; +pub const BCRYPTBUFFER_VERSION: u32 = 0; +pub const BCRYPT_PUBLIC_KEY_BLOB: &[u8; 11usize] = b"PUBLICBLOB\0"; +pub const BCRYPT_PRIVATE_KEY_BLOB: &[u8; 12usize] = b"PRIVATEBLOB\0"; +pub const BCRYPT_RSAPUBLIC_BLOB: &[u8; 14usize] = b"RSAPUBLICBLOB\0"; +pub const BCRYPT_RSAPRIVATE_BLOB: &[u8; 15usize] = b"RSAPRIVATEBLOB\0"; +pub const LEGACY_RSAPUBLIC_BLOB: &[u8; 15usize] = b"CAPIPUBLICBLOB\0"; +pub const LEGACY_RSAPRIVATE_BLOB: &[u8; 16usize] = b"CAPIPRIVATEBLOB\0"; +pub const BCRYPT_RSAPUBLIC_MAGIC: u32 = 826364754; +pub const BCRYPT_RSAPRIVATE_MAGIC: u32 = 843141970; +pub const BCRYPT_RSAFULLPRIVATE_BLOB: &[u8; 19usize] = b"RSAFULLPRIVATEBLOB\0"; +pub const BCRYPT_RSAFULLPRIVATE_MAGIC: u32 = 859919186; +pub const BCRYPT_GLOBAL_PARAMETERS: &[u8; 21usize] = b"SecretAgreementParam\0"; +pub const BCRYPT_PRIVATE_KEY: &[u8; 11usize] = b"PrivKeyVal\0"; +pub const BCRYPT_ECCPUBLIC_BLOB: &[u8; 14usize] = b"ECCPUBLICBLOB\0"; +pub const BCRYPT_ECCPRIVATE_BLOB: &[u8; 15usize] = b"ECCPRIVATEBLOB\0"; +pub const BCRYPT_ECCFULLPUBLIC_BLOB: &[u8; 18usize] = b"ECCFULLPUBLICBLOB\0"; +pub const BCRYPT_ECCFULLPRIVATE_BLOB: &[u8; 19usize] = b"ECCFULLPRIVATEBLOB\0"; +pub const SSL_ECCPUBLIC_BLOB: &[u8; 17usize] = b"SSLECCPUBLICBLOB\0"; +pub const BCRYPT_ECDH_PUBLIC_P256_MAGIC: u32 = 827016005; +pub const BCRYPT_ECDH_PRIVATE_P256_MAGIC: u32 = 843793221; +pub const BCRYPT_ECDH_PUBLIC_P384_MAGIC: u32 = 860570437; +pub const BCRYPT_ECDH_PRIVATE_P384_MAGIC: u32 = 877347653; +pub const BCRYPT_ECDH_PUBLIC_P521_MAGIC: u32 = 894124869; +pub const BCRYPT_ECDH_PRIVATE_P521_MAGIC: u32 = 910902085; +pub const BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC: u32 = 1347109701; +pub const BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC: u32 = 1447772997; +pub const BCRYPT_ECDSA_PUBLIC_P256_MAGIC: u32 = 827540293; +pub const BCRYPT_ECDSA_PRIVATE_P256_MAGIC: u32 = 844317509; +pub const BCRYPT_ECDSA_PUBLIC_P384_MAGIC: u32 = 861094725; +pub const BCRYPT_ECDSA_PRIVATE_P384_MAGIC: u32 = 877871941; +pub const BCRYPT_ECDSA_PUBLIC_P521_MAGIC: u32 = 894649157; +pub const BCRYPT_ECDSA_PRIVATE_P521_MAGIC: u32 = 911426373; +pub const BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC: u32 = 1346650949; +pub const BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC: u32 = 1447314245; +pub const BCRYPT_ECC_FULLKEY_BLOB_V1: u32 = 1; +pub const BCRYPT_DH_PUBLIC_BLOB: &[u8; 13usize] = b"DHPUBLICBLOB\0"; +pub const BCRYPT_DH_PRIVATE_BLOB: &[u8; 14usize] = b"DHPRIVATEBLOB\0"; +pub const LEGACY_DH_PUBLIC_BLOB: &[u8; 17usize] = b"CAPIDHPUBLICBLOB\0"; +pub const LEGACY_DH_PRIVATE_BLOB: &[u8; 18usize] = b"CAPIDHPRIVATEBLOB\0"; +pub const BCRYPT_DH_PUBLIC_MAGIC: u32 = 1112557636; +pub const BCRYPT_DH_PRIVATE_MAGIC: u32 = 1448101956; +pub const BCRYPT_DH_PARAMETERS: &[u8; 13usize] = b"DHParameters\0"; +pub const BCRYPT_DH_PARAMETERS_MAGIC: u32 = 1297107012; +pub const BCRYPT_DSA_PUBLIC_BLOB: &[u8; 14usize] = b"DSAPUBLICBLOB\0"; +pub const BCRYPT_DSA_PRIVATE_BLOB: &[u8; 15usize] = b"DSAPRIVATEBLOB\0"; +pub const LEGACY_DSA_PUBLIC_BLOB: &[u8; 18usize] = b"CAPIDSAPUBLICBLOB\0"; +pub const LEGACY_DSA_PRIVATE_BLOB: &[u8; 19usize] = b"CAPIDSAPRIVATEBLOB\0"; +pub const LEGACY_DSA_V2_PUBLIC_BLOB: &[u8; 20usize] = b"V2CAPIDSAPUBLICBLOB\0"; +pub const LEGACY_DSA_V2_PRIVATE_BLOB: &[u8; 21usize] = b"V2CAPIDSAPRIVATEBLOB\0"; +pub const BCRYPT_DSA_PUBLIC_MAGIC: u32 = 1112560452; +pub const BCRYPT_DSA_PRIVATE_MAGIC: u32 = 1448104772; +pub const BCRYPT_DSA_PUBLIC_MAGIC_V2: u32 = 843206724; +pub const BCRYPT_DSA_PRIVATE_MAGIC_V2: u32 = 844517444; +pub const BCRYPT_KEY_DATA_BLOB_MAGIC: u32 = 1296188491; +pub const BCRYPT_KEY_DATA_BLOB_VERSION1: u32 = 1; +pub const BCRYPT_DSA_PARAMETERS: &[u8; 14usize] = b"DSAParameters\0"; +pub const BCRYPT_DSA_PARAMETERS_MAGIC: u32 = 1297109828; +pub const BCRYPT_DSA_PARAMETERS_MAGIC_V2: u32 = 843927620; +pub const BCRYPT_ECC_PARAMETERS: &[u8; 14usize] = b"ECCParameters\0"; +pub const BCRYPT_ECC_CURVE_NAME: &[u8; 13usize] = b"ECCCurveName\0"; +pub const BCRYPT_ECC_CURVE_NAME_LIST: &[u8; 17usize] = b"ECCCurveNameList\0"; +pub const BCRYPT_ECC_PARAMETERS_MAGIC: u32 = 1346585413; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP160R1: &[u8; 16usize] = b"brainpoolP160r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP160T1: &[u8; 16usize] = b"brainpoolP160t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP192R1: &[u8; 16usize] = b"brainpoolP192r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP192T1: &[u8; 16usize] = b"brainpoolP192t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP224R1: &[u8; 16usize] = b"brainpoolP224r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP224T1: &[u8; 16usize] = b"brainpoolP224t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP256R1: &[u8; 16usize] = b"brainpoolP256r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP256T1: &[u8; 16usize] = b"brainpoolP256t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP320R1: &[u8; 16usize] = b"brainpoolP320r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP320T1: &[u8; 16usize] = b"brainpoolP320t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP384R1: &[u8; 16usize] = b"brainpoolP384r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP384T1: &[u8; 16usize] = b"brainpoolP384t1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP512R1: &[u8; 16usize] = b"brainpoolP512r1\0"; +pub const BCRYPT_ECC_CURVE_BRAINPOOLP512T1: &[u8; 16usize] = b"brainpoolP512t1\0"; +pub const BCRYPT_ECC_CURVE_25519: &[u8; 11usize] = b"curve25519\0"; +pub const BCRYPT_ECC_CURVE_EC192WAPI: &[u8; 10usize] = b"ec192wapi\0"; +pub const BCRYPT_ECC_CURVE_NISTP192: &[u8; 9usize] = b"nistP192\0"; +pub const BCRYPT_ECC_CURVE_NISTP224: &[u8; 9usize] = b"nistP224\0"; +pub const BCRYPT_ECC_CURVE_NISTP256: &[u8; 9usize] = b"nistP256\0"; +pub const BCRYPT_ECC_CURVE_NISTP384: &[u8; 9usize] = b"nistP384\0"; +pub const BCRYPT_ECC_CURVE_NISTP521: &[u8; 9usize] = b"nistP521\0"; +pub const BCRYPT_ECC_CURVE_NUMSP256T1: &[u8; 11usize] = b"numsP256t1\0"; +pub const BCRYPT_ECC_CURVE_NUMSP384T1: &[u8; 11usize] = b"numsP384t1\0"; +pub const BCRYPT_ECC_CURVE_NUMSP512T1: &[u8; 11usize] = b"numsP512t1\0"; +pub const BCRYPT_ECC_CURVE_SECP160K1: &[u8; 10usize] = b"secP160k1\0"; +pub const BCRYPT_ECC_CURVE_SECP160R1: &[u8; 10usize] = b"secP160r1\0"; +pub const BCRYPT_ECC_CURVE_SECP160R2: &[u8; 10usize] = b"secP160r2\0"; +pub const BCRYPT_ECC_CURVE_SECP192K1: &[u8; 10usize] = b"secP192k1\0"; +pub const BCRYPT_ECC_CURVE_SECP192R1: &[u8; 10usize] = b"secP192r1\0"; +pub const BCRYPT_ECC_CURVE_SECP224K1: &[u8; 10usize] = b"secP224k1\0"; +pub const BCRYPT_ECC_CURVE_SECP224R1: &[u8; 10usize] = b"secP224r1\0"; +pub const BCRYPT_ECC_CURVE_SECP256K1: &[u8; 10usize] = b"secP256k1\0"; +pub const BCRYPT_ECC_CURVE_SECP256R1: &[u8; 10usize] = b"secP256r1\0"; +pub const BCRYPT_ECC_CURVE_SECP384R1: &[u8; 10usize] = b"secP384r1\0"; +pub const BCRYPT_ECC_CURVE_SECP521R1: &[u8; 10usize] = b"secP521r1\0"; +pub const BCRYPT_ECC_CURVE_WTLS7: &[u8; 6usize] = b"wtls7\0"; +pub const BCRYPT_ECC_CURVE_WTLS9: &[u8; 6usize] = b"wtls9\0"; +pub const BCRYPT_ECC_CURVE_WTLS12: &[u8; 7usize] = b"wtls12\0"; +pub const BCRYPT_ECC_CURVE_X962P192V1: &[u8; 11usize] = b"x962P192v1\0"; +pub const BCRYPT_ECC_CURVE_X962P192V2: &[u8; 11usize] = b"x962P192v2\0"; +pub const BCRYPT_ECC_CURVE_X962P192V3: &[u8; 11usize] = b"x962P192v3\0"; +pub const BCRYPT_ECC_CURVE_X962P239V1: &[u8; 11usize] = b"x962P239v1\0"; +pub const BCRYPT_ECC_CURVE_X962P239V2: &[u8; 11usize] = b"x962P239v2\0"; +pub const BCRYPT_ECC_CURVE_X962P239V3: &[u8; 11usize] = b"x962P239v3\0"; +pub const BCRYPT_ECC_CURVE_X962P256V1: &[u8; 11usize] = b"x962P256v1\0"; +pub const MS_PRIMITIVE_PROVIDER: &[u8; 29usize] = b"Microsoft Primitive Provider\0"; +pub const MS_PLATFORM_CRYPTO_PROVIDER: &[u8; 35usize] = b"Microsoft Platform Crypto Provider\0"; +pub const BCRYPT_RSA_ALGORITHM: &[u8; 4usize] = b"RSA\0"; +pub const BCRYPT_RSA_SIGN_ALGORITHM: &[u8; 9usize] = b"RSA_SIGN\0"; +pub const BCRYPT_DH_ALGORITHM: &[u8; 3usize] = b"DH\0"; +pub const BCRYPT_DSA_ALGORITHM: &[u8; 4usize] = b"DSA\0"; +pub const BCRYPT_RC2_ALGORITHM: &[u8; 4usize] = b"RC2\0"; +pub const BCRYPT_RC4_ALGORITHM: &[u8; 4usize] = b"RC4\0"; +pub const BCRYPT_AES_ALGORITHM: &[u8; 4usize] = b"AES\0"; +pub const BCRYPT_DES_ALGORITHM: &[u8; 4usize] = b"DES\0"; +pub const BCRYPT_DESX_ALGORITHM: &[u8; 5usize] = b"DESX\0"; +pub const BCRYPT_3DES_ALGORITHM: &[u8; 5usize] = b"3DES\0"; +pub const BCRYPT_3DES_112_ALGORITHM: &[u8; 9usize] = b"3DES_112\0"; +pub const BCRYPT_MD2_ALGORITHM: &[u8; 4usize] = b"MD2\0"; +pub const BCRYPT_MD4_ALGORITHM: &[u8; 4usize] = b"MD4\0"; +pub const BCRYPT_MD5_ALGORITHM: &[u8; 4usize] = b"MD5\0"; +pub const BCRYPT_SHA1_ALGORITHM: &[u8; 5usize] = b"SHA1\0"; +pub const BCRYPT_SHA256_ALGORITHM: &[u8; 7usize] = b"SHA256\0"; +pub const BCRYPT_SHA384_ALGORITHM: &[u8; 7usize] = b"SHA384\0"; +pub const BCRYPT_SHA512_ALGORITHM: &[u8; 7usize] = b"SHA512\0"; +pub const BCRYPT_AES_GMAC_ALGORITHM: &[u8; 9usize] = b"AES-GMAC\0"; +pub const BCRYPT_AES_CMAC_ALGORITHM: &[u8; 9usize] = b"AES-CMAC\0"; +pub const BCRYPT_ECDSA_P256_ALGORITHM: &[u8; 11usize] = b"ECDSA_P256\0"; +pub const BCRYPT_ECDSA_P384_ALGORITHM: &[u8; 11usize] = b"ECDSA_P384\0"; +pub const BCRYPT_ECDSA_P521_ALGORITHM: &[u8; 11usize] = b"ECDSA_P521\0"; +pub const BCRYPT_ECDH_P256_ALGORITHM: &[u8; 10usize] = b"ECDH_P256\0"; +pub const BCRYPT_ECDH_P384_ALGORITHM: &[u8; 10usize] = b"ECDH_P384\0"; +pub const BCRYPT_ECDH_P521_ALGORITHM: &[u8; 10usize] = b"ECDH_P521\0"; +pub const BCRYPT_RNG_ALGORITHM: &[u8; 4usize] = b"RNG\0"; +pub const BCRYPT_RNG_FIPS186_DSA_ALGORITHM: &[u8; 14usize] = b"FIPS186DSARNG\0"; +pub const BCRYPT_RNG_DUAL_EC_ALGORITHM: &[u8; 10usize] = b"DUALECRNG\0"; +pub const BCRYPT_SP800108_CTR_HMAC_ALGORITHM: &[u8; 19usize] = b"SP800_108_CTR_HMAC\0"; +pub const BCRYPT_SP80056A_CONCAT_ALGORITHM: &[u8; 17usize] = b"SP800_56A_CONCAT\0"; +pub const BCRYPT_PBKDF2_ALGORITHM: &[u8; 7usize] = b"PBKDF2\0"; +pub const BCRYPT_CAPI_KDF_ALGORITHM: &[u8; 9usize] = b"CAPI_KDF\0"; +pub const BCRYPT_TLS1_1_KDF_ALGORITHM: &[u8; 11usize] = b"TLS1_1_KDF\0"; +pub const BCRYPT_TLS1_2_KDF_ALGORITHM: &[u8; 11usize] = b"TLS1_2_KDF\0"; +pub const BCRYPT_ECDSA_ALGORITHM: &[u8; 6usize] = b"ECDSA\0"; +pub const BCRYPT_ECDH_ALGORITHM: &[u8; 5usize] = b"ECDH\0"; +pub const BCRYPT_XTS_AES_ALGORITHM: &[u8; 8usize] = b"XTS-AES\0"; +pub const BCRYPT_HKDF_ALGORITHM: &[u8; 5usize] = b"HKDF\0"; +pub const BCRYPT_CIPHER_INTERFACE: u32 = 1; +pub const BCRYPT_HASH_INTERFACE: u32 = 2; +pub const BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE: u32 = 3; +pub const BCRYPT_SECRET_AGREEMENT_INTERFACE: u32 = 4; +pub const BCRYPT_SIGNATURE_INTERFACE: u32 = 5; +pub const BCRYPT_RNG_INTERFACE: u32 = 6; +pub const BCRYPT_KEY_DERIVATION_INTERFACE: u32 = 7; +pub const BCRYPT_ALG_HANDLE_HMAC_FLAG: u32 = 8; +pub const BCRYPT_HASH_REUSABLE_FLAG: u32 = 32; +pub const BCRYPT_CAPI_AES_FLAG: u32 = 16; +pub const BCRYPT_MULTI_FLAG: u32 = 64; +pub const BCRYPT_TLS_CBC_HMAC_VERIFY_FLAG: u32 = 4; +pub const BCRYPT_BUFFERS_LOCKED_FLAG: u32 = 64; +pub const BCRYPT_EXTENDED_KEYSIZE: u32 = 128; +pub const BCRYPT_ENABLE_INCOMPATIBLE_FIPS_CHECKS: u32 = 256; +pub const BCRYPT_CIPHER_OPERATION: u32 = 1; +pub const BCRYPT_HASH_OPERATION: u32 = 2; +pub const BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION: u32 = 4; +pub const BCRYPT_SECRET_AGREEMENT_OPERATION: u32 = 8; +pub const BCRYPT_SIGNATURE_OPERATION: u32 = 16; +pub const BCRYPT_RNG_OPERATION: u32 = 32; +pub const BCRYPT_KEY_DERIVATION_OPERATION: u32 = 64; +pub const BCRYPT_PUBLIC_KEY_FLAG: u32 = 1; +pub const BCRYPT_PRIVATE_KEY_FLAG: u32 = 2; +pub const BCRYPT_NO_KEY_VALIDATION: u32 = 8; +pub const BCRYPT_RNG_USE_ENTROPY_IN_BUFFER: u32 = 1; +pub const BCRYPT_USE_SYSTEM_PREFERRED_RNG: u32 = 2; +pub const BCRYPT_HASH_INTERFACE_MAJORVERSION_2: u32 = 2; +pub const CRYPT_MIN_DEPENDENCIES: u32 = 1; +pub const CRYPT_PROCESS_ISOLATE: u32 = 65536; +pub const CRYPT_UM: u32 = 1; +pub const CRYPT_KM: u32 = 2; +pub const CRYPT_MM: u32 = 3; +pub const CRYPT_ANY: u32 = 4; +pub const CRYPT_OVERWRITE: u32 = 1; +pub const CRYPT_LOCAL: u32 = 1; +pub const CRYPT_DOMAIN: u32 = 2; +pub const CRYPT_EXCLUSIVE: u32 = 1; +pub const CRYPT_OVERRIDE: u32 = 65536; +pub const CRYPT_ALL_FUNCTIONS: u32 = 1; +pub const CRYPT_ALL_PROVIDERS: u32 = 2; +pub const CRYPT_PRIORITY_TOP: u32 = 0; +pub const CRYPT_PRIORITY_BOTTOM: u32 = 4294967295; +pub const CRYPT_DEFAULT_CONTEXT: &[u8; 8usize] = b"Default\0"; +pub const NCRYPT_MAX_KEY_NAME_LENGTH: u32 = 512; +pub const NCRYPT_MAX_ALG_ID_LENGTH: u32 = 512; +pub const MS_KEY_STORAGE_PROVIDER: &[u8; 40usize] = b"Microsoft Software Key Storage Provider\0"; +pub const MS_SMART_CARD_KEY_STORAGE_PROVIDER: &[u8; 42usize] = + b"Microsoft Smart Card Key Storage Provider\0"; +pub const MS_PLATFORM_KEY_STORAGE_PROVIDER: &[u8; 35usize] = + b"Microsoft Platform Crypto Provider\0"; +pub const MS_NGC_KEY_STORAGE_PROVIDER: &[u8; 40usize] = + b"Microsoft Passport Key Storage Provider\0"; +pub const TPM_RSA_SRK_SEAL_KEY: &[u8; 68usize] = + b"MICROSOFT_PCP_KSP_RSA_SEAL_KEY_3BD1C4BF-004E-4E2F-8A4D-0BF633DCB074\0"; +pub const NCRYPT_RSA_ALGORITHM: &[u8; 4usize] = b"RSA\0"; +pub const NCRYPT_RSA_SIGN_ALGORITHM: &[u8; 9usize] = b"RSA_SIGN\0"; +pub const NCRYPT_DH_ALGORITHM: &[u8; 3usize] = b"DH\0"; +pub const NCRYPT_DSA_ALGORITHM: &[u8; 4usize] = b"DSA\0"; +pub const NCRYPT_MD2_ALGORITHM: &[u8; 4usize] = b"MD2\0"; +pub const NCRYPT_MD4_ALGORITHM: &[u8; 4usize] = b"MD4\0"; +pub const NCRYPT_MD5_ALGORITHM: &[u8; 4usize] = b"MD5\0"; +pub const NCRYPT_SHA1_ALGORITHM: &[u8; 5usize] = b"SHA1\0"; +pub const NCRYPT_SHA256_ALGORITHM: &[u8; 7usize] = b"SHA256\0"; +pub const NCRYPT_SHA384_ALGORITHM: &[u8; 7usize] = b"SHA384\0"; +pub const NCRYPT_SHA512_ALGORITHM: &[u8; 7usize] = b"SHA512\0"; +pub const NCRYPT_ECDSA_P256_ALGORITHM: &[u8; 11usize] = b"ECDSA_P256\0"; +pub const NCRYPT_ECDSA_P384_ALGORITHM: &[u8; 11usize] = b"ECDSA_P384\0"; +pub const NCRYPT_ECDSA_P521_ALGORITHM: &[u8; 11usize] = b"ECDSA_P521\0"; +pub const NCRYPT_ECDH_P256_ALGORITHM: &[u8; 10usize] = b"ECDH_P256\0"; +pub const NCRYPT_ECDH_P384_ALGORITHM: &[u8; 10usize] = b"ECDH_P384\0"; +pub const NCRYPT_ECDH_P521_ALGORITHM: &[u8; 10usize] = b"ECDH_P521\0"; +pub const NCRYPT_AES_ALGORITHM: &[u8; 4usize] = b"AES\0"; +pub const NCRYPT_RC2_ALGORITHM: &[u8; 4usize] = b"RC2\0"; +pub const NCRYPT_3DES_ALGORITHM: &[u8; 5usize] = b"3DES\0"; +pub const NCRYPT_DES_ALGORITHM: &[u8; 4usize] = b"DES\0"; +pub const NCRYPT_DESX_ALGORITHM: &[u8; 5usize] = b"DESX\0"; +pub const NCRYPT_3DES_112_ALGORITHM: &[u8; 9usize] = b"3DES_112\0"; +pub const NCRYPT_SP800108_CTR_HMAC_ALGORITHM: &[u8; 19usize] = b"SP800_108_CTR_HMAC\0"; +pub const NCRYPT_SP80056A_CONCAT_ALGORITHM: &[u8; 17usize] = b"SP800_56A_CONCAT\0"; +pub const NCRYPT_PBKDF2_ALGORITHM: &[u8; 7usize] = b"PBKDF2\0"; +pub const NCRYPT_CAPI_KDF_ALGORITHM: &[u8; 9usize] = b"CAPI_KDF\0"; +pub const NCRYPT_ECDSA_ALGORITHM: &[u8; 6usize] = b"ECDSA\0"; +pub const NCRYPT_ECDH_ALGORITHM: &[u8; 5usize] = b"ECDH\0"; +pub const NCRYPT_KEY_STORAGE_ALGORITHM: &[u8; 12usize] = b"KEY_STORAGE\0"; +pub const NCRYPT_HMAC_SHA256_ALGORITHM: &[u8; 12usize] = b"HMAC-SHA256\0"; +pub const NCRYPT_CIPHER_INTERFACE: u32 = 1; +pub const NCRYPT_HASH_INTERFACE: u32 = 2; +pub const NCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE: u32 = 3; +pub const NCRYPT_SECRET_AGREEMENT_INTERFACE: u32 = 4; +pub const NCRYPT_SIGNATURE_INTERFACE: u32 = 5; +pub const NCRYPT_KEY_DERIVATION_INTERFACE: u32 = 7; +pub const NCRYPT_KEY_STORAGE_INTERFACE: u32 = 65537; +pub const NCRYPT_SCHANNEL_INTERFACE: u32 = 65538; +pub const NCRYPT_SCHANNEL_SIGNATURE_INTERFACE: u32 = 65539; +pub const NCRYPT_KEY_PROTECTION_INTERFACE: u32 = 65540; +pub const NCRYPT_RSA_ALGORITHM_GROUP: &[u8; 4usize] = b"RSA\0"; +pub const NCRYPT_DH_ALGORITHM_GROUP: &[u8; 3usize] = b"DH\0"; +pub const NCRYPT_DSA_ALGORITHM_GROUP: &[u8; 4usize] = b"DSA\0"; +pub const NCRYPT_ECDSA_ALGORITHM_GROUP: &[u8; 6usize] = b"ECDSA\0"; +pub const NCRYPT_ECDH_ALGORITHM_GROUP: &[u8; 5usize] = b"ECDH\0"; +pub const NCRYPT_AES_ALGORITHM_GROUP: &[u8; 4usize] = b"AES\0"; +pub const NCRYPT_RC2_ALGORITHM_GROUP: &[u8; 4usize] = b"RC2\0"; +pub const NCRYPT_DES_ALGORITHM_GROUP: &[u8; 4usize] = b"DES\0"; +pub const NCRYPT_KEY_DERIVATION_GROUP: &[u8; 15usize] = b"KEY_DERIVATION\0"; +pub const NCRYPTBUFFER_VERSION: u32 = 0; +pub const NCRYPTBUFFER_EMPTY: u32 = 0; +pub const NCRYPTBUFFER_DATA: u32 = 1; +pub const NCRYPTBUFFER_PROTECTION_DESCRIPTOR_STRING: u32 = 3; +pub const NCRYPTBUFFER_PROTECTION_FLAGS: u32 = 4; +pub const NCRYPTBUFFER_SSL_CLIENT_RANDOM: u32 = 20; +pub const NCRYPTBUFFER_SSL_SERVER_RANDOM: u32 = 21; +pub const NCRYPTBUFFER_SSL_HIGHEST_VERSION: u32 = 22; +pub const NCRYPTBUFFER_SSL_CLEAR_KEY: u32 = 23; +pub const NCRYPTBUFFER_SSL_KEY_ARG_DATA: u32 = 24; +pub const NCRYPTBUFFER_SSL_SESSION_HASH: u32 = 25; +pub const NCRYPTBUFFER_PKCS_OID: u32 = 40; +pub const NCRYPTBUFFER_PKCS_ALG_OID: u32 = 41; +pub const NCRYPTBUFFER_PKCS_ALG_PARAM: u32 = 42; +pub const NCRYPTBUFFER_PKCS_ALG_ID: u32 = 43; +pub const NCRYPTBUFFER_PKCS_ATTRS: u32 = 44; +pub const NCRYPTBUFFER_PKCS_KEY_NAME: u32 = 45; +pub const NCRYPTBUFFER_PKCS_SECRET: u32 = 46; +pub const NCRYPTBUFFER_CERT_BLOB: u32 = 47; +pub const NCRYPTBUFFER_CLAIM_IDBINDING_NONCE: u32 = 48; +pub const NCRYPTBUFFER_CLAIM_KEYATTESTATION_NONCE: u32 = 49; +pub const NCRYPTBUFFER_KEY_PROPERTY_FLAGS: u32 = 50; +pub const NCRYPTBUFFER_ATTESTATIONSTATEMENT_BLOB: u32 = 51; +pub const NCRYPTBUFFER_ATTESTATION_CLAIM_TYPE: u32 = 52; +pub const NCRYPTBUFFER_ATTESTATION_CLAIM_CHALLENGE_REQUIRED: u32 = 53; +pub const NCRYPTBUFFER_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS: u32 = 54; +pub const NCRYPTBUFFER_ECC_CURVE_NAME: u32 = 60; +pub const NCRYPTBUFFER_ECC_PARAMETERS: u32 = 61; +pub const NCRYPTBUFFER_TPM_SEAL_PASSWORD: u32 = 70; +pub const NCRYPTBUFFER_TPM_SEAL_POLICYINFO: u32 = 71; +pub const NCRYPTBUFFER_TPM_SEAL_TICKET: u32 = 72; +pub const NCRYPTBUFFER_TPM_SEAL_NO_DA_PROTECTION: u32 = 73; +pub const NCRYPTBUFFER_TPM_PLATFORM_CLAIM_PCR_MASK: u32 = 80; +pub const NCRYPTBUFFER_TPM_PLATFORM_CLAIM_NONCE: u32 = 81; +pub const NCRYPTBUFFER_TPM_PLATFORM_CLAIM_STATIC_CREATE: u32 = 82; +pub const NCRYPT_CIPHER_NO_PADDING_FLAG: u32 = 0; +pub const NCRYPT_CIPHER_BLOCK_PADDING_FLAG: u32 = 1; +pub const NCRYPT_CIPHER_OTHER_PADDING_FLAG: u32 = 2; +pub const NCRYPT_PLATFORM_ATTEST_MAGIC: u32 = 1146110288; +pub const NCRYPT_KEY_ATTEST_MAGIC: u32 = 1146110283; +pub const NCRYPT_CLAIM_AUTHORITY_ONLY: u32 = 1; +pub const NCRYPT_CLAIM_SUBJECT_ONLY: u32 = 2; +pub const NCRYPT_CLAIM_WEB_AUTH_SUBJECT_ONLY: u32 = 258; +pub const NCRYPT_CLAIM_AUTHORITY_AND_SUBJECT: u32 = 3; +pub const NCRYPT_CLAIM_VSM_KEY_ATTESTATION_STATEMENT: u32 = 4; +pub const NCRYPT_CLAIM_UNKNOWN: u32 = 4096; +pub const NCRYPT_CLAIM_PLATFORM: u32 = 65536; +pub const NCRYPT_ISOLATED_KEY_FLAG_CREATED_IN_ISOLATION: u32 = 1; +pub const NCRYPT_ISOLATED_KEY_FLAG_IMPORT_ONLY: u32 = 2; +pub const NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES_V0: u32 = 0; +pub const NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_VSM_KEY_ATTESTATION_STATEMENT_V0: u32 = 0; +pub const NCRYPT_VSM_KEY_ATTESTATION_STATEMENT_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS_V0: u32 = 0; +pub const NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_EXPORTED_ISOLATED_KEY_HEADER_V0: u32 = 0; +pub const NCRYPT_EXPORTED_ISOLATED_KEY_HEADER_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT_V0: u32 = 0; +pub const NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT_CURRENT_VERSION: u32 = 0; +pub const NCRYPT_NO_PADDING_FLAG: u32 = 1; +pub const NCRYPT_PAD_PKCS1_FLAG: u32 = 2; +pub const NCRYPT_PAD_OAEP_FLAG: u32 = 4; +pub const NCRYPT_PAD_PSS_FLAG: u32 = 8; +pub const NCRYPT_PAD_CIPHER_FLAG: u32 = 16; +pub const NCRYPT_ATTESTATION_FLAG: u32 = 32; +pub const NCRYPT_SEALING_FLAG: u32 = 256; +pub const NCRYPT_REGISTER_NOTIFY_FLAG: u32 = 1; +pub const NCRYPT_UNREGISTER_NOTIFY_FLAG: u32 = 2; +pub const NCRYPT_NO_KEY_VALIDATION: u32 = 8; +pub const NCRYPT_MACHINE_KEY_FLAG: u32 = 32; +pub const NCRYPT_SILENT_FLAG: u32 = 64; +pub const NCRYPT_OVERWRITE_KEY_FLAG: u32 = 128; +pub const NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG: u32 = 512; +pub const NCRYPT_DO_NOT_FINALIZE_FLAG: u32 = 1024; +pub const NCRYPT_EXPORT_LEGACY_FLAG: u32 = 2048; +pub const NCRYPT_IGNORE_DEVICE_STATE_FLAG: u32 = 4096; +pub const NCRYPT_TREAT_NIST_AS_GENERIC_ECC_FLAG: u32 = 8192; +pub const NCRYPT_NO_CACHED_PASSWORD: u32 = 16384; +pub const NCRYPT_PROTECT_TO_LOCAL_SYSTEM: u32 = 32768; +pub const NCRYPT_PERSIST_ONLY_FLAG: u32 = 1073741824; +pub const NCRYPT_PERSIST_FLAG: u32 = 2147483648; +pub const NCRYPT_PREFER_VIRTUAL_ISOLATION_FLAG: u32 = 65536; +pub const NCRYPT_USE_VIRTUAL_ISOLATION_FLAG: u32 = 131072; +pub const NCRYPT_USE_PER_BOOT_KEY_FLAG: u32 = 262144; +pub const NCRYPT_CIPHER_OPERATION: u32 = 1; +pub const NCRYPT_HASH_OPERATION: u32 = 2; +pub const NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION: u32 = 4; +pub const NCRYPT_SECRET_AGREEMENT_OPERATION: u32 = 8; +pub const NCRYPT_SIGNATURE_OPERATION: u32 = 16; +pub const NCRYPT_RNG_OPERATION: u32 = 32; +pub const NCRYPT_KEY_DERIVATION_OPERATION: u32 = 64; +pub const NCRYPT_AUTHORITY_KEY_FLAG: u32 = 256; +pub const NCRYPT_NAME_PROPERTY: &[u8; 5usize] = b"Name\0"; +pub const NCRYPT_UNIQUE_NAME_PROPERTY: &[u8; 12usize] = b"Unique Name\0"; +pub const NCRYPT_ALGORITHM_PROPERTY: &[u8; 15usize] = b"Algorithm Name\0"; +pub const NCRYPT_LENGTH_PROPERTY: &[u8; 7usize] = b"Length\0"; +pub const NCRYPT_LENGTHS_PROPERTY: &[u8; 8usize] = b"Lengths\0"; +pub const NCRYPT_BLOCK_LENGTH_PROPERTY: &[u8; 13usize] = b"Block Length\0"; +pub const NCRYPT_PUBLIC_LENGTH_PROPERTY: &[u8; 16usize] = b"PublicKeyLength\0"; +pub const NCRYPT_SIGNATURE_LENGTH_PROPERTY: &[u8; 16usize] = b"SignatureLength\0"; +pub const NCRYPT_CHAINING_MODE_PROPERTY: &[u8; 14usize] = b"Chaining Mode\0"; +pub const NCRYPT_AUTH_TAG_LENGTH: &[u8; 14usize] = b"AuthTagLength\0"; +pub const NCRYPT_UI_POLICY_PROPERTY: &[u8; 10usize] = b"UI Policy\0"; +pub const NCRYPT_EXPORT_POLICY_PROPERTY: &[u8; 14usize] = b"Export Policy\0"; +pub const NCRYPT_WINDOW_HANDLE_PROPERTY: &[u8; 12usize] = b"HWND Handle\0"; +pub const NCRYPT_USE_CONTEXT_PROPERTY: &[u8; 12usize] = b"Use Context\0"; +pub const NCRYPT_IMPL_TYPE_PROPERTY: &[u8; 10usize] = b"Impl Type\0"; +pub const NCRYPT_KEY_USAGE_PROPERTY: &[u8; 10usize] = b"Key Usage\0"; +pub const NCRYPT_KEY_TYPE_PROPERTY: &[u8; 9usize] = b"Key Type\0"; +pub const NCRYPT_VERSION_PROPERTY: &[u8; 8usize] = b"Version\0"; +pub const NCRYPT_SECURITY_DESCR_SUPPORT_PROPERTY: &[u8; 23usize] = b"Security Descr Support\0"; +pub const NCRYPT_SECURITY_DESCR_PROPERTY: &[u8; 15usize] = b"Security Descr\0"; +pub const NCRYPT_USE_COUNT_ENABLED_PROPERTY: &[u8; 18usize] = b"Enabled Use Count\0"; +pub const NCRYPT_USE_COUNT_PROPERTY: &[u8; 10usize] = b"Use Count\0"; +pub const NCRYPT_LAST_MODIFIED_PROPERTY: &[u8; 9usize] = b"Modified\0"; +pub const NCRYPT_MAX_NAME_LENGTH_PROPERTY: &[u8; 16usize] = b"Max Name Length\0"; +pub const NCRYPT_ALGORITHM_GROUP_PROPERTY: &[u8; 16usize] = b"Algorithm Group\0"; +pub const NCRYPT_DH_PARAMETERS_PROPERTY: &[u8; 13usize] = b"DHParameters\0"; +pub const NCRYPT_ECC_PARAMETERS_PROPERTY: &[u8; 14usize] = b"ECCParameters\0"; +pub const NCRYPT_ECC_CURVE_NAME_PROPERTY: &[u8; 13usize] = b"ECCCurveName\0"; +pub const NCRYPT_ECC_CURVE_NAME_LIST_PROPERTY: &[u8; 17usize] = b"ECCCurveNameList\0"; +pub const NCRYPT_USE_VIRTUAL_ISOLATION_PROPERTY: &[u8; 12usize] = b"Virtual Iso\0"; +pub const NCRYPT_USE_PER_BOOT_KEY_PROPERTY: &[u8; 13usize] = b"Per Boot Key\0"; +pub const NCRYPT_PROVIDER_HANDLE_PROPERTY: &[u8; 16usize] = b"Provider Handle\0"; +pub const NCRYPT_PIN_PROPERTY: &[u8; 13usize] = b"SmartCardPin\0"; +pub const NCRYPT_READER_PROPERTY: &[u8; 16usize] = b"SmartCardReader\0"; +pub const NCRYPT_SMARTCARD_GUID_PROPERTY: &[u8; 14usize] = b"SmartCardGuid\0"; +pub const NCRYPT_CERTIFICATE_PROPERTY: &[u8; 24usize] = b"SmartCardKeyCertificate\0"; +pub const NCRYPT_PIN_PROMPT_PROPERTY: &[u8; 19usize] = b"SmartCardPinPrompt\0"; +pub const NCRYPT_USER_CERTSTORE_PROPERTY: &[u8; 23usize] = b"SmartCardUserCertStore\0"; +pub const NCRYPT_ROOT_CERTSTORE_PROPERTY: &[u8; 23usize] = b"SmartcardRootCertStore\0"; +pub const NCRYPT_SECURE_PIN_PROPERTY: &[u8; 19usize] = b"SmartCardSecurePin\0"; +pub const NCRYPT_ASSOCIATED_ECDH_KEY: &[u8; 27usize] = b"SmartCardAssociatedECDHKey\0"; +pub const NCRYPT_SCARD_PIN_ID: &[u8; 15usize] = b"SmartCardPinId\0"; +pub const NCRYPT_SCARD_PIN_INFO: &[u8; 17usize] = b"SmartCardPinInfo\0"; +pub const NCRYPT_READER_ICON_PROPERTY: &[u8; 20usize] = b"SmartCardReaderIcon\0"; +pub const NCRYPT_KDF_SECRET_VALUE: &[u8; 13usize] = b"KDFKeySecret\0"; +pub const NCRYPT_DISMISS_UI_TIMEOUT_SEC_PROPERTY: &[u8; 33usize] = + b"SmartCardDismissUITimeoutSeconds\0"; +pub const NCRYPT_PCP_PLATFORM_TYPE_PROPERTY: &[u8; 18usize] = b"PCP_PLATFORM_TYPE\0"; +pub const NCRYPT_PCP_PROVIDER_VERSION_PROPERTY: &[u8; 21usize] = b"PCP_PROVIDER_VERSION\0"; +pub const NCRYPT_PCP_EKPUB_PROPERTY: &[u8; 10usize] = b"PCP_EKPUB\0"; +pub const NCRYPT_PCP_EKCERT_PROPERTY: &[u8; 11usize] = b"PCP_EKCERT\0"; +pub const NCRYPT_PCP_EKNVCERT_PROPERTY: &[u8; 13usize] = b"PCP_EKNVCERT\0"; +pub const NCRYPT_PCP_RSA_EKPUB_PROPERTY: &[u8; 14usize] = b"PCP_RSA_EKPUB\0"; +pub const NCRYPT_PCP_RSA_EKCERT_PROPERTY: &[u8; 15usize] = b"PCP_RSA_EKCERT\0"; +pub const NCRYPT_PCP_RSA_EKNVCERT_PROPERTY: &[u8; 17usize] = b"PCP_RSA_EKNVCERT\0"; +pub const NCRYPT_PCP_ECC_EKPUB_PROPERTY: &[u8; 14usize] = b"PCP_ECC_EKPUB\0"; +pub const NCRYPT_PCP_ECC_EKCERT_PROPERTY: &[u8; 15usize] = b"PCP_ECC_EKCERT\0"; +pub const NCRYPT_PCP_ECC_EKNVCERT_PROPERTY: &[u8; 17usize] = b"PCP_ECC_EKNVCERT\0"; +pub const NCRYPT_PCP_SRKPUB_PROPERTY: &[u8; 11usize] = b"PCP_SRKPUB\0"; +pub const NCRYPT_PCP_PCRTABLE_PROPERTY: &[u8; 13usize] = b"PCP_PCRTABLE\0"; +pub const NCRYPT_PCP_CHANGEPASSWORD_PROPERTY: &[u8; 19usize] = b"PCP_CHANGEPASSWORD\0"; +pub const NCRYPT_PCP_PASSWORD_REQUIRED_PROPERTY: &[u8; 22usize] = b"PCP_PASSWORD_REQUIRED\0"; +pub const NCRYPT_PCP_USAGEAUTH_PROPERTY: &[u8; 14usize] = b"PCP_USAGEAUTH\0"; +pub const NCRYPT_PCP_MIGRATIONPASSWORD_PROPERTY: &[u8; 22usize] = b"PCP_MIGRATIONPASSWORD\0"; +pub const NCRYPT_PCP_EXPORT_ALLOWED_PROPERTY: &[u8; 19usize] = b"PCP_EXPORT_ALLOWED\0"; +pub const NCRYPT_PCP_STORAGEPARENT_PROPERTY: &[u8; 18usize] = b"PCP_STORAGEPARENT\0"; +pub const NCRYPT_PCP_PROVIDERHANDLE_PROPERTY: &[u8; 20usize] = b"PCP_PROVIDERMHANDLE\0"; +pub const NCRYPT_PCP_PLATFORMHANDLE_PROPERTY: &[u8; 19usize] = b"PCP_PLATFORMHANDLE\0"; +pub const NCRYPT_PCP_PLATFORM_BINDING_PCRMASK_PROPERTY: &[u8; 29usize] = + b"PCP_PLATFORM_BINDING_PCRMASK\0"; +pub const NCRYPT_PCP_PLATFORM_BINDING_PCRDIGESTLIST_PROPERTY: &[u8; 35usize] = + b"PCP_PLATFORM_BINDING_PCRDIGESTLIST\0"; +pub const NCRYPT_PCP_PLATFORM_BINDING_PCRDIGEST_PROPERTY: &[u8; 31usize] = + b"PCP_PLATFORM_BINDING_PCRDIGEST\0"; +pub const NCRYPT_PCP_KEY_USAGE_POLICY_PROPERTY: &[u8; 21usize] = b"PCP_KEY_USAGE_POLICY\0"; +pub const NCRYPT_PCP_RSA_SCHEME_PROPERTY: &[u8; 15usize] = b"PCP_RSA_SCHEME\0"; +pub const NCRYPT_PCP_RSA_SCHEME_HASH_ALG_PROPERTY: &[u8; 24usize] = b"PCP_RSA_SCHEME_HASH_ALG\0"; +pub const NCRYPT_PCP_TPM12_IDBINDING_PROPERTY: &[u8; 20usize] = b"PCP_TPM12_IDBINDING\0"; +pub const NCRYPT_PCP_TPM12_IDBINDING_DYNAMIC_PROPERTY: &[u8; 28usize] = + b"PCP_TPM12_IDBINDING_DYNAMIC\0"; +pub const NCRYPT_PCP_TPM12_IDACTIVATION_PROPERTY: &[u8; 23usize] = b"PCP_TPM12_IDACTIVATION\0"; +pub const NCRYPT_PCP_KEYATTESTATION_PROPERTY: &[u8; 25usize] = b"PCP_TPM12_KEYATTESTATION\0"; +pub const NCRYPT_PCP_ALTERNATE_KEY_STORAGE_LOCATION_PROPERTY: &[u8; 35usize] = + b"PCP_ALTERNATE_KEY_STORAGE_LOCATION\0"; +pub const NCRYPT_PCP_TPM_IFX_RSA_KEYGEN_PROHIBITED_PROPERTY: &[u8; 34usize] = + b"PCP_TPM_IFX_RSA_KEYGEN_PROHIBITED\0"; +pub const NCRYPT_PCP_TPM_IFX_RSA_KEYGEN_VULNERABILITY_PROPERTY: &[u8; 37usize] = + b"PCP_TPM_IFX_RSA_KEYGEN_VULNERABILITY\0"; +pub const NCRYPT_PCP_HMAC_AUTH_POLICYREF: &[u8; 24usize] = b"PCP_HMAC_AUTH_POLICYREF\0"; +pub const NCRYPT_PCP_HMAC_AUTH_POLICYINFO: &[u8; 25usize] = b"PCP_HMAC_AUTH_POLICYINFO\0"; +pub const NCRYPT_PCP_HMAC_AUTH_NONCE: &[u8; 20usize] = b"PCP_HMAC_AUTH_NONCE\0"; +pub const NCRYPT_PCP_HMAC_AUTH_SIGNATURE: &[u8; 24usize] = b"PCP_HMAC_AUTH_SIGNATURE\0"; +pub const NCRYPT_PCP_HMAC_AUTH_TICKET: &[u8; 21usize] = b"PCP_HMAC_AUTH_TICKET\0"; +pub const NCRYPT_PCP_NO_DA_PROTECTION_PROPERTY: &[u8; 21usize] = b"PCP_NO_DA_PROTECTION\0"; +pub const NCRYPT_PCP_TPM_MANUFACTURER_ID_PROPERTY: &[u8; 24usize] = b"PCP_TPM_MANUFACTURER_ID\0"; +pub const NCRYPT_PCP_TPM_FW_VERSION_PROPERTY: &[u8; 19usize] = b"PCP_TPM_FW_VERSION\0"; +pub const NCRYPT_PCP_TPM2BNAME_PROPERTY: &[u8; 14usize] = b"PCP_TPM2BNAME\0"; +pub const NCRYPT_PCP_TPM_VERSION_PROPERTY: &[u8; 16usize] = b"PCP_TPM_VERSION\0"; +pub const NCRYPT_PCP_RAW_POLICYDIGEST_PROPERTY: &[u8; 21usize] = b"PCP_RAW_POLICYDIGEST\0"; +pub const NCRYPT_PCP_KEY_CREATIONHASH_PROPERTY: &[u8; 21usize] = b"PCP_KEY_CREATIONHASH\0"; +pub const NCRYPT_PCP_KEY_CREATIONTICKET_PROPERTY: &[u8; 23usize] = b"PCP_KEY_CREATIONTICKET\0"; +pub const NCRYPT_PCP_SESSIONID_PROPERTY: &[u8; 14usize] = b"PCP_SESSIONID\0"; +pub const NCRYPT_PCP_PSS_SALT_SIZE_PROPERTY: &[u8; 14usize] = b"PSS Salt Size\0"; +pub const NCRYPT_TPM_PSS_SALT_SIZE_UNKNOWN: u32 = 0; +pub const NCRYPT_TPM_PSS_SALT_SIZE_MAXIMUM: u32 = 1; +pub const NCRYPT_TPM_PSS_SALT_SIZE_HASHSIZE: u32 = 2; +pub const NCRYPT_TPM_PAD_PSS_IGNORE_SALT: u32 = 32; +pub const IFX_RSA_KEYGEN_VUL_NOT_AFFECTED: u32 = 0; +pub const IFX_RSA_KEYGEN_VUL_AFFECTED_LEVEL_1: u32 = 1; +pub const IFX_RSA_KEYGEN_VUL_AFFECTED_LEVEL_2: u32 = 2; +pub const NCRYPT_TPM12_PROVIDER: u32 = 65536; +pub const NCRYPT_PCP_SIGNATURE_KEY: u32 = 1; +pub const NCRYPT_PCP_ENCRYPTION_KEY: u32 = 2; +pub const NCRYPT_PCP_GENERIC_KEY: u32 = 3; +pub const NCRYPT_PCP_STORAGE_KEY: u32 = 4; +pub const NCRYPT_PCP_IDENTITY_KEY: u32 = 8; +pub const NCRYPT_PCP_HMACVERIFICATION_KEY: u32 = 16; +pub const NCRYPT_SCARD_NGC_KEY_NAME: &[u8; 20usize] = b"SmartCardNgcKeyName\0"; +pub const NCRYPT_PCP_PLATFORM_BINDING_PCRALGID_PROPERTY: &[u8; 30usize] = + b"PCP_PLATFORM_BINDING_PCRALGID\0"; +pub const NCRYPT_INITIALIZATION_VECTOR: &[u8; 3usize] = b"IV\0"; +pub const NCRYPT_CHANGEPASSWORD_PROPERTY: &[u8; 19usize] = b"PCP_CHANGEPASSWORD\0"; +pub const NCRYPT_ALTERNATE_KEY_STORAGE_LOCATION_PROPERTY: &[u8; 35usize] = + b"PCP_ALTERNATE_KEY_STORAGE_LOCATION\0"; +pub const NCRYPT_KEY_ACCESS_POLICY_PROPERTY: &[u8; 18usize] = b"Key Access Policy\0"; +pub const NCRYPT_MAX_PROPERTY_NAME: u32 = 64; +pub const NCRYPT_MAX_PROPERTY_DATA: u32 = 1048576; +pub const NCRYPT_ALLOW_EXPORT_FLAG: u32 = 1; +pub const NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG: u32 = 2; +pub const NCRYPT_ALLOW_ARCHIVING_FLAG: u32 = 4; +pub const NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG: u32 = 8; +pub const NCRYPT_IMPL_HARDWARE_FLAG: u32 = 1; +pub const NCRYPT_IMPL_SOFTWARE_FLAG: u32 = 2; +pub const NCRYPT_IMPL_REMOVABLE_FLAG: u32 = 8; +pub const NCRYPT_IMPL_HARDWARE_RNG_FLAG: u32 = 16; +pub const NCRYPT_IMPL_VIRTUAL_ISOLATION_FLAG: u32 = 32; +pub const NCRYPT_ALLOW_DECRYPT_FLAG: u32 = 1; +pub const NCRYPT_ALLOW_SIGNING_FLAG: u32 = 2; +pub const NCRYPT_ALLOW_KEY_AGREEMENT_FLAG: u32 = 4; +pub const NCRYPT_ALLOW_KEY_IMPORT_FLAG: u32 = 8; +pub const NCRYPT_ALLOW_ALL_USAGES: u32 = 16777215; +pub const NCRYPT_UI_PROTECT_KEY_FLAG: u32 = 1; +pub const NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG: u32 = 2; +pub const NCRYPT_UI_FINGERPRINT_PROTECTION_FLAG: u32 = 4; +pub const NCRYPT_UI_APPCONTAINER_ACCESS_MEDIUM_FLAG: u32 = 8; +pub const NCRYPT_PIN_CACHE_FREE_APPLICATION_TICKET_PROPERTY: &[u8; 30usize] = + b"PinCacheFreeApplicationTicket\0"; +pub const NCRYPT_PIN_CACHE_FLAGS_PROPERTY: &[u8; 14usize] = b"PinCacheFlags\0"; +pub const NCRYPT_PIN_CACHE_DISABLE_DPL_FLAG: u32 = 1; +pub const NCRYPT_PIN_CACHE_APPLICATION_TICKET_PROPERTY: &[u8; 26usize] = + b"PinCacheApplicationTicket\0"; +pub const NCRYPT_PIN_CACHE_APPLICATION_IMAGE_PROPERTY: &[u8; 25usize] = + b"PinCacheApplicationImage\0"; +pub const NCRYPT_PIN_CACHE_APPLICATION_STATUS_PROPERTY: &[u8; 26usize] = + b"PinCacheApplicationStatus\0"; +pub const NCRYPT_PIN_CACHE_PIN_PROPERTY: &[u8; 12usize] = b"PinCachePin\0"; +pub const NCRYPT_PIN_CACHE_IS_GESTURE_REQUIRED_PROPERTY: &[u8; 26usize] = + b"PinCacheIsGestureRequired\0"; +pub const NCRYPT_PIN_CACHE_REQUIRE_GESTURE_FLAG: u32 = 1; +pub const NCRYPT_PIN_CACHE_PIN_BYTE_LENGTH: u32 = 90; +pub const NCRYPT_PIN_CACHE_APPLICATION_TICKET_BYTE_LENGTH: u32 = 90; +pub const NCRYPT_PIN_CACHE_CLEAR_PROPERTY: &[u8; 14usize] = b"PinCacheClear\0"; +pub const NCRYPT_PIN_CACHE_CLEAR_FOR_CALLING_PROCESS_OPTION: u32 = 1; +pub const NCRYPT_KEY_ACCESS_POLICY_VERSION: u32 = 1; +pub const NCRYPT_ALLOW_SILENT_KEY_ACCESS: u32 = 1; +pub const NCRYPT_CIPHER_KEY_BLOB_MAGIC: u32 = 1380470851; +pub const NCRYPT_KDF_KEY_BLOB_MAGIC: u32 = 826688587; +pub const NCRYPT_PROTECTED_KEY_BLOB_MAGIC: u32 = 1263817296; +pub const NCRYPT_CIPHER_KEY_BLOB: &[u8; 14usize] = b"CipherKeyBlob\0"; +pub const NCRYPT_KDF_KEY_BLOB: &[u8; 11usize] = b"KDFKeyBlob\0"; +pub const NCRYPT_PROTECTED_KEY_BLOB: &[u8; 17usize] = b"ProtectedKeyBlob\0"; +pub const NCRYPT_TPM_LOADABLE_KEY_BLOB: &[u8; 23usize] = b"PcpTpmProtectedKeyBlob\0"; +pub const NCRYPT_TPM_LOADABLE_KEY_BLOB_MAGIC: u32 = 1297371211; +pub const NCRYPT_PKCS7_ENVELOPE_BLOB: &[u8; 15usize] = b"PKCS7_ENVELOPE\0"; +pub const NCRYPT_PKCS8_PRIVATE_KEY_BLOB: &[u8; 17usize] = b"PKCS8_PRIVATEKEY\0"; +pub const NCRYPT_OPAQUETRANSPORT_BLOB: &[u8; 16usize] = b"OpaqueTransport\0"; +pub const NCRYPT_ISOLATED_KEY_ENVELOPE_BLOB: &[u8; 22usize] = b"ISOLATED_KEY_ENVELOPE\0"; +pub const szOID_RSA: &[u8; 15usize] = b"1.2.840.113549\0"; +pub const szOID_PKCS: &[u8; 17usize] = b"1.2.840.113549.1\0"; +pub const szOID_RSA_HASH: &[u8; 17usize] = b"1.2.840.113549.2\0"; +pub const szOID_RSA_ENCRYPT: &[u8; 17usize] = b"1.2.840.113549.3\0"; +pub const szOID_PKCS_1: &[u8; 19usize] = b"1.2.840.113549.1.1\0"; +pub const szOID_PKCS_2: &[u8; 19usize] = b"1.2.840.113549.1.2\0"; +pub const szOID_PKCS_3: &[u8; 19usize] = b"1.2.840.113549.1.3\0"; +pub const szOID_PKCS_4: &[u8; 19usize] = b"1.2.840.113549.1.4\0"; +pub const szOID_PKCS_5: &[u8; 19usize] = b"1.2.840.113549.1.5\0"; +pub const szOID_PKCS_6: &[u8; 19usize] = b"1.2.840.113549.1.6\0"; +pub const szOID_PKCS_7: &[u8; 19usize] = b"1.2.840.113549.1.7\0"; +pub const szOID_PKCS_8: &[u8; 19usize] = b"1.2.840.113549.1.8\0"; +pub const szOID_PKCS_9: &[u8; 19usize] = b"1.2.840.113549.1.9\0"; +pub const szOID_PKCS_10: &[u8; 20usize] = b"1.2.840.113549.1.10\0"; +pub const szOID_PKCS_12: &[u8; 20usize] = b"1.2.840.113549.1.12\0"; +pub const szOID_RSA_RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.1\0"; +pub const szOID_RSA_MD2RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.2\0"; +pub const szOID_RSA_MD4RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.3\0"; +pub const szOID_RSA_MD5RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.4\0"; +pub const szOID_RSA_SHA1RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.5\0"; +pub const szOID_RSA_SETOAEP_RSA: &[u8; 21usize] = b"1.2.840.113549.1.1.6\0"; +pub const szOID_RSAES_OAEP: &[u8; 21usize] = b"1.2.840.113549.1.1.7\0"; +pub const szOID_RSA_MGF1: &[u8; 21usize] = b"1.2.840.113549.1.1.8\0"; +pub const szOID_RSA_PSPECIFIED: &[u8; 21usize] = b"1.2.840.113549.1.1.9\0"; +pub const szOID_RSA_SSA_PSS: &[u8; 22usize] = b"1.2.840.113549.1.1.10\0"; +pub const szOID_RSA_SHA256RSA: &[u8; 22usize] = b"1.2.840.113549.1.1.11\0"; +pub const szOID_RSA_SHA384RSA: &[u8; 22usize] = b"1.2.840.113549.1.1.12\0"; +pub const szOID_RSA_SHA512RSA: &[u8; 22usize] = b"1.2.840.113549.1.1.13\0"; +pub const szOID_RSA_DH: &[u8; 21usize] = b"1.2.840.113549.1.3.1\0"; +pub const szOID_RSA_data: &[u8; 21usize] = b"1.2.840.113549.1.7.1\0"; +pub const szOID_RSA_signedData: &[u8; 21usize] = b"1.2.840.113549.1.7.2\0"; +pub const szOID_RSA_envelopedData: &[u8; 21usize] = b"1.2.840.113549.1.7.3\0"; +pub const szOID_RSA_signEnvData: &[u8; 21usize] = b"1.2.840.113549.1.7.4\0"; +pub const szOID_RSA_digestedData: &[u8; 21usize] = b"1.2.840.113549.1.7.5\0"; +pub const szOID_RSA_hashedData: &[u8; 21usize] = b"1.2.840.113549.1.7.5\0"; +pub const szOID_RSA_encryptedData: &[u8; 21usize] = b"1.2.840.113549.1.7.6\0"; +pub const szOID_RSA_emailAddr: &[u8; 21usize] = b"1.2.840.113549.1.9.1\0"; +pub const szOID_RSA_unstructName: &[u8; 21usize] = b"1.2.840.113549.1.9.2\0"; +pub const szOID_RSA_contentType: &[u8; 21usize] = b"1.2.840.113549.1.9.3\0"; +pub const szOID_RSA_messageDigest: &[u8; 21usize] = b"1.2.840.113549.1.9.4\0"; +pub const szOID_RSA_signingTime: &[u8; 21usize] = b"1.2.840.113549.1.9.5\0"; +pub const szOID_RSA_counterSign: &[u8; 21usize] = b"1.2.840.113549.1.9.6\0"; +pub const szOID_RSA_challengePwd: &[u8; 21usize] = b"1.2.840.113549.1.9.7\0"; +pub const szOID_RSA_unstructAddr: &[u8; 21usize] = b"1.2.840.113549.1.9.8\0"; +pub const szOID_RSA_extCertAttrs: &[u8; 21usize] = b"1.2.840.113549.1.9.9\0"; +pub const szOID_RSA_certExtensions: &[u8; 22usize] = b"1.2.840.113549.1.9.14\0"; +pub const szOID_RSA_SMIMECapabilities: &[u8; 22usize] = b"1.2.840.113549.1.9.15\0"; +pub const szOID_RSA_preferSignedData: &[u8; 24usize] = b"1.2.840.113549.1.9.15.1\0"; +pub const szOID_TIMESTAMP_TOKEN: &[u8; 26usize] = b"1.2.840.113549.1.9.16.1.4\0"; +pub const szOID_RFC3161_counterSign: &[u8; 22usize] = b"1.3.6.1.4.1.311.3.3.1\0"; +pub const szOID_RSA_SMIMEalg: &[u8; 24usize] = b"1.2.840.113549.1.9.16.3\0"; +pub const szOID_RSA_SMIMEalgESDH: &[u8; 26usize] = b"1.2.840.113549.1.9.16.3.5\0"; +pub const szOID_RSA_SMIMEalgCMS3DESwrap: &[u8; 26usize] = b"1.2.840.113549.1.9.16.3.6\0"; +pub const szOID_RSA_SMIMEalgCMSRC2wrap: &[u8; 26usize] = b"1.2.840.113549.1.9.16.3.7\0"; +pub const szOID_RSA_MD2: &[u8; 19usize] = b"1.2.840.113549.2.2\0"; +pub const szOID_RSA_MD4: &[u8; 19usize] = b"1.2.840.113549.2.4\0"; +pub const szOID_RSA_MD5: &[u8; 19usize] = b"1.2.840.113549.2.5\0"; +pub const szOID_RSA_RC2CBC: &[u8; 19usize] = b"1.2.840.113549.3.2\0"; +pub const szOID_RSA_RC4: &[u8; 19usize] = b"1.2.840.113549.3.4\0"; +pub const szOID_RSA_DES_EDE3_CBC: &[u8; 19usize] = b"1.2.840.113549.3.7\0"; +pub const szOID_RSA_RC5_CBCPad: &[u8; 19usize] = b"1.2.840.113549.3.9\0"; +pub const szOID_ANSI_X942: &[u8; 14usize] = b"1.2.840.10046\0"; +pub const szOID_ANSI_X942_DH: &[u8; 18usize] = b"1.2.840.10046.2.1\0"; +pub const szOID_X957: &[u8; 14usize] = b"1.2.840.10040\0"; +pub const szOID_X957_DSA: &[u8; 18usize] = b"1.2.840.10040.4.1\0"; +pub const szOID_X957_SHA1DSA: &[u8; 18usize] = b"1.2.840.10040.4.3\0"; +pub const szOID_ECC_PUBLIC_KEY: &[u8; 18usize] = b"1.2.840.10045.2.1\0"; +pub const szOID_ECC_CURVE_P256: &[u8; 20usize] = b"1.2.840.10045.3.1.7\0"; +pub const szOID_ECC_CURVE_P384: &[u8; 13usize] = b"1.3.132.0.34\0"; +pub const szOID_ECC_CURVE_P521: &[u8; 13usize] = b"1.3.132.0.35\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP160R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.1\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP160T1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.2\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP192R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.3\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP192T1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.4\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP224R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.5\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP224T1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.6\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP256R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.7\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP256T1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.8\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP320R1: &[u8; 21usize] = b"1.3.36.3.3.2.8.1.1.9\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP320T1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.10\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP384R1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.11\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP384T1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.12\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP512R1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.13\0"; +pub const szOID_ECC_CURVE_BRAINPOOLP512T1: &[u8; 22usize] = b"1.3.36.3.3.2.8.1.1.14\0"; +pub const szOID_ECC_CURVE_EC192WAPI: &[u8; 22usize] = b"1.2.156.11235.1.1.2.1\0"; +pub const szOID_CN_ECDSA_SHA256: &[u8; 20usize] = b"1.2.156.11235.1.1.1\0"; +pub const szOID_ECC_CURVE_NISTP192: &[u8; 20usize] = b"1.2.840.10045.3.1.1\0"; +pub const szOID_ECC_CURVE_NISTP224: &[u8; 13usize] = b"1.3.132.0.33\0"; +pub const szOID_ECC_CURVE_NISTP256: &[u8; 20usize] = b"1.2.840.10045.3.1.7\0"; +pub const szOID_ECC_CURVE_NISTP384: &[u8; 13usize] = b"1.3.132.0.34\0"; +pub const szOID_ECC_CURVE_NISTP521: &[u8; 13usize] = b"1.3.132.0.35\0"; +pub const szOID_ECC_CURVE_SECP160K1: &[u8; 12usize] = b"1.3.132.0.9\0"; +pub const szOID_ECC_CURVE_SECP160R1: &[u8; 12usize] = b"1.3.132.0.8\0"; +pub const szOID_ECC_CURVE_SECP160R2: &[u8; 13usize] = b"1.3.132.0.30\0"; +pub const szOID_ECC_CURVE_SECP192K1: &[u8; 13usize] = b"1.3.132.0.31\0"; +pub const szOID_ECC_CURVE_SECP192R1: &[u8; 20usize] = b"1.2.840.10045.3.1.1\0"; +pub const szOID_ECC_CURVE_SECP224K1: &[u8; 13usize] = b"1.3.132.0.32\0"; +pub const szOID_ECC_CURVE_SECP224R1: &[u8; 13usize] = b"1.3.132.0.33\0"; +pub const szOID_ECC_CURVE_SECP256K1: &[u8; 13usize] = b"1.3.132.0.10\0"; +pub const szOID_ECC_CURVE_SECP256R1: &[u8; 20usize] = b"1.2.840.10045.3.1.7\0"; +pub const szOID_ECC_CURVE_SECP384R1: &[u8; 13usize] = b"1.3.132.0.34\0"; +pub const szOID_ECC_CURVE_SECP521R1: &[u8; 13usize] = b"1.3.132.0.35\0"; +pub const szOID_ECC_CURVE_WTLS7: &[u8; 13usize] = b"1.3.132.0.30\0"; +pub const szOID_ECC_CURVE_WTLS9: &[u8; 14usize] = b"2.23.43.1.4.9\0"; +pub const szOID_ECC_CURVE_WTLS12: &[u8; 13usize] = b"1.3.132.0.33\0"; +pub const szOID_ECC_CURVE_X962P192V1: &[u8; 20usize] = b"1.2.840.10045.3.1.1\0"; +pub const szOID_ECC_CURVE_X962P192V2: &[u8; 20usize] = b"1.2.840.10045.3.1.2\0"; +pub const szOID_ECC_CURVE_X962P192V3: &[u8; 20usize] = b"1.2.840.10045.3.1.3\0"; +pub const szOID_ECC_CURVE_X962P239V1: &[u8; 20usize] = b"1.2.840.10045.3.1.4\0"; +pub const szOID_ECC_CURVE_X962P239V2: &[u8; 20usize] = b"1.2.840.10045.3.1.5\0"; +pub const szOID_ECC_CURVE_X962P239V3: &[u8; 20usize] = b"1.2.840.10045.3.1.6\0"; +pub const szOID_ECC_CURVE_X962P256V1: &[u8; 20usize] = b"1.2.840.10045.3.1.7\0"; +pub const szOID_ECDSA_SHA1: &[u8; 18usize] = b"1.2.840.10045.4.1\0"; +pub const szOID_ECDSA_SPECIFIED: &[u8; 18usize] = b"1.2.840.10045.4.3\0"; +pub const szOID_ECDSA_SHA256: &[u8; 20usize] = b"1.2.840.10045.4.3.2\0"; +pub const szOID_ECDSA_SHA384: &[u8; 20usize] = b"1.2.840.10045.4.3.3\0"; +pub const szOID_ECDSA_SHA512: &[u8; 20usize] = b"1.2.840.10045.4.3.4\0"; +pub const szOID_NIST_AES128_CBC: &[u8; 23usize] = b"2.16.840.1.101.3.4.1.2\0"; +pub const szOID_NIST_AES192_CBC: &[u8; 24usize] = b"2.16.840.1.101.3.4.1.22\0"; +pub const szOID_NIST_AES256_CBC: &[u8; 24usize] = b"2.16.840.1.101.3.4.1.42\0"; +pub const szOID_NIST_AES128_WRAP: &[u8; 23usize] = b"2.16.840.1.101.3.4.1.5\0"; +pub const szOID_NIST_AES192_WRAP: &[u8; 24usize] = b"2.16.840.1.101.3.4.1.25\0"; +pub const szOID_NIST_AES256_WRAP: &[u8; 24usize] = b"2.16.840.1.101.3.4.1.45\0"; +pub const szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF: &[u8; 22usize] = b"1.3.133.16.840.63.0.2\0"; +pub const szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF: &[u8; 15usize] = b"1.3.132.1.11.1\0"; +pub const szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF: &[u8; 15usize] = b"1.3.132.1.11.2\0"; +pub const szOID_DS: &[u8; 4usize] = b"2.5\0"; +pub const szOID_DSALG: &[u8; 6usize] = b"2.5.8\0"; +pub const szOID_DSALG_CRPT: &[u8; 8usize] = b"2.5.8.1\0"; +pub const szOID_DSALG_HASH: &[u8; 8usize] = b"2.5.8.2\0"; +pub const szOID_DSALG_SIGN: &[u8; 8usize] = b"2.5.8.3\0"; +pub const szOID_DSALG_RSA: &[u8; 10usize] = b"2.5.8.1.1\0"; +pub const szOID_OIW: &[u8; 7usize] = b"1.3.14\0"; +pub const szOID_OIWSEC: &[u8; 11usize] = b"1.3.14.3.2\0"; +pub const szOID_OIWSEC_md4RSA: &[u8; 13usize] = b"1.3.14.3.2.2\0"; +pub const szOID_OIWSEC_md5RSA: &[u8; 13usize] = b"1.3.14.3.2.3\0"; +pub const szOID_OIWSEC_md4RSA2: &[u8; 13usize] = b"1.3.14.3.2.4\0"; +pub const szOID_OIWSEC_desECB: &[u8; 13usize] = b"1.3.14.3.2.6\0"; +pub const szOID_OIWSEC_desCBC: &[u8; 13usize] = b"1.3.14.3.2.7\0"; +pub const szOID_OIWSEC_desOFB: &[u8; 13usize] = b"1.3.14.3.2.8\0"; +pub const szOID_OIWSEC_desCFB: &[u8; 13usize] = b"1.3.14.3.2.9\0"; +pub const szOID_OIWSEC_desMAC: &[u8; 14usize] = b"1.3.14.3.2.10\0"; +pub const szOID_OIWSEC_rsaSign: &[u8; 14usize] = b"1.3.14.3.2.11\0"; +pub const szOID_OIWSEC_dsa: &[u8; 14usize] = b"1.3.14.3.2.12\0"; +pub const szOID_OIWSEC_shaDSA: &[u8; 14usize] = b"1.3.14.3.2.13\0"; +pub const szOID_OIWSEC_mdc2RSA: &[u8; 14usize] = b"1.3.14.3.2.14\0"; +pub const szOID_OIWSEC_shaRSA: &[u8; 14usize] = b"1.3.14.3.2.15\0"; +pub const szOID_OIWSEC_dhCommMod: &[u8; 14usize] = b"1.3.14.3.2.16\0"; +pub const szOID_OIWSEC_desEDE: &[u8; 14usize] = b"1.3.14.3.2.17\0"; +pub const szOID_OIWSEC_sha: &[u8; 14usize] = b"1.3.14.3.2.18\0"; +pub const szOID_OIWSEC_mdc2: &[u8; 14usize] = b"1.3.14.3.2.19\0"; +pub const szOID_OIWSEC_dsaComm: &[u8; 14usize] = b"1.3.14.3.2.20\0"; +pub const szOID_OIWSEC_dsaCommSHA: &[u8; 14usize] = b"1.3.14.3.2.21\0"; +pub const szOID_OIWSEC_rsaXchg: &[u8; 14usize] = b"1.3.14.3.2.22\0"; +pub const szOID_OIWSEC_keyHashSeal: &[u8; 14usize] = b"1.3.14.3.2.23\0"; +pub const szOID_OIWSEC_md2RSASign: &[u8; 14usize] = b"1.3.14.3.2.24\0"; +pub const szOID_OIWSEC_md5RSASign: &[u8; 14usize] = b"1.3.14.3.2.25\0"; +pub const szOID_OIWSEC_sha1: &[u8; 14usize] = b"1.3.14.3.2.26\0"; +pub const szOID_OIWSEC_dsaSHA1: &[u8; 14usize] = b"1.3.14.3.2.27\0"; +pub const szOID_OIWSEC_dsaCommSHA1: &[u8; 14usize] = b"1.3.14.3.2.28\0"; +pub const szOID_OIWSEC_sha1RSASign: &[u8; 14usize] = b"1.3.14.3.2.29\0"; +pub const szOID_OIWDIR: &[u8; 11usize] = b"1.3.14.7.2\0"; +pub const szOID_OIWDIR_CRPT: &[u8; 13usize] = b"1.3.14.7.2.1\0"; +pub const szOID_OIWDIR_HASH: &[u8; 13usize] = b"1.3.14.7.2.2\0"; +pub const szOID_OIWDIR_SIGN: &[u8; 13usize] = b"1.3.14.7.2.3\0"; +pub const szOID_OIWDIR_md2: &[u8; 15usize] = b"1.3.14.7.2.2.1\0"; +pub const szOID_OIWDIR_md2RSA: &[u8; 15usize] = b"1.3.14.7.2.3.1\0"; +pub const szOID_INFOSEC: &[u8; 19usize] = b"2.16.840.1.101.2.1\0"; +pub const szOID_INFOSEC_sdnsSignature: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.1\0"; +pub const szOID_INFOSEC_mosaicSignature: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.2\0"; +pub const szOID_INFOSEC_sdnsConfidentiality: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.3\0"; +pub const szOID_INFOSEC_mosaicConfidentiality: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.4\0"; +pub const szOID_INFOSEC_sdnsIntegrity: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.5\0"; +pub const szOID_INFOSEC_mosaicIntegrity: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.6\0"; +pub const szOID_INFOSEC_sdnsTokenProtection: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.7\0"; +pub const szOID_INFOSEC_mosaicTokenProtection: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.8\0"; +pub const szOID_INFOSEC_sdnsKeyManagement: &[u8; 23usize] = b"2.16.840.1.101.2.1.1.9\0"; +pub const szOID_INFOSEC_mosaicKeyManagement: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.10\0"; +pub const szOID_INFOSEC_sdnsKMandSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.11\0"; +pub const szOID_INFOSEC_mosaicKMandSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.12\0"; +pub const szOID_INFOSEC_SuiteASignature: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.13\0"; +pub const szOID_INFOSEC_SuiteAConfidentiality: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.14\0"; +pub const szOID_INFOSEC_SuiteAIntegrity: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.15\0"; +pub const szOID_INFOSEC_SuiteATokenProtection: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.16\0"; +pub const szOID_INFOSEC_SuiteAKeyManagement: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.17\0"; +pub const szOID_INFOSEC_SuiteAKMandSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.18\0"; +pub const szOID_INFOSEC_mosaicUpdatedSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.19\0"; +pub const szOID_INFOSEC_mosaicKMandUpdSig: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.20\0"; +pub const szOID_INFOSEC_mosaicUpdatedInteg: &[u8; 24usize] = b"2.16.840.1.101.2.1.1.21\0"; +pub const szOID_NIST_sha256: &[u8; 23usize] = b"2.16.840.1.101.3.4.2.1\0"; +pub const szOID_NIST_sha384: &[u8; 23usize] = b"2.16.840.1.101.3.4.2.2\0"; +pub const szOID_NIST_sha512: &[u8; 23usize] = b"2.16.840.1.101.3.4.2.3\0"; +pub const szOID_COMMON_NAME: &[u8; 8usize] = b"2.5.4.3\0"; +pub const szOID_SUR_NAME: &[u8; 8usize] = b"2.5.4.4\0"; +pub const szOID_DEVICE_SERIAL_NUMBER: &[u8; 8usize] = b"2.5.4.5\0"; +pub const szOID_COUNTRY_NAME: &[u8; 8usize] = b"2.5.4.6\0"; +pub const szOID_LOCALITY_NAME: &[u8; 8usize] = b"2.5.4.7\0"; +pub const szOID_STATE_OR_PROVINCE_NAME: &[u8; 8usize] = b"2.5.4.8\0"; +pub const szOID_STREET_ADDRESS: &[u8; 8usize] = b"2.5.4.9\0"; +pub const szOID_ORGANIZATION_NAME: &[u8; 9usize] = b"2.5.4.10\0"; +pub const szOID_ORGANIZATIONAL_UNIT_NAME: &[u8; 9usize] = b"2.5.4.11\0"; +pub const szOID_TITLE: &[u8; 9usize] = b"2.5.4.12\0"; +pub const szOID_DESCRIPTION: &[u8; 9usize] = b"2.5.4.13\0"; +pub const szOID_SEARCH_GUIDE: &[u8; 9usize] = b"2.5.4.14\0"; +pub const szOID_BUSINESS_CATEGORY: &[u8; 9usize] = b"2.5.4.15\0"; +pub const szOID_POSTAL_ADDRESS: &[u8; 9usize] = b"2.5.4.16\0"; +pub const szOID_POSTAL_CODE: &[u8; 9usize] = b"2.5.4.17\0"; +pub const szOID_POST_OFFICE_BOX: &[u8; 9usize] = b"2.5.4.18\0"; +pub const szOID_PHYSICAL_DELIVERY_OFFICE_NAME: &[u8; 9usize] = b"2.5.4.19\0"; +pub const szOID_TELEPHONE_NUMBER: &[u8; 9usize] = b"2.5.4.20\0"; +pub const szOID_TELEX_NUMBER: &[u8; 9usize] = b"2.5.4.21\0"; +pub const szOID_TELETEXT_TERMINAL_IDENTIFIER: &[u8; 9usize] = b"2.5.4.22\0"; +pub const szOID_FACSIMILE_TELEPHONE_NUMBER: &[u8; 9usize] = b"2.5.4.23\0"; +pub const szOID_X21_ADDRESS: &[u8; 9usize] = b"2.5.4.24\0"; +pub const szOID_INTERNATIONAL_ISDN_NUMBER: &[u8; 9usize] = b"2.5.4.25\0"; +pub const szOID_REGISTERED_ADDRESS: &[u8; 9usize] = b"2.5.4.26\0"; +pub const szOID_DESTINATION_INDICATOR: &[u8; 9usize] = b"2.5.4.27\0"; +pub const szOID_PREFERRED_DELIVERY_METHOD: &[u8; 9usize] = b"2.5.4.28\0"; +pub const szOID_PRESENTATION_ADDRESS: &[u8; 9usize] = b"2.5.4.29\0"; +pub const szOID_SUPPORTED_APPLICATION_CONTEXT: &[u8; 9usize] = b"2.5.4.30\0"; +pub const szOID_MEMBER: &[u8; 9usize] = b"2.5.4.31\0"; +pub const szOID_OWNER: &[u8; 9usize] = b"2.5.4.32\0"; +pub const szOID_ROLE_OCCUPANT: &[u8; 9usize] = b"2.5.4.33\0"; +pub const szOID_SEE_ALSO: &[u8; 9usize] = b"2.5.4.34\0"; +pub const szOID_USER_PASSWORD: &[u8; 9usize] = b"2.5.4.35\0"; +pub const szOID_USER_CERTIFICATE: &[u8; 9usize] = b"2.5.4.36\0"; +pub const szOID_CA_CERTIFICATE: &[u8; 9usize] = b"2.5.4.37\0"; +pub const szOID_AUTHORITY_REVOCATION_LIST: &[u8; 9usize] = b"2.5.4.38\0"; +pub const szOID_CERTIFICATE_REVOCATION_LIST: &[u8; 9usize] = b"2.5.4.39\0"; +pub const szOID_CROSS_CERTIFICATE_PAIR: &[u8; 9usize] = b"2.5.4.40\0"; +pub const szOID_GIVEN_NAME: &[u8; 9usize] = b"2.5.4.42\0"; +pub const szOID_INITIALS: &[u8; 9usize] = b"2.5.4.43\0"; +pub const szOID_DN_QUALIFIER: &[u8; 9usize] = b"2.5.4.46\0"; +pub const szOID_DOMAIN_COMPONENT: &[u8; 27usize] = b"0.9.2342.19200300.100.1.25\0"; +pub const szOID_PKCS_12_FRIENDLY_NAME_ATTR: &[u8; 22usize] = b"1.2.840.113549.1.9.20\0"; +pub const szOID_PKCS_12_LOCAL_KEY_ID: &[u8; 22usize] = b"1.2.840.113549.1.9.21\0"; +pub const szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR: &[u8; 21usize] = b"1.3.6.1.4.1.311.17.1\0"; +pub const szOID_LOCAL_MACHINE_KEYSET: &[u8; 21usize] = b"1.3.6.1.4.1.311.17.2\0"; +pub const szOID_PKCS_12_EXTENDED_ATTRIBUTES: &[u8; 21usize] = b"1.3.6.1.4.1.311.17.3\0"; +pub const szOID_PKCS_12_PROTECTED_PASSWORD_SECRET_BAG_TYPE_ID: &[u8; 21usize] = + b"1.3.6.1.4.1.311.17.4\0"; +pub const szOID_KEYID_RDN: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.7.1\0"; +pub const szOID_EV_RDN_LOCALE: &[u8; 25usize] = b"1.3.6.1.4.1.311.60.2.1.1\0"; +pub const szOID_EV_RDN_STATE_OR_PROVINCE: &[u8; 25usize] = b"1.3.6.1.4.1.311.60.2.1.2\0"; +pub const szOID_EV_RDN_COUNTRY: &[u8; 25usize] = b"1.3.6.1.4.1.311.60.2.1.3\0"; +pub const CERT_RDN_ANY_TYPE: u32 = 0; +pub const CERT_RDN_ENCODED_BLOB: u32 = 1; +pub const CERT_RDN_OCTET_STRING: u32 = 2; +pub const CERT_RDN_NUMERIC_STRING: u32 = 3; +pub const CERT_RDN_PRINTABLE_STRING: u32 = 4; +pub const CERT_RDN_TELETEX_STRING: u32 = 5; +pub const CERT_RDN_T61_STRING: u32 = 5; +pub const CERT_RDN_VIDEOTEX_STRING: u32 = 6; +pub const CERT_RDN_IA5_STRING: u32 = 7; +pub const CERT_RDN_GRAPHIC_STRING: u32 = 8; +pub const CERT_RDN_VISIBLE_STRING: u32 = 9; +pub const CERT_RDN_ISO646_STRING: u32 = 9; +pub const CERT_RDN_GENERAL_STRING: u32 = 10; +pub const CERT_RDN_UNIVERSAL_STRING: u32 = 11; +pub const CERT_RDN_INT4_STRING: u32 = 11; +pub const CERT_RDN_BMP_STRING: u32 = 12; +pub const CERT_RDN_UNICODE_STRING: u32 = 12; +pub const CERT_RDN_UTF8_STRING: u32 = 13; +pub const CERT_RDN_TYPE_MASK: u32 = 255; +pub const CERT_RDN_FLAGS_MASK: u32 = 4278190080; +pub const CERT_RDN_ENABLE_T61_UNICODE_FLAG: u32 = 2147483648; +pub const CERT_RDN_ENABLE_UTF8_UNICODE_FLAG: u32 = 536870912; +pub const CERT_RDN_FORCE_UTF8_UNICODE_FLAG: u32 = 268435456; +pub const CERT_RDN_DISABLE_CHECK_TYPE_FLAG: u32 = 1073741824; +pub const CERT_RDN_DISABLE_IE4_UTF8_FLAG: u32 = 16777216; +pub const CERT_RDN_ENABLE_PUNYCODE_FLAG: u32 = 33554432; +pub const CERT_RSA_PUBLIC_KEY_OBJID: &[u8; 21usize] = b"1.2.840.113549.1.1.1\0"; +pub const CERT_DEFAULT_OID_PUBLIC_KEY_SIGN: &[u8; 21usize] = b"1.2.840.113549.1.1.1\0"; +pub const CERT_DEFAULT_OID_PUBLIC_KEY_XCHG: &[u8; 21usize] = b"1.2.840.113549.1.1.1\0"; +pub const CRYPT_ECC_PRIVATE_KEY_INFO_v1: u32 = 1; +pub const CERT_V1: u32 = 0; +pub const CERT_V2: u32 = 1; +pub const CERT_V3: u32 = 2; +pub const CERT_INFO_VERSION_FLAG: u32 = 1; +pub const CERT_INFO_SERIAL_NUMBER_FLAG: u32 = 2; +pub const CERT_INFO_SIGNATURE_ALGORITHM_FLAG: u32 = 3; +pub const CERT_INFO_ISSUER_FLAG: u32 = 4; +pub const CERT_INFO_NOT_BEFORE_FLAG: u32 = 5; +pub const CERT_INFO_NOT_AFTER_FLAG: u32 = 6; +pub const CERT_INFO_SUBJECT_FLAG: u32 = 7; +pub const CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG: u32 = 8; +pub const CERT_INFO_ISSUER_UNIQUE_ID_FLAG: u32 = 9; +pub const CERT_INFO_SUBJECT_UNIQUE_ID_FLAG: u32 = 10; +pub const CERT_INFO_EXTENSION_FLAG: u32 = 11; +pub const CRL_V1: u32 = 0; +pub const CRL_V2: u32 = 1; +pub const CERT_BUNDLE_CERTIFICATE: u32 = 0; +pub const CERT_BUNDLE_CRL: u32 = 1; +pub const CERT_REQUEST_V1: u32 = 0; +pub const CERT_KEYGEN_REQUEST_V1: u32 = 0; +pub const CTL_V1: u32 = 0; +pub const CERT_ENCODING_TYPE_MASK: u32 = 65535; +pub const CMSG_ENCODING_TYPE_MASK: u32 = 4294901760; +pub const CRYPT_ASN_ENCODING: u32 = 1; +pub const CRYPT_NDR_ENCODING: u32 = 2; +pub const X509_ASN_ENCODING: u32 = 1; +pub const X509_NDR_ENCODING: u32 = 2; +pub const PKCS_7_ASN_ENCODING: u32 = 65536; +pub const PKCS_7_NDR_ENCODING: u32 = 131072; +pub const CRYPT_FORMAT_STR_MULTI_LINE: u32 = 1; +pub const CRYPT_FORMAT_STR_NO_HEX: u32 = 16; +pub const CRYPT_FORMAT_SIMPLE: u32 = 1; +pub const CRYPT_FORMAT_X509: u32 = 2; +pub const CRYPT_FORMAT_OID: u32 = 4; +pub const CRYPT_FORMAT_RDN_SEMICOLON: u32 = 256; +pub const CRYPT_FORMAT_RDN_CRLF: u32 = 512; +pub const CRYPT_FORMAT_RDN_UNQUOTE: u32 = 1024; +pub const CRYPT_FORMAT_RDN_REVERSE: u32 = 2048; +pub const CRYPT_FORMAT_COMMA: u32 = 4096; +pub const CRYPT_FORMAT_SEMICOLON: u32 = 256; +pub const CRYPT_FORMAT_CRLF: u32 = 512; +pub const CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: u32 = 8; +pub const CRYPT_ENCODE_ALLOC_FLAG: u32 = 32768; +pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG: u32 = 2147483648; +pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG: u32 = 536870912; +pub const CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG: u32 = 268435456; +pub const CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG: u32 = 1073741824; +pub const CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: u32 = 65536; +pub const CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG: u32 = 131072; +pub const CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG: u32 = 262144; +pub const CRYPT_ENCODE_ENABLE_IA5CONVERSION_FLAG: u32 = 393216; +pub const CRYPT_DECODE_NOCOPY_FLAG: u32 = 1; +pub const CRYPT_DECODE_TO_BE_SIGNED_FLAG: u32 = 2; +pub const CRYPT_DECODE_SHARE_OID_STRING_FLAG: u32 = 4; +pub const CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: u32 = 8; +pub const CRYPT_DECODE_ALLOC_FLAG: u32 = 32768; +pub const CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG: u32 = 16777216; +pub const CRYPT_DECODE_ENABLE_PUNYCODE_FLAG: u32 = 33554432; +pub const CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG: u32 = 67108864; +pub const CRYPT_DECODE_ENABLE_IA5CONVERSION_FLAG: u32 = 100663296; +pub const CRYPT_ENCODE_DECODE_NONE: u32 = 0; +pub const szOID_AUTHORITY_KEY_IDENTIFIER: &[u8; 9usize] = b"2.5.29.1\0"; +pub const szOID_KEY_ATTRIBUTES: &[u8; 9usize] = b"2.5.29.2\0"; +pub const szOID_CERT_POLICIES_95: &[u8; 9usize] = b"2.5.29.3\0"; +pub const szOID_KEY_USAGE_RESTRICTION: &[u8; 9usize] = b"2.5.29.4\0"; +pub const szOID_SUBJECT_ALT_NAME: &[u8; 9usize] = b"2.5.29.7\0"; +pub const szOID_ISSUER_ALT_NAME: &[u8; 9usize] = b"2.5.29.8\0"; +pub const szOID_BASIC_CONSTRAINTS: &[u8; 10usize] = b"2.5.29.10\0"; +pub const szOID_KEY_USAGE: &[u8; 10usize] = b"2.5.29.15\0"; +pub const szOID_PRIVATEKEY_USAGE_PERIOD: &[u8; 10usize] = b"2.5.29.16\0"; +pub const szOID_BASIC_CONSTRAINTS2: &[u8; 10usize] = b"2.5.29.19\0"; +pub const szOID_CERT_POLICIES: &[u8; 10usize] = b"2.5.29.32\0"; +pub const szOID_ANY_CERT_POLICY: &[u8; 12usize] = b"2.5.29.32.0\0"; +pub const szOID_INHIBIT_ANY_POLICY: &[u8; 10usize] = b"2.5.29.54\0"; +pub const szOID_AUTHORITY_KEY_IDENTIFIER2: &[u8; 10usize] = b"2.5.29.35\0"; +pub const szOID_SUBJECT_KEY_IDENTIFIER: &[u8; 10usize] = b"2.5.29.14\0"; +pub const szOID_SUBJECT_ALT_NAME2: &[u8; 10usize] = b"2.5.29.17\0"; +pub const szOID_ISSUER_ALT_NAME2: &[u8; 10usize] = b"2.5.29.18\0"; +pub const szOID_CRL_REASON_CODE: &[u8; 10usize] = b"2.5.29.21\0"; +pub const szOID_REASON_CODE_HOLD: &[u8; 10usize] = b"2.5.29.23\0"; +pub const szOID_CRL_DIST_POINTS: &[u8; 10usize] = b"2.5.29.31\0"; +pub const szOID_ENHANCED_KEY_USAGE: &[u8; 10usize] = b"2.5.29.37\0"; +pub const szOID_ANY_ENHANCED_KEY_USAGE: &[u8; 12usize] = b"2.5.29.37.0\0"; +pub const szOID_CRL_NUMBER: &[u8; 10usize] = b"2.5.29.20\0"; +pub const szOID_DELTA_CRL_INDICATOR: &[u8; 10usize] = b"2.5.29.27\0"; +pub const szOID_ISSUING_DIST_POINT: &[u8; 10usize] = b"2.5.29.28\0"; +pub const szOID_FRESHEST_CRL: &[u8; 10usize] = b"2.5.29.46\0"; +pub const szOID_NAME_CONSTRAINTS: &[u8; 10usize] = b"2.5.29.30\0"; +pub const szOID_POLICY_MAPPINGS: &[u8; 10usize] = b"2.5.29.33\0"; +pub const szOID_LEGACY_POLICY_MAPPINGS: &[u8; 9usize] = b"2.5.29.5\0"; +pub const szOID_POLICY_CONSTRAINTS: &[u8; 10usize] = b"2.5.29.36\0"; +pub const szOID_RENEWAL_CERTIFICATE: &[u8; 21usize] = b"1.3.6.1.4.1.311.13.1\0"; +pub const szOID_ENROLLMENT_NAME_VALUE_PAIR: &[u8; 23usize] = b"1.3.6.1.4.1.311.13.2.1\0"; +pub const szOID_ENROLLMENT_CSP_PROVIDER: &[u8; 23usize] = b"1.3.6.1.4.1.311.13.2.2\0"; +pub const szOID_OS_VERSION: &[u8; 23usize] = b"1.3.6.1.4.1.311.13.2.3\0"; +pub const szOID_ENROLLMENT_AGENT: &[u8; 23usize] = b"1.3.6.1.4.1.311.20.2.1\0"; +pub const szOID_PKIX: &[u8; 14usize] = b"1.3.6.1.5.5.7\0"; +pub const szOID_PKIX_PE: &[u8; 16usize] = b"1.3.6.1.5.5.7.1\0"; +pub const szOID_AUTHORITY_INFO_ACCESS: &[u8; 18usize] = b"1.3.6.1.5.5.7.1.1\0"; +pub const szOID_SUBJECT_INFO_ACCESS: &[u8; 19usize] = b"1.3.6.1.5.5.7.1.11\0"; +pub const szOID_BIOMETRIC_EXT: &[u8; 18usize] = b"1.3.6.1.5.5.7.1.2\0"; +pub const szOID_QC_STATEMENTS_EXT: &[u8; 18usize] = b"1.3.6.1.5.5.7.1.3\0"; +pub const szOID_LOGOTYPE_EXT: &[u8; 19usize] = b"1.3.6.1.5.5.7.1.12\0"; +pub const szOID_TLS_FEATURES_EXT: &[u8; 19usize] = b"1.3.6.1.5.5.7.1.24\0"; +pub const szOID_CERT_EXTENSIONS: &[u8; 23usize] = b"1.3.6.1.4.1.311.2.1.14\0"; +pub const szOID_NEXT_UPDATE_LOCATION: &[u8; 21usize] = b"1.3.6.1.4.1.311.10.2\0"; +pub const szOID_REMOVE_CERTIFICATE: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.8.1\0"; +pub const szOID_CROSS_CERT_DIST_POINTS: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.9.1\0"; +pub const szOID_CTL: &[u8; 21usize] = b"1.3.6.1.4.1.311.10.1\0"; +pub const szOID_SORTED_CTL: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.1.1\0"; +pub const szOID_SERIALIZED: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.3.3.1\0"; +pub const szOID_NT_PRINCIPAL_NAME: &[u8; 23usize] = b"1.3.6.1.4.1.311.20.2.3\0"; +pub const szOID_INTERNATIONALIZED_EMAIL_ADDRESS: &[u8; 23usize] = b"1.3.6.1.4.1.311.20.2.4\0"; +pub const szOID_PRODUCT_UPDATE: &[u8; 21usize] = b"1.3.6.1.4.1.311.31.1\0"; +pub const szOID_ANY_APPLICATION_POLICY: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.12.1\0"; +pub const szOID_AUTO_ENROLL_CTL_USAGE: &[u8; 21usize] = b"1.3.6.1.4.1.311.20.1\0"; +pub const szOID_ENROLL_CERTTYPE_EXTENSION: &[u8; 21usize] = b"1.3.6.1.4.1.311.20.2\0"; +pub const szOID_CERT_MANIFOLD: &[u8; 21usize] = b"1.3.6.1.4.1.311.20.3\0"; +pub const szOID_CERTSRV_CA_VERSION: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.1\0"; +pub const szOID_CERTSRV_PREVIOUS_CERT_HASH: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.2\0"; +pub const szOID_CRL_VIRTUAL_BASE: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.3\0"; +pub const szOID_CRL_NEXT_PUBLISH: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.4\0"; +pub const szOID_KP_CA_EXCHANGE: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.5\0"; +pub const szOID_KP_PRIVACY_CA: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.36\0"; +pub const szOID_KP_KEY_RECOVERY_AGENT: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.6\0"; +pub const szOID_CERTIFICATE_TEMPLATE: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.7\0"; +pub const szOID_ENTERPRISE_OID_ROOT: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.8\0"; +pub const szOID_RDN_DUMMY_SIGNER: &[u8; 21usize] = b"1.3.6.1.4.1.311.21.9\0"; +pub const szOID_APPLICATION_CERT_POLICIES: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.10\0"; +pub const szOID_APPLICATION_POLICY_MAPPINGS: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.11\0"; +pub const szOID_APPLICATION_POLICY_CONSTRAINTS: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.12\0"; +pub const szOID_ARCHIVED_KEY_ATTR: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.13\0"; +pub const szOID_CRL_SELF_CDP: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.14\0"; +pub const szOID_REQUIRE_CERT_CHAIN_POLICY: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.15\0"; +pub const szOID_ARCHIVED_KEY_CERT_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.16\0"; +pub const szOID_ISSUED_CERT_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.17\0"; +pub const szOID_DS_EMAIL_REPLICATION: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.19\0"; +pub const szOID_REQUEST_CLIENT_INFO: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.20\0"; +pub const szOID_ENCRYPTED_KEY_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.21\0"; +pub const szOID_CERTSRV_CROSSCA_VERSION: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.22\0"; +pub const szOID_NTDS_REPLICATION: &[u8; 21usize] = b"1.3.6.1.4.1.311.25.1\0"; +pub const szOID_SUBJECT_DIR_ATTRS: &[u8; 9usize] = b"2.5.29.9\0"; +pub const szOID_PKIX_KP: &[u8; 16usize] = b"1.3.6.1.5.5.7.3\0"; +pub const szOID_PKIX_KP_SERVER_AUTH: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.1\0"; +pub const szOID_PKIX_KP_CLIENT_AUTH: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.2\0"; +pub const szOID_PKIX_KP_CODE_SIGNING: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.3\0"; +pub const szOID_PKIX_KP_EMAIL_PROTECTION: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.4\0"; +pub const szOID_PKIX_KP_IPSEC_END_SYSTEM: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.5\0"; +pub const szOID_PKIX_KP_IPSEC_TUNNEL: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.6\0"; +pub const szOID_PKIX_KP_IPSEC_USER: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.7\0"; +pub const szOID_PKIX_KP_TIMESTAMP_SIGNING: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.8\0"; +pub const szOID_PKIX_KP_OCSP_SIGNING: &[u8; 18usize] = b"1.3.6.1.5.5.7.3.9\0"; +pub const szOID_PKIX_OCSP_NOCHECK: &[u8; 21usize] = b"1.3.6.1.5.5.7.48.1.5\0"; +pub const szOID_PKIX_OCSP_NONCE: &[u8; 21usize] = b"1.3.6.1.5.5.7.48.1.2\0"; +pub const szOID_IPSEC_KP_IKE_INTERMEDIATE: &[u8; 18usize] = b"1.3.6.1.5.5.8.2.2\0"; +pub const szOID_PKINIT_KP_KDC: &[u8; 16usize] = b"1.3.6.1.5.2.3.5\0"; +pub const szOID_KP_CTL_USAGE_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.1\0"; +pub const szOID_KP_TIME_STAMP_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.2\0"; +pub const szOID_SERVER_GATED_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.3\0"; +pub const szOID_SGC_NETSCAPE: &[u8; 22usize] = b"2.16.840.1.113730.4.1\0"; +pub const szOID_KP_EFS: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.4\0"; +pub const szOID_EFS_RECOVERY: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.3.4.1\0"; +pub const szOID_WHQL_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.5\0"; +pub const szOID_ATTEST_WHQL_CRYPTO: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.3.5.1\0"; +pub const szOID_NT5_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.6\0"; +pub const szOID_OEM_WHQL_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.7\0"; +pub const szOID_EMBEDDED_NT_CRYPTO: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.8\0"; +pub const szOID_ROOT_LIST_SIGNER: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.3.9\0"; +pub const szOID_KP_QUALIFIED_SUBORDINATION: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.10\0"; +pub const szOID_KP_KEY_RECOVERY: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.11\0"; +pub const szOID_KP_DOCUMENT_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.12\0"; +pub const szOID_KP_LIFETIME_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.13\0"; +pub const szOID_KP_MOBILE_DEVICE_SOFTWARE: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.14\0"; +pub const szOID_KP_SMART_DISPLAY: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.15\0"; +pub const szOID_KP_CSP_SIGNATURE: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.16\0"; +pub const szOID_KP_FLIGHT_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.27\0"; +pub const szOID_PLATFORM_MANIFEST_BINARY_ID: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.28\0"; +pub const szOID_DRM: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.5.1\0"; +pub const szOID_DRM_INDIVIDUALIZATION: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.5.2\0"; +pub const szOID_LICENSES: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.6.1\0"; +pub const szOID_LICENSE_SERVER: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.6.2\0"; +pub const szOID_KP_SMARTCARD_LOGON: &[u8; 23usize] = b"1.3.6.1.4.1.311.20.2.2\0"; +pub const szOID_KP_KERNEL_MODE_CODE_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.61.1.1\0"; +pub const szOID_KP_KERNEL_MODE_TRUSTED_BOOT_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.61.4.1\0"; +pub const szOID_REVOKED_LIST_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.19\0"; +pub const szOID_WINDOWS_KITS_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.20\0"; +pub const szOID_WINDOWS_RT_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.21\0"; +pub const szOID_PROTECTED_PROCESS_LIGHT_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.22\0"; +pub const szOID_WINDOWS_TCB_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.23\0"; +pub const szOID_PROTECTED_PROCESS_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.24\0"; +pub const szOID_WINDOWS_THIRD_PARTY_COMPONENT_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.25\0"; +pub const szOID_WINDOWS_SOFTWARE_EXTENSION_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.26\0"; +pub const szOID_DISALLOWED_LIST: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.30\0"; +pub const szOID_PIN_RULES_SIGNER: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.31\0"; +pub const szOID_PIN_RULES_CTL: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.32\0"; +pub const szOID_PIN_RULES_EXT: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.33\0"; +pub const szOID_PIN_RULES_DOMAIN_NAME: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.34\0"; +pub const szOID_PIN_RULES_LOG_END_DATE_EXT: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.35\0"; +pub const szOID_IUM_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.37\0"; +pub const szOID_EV_WHQL_CRYPTO: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.39\0"; +pub const szOID_BIOMETRIC_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.41\0"; +pub const szOID_ENCLAVE_SIGNING: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.42\0"; +pub const szOID_SYNC_ROOT_CTL_EXT: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.50\0"; +pub const szOID_HPKP_DOMAIN_NAME_CTL: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.60\0"; +pub const szOID_HPKP_HEADER_VALUE_CTL: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.3.61\0"; +pub const szOID_KP_KERNEL_MODE_HAL_EXTENSION_SIGNING: &[u8; 23usize] = b"1.3.6.1.4.1.311.61.5.1\0"; +pub const szOID_WINDOWS_STORE_SIGNER: &[u8; 23usize] = b"1.3.6.1.4.1.311.76.3.1\0"; +pub const szOID_DYNAMIC_CODE_GEN_SIGNER: &[u8; 23usize] = b"1.3.6.1.4.1.311.76.5.1\0"; +pub const szOID_MICROSOFT_PUBLISHER_SIGNER: &[u8; 23usize] = b"1.3.6.1.4.1.311.76.8.1\0"; +pub const szOID_YESNO_TRUST_ATTR: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.4.1\0"; +pub const szOID_SITE_PIN_RULES_INDEX_ATTR: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.4.2\0"; +pub const szOID_SITE_PIN_RULES_FLAGS_ATTR: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.4.3\0"; +pub const SITE_PIN_RULES_ALL_SUBDOMAINS_FLAG: u32 = 1; +pub const szOID_PKIX_POLICY_QUALIFIER_CPS: &[u8; 18usize] = b"1.3.6.1.5.5.7.2.1\0"; +pub const szOID_PKIX_POLICY_QUALIFIER_USERNOTICE: &[u8; 18usize] = b"1.3.6.1.5.5.7.2.2\0"; +pub const szOID_ROOT_PROGRAM_FLAGS: &[u8; 23usize] = b"1.3.6.1.4.1.311.60.1.1\0"; +pub const CERT_ROOT_PROGRAM_FLAG_ORG: u32 = 128; +pub const CERT_ROOT_PROGRAM_FLAG_LSC: u32 = 64; +pub const CERT_ROOT_PROGRAM_FLAG_SUBJECT_LOGO: u32 = 32; +pub const CERT_ROOT_PROGRAM_FLAG_OU: u32 = 16; +pub const CERT_ROOT_PROGRAM_FLAG_ADDRESS: u32 = 8; +pub const szOID_CERT_POLICIES_95_QUALIFIER1: &[u8; 26usize] = b"2.16.840.1.113733.1.7.1.1\0"; +pub const szOID_RDN_TPM_MANUFACTURER: &[u8; 13usize] = b"2.23.133.2.1\0"; +pub const szOID_RDN_TPM_MODEL: &[u8; 13usize] = b"2.23.133.2.2\0"; +pub const szOID_RDN_TPM_VERSION: &[u8; 13usize] = b"2.23.133.2.3\0"; +pub const szOID_RDN_TCG_PLATFORM_MANUFACTURER: &[u8; 13usize] = b"2.23.133.2.4\0"; +pub const szOID_RDN_TCG_PLATFORM_MODEL: &[u8; 13usize] = b"2.23.133.2.5\0"; +pub const szOID_RDN_TCG_PLATFORM_VERSION: &[u8; 13usize] = b"2.23.133.2.6\0"; +pub const szOID_CT_CERT_SCTLIST: &[u8; 24usize] = b"1.3.6.1.4.1.11129.2.4.2\0"; +pub const szOID_ENROLL_EK_INFO: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.23\0"; +pub const szOID_ENROLL_AIK_INFO: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.39\0"; +pub const szOID_ENROLL_ATTESTATION_STATEMENT: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.24\0"; +pub const szOID_ENROLL_KSP_NAME: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.25\0"; +pub const szOID_ENROLL_EKPUB_CHALLENGE: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.26\0"; +pub const szOID_ENROLL_CAXCHGCERT_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.27\0"; +pub const szOID_ENROLL_ATTESTATION_CHALLENGE: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.28\0"; +pub const szOID_ENROLL_ENCRYPTION_ALGORITHM: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.29\0"; +pub const szOID_KP_TPM_EK_CERTIFICATE: &[u8; 13usize] = b"2.23.133.8.1\0"; +pub const szOID_KP_TPM_PLATFORM_CERTIFICATE: &[u8; 13usize] = b"2.23.133.8.2\0"; +pub const szOID_KP_TPM_AIK_CERTIFICATE: &[u8; 13usize] = b"2.23.133.8.3\0"; +pub const szOID_ENROLL_EKVERIFYKEY: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.30\0"; +pub const szOID_ENROLL_EKVERIFYCERT: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.31\0"; +pub const szOID_ENROLL_EKVERIFYCREDS: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.32\0"; +pub const szOID_ENROLL_SCEP_ERROR: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.33\0"; +pub const szOID_ENROLL_SCEP_SERVER_STATE: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.34\0"; +pub const szOID_ENROLL_SCEP_CHALLENGE_ANSWER: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.35\0"; +pub const szOID_ENROLL_SCEP_CLIENT_REQUEST: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.37\0"; +pub const szOID_ENROLL_SCEP_SERVER_MESSAGE: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.38\0"; +pub const szOID_ENROLL_SCEP_SERVER_SECRET: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.40\0"; +pub const szOID_ENROLL_KEY_AFFINITY: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.41\0"; +pub const szOID_ENROLL_SCEP_SIGNER_HASH: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.42\0"; +pub const szOID_ENROLL_EK_CA_KEYID: &[u8; 22usize] = b"1.3.6.1.4.1.311.21.43\0"; +pub const szOID_ATTR_SUPPORTED_ALGORITHMS: &[u8; 9usize] = b"2.5.4.52\0"; +pub const szOID_ATTR_TPM_SPECIFICATION: &[u8; 14usize] = b"2.23.133.2.16\0"; +pub const szOID_ATTR_PLATFORM_SPECIFICATION: &[u8; 14usize] = b"2.23.133.2.17\0"; +pub const szOID_ATTR_TPM_SECURITY_ASSERTIONS: &[u8; 14usize] = b"2.23.133.2.18\0"; +pub const CERT_UNICODE_RDN_ERR_INDEX_MASK: u32 = 1023; +pub const CERT_UNICODE_RDN_ERR_INDEX_SHIFT: u32 = 22; +pub const CERT_UNICODE_ATTR_ERR_INDEX_MASK: u32 = 63; +pub const CERT_UNICODE_ATTR_ERR_INDEX_SHIFT: u32 = 16; +pub const CERT_UNICODE_VALUE_ERR_INDEX_MASK: u32 = 65535; +pub const CERT_UNICODE_VALUE_ERR_INDEX_SHIFT: u32 = 0; +pub const CERT_DIGITAL_SIGNATURE_KEY_USAGE: u32 = 128; +pub const CERT_NON_REPUDIATION_KEY_USAGE: u32 = 64; +pub const CERT_KEY_ENCIPHERMENT_KEY_USAGE: u32 = 32; +pub const CERT_DATA_ENCIPHERMENT_KEY_USAGE: u32 = 16; +pub const CERT_KEY_AGREEMENT_KEY_USAGE: u32 = 8; +pub const CERT_KEY_CERT_SIGN_KEY_USAGE: u32 = 4; +pub const CERT_OFFLINE_CRL_SIGN_KEY_USAGE: u32 = 2; +pub const CERT_CRL_SIGN_KEY_USAGE: u32 = 2; +pub const CERT_ENCIPHER_ONLY_KEY_USAGE: u32 = 1; +pub const CERT_DECIPHER_ONLY_KEY_USAGE: u32 = 128; +pub const CERT_ALT_NAME_OTHER_NAME: u32 = 1; +pub const CERT_ALT_NAME_RFC822_NAME: u32 = 2; +pub const CERT_ALT_NAME_DNS_NAME: u32 = 3; +pub const CERT_ALT_NAME_X400_ADDRESS: u32 = 4; +pub const CERT_ALT_NAME_DIRECTORY_NAME: u32 = 5; +pub const CERT_ALT_NAME_EDI_PARTY_NAME: u32 = 6; +pub const CERT_ALT_NAME_URL: u32 = 7; +pub const CERT_ALT_NAME_IP_ADDRESS: u32 = 8; +pub const CERT_ALT_NAME_REGISTERED_ID: u32 = 9; +pub const CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK: u32 = 255; +pub const CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT: u32 = 16; +pub const CERT_ALT_NAME_VALUE_ERR_INDEX_MASK: u32 = 65535; +pub const CERT_ALT_NAME_VALUE_ERR_INDEX_SHIFT: u32 = 0; +pub const CERT_CA_SUBJECT_FLAG: u32 = 128; +pub const CERT_END_ENTITY_SUBJECT_FLAG: u32 = 64; +pub const szOID_PKIX_ACC_DESCR: &[u8; 17usize] = b"1.3.6.1.5.5.7.48\0"; +pub const szOID_PKIX_OCSP: &[u8; 19usize] = b"1.3.6.1.5.5.7.48.1\0"; +pub const szOID_PKIX_CA_ISSUERS: &[u8; 19usize] = b"1.3.6.1.5.5.7.48.2\0"; +pub const szOID_PKIX_TIME_STAMPING: &[u8; 19usize] = b"1.3.6.1.5.5.7.48.3\0"; +pub const szOID_PKIX_CA_REPOSITORY: &[u8; 19usize] = b"1.3.6.1.5.5.7.48.5\0"; +pub const CRL_REASON_UNSPECIFIED: u32 = 0; +pub const CRL_REASON_KEY_COMPROMISE: u32 = 1; +pub const CRL_REASON_CA_COMPROMISE: u32 = 2; +pub const CRL_REASON_AFFILIATION_CHANGED: u32 = 3; +pub const CRL_REASON_SUPERSEDED: u32 = 4; +pub const CRL_REASON_CESSATION_OF_OPERATION: u32 = 5; +pub const CRL_REASON_CERTIFICATE_HOLD: u32 = 6; +pub const CRL_REASON_REMOVE_FROM_CRL: u32 = 8; +pub const CRL_REASON_PRIVILEGE_WITHDRAWN: u32 = 9; +pub const CRL_REASON_AA_COMPROMISE: u32 = 10; +pub const CRL_DIST_POINT_NO_NAME: u32 = 0; +pub const CRL_DIST_POINT_FULL_NAME: u32 = 1; +pub const CRL_DIST_POINT_ISSUER_RDN_NAME: u32 = 2; +pub const CRL_REASON_UNUSED_FLAG: u32 = 128; +pub const CRL_REASON_KEY_COMPROMISE_FLAG: u32 = 64; +pub const CRL_REASON_CA_COMPROMISE_FLAG: u32 = 32; +pub const CRL_REASON_AFFILIATION_CHANGED_FLAG: u32 = 16; +pub const CRL_REASON_SUPERSEDED_FLAG: u32 = 8; +pub const CRL_REASON_CESSATION_OF_OPERATION_FLAG: u32 = 4; +pub const CRL_REASON_CERTIFICATE_HOLD_FLAG: u32 = 2; +pub const CRL_REASON_PRIVILEGE_WITHDRAWN_FLAG: u32 = 1; +pub const CRL_REASON_AA_COMPROMISE_FLAG: u32 = 128; +pub const CRL_DIST_POINT_ERR_INDEX_MASK: u32 = 127; +pub const CRL_DIST_POINT_ERR_INDEX_SHIFT: u32 = 24; +pub const CRL_DIST_POINT_ERR_CRL_ISSUER_BIT: u32 = 2147483648; +pub const CROSS_CERT_DIST_POINT_ERR_INDEX_MASK: u32 = 255; +pub const CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT: u32 = 24; +pub const CERT_EXCLUDED_SUBTREE_BIT: u32 = 2147483648; +pub const SORTED_CTL_EXT_FLAGS_OFFSET: u32 = 0; +pub const SORTED_CTL_EXT_COUNT_OFFSET: u32 = 4; +pub const SORTED_CTL_EXT_MAX_COLLISION_OFFSET: u32 = 8; +pub const SORTED_CTL_EXT_HASH_BUCKET_OFFSET: u32 = 12; +pub const SORTED_CTL_EXT_HASHED_SUBJECT_IDENTIFIER_FLAG: u32 = 1; +pub const CERT_DSS_R_LEN: u32 = 20; +pub const CERT_DSS_S_LEN: u32 = 20; +pub const CERT_DSS_SIGNATURE_LEN: u32 = 40; +pub const CERT_MAX_ASN_ENCODED_DSS_SIGNATURE_LEN: u32 = 48; +pub const CRYPT_X942_COUNTER_BYTE_LENGTH: u32 = 4; +pub const CRYPT_X942_KEY_LENGTH_BYTE_LENGTH: u32 = 4; +pub const CRYPT_X942_PUB_INFO_BYTE_LENGTH: u32 = 64; +pub const CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH: u32 = 4; +pub const CRYPT_RC2_40BIT_VERSION: u32 = 160; +pub const CRYPT_RC2_56BIT_VERSION: u32 = 52; +pub const CRYPT_RC2_64BIT_VERSION: u32 = 120; +pub const CRYPT_RC2_128BIT_VERSION: u32 = 58; +pub const szOID_QC_EU_COMPLIANCE: &[u8; 15usize] = b"0.4.0.1862.1.1\0"; +pub const szOID_QC_SSCD: &[u8; 15usize] = b"0.4.0.1862.1.4\0"; +pub const PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC: u32 = 1; +pub const szOID_VERISIGN_PRIVATE_6_9: &[u8; 24usize] = b"2.16.840.1.113733.1.6.9\0"; +pub const szOID_VERISIGN_ONSITE_JURISDICTION_HASH: &[u8; 25usize] = b"2.16.840.1.113733.1.6.11\0"; +pub const szOID_VERISIGN_BITSTRING_6_13: &[u8; 25usize] = b"2.16.840.1.113733.1.6.13\0"; +pub const szOID_VERISIGN_ISS_STRONG_CRYPTO: &[u8; 24usize] = b"2.16.840.1.113733.1.8.1\0"; +pub const szOIDVerisign_MessageType: &[u8; 24usize] = b"2.16.840.1.113733.1.9.2\0"; +pub const szOIDVerisign_PkiStatus: &[u8; 24usize] = b"2.16.840.1.113733.1.9.3\0"; +pub const szOIDVerisign_FailInfo: &[u8; 24usize] = b"2.16.840.1.113733.1.9.4\0"; +pub const szOIDVerisign_SenderNonce: &[u8; 24usize] = b"2.16.840.1.113733.1.9.5\0"; +pub const szOIDVerisign_RecipientNonce: &[u8; 24usize] = b"2.16.840.1.113733.1.9.6\0"; +pub const szOIDVerisign_TransactionID: &[u8; 24usize] = b"2.16.840.1.113733.1.9.7\0"; +pub const szOID_NETSCAPE: &[u8; 18usize] = b"2.16.840.1.113730\0"; +pub const szOID_NETSCAPE_CERT_EXTENSION: &[u8; 20usize] = b"2.16.840.1.113730.1\0"; +pub const szOID_NETSCAPE_CERT_TYPE: &[u8; 22usize] = b"2.16.840.1.113730.1.1\0"; +pub const szOID_NETSCAPE_BASE_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.2\0"; +pub const szOID_NETSCAPE_REVOCATION_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.3\0"; +pub const szOID_NETSCAPE_CA_REVOCATION_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.4\0"; +pub const szOID_NETSCAPE_CERT_RENEWAL_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.7\0"; +pub const szOID_NETSCAPE_CA_POLICY_URL: &[u8; 22usize] = b"2.16.840.1.113730.1.8\0"; +pub const szOID_NETSCAPE_SSL_SERVER_NAME: &[u8; 23usize] = b"2.16.840.1.113730.1.12\0"; +pub const szOID_NETSCAPE_COMMENT: &[u8; 23usize] = b"2.16.840.1.113730.1.13\0"; +pub const szOID_NETSCAPE_DATA_TYPE: &[u8; 20usize] = b"2.16.840.1.113730.2\0"; +pub const szOID_NETSCAPE_CERT_SEQUENCE: &[u8; 22usize] = b"2.16.840.1.113730.2.5\0"; +pub const NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE: u32 = 128; +pub const NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE: u32 = 64; +pub const NETSCAPE_SMIME_CERT_TYPE: u32 = 32; +pub const NETSCAPE_SIGN_CERT_TYPE: u32 = 16; +pub const NETSCAPE_SSL_CA_CERT_TYPE: u32 = 4; +pub const NETSCAPE_SMIME_CA_CERT_TYPE: u32 = 2; +pub const NETSCAPE_SIGN_CA_CERT_TYPE: u32 = 1; +pub const szOID_CT_PKI_DATA: &[u8; 19usize] = b"1.3.6.1.5.5.7.12.2\0"; +pub const szOID_CT_PKI_RESPONSE: &[u8; 19usize] = b"1.3.6.1.5.5.7.12.3\0"; +pub const szOID_PKIX_NO_SIGNATURE: &[u8; 18usize] = b"1.3.6.1.5.5.7.6.2\0"; +pub const szOID_CMC: &[u8; 16usize] = b"1.3.6.1.5.5.7.7\0"; +pub const szOID_CMC_STATUS_INFO: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.1\0"; +pub const szOID_CMC_IDENTIFICATION: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.2\0"; +pub const szOID_CMC_IDENTITY_PROOF: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.3\0"; +pub const szOID_CMC_DATA_RETURN: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.4\0"; +pub const szOID_CMC_TRANSACTION_ID: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.5\0"; +pub const szOID_CMC_SENDER_NONCE: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.6\0"; +pub const szOID_CMC_RECIPIENT_NONCE: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.7\0"; +pub const szOID_CMC_ADD_EXTENSIONS: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.8\0"; +pub const szOID_CMC_ENCRYPTED_POP: &[u8; 18usize] = b"1.3.6.1.5.5.7.7.9\0"; +pub const szOID_CMC_DECRYPTED_POP: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.10\0"; +pub const szOID_CMC_LRA_POP_WITNESS: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.11\0"; +pub const szOID_CMC_GET_CERT: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.15\0"; +pub const szOID_CMC_GET_CRL: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.16\0"; +pub const szOID_CMC_REVOKE_REQUEST: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.17\0"; +pub const szOID_CMC_REG_INFO: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.18\0"; +pub const szOID_CMC_RESPONSE_INFO: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.19\0"; +pub const szOID_CMC_QUERY_PENDING: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.21\0"; +pub const szOID_CMC_ID_POP_LINK_RANDOM: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.22\0"; +pub const szOID_CMC_ID_POP_LINK_WITNESS: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.23\0"; +pub const szOID_CMC_ID_CONFIRM_CERT_ACCEPTANCE: &[u8; 19usize] = b"1.3.6.1.5.5.7.7.24\0"; +pub const szOID_CMC_ADD_ATTRIBUTES: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.10.1\0"; +pub const CMC_TAGGED_CERT_REQUEST_CHOICE: u32 = 1; +pub const CMC_OTHER_INFO_NO_CHOICE: u32 = 0; +pub const CMC_OTHER_INFO_FAIL_CHOICE: u32 = 1; +pub const CMC_OTHER_INFO_PEND_CHOICE: u32 = 2; +pub const CMC_STATUS_SUCCESS: u32 = 0; +pub const CMC_STATUS_FAILED: u32 = 2; +pub const CMC_STATUS_PENDING: u32 = 3; +pub const CMC_STATUS_NO_SUPPORT: u32 = 4; +pub const CMC_STATUS_CONFIRM_REQUIRED: u32 = 5; +pub const CMC_FAIL_BAD_ALG: u32 = 0; +pub const CMC_FAIL_BAD_MESSAGE_CHECK: u32 = 1; +pub const CMC_FAIL_BAD_REQUEST: u32 = 2; +pub const CMC_FAIL_BAD_TIME: u32 = 3; +pub const CMC_FAIL_BAD_CERT_ID: u32 = 4; +pub const CMC_FAIL_UNSUPORTED_EXT: u32 = 5; +pub const CMC_FAIL_MUST_ARCHIVE_KEYS: u32 = 6; +pub const CMC_FAIL_BAD_IDENTITY: u32 = 7; +pub const CMC_FAIL_POP_REQUIRED: u32 = 8; +pub const CMC_FAIL_POP_FAILED: u32 = 9; +pub const CMC_FAIL_NO_KEY_REUSE: u32 = 10; +pub const CMC_FAIL_INTERNAL_CA_ERROR: u32 = 11; +pub const CMC_FAIL_TRY_LATER: u32 = 12; +pub const CERT_LOGOTYPE_GRAY_SCALE_IMAGE_INFO_CHOICE: u32 = 1; +pub const CERT_LOGOTYPE_COLOR_IMAGE_INFO_CHOICE: u32 = 2; +pub const CERT_LOGOTYPE_NO_IMAGE_RESOLUTION_CHOICE: u32 = 0; +pub const CERT_LOGOTYPE_BITS_IMAGE_RESOLUTION_CHOICE: u32 = 1; +pub const CERT_LOGOTYPE_TABLE_SIZE_IMAGE_RESOLUTION_CHOICE: u32 = 2; +pub const CERT_LOGOTYPE_DIRECT_INFO_CHOICE: u32 = 1; +pub const CERT_LOGOTYPE_INDIRECT_INFO_CHOICE: u32 = 2; +pub const szOID_LOYALTY_OTHER_LOGOTYPE: &[u8; 19usize] = b"1.3.6.1.5.5.7.20.1\0"; +pub const szOID_BACKGROUND_OTHER_LOGOTYPE: &[u8; 19usize] = b"1.3.6.1.5.5.7.20.2\0"; +pub const CERT_BIOMETRIC_PREDEFINED_DATA_CHOICE: u32 = 1; +pub const CERT_BIOMETRIC_OID_DATA_CHOICE: u32 = 2; +pub const CERT_BIOMETRIC_PICTURE_TYPE: u32 = 0; +pub const CERT_BIOMETRIC_SIGNATURE_TYPE: u32 = 1; +pub const OCSP_REQUEST_V1: u32 = 0; +pub const OCSP_SUCCESSFUL_RESPONSE: u32 = 0; +pub const OCSP_MALFORMED_REQUEST_RESPONSE: u32 = 1; +pub const OCSP_INTERNAL_ERROR_RESPONSE: u32 = 2; +pub const OCSP_TRY_LATER_RESPONSE: u32 = 3; +pub const OCSP_SIG_REQUIRED_RESPONSE: u32 = 5; +pub const OCSP_UNAUTHORIZED_RESPONSE: u32 = 6; +pub const szOID_PKIX_OCSP_BASIC_SIGNED_RESPONSE: &[u8; 21usize] = b"1.3.6.1.5.5.7.48.1.1\0"; +pub const OCSP_BASIC_GOOD_CERT_STATUS: u32 = 0; +pub const OCSP_BASIC_REVOKED_CERT_STATUS: u32 = 1; +pub const OCSP_BASIC_UNKNOWN_CERT_STATUS: u32 = 2; +pub const OCSP_BASIC_RESPONSE_V1: u32 = 0; +pub const OCSP_BASIC_BY_NAME_RESPONDER_ID: u32 = 1; +pub const OCSP_BASIC_BY_KEY_RESPONDER_ID: u32 = 2; +pub const CRYPT_OID_ENCODE_OBJECT_FUNC: &[u8; 21usize] = b"CryptDllEncodeObject\0"; +pub const CRYPT_OID_DECODE_OBJECT_FUNC: &[u8; 21usize] = b"CryptDllDecodeObject\0"; +pub const CRYPT_OID_ENCODE_OBJECT_EX_FUNC: &[u8; 23usize] = b"CryptDllEncodeObjectEx\0"; +pub const CRYPT_OID_DECODE_OBJECT_EX_FUNC: &[u8; 23usize] = b"CryptDllDecodeObjectEx\0"; +pub const CRYPT_OID_CREATE_COM_OBJECT_FUNC: &[u8; 24usize] = b"CryptDllCreateCOMObject\0"; +pub const CRYPT_OID_VERIFY_REVOCATION_FUNC: &[u8; 24usize] = b"CertDllVerifyRevocation\0"; +pub const CRYPT_OID_VERIFY_CTL_USAGE_FUNC: &[u8; 22usize] = b"CertDllVerifyCTLUsage\0"; +pub const CRYPT_OID_FORMAT_OBJECT_FUNC: &[u8; 21usize] = b"CryptDllFormatObject\0"; +pub const CRYPT_OID_FIND_OID_INFO_FUNC: &[u8; 20usize] = b"CryptDllFindOIDInfo\0"; +pub const CRYPT_OID_FIND_LOCALIZED_NAME_FUNC: &[u8; 26usize] = b"CryptDllFindLocalizedName\0"; +pub const CRYPT_OID_REGPATH: &[u8; 36usize] = b"Software\\Microsoft\\Cryptography\\OID\0"; +pub const CRYPT_OID_REG_ENCODING_TYPE_PREFIX: &[u8; 14usize] = b"EncodingType \0"; +pub const CRYPT_OID_REG_DLL_VALUE_NAME: &[u8; 4usize] = b"Dll\0"; +pub const CRYPT_OID_REG_FUNC_NAME_VALUE_NAME: &[u8; 9usize] = b"FuncName\0"; +pub const CRYPT_OID_REG_FUNC_NAME_VALUE_NAME_A: &[u8; 9usize] = b"FuncName\0"; +pub const CRYPT_OID_REG_FLAGS_VALUE_NAME: &[u8; 11usize] = b"CryptFlags\0"; +pub const CRYPT_DEFAULT_OID: &[u8; 8usize] = b"DEFAULT\0"; +pub const CRYPT_INSTALL_OID_FUNC_BEFORE_FLAG: u32 = 1; +pub const CRYPT_GET_INSTALLED_OID_FUNC_FLAG: u32 = 1; +pub const CRYPT_REGISTER_FIRST_INDEX: u32 = 0; +pub const CRYPT_REGISTER_LAST_INDEX: u32 = 4294967295; +pub const CRYPT_MATCH_ANY_ENCODING_TYPE: u32 = 4294967295; +pub const CALG_OID_INFO_CNG_ONLY: u32 = 4294967295; +pub const CALG_OID_INFO_PARAMETERS: u32 = 4294967294; +pub const CRYPT_OID_INFO_HASH_PARAMETERS_ALGORITHM: &[u8; 27usize] = + b"CryptOIDInfoHashParameters\0"; +pub const CRYPT_OID_INFO_ECC_PARAMETERS_ALGORITHM: &[u8; 26usize] = b"CryptOIDInfoECCParameters\0"; +pub const CRYPT_OID_INFO_MGF1_PARAMETERS_ALGORITHM: &[u8; 27usize] = + b"CryptOIDInfoMgf1Parameters\0"; +pub const CRYPT_OID_INFO_NO_SIGN_ALGORITHM: &[u8; 19usize] = b"CryptOIDInfoNoSign\0"; +pub const CRYPT_OID_INFO_OAEP_PARAMETERS_ALGORITHM: &[u8; 27usize] = + b"CryptOIDInfoOAEPParameters\0"; +pub const CRYPT_OID_INFO_ECC_WRAP_PARAMETERS_ALGORITHM: &[u8; 30usize] = + b"CryptOIDInfoECCWrapParameters\0"; +pub const CRYPT_OID_INFO_NO_PARAMETERS_ALGORITHM: &[u8; 25usize] = b"CryptOIDInfoNoParameters\0"; +pub const CRYPT_HASH_ALG_OID_GROUP_ID: u32 = 1; +pub const CRYPT_ENCRYPT_ALG_OID_GROUP_ID: u32 = 2; +pub const CRYPT_PUBKEY_ALG_OID_GROUP_ID: u32 = 3; +pub const CRYPT_SIGN_ALG_OID_GROUP_ID: u32 = 4; +pub const CRYPT_RDN_ATTR_OID_GROUP_ID: u32 = 5; +pub const CRYPT_EXT_OR_ATTR_OID_GROUP_ID: u32 = 6; +pub const CRYPT_ENHKEY_USAGE_OID_GROUP_ID: u32 = 7; +pub const CRYPT_POLICY_OID_GROUP_ID: u32 = 8; +pub const CRYPT_TEMPLATE_OID_GROUP_ID: u32 = 9; +pub const CRYPT_KDF_OID_GROUP_ID: u32 = 10; +pub const CRYPT_LAST_OID_GROUP_ID: u32 = 10; +pub const CRYPT_FIRST_ALG_OID_GROUP_ID: u32 = 1; +pub const CRYPT_LAST_ALG_OID_GROUP_ID: u32 = 4; +pub const CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG: u32 = 1; +pub const CRYPT_OID_USE_PUBKEY_PARA_FOR_PKCS7_FLAG: u32 = 2; +pub const CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG: u32 = 4; +pub const CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG: u32 = 2147483648; +pub const CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG: u32 = 1073741824; +pub const CRYPT_OID_USE_CURVE_NAME_FOR_ENCODE_FLAG: u32 = 536870912; +pub const CRYPT_OID_USE_CURVE_PARAMETERS_FOR_ENCODE_FLAG: u32 = 268435456; +pub const CRYPT_OID_INFO_OID_KEY: u32 = 1; +pub const CRYPT_OID_INFO_NAME_KEY: u32 = 2; +pub const CRYPT_OID_INFO_ALGID_KEY: u32 = 3; +pub const CRYPT_OID_INFO_SIGN_KEY: u32 = 4; +pub const CRYPT_OID_INFO_CNG_ALGID_KEY: u32 = 5; +pub const CRYPT_OID_INFO_CNG_SIGN_KEY: u32 = 6; +pub const CRYPT_OID_INFO_OID_KEY_FLAGS_MASK: u32 = 4294901760; +pub const CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG: u32 = 2147483648; +pub const CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG: u32 = 1073741824; +pub const CRYPT_OID_DISABLE_SEARCH_DS_FLAG: u32 = 2147483648; +pub const CRYPT_OID_INFO_OID_GROUP_BIT_LEN_MASK: u32 = 268369920; +pub const CRYPT_OID_INFO_OID_GROUP_BIT_LEN_SHIFT: u32 = 16; +pub const CRYPT_INSTALL_OID_INFO_BEFORE_FLAG: u32 = 1; +pub const CRYPT_LOCALIZED_NAME_ENCODING_TYPE: u32 = 0; +pub const CRYPT_LOCALIZED_NAME_OID: &[u8; 15usize] = b"LocalizedNames\0"; +pub const CERT_STRONG_SIGN_ECDSA_ALGORITHM: &[u8; 6usize] = b"ECDSA\0"; +pub const CERT_STRONG_SIGN_SERIALIZED_INFO_CHOICE: u32 = 1; +pub const CERT_STRONG_SIGN_OID_INFO_CHOICE: u32 = 2; +pub const CERT_STRONG_SIGN_ENABLE_CRL_CHECK: u32 = 1; +pub const CERT_STRONG_SIGN_ENABLE_OCSP_CHECK: u32 = 2; +pub const szOID_CERT_STRONG_SIGN_OS_PREFIX: &[u8; 22usize] = b"1.3.6.1.4.1.311.72.1.\0"; +pub const szOID_CERT_STRONG_SIGN_OS_1: &[u8; 23usize] = b"1.3.6.1.4.1.311.72.1.1\0"; +pub const szOID_CERT_STRONG_SIGN_OS_CURRENT: &[u8; 23usize] = b"1.3.6.1.4.1.311.72.1.1\0"; +pub const szOID_CERT_STRONG_KEY_OS_PREFIX: &[u8; 22usize] = b"1.3.6.1.4.1.311.72.2.\0"; +pub const szOID_CERT_STRONG_KEY_OS_1: &[u8; 23usize] = b"1.3.6.1.4.1.311.72.2.1\0"; +pub const szOID_CERT_STRONG_KEY_OS_CURRENT: &[u8; 23usize] = b"1.3.6.1.4.1.311.72.2.1\0"; +pub const szOID_PKCS_7_DATA: &[u8; 21usize] = b"1.2.840.113549.1.7.1\0"; +pub const szOID_PKCS_7_SIGNED: &[u8; 21usize] = b"1.2.840.113549.1.7.2\0"; +pub const szOID_PKCS_7_ENVELOPED: &[u8; 21usize] = b"1.2.840.113549.1.7.3\0"; +pub const szOID_PKCS_7_SIGNEDANDENVELOPED: &[u8; 21usize] = b"1.2.840.113549.1.7.4\0"; +pub const szOID_PKCS_7_DIGESTED: &[u8; 21usize] = b"1.2.840.113549.1.7.5\0"; +pub const szOID_PKCS_7_ENCRYPTED: &[u8; 21usize] = b"1.2.840.113549.1.7.6\0"; +pub const szOID_PKCS_9_CONTENT_TYPE: &[u8; 21usize] = b"1.2.840.113549.1.9.3\0"; +pub const szOID_PKCS_9_MESSAGE_DIGEST: &[u8; 21usize] = b"1.2.840.113549.1.9.4\0"; +pub const CMSG_DATA: u32 = 1; +pub const CMSG_SIGNED: u32 = 2; +pub const CMSG_ENVELOPED: u32 = 3; +pub const CMSG_SIGNED_AND_ENVELOPED: u32 = 4; +pub const CMSG_HASHED: u32 = 5; +pub const CMSG_ENCRYPTED: u32 = 6; +pub const CMSG_ALL_FLAGS: i32 = -1; +pub const CMSG_DATA_FLAG: u32 = 2; +pub const CMSG_SIGNED_FLAG: u32 = 4; +pub const CMSG_ENVELOPED_FLAG: u32 = 8; +pub const CMSG_SIGNED_AND_ENVELOPED_FLAG: u32 = 16; +pub const CMSG_HASHED_FLAG: u32 = 32; +pub const CMSG_ENCRYPTED_FLAG: u32 = 64; +pub const CERT_ID_ISSUER_SERIAL_NUMBER: u32 = 1; +pub const CERT_ID_KEY_IDENTIFIER: u32 = 2; +pub const CERT_ID_SHA1_HASH: u32 = 3; +pub const CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE: u32 = 1; +pub const CMSG_KEY_AGREE_STATIC_KEY_CHOICE: u32 = 2; +pub const CMSG_MAIL_LIST_HANDLE_KEY_CHOICE: u32 = 1; +pub const CMSG_KEY_TRANS_RECIPIENT: u32 = 1; +pub const CMSG_KEY_AGREE_RECIPIENT: u32 = 2; +pub const CMSG_MAIL_LIST_RECIPIENT: u32 = 3; +pub const CMSG_SP3_COMPATIBLE_ENCRYPT_FLAG: u32 = 2147483648; +pub const CMSG_RC4_NO_SALT_FLAG: u32 = 1073741824; +pub const CMSG_INDEFINITE_LENGTH: u32 = 4294967295; +pub const CMSG_BARE_CONTENT_FLAG: u32 = 1; +pub const CMSG_LENGTH_ONLY_FLAG: u32 = 2; +pub const CMSG_DETACHED_FLAG: u32 = 4; +pub const CMSG_AUTHENTICATED_ATTRIBUTES_FLAG: u32 = 8; +pub const CMSG_CONTENTS_OCTETS_FLAG: u32 = 16; +pub const CMSG_MAX_LENGTH_FLAG: u32 = 32; +pub const CMSG_CMS_ENCAPSULATED_CONTENT_FLAG: u32 = 64; +pub const CMSG_SIGNED_DATA_NO_SIGN_FLAG: u32 = 128; +pub const CMSG_CRYPT_RELEASE_CONTEXT_FLAG: u32 = 32768; +pub const CMSG_TYPE_PARAM: u32 = 1; +pub const CMSG_CONTENT_PARAM: u32 = 2; +pub const CMSG_BARE_CONTENT_PARAM: u32 = 3; +pub const CMSG_INNER_CONTENT_TYPE_PARAM: u32 = 4; +pub const CMSG_SIGNER_COUNT_PARAM: u32 = 5; +pub const CMSG_SIGNER_INFO_PARAM: u32 = 6; +pub const CMSG_SIGNER_CERT_INFO_PARAM: u32 = 7; +pub const CMSG_SIGNER_HASH_ALGORITHM_PARAM: u32 = 8; +pub const CMSG_SIGNER_AUTH_ATTR_PARAM: u32 = 9; +pub const CMSG_SIGNER_UNAUTH_ATTR_PARAM: u32 = 10; +pub const CMSG_CERT_COUNT_PARAM: u32 = 11; +pub const CMSG_CERT_PARAM: u32 = 12; +pub const CMSG_CRL_COUNT_PARAM: u32 = 13; +pub const CMSG_CRL_PARAM: u32 = 14; +pub const CMSG_ENVELOPE_ALGORITHM_PARAM: u32 = 15; +pub const CMSG_RECIPIENT_COUNT_PARAM: u32 = 17; +pub const CMSG_RECIPIENT_INDEX_PARAM: u32 = 18; +pub const CMSG_RECIPIENT_INFO_PARAM: u32 = 19; +pub const CMSG_HASH_ALGORITHM_PARAM: u32 = 20; +pub const CMSG_HASH_DATA_PARAM: u32 = 21; +pub const CMSG_COMPUTED_HASH_PARAM: u32 = 22; +pub const CMSG_ENCRYPT_PARAM: u32 = 26; +pub const CMSG_ENCRYPTED_DIGEST: u32 = 27; +pub const CMSG_ENCODED_SIGNER: u32 = 28; +pub const CMSG_ENCODED_MESSAGE: u32 = 29; +pub const CMSG_VERSION_PARAM: u32 = 30; +pub const CMSG_ATTR_CERT_COUNT_PARAM: u32 = 31; +pub const CMSG_ATTR_CERT_PARAM: u32 = 32; +pub const CMSG_CMS_RECIPIENT_COUNT_PARAM: u32 = 33; +pub const CMSG_CMS_RECIPIENT_INDEX_PARAM: u32 = 34; +pub const CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM: u32 = 35; +pub const CMSG_CMS_RECIPIENT_INFO_PARAM: u32 = 36; +pub const CMSG_UNPROTECTED_ATTR_PARAM: u32 = 37; +pub const CMSG_SIGNER_CERT_ID_PARAM: u32 = 38; +pub const CMSG_CMS_SIGNER_INFO_PARAM: u32 = 39; +pub const CMSG_SIGNED_DATA_V1: u32 = 1; +pub const CMSG_SIGNED_DATA_V3: u32 = 3; +pub const CMSG_SIGNED_DATA_PKCS_1_5_VERSION: u32 = 1; +pub const CMSG_SIGNED_DATA_CMS_VERSION: u32 = 3; +pub const CMSG_SIGNER_INFO_V1: u32 = 1; +pub const CMSG_SIGNER_INFO_V3: u32 = 3; +pub const CMSG_SIGNER_INFO_PKCS_1_5_VERSION: u32 = 1; +pub const CMSG_SIGNER_INFO_CMS_VERSION: u32 = 3; +pub const CMSG_HASHED_DATA_V0: u32 = 0; +pub const CMSG_HASHED_DATA_V2: u32 = 2; +pub const CMSG_HASHED_DATA_PKCS_1_5_VERSION: u32 = 0; +pub const CMSG_HASHED_DATA_CMS_VERSION: u32 = 2; +pub const CMSG_ENVELOPED_DATA_V0: u32 = 0; +pub const CMSG_ENVELOPED_DATA_V2: u32 = 2; +pub const CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION: u32 = 0; +pub const CMSG_ENVELOPED_DATA_CMS_VERSION: u32 = 2; +pub const CMSG_KEY_AGREE_ORIGINATOR_CERT: u32 = 1; +pub const CMSG_KEY_AGREE_ORIGINATOR_PUBLIC_KEY: u32 = 2; +pub const CMSG_ENVELOPED_RECIPIENT_V0: u32 = 0; +pub const CMSG_ENVELOPED_RECIPIENT_V2: u32 = 2; +pub const CMSG_ENVELOPED_RECIPIENT_V3: u32 = 3; +pub const CMSG_ENVELOPED_RECIPIENT_V4: u32 = 4; +pub const CMSG_KEY_TRANS_PKCS_1_5_VERSION: u32 = 0; +pub const CMSG_KEY_TRANS_CMS_VERSION: u32 = 2; +pub const CMSG_KEY_AGREE_VERSION: u32 = 3; +pub const CMSG_MAIL_LIST_VERSION: u32 = 4; +pub const CMSG_CTRL_VERIFY_SIGNATURE: u32 = 1; +pub const CMSG_CTRL_DECRYPT: u32 = 2; +pub const CMSG_CTRL_VERIFY_HASH: u32 = 5; +pub const CMSG_CTRL_ADD_SIGNER: u32 = 6; +pub const CMSG_CTRL_DEL_SIGNER: u32 = 7; +pub const CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR: u32 = 8; +pub const CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR: u32 = 9; +pub const CMSG_CTRL_ADD_CERT: u32 = 10; +pub const CMSG_CTRL_DEL_CERT: u32 = 11; +pub const CMSG_CTRL_ADD_CRL: u32 = 12; +pub const CMSG_CTRL_DEL_CRL: u32 = 13; +pub const CMSG_CTRL_ADD_ATTR_CERT: u32 = 14; +pub const CMSG_CTRL_DEL_ATTR_CERT: u32 = 15; +pub const CMSG_CTRL_KEY_TRANS_DECRYPT: u32 = 16; +pub const CMSG_CTRL_KEY_AGREE_DECRYPT: u32 = 17; +pub const CMSG_CTRL_MAIL_LIST_DECRYPT: u32 = 18; +pub const CMSG_CTRL_VERIFY_SIGNATURE_EX: u32 = 19; +pub const CMSG_CTRL_ADD_CMS_SIGNER_INFO: u32 = 20; +pub const CMSG_CTRL_ENABLE_STRONG_SIGNATURE: u32 = 21; +pub const CMSG_VERIFY_SIGNER_PUBKEY: u32 = 1; +pub const CMSG_VERIFY_SIGNER_CERT: u32 = 2; +pub const CMSG_VERIFY_SIGNER_CHAIN: u32 = 3; +pub const CMSG_VERIFY_SIGNER_NULL: u32 = 4; +pub const CMSG_VERIFY_COUNTER_SIGN_ENABLE_STRONG_FLAG: u32 = 1; +pub const CMSG_OID_GEN_ENCRYPT_KEY_FUNC: &[u8; 25usize] = b"CryptMsgDllGenEncryptKey\0"; +pub const CMSG_OID_EXPORT_ENCRYPT_KEY_FUNC: &[u8; 28usize] = b"CryptMsgDllExportEncryptKey\0"; +pub const CMSG_OID_IMPORT_ENCRYPT_KEY_FUNC: &[u8; 28usize] = b"CryptMsgDllImportEncryptKey\0"; +pub const CMSG_CONTENT_ENCRYPT_PAD_ENCODED_LEN_FLAG: u32 = 1; +pub const CMSG_CONTENT_ENCRYPT_FREE_PARA_FLAG: u32 = 1; +pub const CMSG_CONTENT_ENCRYPT_FREE_OBJID_FLAG: u32 = 2; +pub const CMSG_CONTENT_ENCRYPT_RELEASE_CONTEXT_FLAG: u32 = 32768; +pub const CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC: &[u8; 32usize] = + b"CryptMsgDllGenContentEncryptKey\0"; +pub const CMSG_OID_CAPI1_GEN_CONTENT_ENCRYPT_KEY_FUNC: &[u8; 32usize] = + b"CryptMsgDllGenContentEncryptKey\0"; +pub const CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC: &[u8; 35usize] = + b"CryptMsgDllCNGGenContentEncryptKey\0"; +pub const CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG: u32 = 1; +pub const CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG: u32 = 2; +pub const CMSG_OID_EXPORT_KEY_TRANS_FUNC: &[u8; 26usize] = b"CryptMsgDllExportKeyTrans\0"; +pub const CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC: &[u8; 26usize] = b"CryptMsgDllExportKeyTrans\0"; +pub const CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC: &[u8; 29usize] = b"CryptMsgDllCNGExportKeyTrans\0"; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PARA_FLAG: u32 = 1; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_MATERIAL_FLAG: u32 = 2; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_ALG_FLAG: u32 = 4; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_PARA_FLAG: u32 = 8; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_BITS_FLAG: u32 = 16; +pub const CMSG_KEY_AGREE_ENCRYPT_FREE_OBJID_FLAG: u32 = 32; +pub const CMSG_OID_EXPORT_KEY_AGREE_FUNC: &[u8; 26usize] = b"CryptMsgDllExportKeyAgree\0"; +pub const CMSG_OID_CAPI1_EXPORT_KEY_AGREE_FUNC: &[u8; 26usize] = b"CryptMsgDllExportKeyAgree\0"; +pub const CMSG_OID_CNG_EXPORT_KEY_AGREE_FUNC: &[u8; 29usize] = b"CryptMsgDllCNGExportKeyAgree\0"; +pub const CMSG_MAIL_LIST_ENCRYPT_FREE_PARA_FLAG: u32 = 1; +pub const CMSG_MAIL_LIST_ENCRYPT_FREE_OBJID_FLAG: u32 = 2; +pub const CMSG_OID_EXPORT_MAIL_LIST_FUNC: &[u8; 26usize] = b"CryptMsgDllExportMailList\0"; +pub const CMSG_OID_CAPI1_EXPORT_MAIL_LIST_FUNC: &[u8; 26usize] = b"CryptMsgDllExportMailList\0"; +pub const CMSG_OID_IMPORT_KEY_TRANS_FUNC: &[u8; 26usize] = b"CryptMsgDllImportKeyTrans\0"; +pub const CMSG_OID_CAPI1_IMPORT_KEY_TRANS_FUNC: &[u8; 26usize] = b"CryptMsgDllImportKeyTrans\0"; +pub const CMSG_OID_IMPORT_KEY_AGREE_FUNC: &[u8; 26usize] = b"CryptMsgDllImportKeyAgree\0"; +pub const CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC: &[u8; 26usize] = b"CryptMsgDllImportKeyAgree\0"; +pub const CMSG_OID_IMPORT_MAIL_LIST_FUNC: &[u8; 26usize] = b"CryptMsgDllImportMailList\0"; +pub const CMSG_OID_CAPI1_IMPORT_MAIL_LIST_FUNC: &[u8; 26usize] = b"CryptMsgDllImportMailList\0"; +pub const CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC: &[u8; 29usize] = b"CryptMsgDllCNGImportKeyTrans\0"; +pub const CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC: &[u8; 29usize] = b"CryptMsgDllCNGImportKeyAgree\0"; +pub const CMSG_OID_CNG_IMPORT_CONTENT_ENCRYPT_KEY_FUNC: &[u8; 38usize] = + b"CryptMsgDllCNGImportContentEncryptKey\0"; +pub const CERT_KEY_PROV_HANDLE_PROP_ID: u32 = 1; +pub const CERT_KEY_PROV_INFO_PROP_ID: u32 = 2; +pub const CERT_SHA1_HASH_PROP_ID: u32 = 3; +pub const CERT_MD5_HASH_PROP_ID: u32 = 4; +pub const CERT_HASH_PROP_ID: u32 = 3; +pub const CERT_KEY_CONTEXT_PROP_ID: u32 = 5; +pub const CERT_KEY_SPEC_PROP_ID: u32 = 6; +pub const CERT_IE30_RESERVED_PROP_ID: u32 = 7; +pub const CERT_PUBKEY_HASH_RESERVED_PROP_ID: u32 = 8; +pub const CERT_ENHKEY_USAGE_PROP_ID: u32 = 9; +pub const CERT_CTL_USAGE_PROP_ID: u32 = 9; +pub const CERT_NEXT_UPDATE_LOCATION_PROP_ID: u32 = 10; +pub const CERT_FRIENDLY_NAME_PROP_ID: u32 = 11; +pub const CERT_PVK_FILE_PROP_ID: u32 = 12; +pub const CERT_DESCRIPTION_PROP_ID: u32 = 13; +pub const CERT_ACCESS_STATE_PROP_ID: u32 = 14; +pub const CERT_SIGNATURE_HASH_PROP_ID: u32 = 15; +pub const CERT_SMART_CARD_DATA_PROP_ID: u32 = 16; +pub const CERT_EFS_PROP_ID: u32 = 17; +pub const CERT_FORTEZZA_DATA_PROP_ID: u32 = 18; +pub const CERT_ARCHIVED_PROP_ID: u32 = 19; +pub const CERT_KEY_IDENTIFIER_PROP_ID: u32 = 20; +pub const CERT_AUTO_ENROLL_PROP_ID: u32 = 21; +pub const CERT_PUBKEY_ALG_PARA_PROP_ID: u32 = 22; +pub const CERT_CROSS_CERT_DIST_POINTS_PROP_ID: u32 = 23; +pub const CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID: u32 = 24; +pub const CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID: u32 = 25; +pub const CERT_ENROLLMENT_PROP_ID: u32 = 26; +pub const CERT_DATE_STAMP_PROP_ID: u32 = 27; +pub const CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: u32 = 28; +pub const CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: u32 = 29; +pub const CERT_EXTENDED_ERROR_INFO_PROP_ID: u32 = 30; +pub const CERT_RENEWAL_PROP_ID: u32 = 64; +pub const CERT_ARCHIVED_KEY_HASH_PROP_ID: u32 = 65; +pub const CERT_AUTO_ENROLL_RETRY_PROP_ID: u32 = 66; +pub const CERT_AIA_URL_RETRIEVED_PROP_ID: u32 = 67; +pub const CERT_AUTHORITY_INFO_ACCESS_PROP_ID: u32 = 68; +pub const CERT_BACKED_UP_PROP_ID: u32 = 69; +pub const CERT_OCSP_RESPONSE_PROP_ID: u32 = 70; +pub const CERT_REQUEST_ORIGINATOR_PROP_ID: u32 = 71; +pub const CERT_SOURCE_LOCATION_PROP_ID: u32 = 72; +pub const CERT_SOURCE_URL_PROP_ID: u32 = 73; +pub const CERT_NEW_KEY_PROP_ID: u32 = 74; +pub const CERT_OCSP_CACHE_PREFIX_PROP_ID: u32 = 75; +pub const CERT_SMART_CARD_ROOT_INFO_PROP_ID: u32 = 76; +pub const CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID: u32 = 77; +pub const CERT_NCRYPT_KEY_HANDLE_PROP_ID: u32 = 78; +pub const CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID: u32 = 79; +pub const CERT_SUBJECT_INFO_ACCESS_PROP_ID: u32 = 80; +pub const CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: u32 = 81; +pub const CERT_CA_DISABLE_CRL_PROP_ID: u32 = 82; +pub const CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID: u32 = 83; +pub const CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID: u32 = 84; +pub const CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: u32 = 85; +pub const CERT_SUBJECT_DISABLE_CRL_PROP_ID: u32 = 86; +pub const CERT_CEP_PROP_ID: u32 = 87; +pub const CERT_SIGN_HASH_CNG_ALG_PROP_ID: u32 = 89; +pub const CERT_SCARD_PIN_ID_PROP_ID: u32 = 90; +pub const CERT_SCARD_PIN_INFO_PROP_ID: u32 = 91; +pub const CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID: u32 = 92; +pub const CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: u32 = 93; +pub const CERT_ISSUER_PUB_KEY_BIT_LENGTH_PROP_ID: u32 = 94; +pub const CERT_ISSUER_CHAIN_SIGN_HASH_CNG_ALG_PROP_ID: u32 = 95; +pub const CERT_ISSUER_CHAIN_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: u32 = 96; +pub const CERT_NO_EXPIRE_NOTIFICATION_PROP_ID: u32 = 97; +pub const CERT_AUTH_ROOT_SHA256_HASH_PROP_ID: u32 = 98; +pub const CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID: u32 = 99; +pub const CERT_HCRYPTPROV_TRANSFER_PROP_ID: u32 = 100; +pub const CERT_SMART_CARD_READER_PROP_ID: u32 = 101; +pub const CERT_SEND_AS_TRUSTED_ISSUER_PROP_ID: u32 = 102; +pub const CERT_KEY_REPAIR_ATTEMPTED_PROP_ID: u32 = 103; +pub const CERT_DISALLOWED_FILETIME_PROP_ID: u32 = 104; +pub const CERT_ROOT_PROGRAM_CHAIN_POLICIES_PROP_ID: u32 = 105; +pub const CERT_SMART_CARD_READER_NON_REMOVABLE_PROP_ID: u32 = 106; +pub const CERT_SHA256_HASH_PROP_ID: u32 = 107; +pub const CERT_SCEP_SERVER_CERTS_PROP_ID: u32 = 108; +pub const CERT_SCEP_RA_SIGNATURE_CERT_PROP_ID: u32 = 109; +pub const CERT_SCEP_RA_ENCRYPTION_CERT_PROP_ID: u32 = 110; +pub const CERT_SCEP_CA_CERT_PROP_ID: u32 = 111; +pub const CERT_SCEP_SIGNER_CERT_PROP_ID: u32 = 112; +pub const CERT_SCEP_NONCE_PROP_ID: u32 = 113; +pub const CERT_SCEP_ENCRYPT_HASH_CNG_ALG_PROP_ID: u32 = 114; +pub const CERT_SCEP_FLAGS_PROP_ID: u32 = 115; +pub const CERT_SCEP_GUID_PROP_ID: u32 = 116; +pub const CERT_SERIALIZABLE_KEY_CONTEXT_PROP_ID: u32 = 117; +pub const CERT_ISOLATED_KEY_PROP_ID: u32 = 118; +pub const CERT_SERIAL_CHAIN_PROP_ID: u32 = 119; +pub const CERT_KEY_CLASSIFICATION_PROP_ID: u32 = 120; +pub const CERT_OCSP_MUST_STAPLE_PROP_ID: u32 = 121; +pub const CERT_DISALLOWED_ENHKEY_USAGE_PROP_ID: u32 = 122; +pub const CERT_NONCOMPLIANT_ROOT_URL_PROP_ID: u32 = 123; +pub const CERT_PIN_SHA256_HASH_PROP_ID: u32 = 124; +pub const CERT_CLR_DELETE_KEY_PROP_ID: u32 = 125; +pub const CERT_NOT_BEFORE_FILETIME_PROP_ID: u32 = 126; +pub const CERT_NOT_BEFORE_ENHKEY_USAGE_PROP_ID: u32 = 127; +pub const CERT_FIRST_RESERVED_PROP_ID: u32 = 128; +pub const CERT_LAST_RESERVED_PROP_ID: u32 = 32767; +pub const CERT_FIRST_USER_PROP_ID: u32 = 32768; +pub const CERT_LAST_USER_PROP_ID: u32 = 65535; +pub const szOID_CERT_PROP_ID_PREFIX: &[u8; 23usize] = b"1.3.6.1.4.1.311.10.11.\0"; +pub const szOID_CERT_KEY_IDENTIFIER_PROP_ID: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.11.20\0"; +pub const szOID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: &[u8; 25usize] = + b"1.3.6.1.4.1.311.10.11.28\0"; +pub const szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.11.29\0"; +pub const szOID_CERT_MD5_HASH_PROP_ID: &[u8; 24usize] = b"1.3.6.1.4.1.311.10.11.4\0"; +pub const szOID_CERT_SIGNATURE_HASH_PROP_ID: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.11.15\0"; +pub const szOID_DISALLOWED_HASH: &[u8; 25usize] = b"1.3.6.1.4.1.311.10.11.15\0"; +pub const szOID_CERT_DISALLOWED_FILETIME_PROP_ID: &[u8; 26usize] = b"1.3.6.1.4.1.311.10.11.104\0"; +pub const CERT_ACCESS_STATE_WRITE_PERSIST_FLAG: u32 = 1; +pub const CERT_ACCESS_STATE_SYSTEM_STORE_FLAG: u32 = 2; +pub const CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG: u32 = 4; +pub const CERT_ACCESS_STATE_GP_SYSTEM_STORE_FLAG: u32 = 8; +pub const CERT_ACCESS_STATE_SHARED_USER_FLAG: u32 = 16; +pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION: &[u8; 23usize] = + b"1.3.6.1.4.1.311.60.3.1\0"; +pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION: &[u8; 23usize] = + b"1.3.6.1.4.1.311.60.3.2\0"; +pub const szOID_ROOT_PROGRAM_NO_OCSP_FAILOVER_TO_CRL: &[u8; 23usize] = b"1.3.6.1.4.1.311.60.3.3\0"; +pub const CERT_SET_KEY_PROV_HANDLE_PROP_ID: u32 = 1; +pub const CERT_SET_KEY_CONTEXT_PROP_ID: u32 = 1; +pub const CERT_NCRYPT_KEY_SPEC: u32 = 4294967295; +pub const sz_CERT_STORE_PROV_MEMORY: &[u8; 7usize] = b"Memory\0"; +pub const sz_CERT_STORE_PROV_FILENAME_W: &[u8; 5usize] = b"File\0"; +pub const sz_CERT_STORE_PROV_FILENAME: &[u8; 5usize] = b"File\0"; +pub const sz_CERT_STORE_PROV_SYSTEM_W: &[u8; 7usize] = b"System\0"; +pub const sz_CERT_STORE_PROV_SYSTEM: &[u8; 7usize] = b"System\0"; +pub const sz_CERT_STORE_PROV_PKCS7: &[u8; 6usize] = b"PKCS7\0"; +pub const sz_CERT_STORE_PROV_PKCS12: &[u8; 7usize] = b"PKCS12\0"; +pub const sz_CERT_STORE_PROV_SERIALIZED: &[u8; 11usize] = b"Serialized\0"; +pub const sz_CERT_STORE_PROV_COLLECTION: &[u8; 11usize] = b"Collection\0"; +pub const sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W: &[u8; 15usize] = b"SystemRegistry\0"; +pub const sz_CERT_STORE_PROV_SYSTEM_REGISTRY: &[u8; 15usize] = b"SystemRegistry\0"; +pub const sz_CERT_STORE_PROV_PHYSICAL_W: &[u8; 9usize] = b"Physical\0"; +pub const sz_CERT_STORE_PROV_PHYSICAL: &[u8; 9usize] = b"Physical\0"; +pub const sz_CERT_STORE_PROV_SMART_CARD_W: &[u8; 10usize] = b"SmartCard\0"; +pub const sz_CERT_STORE_PROV_SMART_CARD: &[u8; 10usize] = b"SmartCard\0"; +pub const sz_CERT_STORE_PROV_LDAP_W: &[u8; 5usize] = b"Ldap\0"; +pub const sz_CERT_STORE_PROV_LDAP: &[u8; 5usize] = b"Ldap\0"; +pub const CERT_STORE_SIGNATURE_FLAG: u32 = 1; +pub const CERT_STORE_TIME_VALIDITY_FLAG: u32 = 2; +pub const CERT_STORE_REVOCATION_FLAG: u32 = 4; +pub const CERT_STORE_NO_CRL_FLAG: u32 = 65536; +pub const CERT_STORE_NO_ISSUER_FLAG: u32 = 131072; +pub const CERT_STORE_BASE_CRL_FLAG: u32 = 256; +pub const CERT_STORE_DELTA_CRL_FLAG: u32 = 512; +pub const CERT_STORE_NO_CRYPT_RELEASE_FLAG: u32 = 1; +pub const CERT_STORE_SET_LOCALIZED_NAME_FLAG: u32 = 2; +pub const CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG: u32 = 4; +pub const CERT_STORE_DELETE_FLAG: u32 = 16; +pub const CERT_STORE_UNSAFE_PHYSICAL_FLAG: u32 = 32; +pub const CERT_STORE_SHARE_STORE_FLAG: u32 = 64; +pub const CERT_STORE_SHARE_CONTEXT_FLAG: u32 = 128; +pub const CERT_STORE_MANIFOLD_FLAG: u32 = 256; +pub const CERT_STORE_ENUM_ARCHIVED_FLAG: u32 = 512; +pub const CERT_STORE_UPDATE_KEYID_FLAG: u32 = 1024; +pub const CERT_STORE_BACKUP_RESTORE_FLAG: u32 = 2048; +pub const CERT_STORE_READONLY_FLAG: u32 = 32768; +pub const CERT_STORE_OPEN_EXISTING_FLAG: u32 = 16384; +pub const CERT_STORE_CREATE_NEW_FLAG: u32 = 8192; +pub const CERT_STORE_MAXIMUM_ALLOWED_FLAG: u32 = 4096; +pub const CERT_SYSTEM_STORE_MASK: u32 = 4294901760; +pub const CERT_SYSTEM_STORE_RELOCATE_FLAG: u32 = 2147483648; +pub const CERT_SYSTEM_STORE_UNPROTECTED_FLAG: u32 = 1073741824; +pub const CERT_SYSTEM_STORE_DEFER_READ_FLAG: u32 = 536870912; +pub const CERT_SYSTEM_STORE_LOCATION_MASK: u32 = 16711680; +pub const CERT_SYSTEM_STORE_LOCATION_SHIFT: u32 = 16; +pub const CERT_SYSTEM_STORE_CURRENT_USER_ID: u32 = 1; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ID: u32 = 2; +pub const CERT_SYSTEM_STORE_CURRENT_SERVICE_ID: u32 = 4; +pub const CERT_SYSTEM_STORE_SERVICES_ID: u32 = 5; +pub const CERT_SYSTEM_STORE_USERS_ID: u32 = 6; +pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID: u32 = 7; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID: u32 = 8; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID: u32 = 9; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS_ID: u32 = 10; +pub const CERT_SYSTEM_STORE_CURRENT_USER: u32 = 65536; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE: u32 = 131072; +pub const CERT_SYSTEM_STORE_CURRENT_SERVICE: u32 = 262144; +pub const CERT_SYSTEM_STORE_SERVICES: u32 = 327680; +pub const CERT_SYSTEM_STORE_USERS: u32 = 393216; +pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY: u32 = 458752; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY: u32 = 524288; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE: u32 = 589824; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS: u32 = 655360; +pub const CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH: &[u8; 47usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\0"; +pub const CERT_EFSBLOB_REGPATH: &[u8; 51usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\EFS\0"; +pub const CERT_EFSBLOB_VALUE_NAME: &[u8; 8usize] = b"EFSBlob\0"; +pub const CERT_PROT_ROOT_FLAGS_REGPATH: &[u8; 67usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\Root\\ProtectedRoots\0"; +pub const CERT_PROT_ROOT_FLAGS_VALUE_NAME: &[u8; 6usize] = b"Flags\0"; +pub const CERT_PROT_ROOT_DISABLE_CURRENT_USER_FLAG: u32 = 1; +pub const CERT_PROT_ROOT_INHIBIT_ADD_AT_INIT_FLAG: u32 = 2; +pub const CERT_PROT_ROOT_INHIBIT_PURGE_LM_FLAG: u32 = 4; +pub const CERT_PROT_ROOT_DISABLE_LM_AUTH_FLAG: u32 = 8; +pub const CERT_PROT_ROOT_ONLY_LM_GPT_FLAG: u32 = 8; +pub const CERT_PROT_ROOT_DISABLE_NT_AUTH_REQUIRED_FLAG: u32 = 16; +pub const CERT_PROT_ROOT_DISABLE_NOT_DEFINED_NAME_CONSTRAINT_FLAG: u32 = 32; +pub const CERT_PROT_ROOT_DISABLE_PEER_TRUST: u32 = 65536; +pub const CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME: &[u8; 11usize] = b"PeerUsages\0"; +pub const CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME_A: &[u8; 11usize] = b"PeerUsages\0"; +pub const CERT_PROT_ROOT_PEER_USAGES_DEFAULT_A: &[u8; 60usize] = + b"1.3.6.1.5.5.7.3.2\01.3.6.1.5.5.7.3.4\01.3.6.1.4.1.311.10.3.4\0\0"; +pub const CERT_TRUST_PUB_SAFER_GROUP_POLICY_REGPATH: &[u8; 70usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\TrustedPublisher\\Safer\0"; +pub const CERT_LOCAL_MACHINE_SYSTEM_STORE_REGPATH: &[u8; 38usize] = + b"Software\\Microsoft\\SystemCertificates\0"; +pub const CERT_TRUST_PUB_SAFER_LOCAL_MACHINE_REGPATH: &[u8; 61usize] = + b"Software\\Microsoft\\SystemCertificates\\TrustedPublisher\\Safer\0"; +pub const CERT_TRUST_PUB_AUTHENTICODE_FLAGS_VALUE_NAME: &[u8; 18usize] = b"AuthenticodeFlags\0"; +pub const CERT_TRUST_PUB_ALLOW_TRUST_MASK: u32 = 3; +pub const CERT_TRUST_PUB_ALLOW_END_USER_TRUST: u32 = 0; +pub const CERT_TRUST_PUB_ALLOW_MACHINE_ADMIN_TRUST: u32 = 1; +pub const CERT_TRUST_PUB_ALLOW_ENTERPRISE_ADMIN_TRUST: u32 = 2; +pub const CERT_TRUST_PUB_CHECK_PUBLISHER_REV_FLAG: u32 = 256; +pub const CERT_TRUST_PUB_CHECK_TIMESTAMP_REV_FLAG: u32 = 512; +pub const CERT_OCM_SUBCOMPONENTS_LOCAL_MACHINE_REGPATH: &[u8; 73usize] = + b"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Subcomponents\0"; +pub const CERT_OCM_SUBCOMPONENTS_ROOT_AUTO_UPDATE_VALUE_NAME: &[u8; 15usize] = b"RootAutoUpdate\0"; +pub const CERT_DISABLE_ROOT_AUTO_UPDATE_REGPATH: &[u8; 56usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\AuthRoot\0"; +pub const CERT_DISABLE_ROOT_AUTO_UPDATE_VALUE_NAME: &[u8; 22usize] = b"DisableRootAutoUpdate\0"; +pub const CERT_ENABLE_DISALLOWED_CERT_AUTO_UPDATE_VALUE_NAME: &[u8; 31usize] = + b"EnableDisallowedCertAutoUpdate\0"; +pub const CERT_DISABLE_PIN_RULES_AUTO_UPDATE_VALUE_NAME: &[u8; 26usize] = + b"DisablePinRulesAutoUpdate\0"; +pub const CERT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: &[u8; 58usize] = + b"Software\\Microsoft\\SystemCertificates\\AuthRoot\\AutoUpdate\0"; +pub const CERT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: &[u8; 11usize] = b"RootDirUrl\0"; +pub const CERT_AUTO_UPDATE_SYNC_FROM_DIR_URL_VALUE_NAME: &[u8; 15usize] = b"SyncFromDirUrl\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH: &[u8; 58usize] = + b"Software\\Microsoft\\SystemCertificates\\AuthRoot\\AutoUpdate\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME: &[u8; 11usize] = b"RootDirUrl\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &[u8; 14usize] = + b"SyncDeltaTime\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_FLAGS_VALUE_NAME: &[u8; 6usize] = b"Flags\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_UNTRUSTED_ROOT_LOGGING_FLAG: u32 = 1; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_PARTIAL_CHAIN_LOGGING_FLAG: u32 = 2; +pub const CERT_AUTO_UPDATE_DISABLE_RANDOM_QUERY_STRING_FLAG: u32 = 4; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &[u8; 13usize] = b"LastSyncTime\0"; +pub const CERT_AUTH_ROOT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &[u8; 11usize] = b"EncodedCtl\0"; +pub const CERT_AUTH_ROOT_CTL_FILENAME: &[u8; 13usize] = b"authroot.stl\0"; +pub const CERT_AUTH_ROOT_CTL_FILENAME_A: &[u8; 13usize] = b"authroot.stl\0"; +pub const CERT_AUTH_ROOT_CAB_FILENAME: &[u8; 16usize] = b"authrootstl.cab\0"; +pub const CERT_AUTH_ROOT_SEQ_FILENAME: &[u8; 16usize] = b"authrootseq.txt\0"; +pub const CERT_AUTH_ROOT_CERT_EXT: &[u8; 5usize] = b".crt\0"; +pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &[u8; 28usize] = + b"DisallowedCertSyncDeltaTime\0"; +pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &[u8; 27usize] = + b"DisallowedCertLastSyncTime\0"; +pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &[u8; 25usize] = + b"DisallowedCertEncodedCtl\0"; +pub const CERT_DISALLOWED_CERT_CTL_FILENAME: &[u8; 19usize] = b"disallowedcert.stl\0"; +pub const CERT_DISALLOWED_CERT_CTL_FILENAME_A: &[u8; 19usize] = b"disallowedcert.stl\0"; +pub const CERT_DISALLOWED_CERT_CAB_FILENAME: &[u8; 22usize] = b"disallowedcertstl.cab\0"; +pub const CERT_DISALLOWED_CERT_AUTO_UPDATE_LIST_IDENTIFIER: &[u8; 28usize] = + b"DisallowedCert_AutoUpdate_1\0"; +pub const CERT_PIN_RULES_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME: &[u8; 22usize] = + b"PinRulesSyncDeltaTime\0"; +pub const CERT_PIN_RULES_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME: &[u8; 21usize] = + b"PinRulesLastSyncTime\0"; +pub const CERT_PIN_RULES_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME: &[u8; 19usize] = + b"PinRulesEncodedCtl\0"; +pub const CERT_PIN_RULES_CTL_FILENAME: &[u8; 13usize] = b"pinrules.stl\0"; +pub const CERT_PIN_RULES_CTL_FILENAME_A: &[u8; 13usize] = b"pinrules.stl\0"; +pub const CERT_PIN_RULES_CAB_FILENAME: &[u8; 16usize] = b"pinrulesstl.cab\0"; +pub const CERT_PIN_RULES_AUTO_UPDATE_LIST_IDENTIFIER: &[u8; 22usize] = b"PinRules_AutoUpdate_1\0"; +pub const CERT_REGISTRY_STORE_REMOTE_FLAG: u32 = 65536; +pub const CERT_REGISTRY_STORE_SERIALIZED_FLAG: u32 = 131072; +pub const CERT_REGISTRY_STORE_CLIENT_GPT_FLAG: u32 = 2147483648; +pub const CERT_REGISTRY_STORE_LM_GPT_FLAG: u32 = 16777216; +pub const CERT_REGISTRY_STORE_ROAMING_FLAG: u32 = 262144; +pub const CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG: u32 = 524288; +pub const CERT_REGISTRY_STORE_EXTERNAL_FLAG: u32 = 1048576; +pub const CERT_IE_DIRTY_FLAGS_REGPATH: &[u8; 45usize] = + b"Software\\Microsoft\\Cryptography\\IEDirtyFlags\0"; +pub const CERT_FILE_STORE_COMMIT_ENABLE_FLAG: u32 = 65536; +pub const CERT_LDAP_STORE_SIGN_FLAG: u32 = 65536; +pub const CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG: u32 = 131072; +pub const CERT_LDAP_STORE_OPENED_FLAG: u32 = 262144; +pub const CERT_LDAP_STORE_UNBIND_FLAG: u32 = 524288; +pub const CRYPT_OID_OPEN_STORE_PROV_FUNC: &[u8; 21usize] = b"CertDllOpenStoreProv\0"; +pub const CERT_STORE_PROV_EXTERNAL_FLAG: u32 = 1; +pub const CERT_STORE_PROV_DELETED_FLAG: u32 = 2; +pub const CERT_STORE_PROV_NO_PERSIST_FLAG: u32 = 4; +pub const CERT_STORE_PROV_SYSTEM_STORE_FLAG: u32 = 8; +pub const CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG: u32 = 16; +pub const CERT_STORE_PROV_GP_SYSTEM_STORE_FLAG: u32 = 32; +pub const CERT_STORE_PROV_SHARED_USER_FLAG: u32 = 64; +pub const CERT_STORE_PROV_CLOSE_FUNC: u32 = 0; +pub const CERT_STORE_PROV_READ_CERT_FUNC: u32 = 1; +pub const CERT_STORE_PROV_WRITE_CERT_FUNC: u32 = 2; +pub const CERT_STORE_PROV_DELETE_CERT_FUNC: u32 = 3; +pub const CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC: u32 = 4; +pub const CERT_STORE_PROV_READ_CRL_FUNC: u32 = 5; +pub const CERT_STORE_PROV_WRITE_CRL_FUNC: u32 = 6; +pub const CERT_STORE_PROV_DELETE_CRL_FUNC: u32 = 7; +pub const CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC: u32 = 8; +pub const CERT_STORE_PROV_READ_CTL_FUNC: u32 = 9; +pub const CERT_STORE_PROV_WRITE_CTL_FUNC: u32 = 10; +pub const CERT_STORE_PROV_DELETE_CTL_FUNC: u32 = 11; +pub const CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC: u32 = 12; +pub const CERT_STORE_PROV_CONTROL_FUNC: u32 = 13; +pub const CERT_STORE_PROV_FIND_CERT_FUNC: u32 = 14; +pub const CERT_STORE_PROV_FREE_FIND_CERT_FUNC: u32 = 15; +pub const CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC: u32 = 16; +pub const CERT_STORE_PROV_FIND_CRL_FUNC: u32 = 17; +pub const CERT_STORE_PROV_FREE_FIND_CRL_FUNC: u32 = 18; +pub const CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC: u32 = 19; +pub const CERT_STORE_PROV_FIND_CTL_FUNC: u32 = 20; +pub const CERT_STORE_PROV_FREE_FIND_CTL_FUNC: u32 = 21; +pub const CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC: u32 = 22; +pub const CERT_STORE_PROV_WRITE_ADD_FLAG: u32 = 1; +pub const CERT_STORE_SAVE_AS_STORE: u32 = 1; +pub const CERT_STORE_SAVE_AS_PKCS7: u32 = 2; +pub const CERT_STORE_SAVE_AS_PKCS12: u32 = 3; +pub const CERT_STORE_SAVE_TO_FILE: u32 = 1; +pub const CERT_STORE_SAVE_TO_MEMORY: u32 = 2; +pub const CERT_STORE_SAVE_TO_FILENAME_A: u32 = 3; +pub const CERT_STORE_SAVE_TO_FILENAME_W: u32 = 4; +pub const CERT_STORE_SAVE_TO_FILENAME: u32 = 4; +pub const CERT_CLOSE_STORE_FORCE_FLAG: u32 = 1; +pub const CERT_CLOSE_STORE_CHECK_FLAG: u32 = 2; +pub const CERT_COMPARE_MASK: u32 = 65535; +pub const CERT_COMPARE_SHIFT: u32 = 16; +pub const CERT_COMPARE_ANY: u32 = 0; +pub const CERT_COMPARE_SHA1_HASH: u32 = 1; +pub const CERT_COMPARE_NAME: u32 = 2; +pub const CERT_COMPARE_ATTR: u32 = 3; +pub const CERT_COMPARE_MD5_HASH: u32 = 4; +pub const CERT_COMPARE_PROPERTY: u32 = 5; +pub const CERT_COMPARE_PUBLIC_KEY: u32 = 6; +pub const CERT_COMPARE_HASH: u32 = 1; +pub const CERT_COMPARE_NAME_STR_A: u32 = 7; +pub const CERT_COMPARE_NAME_STR_W: u32 = 8; +pub const CERT_COMPARE_KEY_SPEC: u32 = 9; +pub const CERT_COMPARE_ENHKEY_USAGE: u32 = 10; +pub const CERT_COMPARE_CTL_USAGE: u32 = 10; +pub const CERT_COMPARE_SUBJECT_CERT: u32 = 11; +pub const CERT_COMPARE_ISSUER_OF: u32 = 12; +pub const CERT_COMPARE_EXISTING: u32 = 13; +pub const CERT_COMPARE_SIGNATURE_HASH: u32 = 14; +pub const CERT_COMPARE_KEY_IDENTIFIER: u32 = 15; +pub const CERT_COMPARE_CERT_ID: u32 = 16; +pub const CERT_COMPARE_CROSS_CERT_DIST_POINTS: u32 = 17; +pub const CERT_COMPARE_PUBKEY_MD5_HASH: u32 = 18; +pub const CERT_COMPARE_SUBJECT_INFO_ACCESS: u32 = 19; +pub const CERT_COMPARE_HASH_STR: u32 = 20; +pub const CERT_COMPARE_HAS_PRIVATE_KEY: u32 = 21; +pub const CERT_FIND_ANY: u32 = 0; +pub const CERT_FIND_SHA1_HASH: u32 = 65536; +pub const CERT_FIND_MD5_HASH: u32 = 262144; +pub const CERT_FIND_SIGNATURE_HASH: u32 = 917504; +pub const CERT_FIND_KEY_IDENTIFIER: u32 = 983040; +pub const CERT_FIND_HASH: u32 = 65536; +pub const CERT_FIND_PROPERTY: u32 = 327680; +pub const CERT_FIND_PUBLIC_KEY: u32 = 393216; +pub const CERT_FIND_SUBJECT_NAME: u32 = 131079; +pub const CERT_FIND_SUBJECT_ATTR: u32 = 196615; +pub const CERT_FIND_ISSUER_NAME: u32 = 131076; +pub const CERT_FIND_ISSUER_ATTR: u32 = 196612; +pub const CERT_FIND_SUBJECT_STR_A: u32 = 458759; +pub const CERT_FIND_SUBJECT_STR_W: u32 = 524295; +pub const CERT_FIND_SUBJECT_STR: u32 = 524295; +pub const CERT_FIND_ISSUER_STR_A: u32 = 458756; +pub const CERT_FIND_ISSUER_STR_W: u32 = 524292; +pub const CERT_FIND_ISSUER_STR: u32 = 524292; +pub const CERT_FIND_KEY_SPEC: u32 = 589824; +pub const CERT_FIND_ENHKEY_USAGE: u32 = 655360; +pub const CERT_FIND_CTL_USAGE: u32 = 655360; +pub const CERT_FIND_SUBJECT_CERT: u32 = 720896; +pub const CERT_FIND_ISSUER_OF: u32 = 786432; +pub const CERT_FIND_EXISTING: u32 = 851968; +pub const CERT_FIND_CERT_ID: u32 = 1048576; +pub const CERT_FIND_CROSS_CERT_DIST_POINTS: u32 = 1114112; +pub const CERT_FIND_PUBKEY_MD5_HASH: u32 = 1179648; +pub const CERT_FIND_SUBJECT_INFO_ACCESS: u32 = 1245184; +pub const CERT_FIND_HASH_STR: u32 = 1310720; +pub const CERT_FIND_HAS_PRIVATE_KEY: u32 = 1376256; +pub const CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG: u32 = 1; +pub const CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG: u32 = 2; +pub const CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG: u32 = 4; +pub const CERT_FIND_NO_ENHKEY_USAGE_FLAG: u32 = 8; +pub const CERT_FIND_OR_ENHKEY_USAGE_FLAG: u32 = 16; +pub const CERT_FIND_VALID_ENHKEY_USAGE_FLAG: u32 = 32; +pub const CERT_FIND_OPTIONAL_CTL_USAGE_FLAG: u32 = 1; +pub const CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG: u32 = 2; +pub const CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG: u32 = 4; +pub const CERT_FIND_NO_CTL_USAGE_FLAG: u32 = 8; +pub const CERT_FIND_OR_CTL_USAGE_FLAG: u32 = 16; +pub const CERT_FIND_VALID_CTL_USAGE_FLAG: u32 = 32; +pub const CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG: u32 = 2147483648; +pub const CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG: u32 = 1073741824; +pub const CTL_ENTRY_FROM_PROP_CHAIN_FLAG: u32 = 1; +pub const CRL_FIND_ANY: u32 = 0; +pub const CRL_FIND_ISSUED_BY: u32 = 1; +pub const CRL_FIND_EXISTING: u32 = 2; +pub const CRL_FIND_ISSUED_FOR: u32 = 3; +pub const CRL_FIND_ISSUED_BY_AKI_FLAG: u32 = 1; +pub const CRL_FIND_ISSUED_BY_SIGNATURE_FLAG: u32 = 2; +pub const CRL_FIND_ISSUED_BY_DELTA_FLAG: u32 = 4; +pub const CRL_FIND_ISSUED_BY_BASE_FLAG: u32 = 8; +pub const CRL_FIND_ISSUED_FOR_SET_STRONG_PROPERTIES_FLAG: u32 = 16; +pub const CERT_STORE_ADD_NEW: u32 = 1; +pub const CERT_STORE_ADD_USE_EXISTING: u32 = 2; +pub const CERT_STORE_ADD_REPLACE_EXISTING: u32 = 3; +pub const CERT_STORE_ADD_ALWAYS: u32 = 4; +pub const CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES: u32 = 5; +pub const CERT_STORE_ADD_NEWER: u32 = 6; +pub const CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES: u32 = 7; +pub const CERT_STORE_CERTIFICATE_CONTEXT: u32 = 1; +pub const CERT_STORE_CRL_CONTEXT: u32 = 2; +pub const CERT_STORE_CTL_CONTEXT: u32 = 3; +pub const CERT_STORE_ALL_CONTEXT_FLAG: i32 = -1; +pub const CERT_STORE_CERTIFICATE_CONTEXT_FLAG: u32 = 2; +pub const CERT_STORE_CRL_CONTEXT_FLAG: u32 = 4; +pub const CERT_STORE_CTL_CONTEXT_FLAG: u32 = 8; +pub const CTL_ANY_SUBJECT_TYPE: u32 = 1; +pub const CTL_CERT_SUBJECT_TYPE: u32 = 2; +pub const CTL_FIND_ANY: u32 = 0; +pub const CTL_FIND_SHA1_HASH: u32 = 1; +pub const CTL_FIND_MD5_HASH: u32 = 2; +pub const CTL_FIND_USAGE: u32 = 3; +pub const CTL_FIND_SUBJECT: u32 = 4; +pub const CTL_FIND_EXISTING: u32 = 5; +pub const CTL_FIND_NO_LIST_ID_CBDATA: u32 = 4294967295; +pub const CTL_FIND_SAME_USAGE_FLAG: u32 = 1; +pub const CERT_STORE_CTRL_RESYNC: u32 = 1; +pub const CERT_STORE_CTRL_NOTIFY_CHANGE: u32 = 2; +pub const CERT_STORE_CTRL_COMMIT: u32 = 3; +pub const CERT_STORE_CTRL_AUTO_RESYNC: u32 = 4; +pub const CERT_STORE_CTRL_CANCEL_NOTIFY: u32 = 5; +pub const CERT_STORE_CTRL_INHIBIT_DUPLICATE_HANDLE_FLAG: u32 = 1; +pub const CERT_STORE_CTRL_COMMIT_FORCE_FLAG: u32 = 1; +pub const CERT_STORE_CTRL_COMMIT_CLEAR_FLAG: u32 = 2; +pub const CERT_STORE_LOCALIZED_NAME_PROP_ID: u32 = 4096; +pub const CERT_CREATE_CONTEXT_NOCOPY_FLAG: u32 = 1; +pub const CERT_CREATE_CONTEXT_SORTED_FLAG: u32 = 2; +pub const CERT_CREATE_CONTEXT_NO_HCRYPTMSG_FLAG: u32 = 4; +pub const CERT_CREATE_CONTEXT_NO_ENTRY_FLAG: u32 = 8; +pub const CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG: u32 = 1; +pub const CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG: u32 = 2; +pub const CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG: u32 = 4; +pub const CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG: u32 = 8; +pub const CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG: u32 = 1; +pub const CERT_PHYSICAL_STORE_DEFAULT_NAME: &[u8; 9usize] = b".Default\0"; +pub const CERT_PHYSICAL_STORE_GROUP_POLICY_NAME: &[u8; 13usize] = b".GroupPolicy\0"; +pub const CERT_PHYSICAL_STORE_LOCAL_MACHINE_NAME: &[u8; 14usize] = b".LocalMachine\0"; +pub const CERT_PHYSICAL_STORE_DS_USER_CERTIFICATE_NAME: &[u8; 17usize] = b".UserCertificate\0"; +pub const CERT_PHYSICAL_STORE_LOCAL_MACHINE_GROUP_POLICY_NAME: &[u8; 25usize] = + b".LocalMachineGroupPolicy\0"; +pub const CERT_PHYSICAL_STORE_ENTERPRISE_NAME: &[u8; 12usize] = b".Enterprise\0"; +pub const CERT_PHYSICAL_STORE_AUTH_ROOT_NAME: &[u8; 10usize] = b".AuthRoot\0"; +pub const CERT_PHYSICAL_STORE_SMART_CARD_NAME: &[u8; 11usize] = b".SmartCard\0"; +pub const CRYPT_OID_OPEN_SYSTEM_STORE_PROV_FUNC: &[u8; 27usize] = b"CertDllOpenSystemStoreProv\0"; +pub const CRYPT_OID_REGISTER_SYSTEM_STORE_FUNC: &[u8; 27usize] = b"CertDllRegisterSystemStore\0"; +pub const CRYPT_OID_UNREGISTER_SYSTEM_STORE_FUNC: &[u8; 29usize] = + b"CertDllUnregisterSystemStore\0"; +pub const CRYPT_OID_ENUM_SYSTEM_STORE_FUNC: &[u8; 23usize] = b"CertDllEnumSystemStore\0"; +pub const CRYPT_OID_REGISTER_PHYSICAL_STORE_FUNC: &[u8; 29usize] = + b"CertDllRegisterPhysicalStore\0"; +pub const CRYPT_OID_UNREGISTER_PHYSICAL_STORE_FUNC: &[u8; 31usize] = + b"CertDllUnregisterPhysicalStore\0"; +pub const CRYPT_OID_ENUM_PHYSICAL_STORE_FUNC: &[u8; 25usize] = b"CertDllEnumPhysicalStore\0"; +pub const CRYPT_OID_SYSTEM_STORE_LOCATION_VALUE_NAME: &[u8; 20usize] = b"SystemStoreLocation\0"; +pub const CMSG_TRUSTED_SIGNER_FLAG: u32 = 1; +pub const CMSG_SIGNER_ONLY_FLAG: u32 = 2; +pub const CMSG_USE_SIGNER_INDEX_FLAG: u32 = 4; +pub const CMSG_CMS_ENCAPSULATED_CTL_FLAG: u32 = 32768; +pub const CMSG_ENCODE_SORTED_CTL_FLAG: u32 = 1; +pub const CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: u32 = 2; +pub const CERT_VERIFY_INHIBIT_CTL_UPDATE_FLAG: u32 = 1; +pub const CERT_VERIFY_TRUSTED_SIGNERS_FLAG: u32 = 2; +pub const CERT_VERIFY_NO_TIME_CHECK_FLAG: u32 = 4; +pub const CERT_VERIFY_ALLOW_MORE_USAGE_FLAG: u32 = 8; +pub const CERT_VERIFY_UPDATED_CTL_FLAG: u32 = 1; +pub const CERT_CONTEXT_REVOCATION_TYPE: u32 = 1; +pub const CERT_VERIFY_REV_CHAIN_FLAG: u32 = 1; +pub const CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION: u32 = 2; +pub const CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG: u32 = 4; +pub const CERT_VERIFY_REV_SERVER_OCSP_FLAG: u32 = 8; +pub const CERT_VERIFY_REV_NO_OCSP_FAILOVER_TO_CRL_FLAG: u32 = 16; +pub const CERT_VERIFY_REV_SERVER_OCSP_WIRE_ONLY_FLAG: u32 = 32; +pub const CERT_UNICODE_IS_RDN_ATTRS_FLAG: u32 = 1; +pub const CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG: u32 = 2; +pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB: u32 = 1; +pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT: u32 = 2; +pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL: u32 = 3; +pub const CRYPT_VERIFY_CERT_SIGN_SUBJECT_OCSP_BASIC_SIGNED_RESPONSE: u32 = 4; +pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY: u32 = 1; +pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT: u32 = 2; +pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN: u32 = 3; +pub const CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL: u32 = 4; +pub const CRYPT_VERIFY_CERT_SIGN_DISABLE_MD2_MD4_FLAG: u32 = 1; +pub const CRYPT_VERIFY_CERT_SIGN_SET_STRONG_PROPERTIES_FLAG: u32 = 2; +pub const CRYPT_VERIFY_CERT_SIGN_RETURN_STRONG_PROPERTIES_FLAG: u32 = 4; +pub const CRYPT_VERIFY_CERT_SIGN_CHECK_WEAK_HASH_FLAG: u32 = 8; +pub const CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC: &[u8; 42usize] = + b"CryptDllExtractEncodedSignatureParameters\0"; +pub const CRYPT_OID_SIGN_AND_ENCODE_HASH_FUNC: &[u8; 26usize] = b"CryptDllSignAndEncodeHash\0"; +pub const CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC: &[u8; 31usize] = + b"CryptDllVerifyEncodedSignature\0"; +pub const CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG: u32 = 1; +pub const CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG: u32 = 2; +pub const CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID: u32 = 1; +pub const CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID: u32 = 2; +pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FUNC: &[u8; 30usize] = + b"CryptDllExportPublicKeyInfoEx\0"; +pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC: &[u8; 31usize] = + b"CryptDllExportPublicKeyInfoEx2\0"; +pub const CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC: &[u8; 47usize] = + b"CryptDllExportPublicKeyInfoFromBCryptKeyHandle\0"; +pub const CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_FUNC: &[u8; 30usize] = + b"CryptDllImportPublicKeyInfoEx\0"; +pub const CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC: &[u8; 31usize] = + b"CryptDllImportPublicKeyInfoEx2\0"; +pub const CRYPT_ACQUIRE_CACHE_FLAG: u32 = 1; +pub const CRYPT_ACQUIRE_USE_PROV_INFO_FLAG: u32 = 2; +pub const CRYPT_ACQUIRE_COMPARE_KEY_FLAG: u32 = 4; +pub const CRYPT_ACQUIRE_NO_HEALING: u32 = 8; +pub const CRYPT_ACQUIRE_SILENT_FLAG: u32 = 64; +pub const CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG: u32 = 128; +pub const CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK: u32 = 458752; +pub const CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG: u32 = 65536; +pub const CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG: u32 = 131072; +pub const CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG: u32 = 262144; +pub const CRYPT_FIND_USER_KEYSET_FLAG: u32 = 1; +pub const CRYPT_FIND_MACHINE_KEYSET_FLAG: u32 = 2; +pub const CRYPT_FIND_SILENT_KEYSET_FLAG: u32 = 64; +pub const CRYPT_OID_IMPORT_PRIVATE_KEY_INFO_FUNC: &[u8; 31usize] = + b"CryptDllImportPrivateKeyInfoEx\0"; +pub const CRYPT_OID_EXPORT_PRIVATE_KEY_INFO_FUNC: &[u8; 31usize] = + b"CryptDllExportPrivateKeyInfoEx\0"; +pub const CRYPT_DELETE_KEYSET: u32 = 16; +pub const CERT_SIMPLE_NAME_STR: u32 = 1; +pub const CERT_OID_NAME_STR: u32 = 2; +pub const CERT_X500_NAME_STR: u32 = 3; +pub const CERT_XML_NAME_STR: u32 = 4; +pub const CERT_NAME_STR_SEMICOLON_FLAG: u32 = 1073741824; +pub const CERT_NAME_STR_NO_PLUS_FLAG: u32 = 536870912; +pub const CERT_NAME_STR_NO_QUOTING_FLAG: u32 = 268435456; +pub const CERT_NAME_STR_CRLF_FLAG: u32 = 134217728; +pub const CERT_NAME_STR_COMMA_FLAG: u32 = 67108864; +pub const CERT_NAME_STR_REVERSE_FLAG: u32 = 33554432; +pub const CERT_NAME_STR_FORWARD_FLAG: u32 = 16777216; +pub const CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG: u32 = 65536; +pub const CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG: u32 = 131072; +pub const CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG: u32 = 262144; +pub const CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG: u32 = 524288; +pub const CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG: u32 = 1048576; +pub const CERT_NAME_STR_ENABLE_PUNYCODE_FLAG: u32 = 2097152; +pub const CERT_NAME_EMAIL_TYPE: u32 = 1; +pub const CERT_NAME_RDN_TYPE: u32 = 2; +pub const CERT_NAME_ATTR_TYPE: u32 = 3; +pub const CERT_NAME_SIMPLE_DISPLAY_TYPE: u32 = 4; +pub const CERT_NAME_FRIENDLY_DISPLAY_TYPE: u32 = 5; +pub const CERT_NAME_DNS_TYPE: u32 = 6; +pub const CERT_NAME_URL_TYPE: u32 = 7; +pub const CERT_NAME_UPN_TYPE: u32 = 8; +pub const CERT_NAME_ISSUER_FLAG: u32 = 1; +pub const CERT_NAME_DISABLE_IE4_UTF8_FLAG: u32 = 65536; +pub const CERT_NAME_SEARCH_ALL_NAMES_FLAG: u32 = 2; +pub const CRYPT_MESSAGE_BARE_CONTENT_OUT_FLAG: u32 = 1; +pub const CRYPT_MESSAGE_ENCAPSULATED_CONTENT_OUT_FLAG: u32 = 2; +pub const CRYPT_MESSAGE_KEYID_SIGNER_FLAG: u32 = 4; +pub const CRYPT_MESSAGE_SILENT_KEYSET_FLAG: u32 = 64; +pub const CRYPT_MESSAGE_KEYID_RECIPIENT_FLAG: u32 = 4; +pub const CERT_QUERY_OBJECT_FILE: u32 = 1; +pub const CERT_QUERY_OBJECT_BLOB: u32 = 2; +pub const CERT_QUERY_CONTENT_CERT: u32 = 1; +pub const CERT_QUERY_CONTENT_CTL: u32 = 2; +pub const CERT_QUERY_CONTENT_CRL: u32 = 3; +pub const CERT_QUERY_CONTENT_SERIALIZED_STORE: u32 = 4; +pub const CERT_QUERY_CONTENT_SERIALIZED_CERT: u32 = 5; +pub const CERT_QUERY_CONTENT_SERIALIZED_CTL: u32 = 6; +pub const CERT_QUERY_CONTENT_SERIALIZED_CRL: u32 = 7; +pub const CERT_QUERY_CONTENT_PKCS7_SIGNED: u32 = 8; +pub const CERT_QUERY_CONTENT_PKCS7_UNSIGNED: u32 = 9; +pub const CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED: u32 = 10; +pub const CERT_QUERY_CONTENT_PKCS10: u32 = 11; +pub const CERT_QUERY_CONTENT_PFX: u32 = 12; +pub const CERT_QUERY_CONTENT_CERT_PAIR: u32 = 13; +pub const CERT_QUERY_CONTENT_PFX_AND_LOAD: u32 = 14; +pub const CERT_QUERY_CONTENT_FLAG_CERT: u32 = 2; +pub const CERT_QUERY_CONTENT_FLAG_CTL: u32 = 4; +pub const CERT_QUERY_CONTENT_FLAG_CRL: u32 = 8; +pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE: u32 = 16; +pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT: u32 = 32; +pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL: u32 = 64; +pub const CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL: u32 = 128; +pub const CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED: u32 = 256; +pub const CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED: u32 = 512; +pub const CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED: u32 = 1024; +pub const CERT_QUERY_CONTENT_FLAG_PKCS10: u32 = 2048; +pub const CERT_QUERY_CONTENT_FLAG_PFX: u32 = 4096; +pub const CERT_QUERY_CONTENT_FLAG_CERT_PAIR: u32 = 8192; +pub const CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD: u32 = 16384; +pub const CERT_QUERY_CONTENT_FLAG_ALL: u32 = 16382; +pub const CERT_QUERY_CONTENT_FLAG_ALL_ISSUER_CERT: u32 = 818; +pub const CERT_QUERY_FORMAT_BINARY: u32 = 1; +pub const CERT_QUERY_FORMAT_BASE64_ENCODED: u32 = 2; +pub const CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED: u32 = 3; +pub const CERT_QUERY_FORMAT_FLAG_BINARY: u32 = 2; +pub const CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED: u32 = 4; +pub const CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED: u32 = 8; +pub const CERT_QUERY_FORMAT_FLAG_ALL: u32 = 14; +pub const SCHEME_OID_RETRIEVE_ENCODED_OBJECT_FUNC: &[u8; 31usize] = + b"SchemeDllRetrieveEncodedObject\0"; +pub const SCHEME_OID_RETRIEVE_ENCODED_OBJECTW_FUNC: &[u8; 32usize] = + b"SchemeDllRetrieveEncodedObjectW\0"; +pub const CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC: &[u8; 30usize] = + b"ContextDllCreateObjectContext\0"; +pub const CRYPT_RETRIEVE_MULTIPLE_OBJECTS: u32 = 1; +pub const CRYPT_CACHE_ONLY_RETRIEVAL: u32 = 2; +pub const CRYPT_WIRE_ONLY_RETRIEVAL: u32 = 4; +pub const CRYPT_DONT_CACHE_RESULT: u32 = 8; +pub const CRYPT_ASYNC_RETRIEVAL: u32 = 16; +pub const CRYPT_STICKY_CACHE_RETRIEVAL: u32 = 4096; +pub const CRYPT_LDAP_SCOPE_BASE_ONLY_RETRIEVAL: u32 = 8192; +pub const CRYPT_OFFLINE_CHECK_RETRIEVAL: u32 = 16384; +pub const CRYPT_LDAP_INSERT_ENTRY_ATTRIBUTE: u32 = 32768; +pub const CRYPT_LDAP_SIGN_RETRIEVAL: u32 = 65536; +pub const CRYPT_NO_AUTH_RETRIEVAL: u32 = 131072; +pub const CRYPT_LDAP_AREC_EXCLUSIVE_RETRIEVAL: u32 = 262144; +pub const CRYPT_AIA_RETRIEVAL: u32 = 524288; +pub const CRYPT_HTTP_POST_RETRIEVAL: u32 = 1048576; +pub const CRYPT_PROXY_CACHE_RETRIEVAL: u32 = 2097152; +pub const CRYPT_NOT_MODIFIED_RETRIEVAL: u32 = 4194304; +pub const CRYPT_ENABLE_SSL_REVOCATION_RETRIEVAL: u32 = 8388608; +pub const CRYPT_RANDOM_QUERY_STRING_RETRIEVAL: u32 = 67108864; +pub const CRYPT_ENABLE_FILE_RETRIEVAL: u32 = 134217728; +pub const CRYPT_CREATE_NEW_FLUSH_ENTRY: u32 = 268435456; +pub const CRYPT_VERIFY_CONTEXT_SIGNATURE: u32 = 32; +pub const CRYPT_VERIFY_DATA_HASH: u32 = 64; +pub const CRYPT_KEEP_TIME_VALID: u32 = 128; +pub const CRYPT_DONT_VERIFY_SIGNATURE: u32 = 256; +pub const CRYPT_DONT_CHECK_TIME_VALIDITY: u32 = 512; +pub const CRYPT_CHECK_FRESHNESS_TIME_VALIDITY: u32 = 1024; +pub const CRYPT_ACCUMULATIVE_TIMEOUT: u32 = 2048; +pub const CRYPT_OCSP_ONLY_RETRIEVAL: u32 = 16777216; +pub const CRYPT_NO_OCSP_FAILOVER_TO_CRL_RETRIEVAL: u32 = 33554432; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_NONE: u32 = 0; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_BLOB: u32 = 1; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_CRL: u32 = 2; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_OCSP: u32 = 3; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_AUTOROOT_CAB: u32 = 5; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_DISALLOWED_CERT_CAB: u32 = 6; +pub const CRYPTNET_URL_CACHE_PRE_FETCH_PIN_RULES_CAB: u32 = 7; +pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH: u32 = 0; +pub const CRYPTNET_URL_CACHE_DISABLE_FLUSH: u32 = 4294967295; +pub const CRYPTNET_URL_CACHE_RESPONSE_NONE: u32 = 0; +pub const CRYPTNET_URL_CACHE_RESPONSE_HTTP: u32 = 1; +pub const CRYPTNET_URL_CACHE_RESPONSE_VALIDATED: u32 = 32768; +pub const CRYPT_RETRIEVE_MAX_ERROR_CONTENT_LENGTH: u32 = 4096; +pub const CRYPT_GET_URL_FROM_PROPERTY: u32 = 1; +pub const CRYPT_GET_URL_FROM_EXTENSION: u32 = 2; +pub const CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE: u32 = 4; +pub const CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE: u32 = 8; +pub const URL_OID_GET_OBJECT_URL_FUNC: &[u8; 19usize] = b"UrlDllGetObjectUrl\0"; +pub const TIME_VALID_OID_GET_OBJECT_FUNC: &[u8; 22usize] = b"TimeValidDllGetObject\0"; +pub const TIME_VALID_OID_FLUSH_OBJECT_FUNC: &[u8; 24usize] = b"TimeValidDllFlushObject\0"; +pub const CERT_CREATE_SELFSIGN_NO_SIGN: u32 = 1; +pub const CERT_CREATE_SELFSIGN_NO_KEY_INFO: u32 = 2; +pub const CRYPT_KEYID_MACHINE_FLAG: u32 = 32; +pub const CRYPT_KEYID_ALLOC_FLAG: u32 = 32768; +pub const CRYPT_KEYID_DELETE_FLAG: u32 = 16; +pub const CRYPT_KEYID_SET_NEW_FLAG: u32 = 8192; +pub const CERT_CHAIN_CONFIG_REGPATH : & [u8 ; 94usize] = b"Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CertDllCreateCertificateChainEngine\\Config\0" ; +pub const CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_VALUE_NAME: &[u8; 25usize] = + b"MaxUrlRetrievalByteCount\0"; +pub const CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_DEFAULT: u32 = 104857600; +pub const CERT_CHAIN_CACHE_RESYNC_FILETIME_VALUE_NAME: &[u8; 25usize] = + b"ChainCacheResyncFiletime\0"; +pub const CERT_CHAIN_DISABLE_MANDATORY_BASIC_CONSTRAINTS_VALUE_NAME: &[u8; 33usize] = + b"DisableMandatoryBasicConstraints\0"; +pub const CERT_CHAIN_DISABLE_CA_NAME_CONSTRAINTS_VALUE_NAME: &[u8; 25usize] = + b"DisableCANameConstraints\0"; +pub const CERT_CHAIN_DISABLE_UNSUPPORTED_CRITICAL_EXTENSIONS_VALUE_NAME: &[u8; 37usize] = + b"DisableUnsupportedCriticalExtensions\0"; +pub const CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_VALUE_NAME: &[u8; 21usize] = + b"MaxAIAUrlCountInCert\0"; +pub const CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_DEFAULT: u32 = 5; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_VALUE_NAME: &[u8; 32usize] = + b"MaxAIAUrlRetrievalCountPerChain\0"; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_DEFAULT: u32 = 3; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_VALUE_NAME: &[u8; 28usize] = + b"MaxAIAUrlRetrievalByteCount\0"; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_DEFAULT: u32 = 100000; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_VALUE_NAME: &[u8; 28usize] = + b"MaxAIAUrlRetrievalCertCount\0"; +pub const CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_DEFAULT: u32 = 10; +pub const CERT_CHAIN_OCSP_VALIDITY_SECONDS_VALUE_NAME: &[u8; 20usize] = b"OcspValiditySeconds\0"; +pub const CERT_CHAIN_OCSP_VALIDITY_SECONDS_DEFAULT: u32 = 43200; +pub const CERT_CHAIN_DISABLE_SERIAL_CHAIN_VALUE_NAME: &[u8; 19usize] = b"DisableSerialChain\0"; +pub const CERT_CHAIN_SERIAL_CHAIN_LOG_FILE_NAME_VALUE_NAME: &[u8; 23usize] = + b"SerialChainLogFileName\0"; +pub const CERT_CHAIN_DISABLE_SYNC_WITH_SSL_TIME_VALUE_NAME: &[u8; 23usize] = + b"DisableSyncWithSslTime\0"; +pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_VALUE_NAME: &[u8; 28usize] = + b"MaxSslTimeUpdatedEventCount\0"; +pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DEFAULT: u32 = 5; +pub const CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DISABLE: u32 = 4294967295; +pub const CERT_CHAIN_SSL_HANDSHAKE_LOG_FILE_NAME_VALUE_NAME: &[u8; 24usize] = + b"SslHandshakeLogFileName\0"; +pub const CERT_CHAIN_ENABLE_WEAK_SIGNATURE_FLAGS_VALUE_NAME: &[u8; 25usize] = + b"EnableWeakSignatureFlags\0"; +pub const CERT_CHAIN_ENABLE_MD2_MD4_FLAG: u32 = 1; +pub const CERT_CHAIN_ENABLE_WEAK_RSA_ROOT_FLAG: u32 = 2; +pub const CERT_CHAIN_ENABLE_WEAK_LOGGING_FLAG: u32 = 4; +pub const CERT_CHAIN_ENABLE_ONLY_WEAK_LOGGING_FLAG: u32 = 8; +pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_VALUE_NAME: &[u8; 22usize] = + b"MinRsaPubKeyBitLength\0"; +pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DEFAULT: u32 = 1023; +pub const CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DISABLE: u32 = 4294967295; +pub const CERT_CHAIN_WEAK_RSA_PUB_KEY_TIME_VALUE_NAME: &[u8; 18usize] = b"WeakRsaPubKeyTime\0"; +pub const CERT_CHAIN_WEAK_SIGNATURE_LOG_DIR_VALUE_NAME: &[u8; 20usize] = b"WeakSignatureLogDir\0"; +pub const CERT_CHAIN_DEFAULT_CONFIG_SUBDIR: &[u8; 8usize] = b"Default\0"; +pub const CERT_CHAIN_WEAK_PREFIX_NAME: &[u8; 5usize] = b"Weak\0"; +pub const CERT_CHAIN_WEAK_THIRD_PARTY_CONFIG_NAME: &[u8; 11usize] = b"ThirdParty\0"; +pub const CERT_CHAIN_WEAK_ALL_CONFIG_NAME: &[u8; 4usize] = b"All\0"; +pub const CERT_CHAIN_WEAK_FLAGS_NAME: &[u8; 6usize] = b"Flags\0"; +pub const CERT_CHAIN_WEAK_HYGIENE_NAME: &[u8; 8usize] = b"Hygiene\0"; +pub const CERT_CHAIN_WEAK_AFTER_TIME_NAME: &[u8; 10usize] = b"AfterTime\0"; +pub const CERT_CHAIN_WEAK_FILE_HASH_AFTER_TIME_NAME: &[u8; 18usize] = b"FileHashAfterTime\0"; +pub const CERT_CHAIN_WEAK_TIMESTAMP_HASH_AFTER_TIME_NAME: &[u8; 23usize] = + b"TimestampHashAfterTime\0"; +pub const CERT_CHAIN_WEAK_MIN_BIT_LENGTH_NAME: &[u8; 13usize] = b"MinBitLength\0"; +pub const CERT_CHAIN_WEAK_SHA256_ALLOW_NAME: &[u8; 12usize] = b"Sha256Allow\0"; +pub const CERT_CHAIN_MIN_PUB_KEY_BIT_LENGTH_DISABLE: u32 = 4294967295; +pub const CERT_CHAIN_ENABLE_WEAK_SETTINGS_FLAG: u32 = 2147483648; +pub const CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG: u32 = 65536; +pub const CERT_CHAIN_ENABLE_ALL_EKU_HYGIENE_FLAG: u32 = 131072; +pub const CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG: u32 = 262144; +pub const CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG: u32 = 1048576; +pub const CERT_CHAIN_ENABLE_SERVER_AUTH_HYGIENE_FLAG: u32 = 2097152; +pub const CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG: u32 = 4194304; +pub const CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG: u32 = 8388608; +pub const CERT_CHAIN_ENABLE_CODE_SIGNING_HYGIENE_FLAG: u32 = 16777216; +pub const CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG: u32 = 33554432; +pub const CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG: u32 = 67108864; +pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG: u32 = 134217728; +pub const CERT_CHAIN_ENABLE_TIMESTAMP_HYGIENE_FLAG: u32 = 268435456; +pub const CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG: u32 = 536870912; +pub const CERT_CHAIN_MOTW_IGNORE_AFTER_TIME_WEAK_FLAG: u32 = 1073741824; +pub const CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAG: u32 = 4096; +pub const CERT_CHAIN_DISABLE_MOTW_FILE_HASH_WEAK_FLAG: u32 = 8192; +pub const CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAG: u32 = 16384; +pub const CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_HASH_WEAK_FLAG: u32 = 32768; +pub const CERT_CHAIN_DISABLE_WEAK_FLAGS: u32 = 215285760; +pub const CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAGS: u32 = 12288; +pub const CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAGS: u32 = 49152; +pub const CERT_CHAIN_ENABLE_HYGIENE_FLAGS: u32 = 857866240; +pub const CERT_CHAIN_MOTW_WEAK_FLAGS: u32 = 1786773504; +pub const CERT_CHAIN_OPT_IN_WEAK_FLAGS: u32 = 262144; +pub const CERT_CHAIN_AUTO_CURRENT_USER: u32 = 1; +pub const CERT_CHAIN_AUTO_LOCAL_MACHINE: u32 = 2; +pub const CERT_CHAIN_AUTO_IMPERSONATED: u32 = 3; +pub const CERT_CHAIN_AUTO_PROCESS_INFO: u32 = 4; +pub const CERT_CHAIN_AUTO_PINRULE_INFO: u32 = 5; +pub const CERT_CHAIN_AUTO_NETWORK_INFO: u32 = 6; +pub const CERT_CHAIN_AUTO_SERIAL_LOCAL_MACHINE: u32 = 7; +pub const CERT_CHAIN_AUTO_HPKP_RULE_INFO: u32 = 8; +pub const CERT_CHAIN_AUTO_FLAGS_VALUE_NAME: &[u8; 10usize] = b"AutoFlags\0"; +pub const CERT_CHAIN_AUTO_FLUSH_DISABLE_FLAG: u32 = 1; +pub const CERT_CHAIN_AUTO_LOG_CREATE_FLAG: u32 = 2; +pub const CERT_CHAIN_AUTO_LOG_FREE_FLAG: u32 = 4; +pub const CERT_CHAIN_AUTO_LOG_FLUSH_FLAG: u32 = 8; +pub const CERT_CHAIN_AUTO_LOG_FLAGS: u32 = 14; +pub const CERT_CHAIN_AUTO_FLUSH_FIRST_DELTA_SECONDS_VALUE_NAME: &[u8; 27usize] = + b"AutoFlushFirstDeltaSeconds\0"; +pub const CERT_CHAIN_AUTO_FLUSH_FIRST_DELTA_SECONDS_DEFAULT: u32 = 300; +pub const CERT_CHAIN_AUTO_FLUSH_NEXT_DELTA_SECONDS_VALUE_NAME: &[u8; 26usize] = + b"AutoFlushNextDeltaSeconds\0"; +pub const CERT_CHAIN_AUTO_FLUSH_NEXT_DELTA_SECONDS_DEFAULT: u32 = 1800; +pub const CERT_CHAIN_AUTO_LOG_FILE_NAME_VALUE_NAME: &[u8; 16usize] = b"AutoLogFileName\0"; +pub const CERT_CHAIN_DISABLE_AUTO_FLUSH_PROCESS_NAME_LIST_VALUE_NAME: &[u8; 32usize] = + b"DisableAutoFlushProcessNameList\0"; +pub const CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME: &[u8; 30usize] = + b"SrvOcspRespMinValiditySeconds\0"; +pub const CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT: u32 = 600; +pub const CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &[u8; 43usize] = + b"SrvOcspRespUrlRetrievalTimeoutMilliseconds\0"; +pub const CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT: u32 = 15000; +pub const CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 38usize] = + b"SrvOcspRespMaxBeforeNextUpdateSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 14400; +pub const CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 38usize] = + b"SrvOcspRespMinBeforeNextUpdateSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 120; +pub const CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 37usize] = + b"SrvOcspRespMinAfterNextUpdateSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 60; +pub const CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_VALUE_NAME: &[u8; 34usize] = + b"SrvOcspRespMinSyncCertFileSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_DEFAULT: u32 = 5; +pub const CERT_SRV_OCSP_RESP_MAX_SYNC_CERT_FILE_SECONDS_VALUE_NAME: &[u8; 34usize] = + b"SrvOcspRespMaxSyncCertFileSeconds\0"; +pub const CERT_SRV_OCSP_RESP_MAX_SYNC_CERT_FILE_SECONDS_DEFAULT: u32 = 3600; +pub const CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_VALUE_NAME: &[u8; 33usize] = + b"CryptnetMaxCachedOcspPerCrlCount\0"; +pub const CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_DEFAULT: u32 = 500; +pub const CRYPTNET_OCSP_AFTER_CRL_DISABLE: u32 = 4294967295; +pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH_EXEMPT_SECONDS_VALUE_NAME: &[u8; 34usize] = + b"CryptnetDefaultFlushExemptSeconds\0"; +pub const CRYPTNET_URL_CACHE_DEFAULT_FLUSH_EXEMPT_SECONDS_DEFAULT: u32 = 2419200; +pub const CRYPTNET_PRE_FETCH_MIN_MAX_AGE_SECONDS_VALUE_NAME: &[u8; 33usize] = + b"CryptnetPreFetchMinMaxAgeSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MIN_MAX_AGE_SECONDS_DEFAULT: u32 = 3600; +pub const CRYPTNET_PRE_FETCH_MAX_MAX_AGE_SECONDS_VALUE_NAME: &[u8; 33usize] = + b"CryptnetPreFetchMaxMaxAgeSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MAX_MAX_AGE_SECONDS_DEFAULT: u32 = 1209600; +pub const CRYPTNET_PRE_FETCH_MIN_OCSP_VALIDITY_PERIOD_SECONDS_VALUE_NAME: &[u8; 45usize] = + b"CryptnetPreFetchMinOcspValidityPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MIN_OCSP_VALIDITY_PERIOD_SECONDS_DEFAULT: u32 = 1209600; +pub const CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_VALUE_NAME: &[u8; 44usize] = + b"CryptnetPreFetchAfterPublishPreFetchDivisor\0"; +pub const CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_DEFAULT: u32 = 10; +pub const CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_VALUE_NAME: &[u8; 48usize] = + b"CryptnetPreFetchBeforeNextUpdatePreFetchDivisor\0"; +pub const CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT: u32 = 20; +pub const CRYPTNET_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: + &[u8; 51usize] = b"CryptnetPreFetchMinBeforeNextUpdatePreFetchSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT: u32 = 3600; +pub const CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_VALUE_NAME: + &[u8; 61usize] = b"CryptnetPreFetchValidityPeriodAfterNextUpdatePreFetchDivisor\0"; +pub const CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT: u32 = 10; +pub const CRYPTNET_PRE_FETCH_MAX_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: + &[u8; 56usize] = b"CryptnetPreFetchMaxAfterNextUpdatePreFetchPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MAX_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT: u32 = 14400; +pub const CRYPTNET_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: + &[u8; 56usize] = b"CryptnetPreFetchMinAfterNextUpdatePreFetchPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT: u32 = 1800; +pub const CRYPTNET_PRE_FETCH_AFTER_CURRENT_TIME_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME: &[u8; + 54usize] = b"CryptnetPreFetchAfterCurrentTimePreFetchPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_AFTER_CURRENT_TIME_PRE_FETCH_PERIOD_SECONDS_DEFAULT: u32 = 1800; +pub const CRYPTNET_PRE_FETCH_TRIGGER_PERIOD_SECONDS_VALUE_NAME: &[u8; 37usize] = + b"CryptnetPreFetchTriggerPeriodSeconds\0"; +pub const CRYPTNET_PRE_FETCH_TRIGGER_PERIOD_SECONDS_DEFAULT: u32 = 600; +pub const CRYPTNET_PRE_FETCH_TRIGGER_DISABLE: u32 = 4294967295; +pub const CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_VALUE_NAME: &[u8; 45usize] = + b"CryptnetPreFetchScanAfterTriggerDelaySeconds\0"; +pub const CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_DEFAULT: u32 = 60; +pub const CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_VALUE_NAME: &[u8; 40usize] = + b"CryptnetPreFetchRetrievalTimeoutSeconds\0"; +pub const CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_DEFAULT: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_CONFIG_REGPATH : & [u8 ; 106usize] = b"Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CertDllCreateCertificateChainEngine\\Config\\CrlPreFetch\0" ; +pub const CRYPTNET_CRL_PRE_FETCH_PROCESS_NAME_LIST_VALUE_NAME: &[u8; 16usize] = + b"ProcessNameList\0"; +pub const CRYPTNET_CRL_PRE_FETCH_URL_LIST_VALUE_NAME: &[u8; 16usize] = b"PreFetchUrlList\0"; +pub const CRYPTNET_CRL_PRE_FETCH_DISABLE_INFORMATION_EVENTS_VALUE_NAME: &[u8; 25usize] = + b"DisableInformationEvents\0"; +pub const CRYPTNET_CRL_PRE_FETCH_LOG_FILE_NAME_VALUE_NAME: &[u8; 12usize] = b"LogFileName\0"; +pub const CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_VALUE_NAME: &[u8; 15usize] = b"TimeoutSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_DEFAULT: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_VALUE_NAME: &[u8; 14usize] = b"MaxAgeSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_DEFAULT: u32 = 7200; +pub const CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_MIN: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 31usize] = + b"PublishBeforeNextUpdateSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 3600; +pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_RANDOM_INTERVAL_SECONDS_VALUE_NAME: &[u8; 29usize] = + b"PublishRandomIntervalSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_PUBLISH_RANDOM_INTERVAL_SECONDS_DEFAULT: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 27usize] = + b"MinBeforeNextUpdateSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 300; +pub const CRYPTNET_CRL_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME: &[u8; 26usize] = + b"MinAfterNextUpdateSeconds\0"; +pub const CRYPTNET_CRL_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT: u32 = 300; +pub const CERT_GROUP_POLICY_CHAIN_CONFIG_REGPATH: &[u8; 66usize] = + b"Software\\Policies\\Microsoft\\SystemCertificates\\ChainEngine\\Config\0"; +pub const CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &[u8; 37usize] = + b"ChainUrlRetrievalTimeoutMilliseconds\0"; +pub const CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT: u32 = 15000; +pub const CERT_CHAIN_REV_ACCUMULATIVE_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME: &[u8; + 52usize] = b"ChainRevAccumulativeUrlRetrievalTimeoutMilliseconds\0"; +pub const CERT_CHAIN_REV_ACCUMULATIVE_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT: u32 = 20000; +pub const CERT_RETR_BEHAVIOR_INET_AUTH_VALUE_NAME: &[u8; 22usize] = b"EnableInetUnknownAuth\0"; +pub const CERT_RETR_BEHAVIOR_INET_STATUS_VALUE_NAME: &[u8; 16usize] = b"EnableInetLocal\0"; +pub const CERT_RETR_BEHAVIOR_FILE_VALUE_NAME: &[u8; 19usize] = b"AllowFileUrlScheme\0"; +pub const CERT_RETR_BEHAVIOR_LDAP_VALUE_NAME: &[u8; 26usize] = b"DisableLDAPSignAndEncrypt\0"; +pub const CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_VALUE_NAME: &[u8; 35usize] = + b"CryptnetCachedOcspSwitchToCrlCount\0"; +pub const CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_DEFAULT: u32 = 50; +pub const CRYPTNET_CRL_BEFORE_OCSP_ENABLE: u32 = 4294967295; +pub const CERT_CHAIN_DISABLE_AIA_URL_RETRIEVAL_VALUE_NAME: &[u8; 23usize] = + b"DisableAIAUrlRetrieval\0"; +pub const CERT_CHAIN_OPTIONS_VALUE_NAME: &[u8; 8usize] = b"Options\0"; +pub const CERT_CHAIN_OPTION_DISABLE_AIA_URL_RETRIEVAL: u32 = 2; +pub const CERT_CHAIN_OPTION_ENABLE_SIA_URL_RETRIEVAL: u32 = 4; +pub const CERT_CHAIN_CROSS_CERT_DOWNLOAD_INTERVAL_HOURS_VALUE_NAME: &[u8; 31usize] = + b"CrossCertDownloadIntervalHours\0"; +pub const CERT_CHAIN_CROSS_CERT_DOWNLOAD_INTERVAL_HOURS_DEFAULT: u32 = 168; +pub const CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_VALUE_NAME: &[u8; 27usize] = + b"CRLValidityExtensionPeriod\0"; +pub const CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_DEFAULT: u32 = 12; +pub const CERT_CHAIN_CACHE_END_CERT: u32 = 1; +pub const CERT_CHAIN_THREAD_STORE_SYNC: u32 = 2; +pub const CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL: u32 = 4; +pub const CERT_CHAIN_USE_LOCAL_MACHINE_STORE: u32 = 8; +pub const CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE: u32 = 16; +pub const CERT_CHAIN_ENABLE_SHARE_STORE: u32 = 32; +pub const CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG: u32 = 1; +pub const CERT_TRUST_NO_ERROR: u32 = 0; +pub const CERT_TRUST_IS_NOT_TIME_VALID: u32 = 1; +pub const CERT_TRUST_IS_NOT_TIME_NESTED: u32 = 2; +pub const CERT_TRUST_IS_REVOKED: u32 = 4; +pub const CERT_TRUST_IS_NOT_SIGNATURE_VALID: u32 = 8; +pub const CERT_TRUST_IS_NOT_VALID_FOR_USAGE: u32 = 16; +pub const CERT_TRUST_IS_UNTRUSTED_ROOT: u32 = 32; +pub const CERT_TRUST_REVOCATION_STATUS_UNKNOWN: u32 = 64; +pub const CERT_TRUST_IS_CYCLIC: u32 = 128; +pub const CERT_TRUST_INVALID_EXTENSION: u32 = 256; +pub const CERT_TRUST_INVALID_POLICY_CONSTRAINTS: u32 = 512; +pub const CERT_TRUST_INVALID_BASIC_CONSTRAINTS: u32 = 1024; +pub const CERT_TRUST_INVALID_NAME_CONSTRAINTS: u32 = 2048; +pub const CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT: u32 = 4096; +pub const CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT: u32 = 8192; +pub const CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT: u32 = 16384; +pub const CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT: u32 = 32768; +pub const CERT_TRUST_IS_OFFLINE_REVOCATION: u32 = 16777216; +pub const CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY: u32 = 33554432; +pub const CERT_TRUST_IS_EXPLICIT_DISTRUST: u32 = 67108864; +pub const CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT: u32 = 134217728; +pub const CERT_TRUST_HAS_WEAK_SIGNATURE: u32 = 1048576; +pub const CERT_TRUST_HAS_WEAK_HYGIENE: u32 = 2097152; +pub const CERT_TRUST_IS_PARTIAL_CHAIN: u32 = 65536; +pub const CERT_TRUST_CTL_IS_NOT_TIME_VALID: u32 = 131072; +pub const CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID: u32 = 262144; +pub const CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE: u32 = 524288; +pub const CERT_TRUST_HAS_EXACT_MATCH_ISSUER: u32 = 1; +pub const CERT_TRUST_HAS_KEY_MATCH_ISSUER: u32 = 2; +pub const CERT_TRUST_HAS_NAME_MATCH_ISSUER: u32 = 4; +pub const CERT_TRUST_IS_SELF_SIGNED: u32 = 8; +pub const CERT_TRUST_AUTO_UPDATE_CA_REVOCATION: u32 = 16; +pub const CERT_TRUST_AUTO_UPDATE_END_REVOCATION: u32 = 32; +pub const CERT_TRUST_NO_OCSP_FAILOVER_TO_CRL: u32 = 64; +pub const CERT_TRUST_IS_KEY_ROLLOVER: u32 = 128; +pub const CERT_TRUST_SSL_HANDSHAKE_OCSP: u32 = 262144; +pub const CERT_TRUST_SSL_TIME_VALID_OCSP: u32 = 524288; +pub const CERT_TRUST_SSL_RECONNECT_OCSP: u32 = 1048576; +pub const CERT_TRUST_HAS_PREFERRED_ISSUER: u32 = 256; +pub const CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY: u32 = 512; +pub const CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS: u32 = 1024; +pub const CERT_TRUST_IS_PEER_TRUSTED: u32 = 2048; +pub const CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED: u32 = 4096; +pub const CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE: u32 = 8192; +pub const CERT_TRUST_IS_CA_TRUSTED: u32 = 16384; +pub const CERT_TRUST_HAS_AUTO_UPDATE_WEAK_SIGNATURE: u32 = 32768; +pub const CERT_TRUST_HAS_ALLOW_WEAK_SIGNATURE: u32 = 131072; +pub const CERT_TRUST_IS_COMPLEX_CHAIN: u32 = 65536; +pub const CERT_TRUST_SSL_TIME_VALID: u32 = 16777216; +pub const CERT_TRUST_NO_TIME_CHECK: u32 = 33554432; +pub const USAGE_MATCH_TYPE_AND: u32 = 0; +pub const USAGE_MATCH_TYPE_OR: u32 = 1; +pub const CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG: u32 = 1; +pub const CERT_CHAIN_REVOCATION_CHECK_END_CERT: u32 = 268435456; +pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN: u32 = 536870912; +pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: u32 = 1073741824; +pub const CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY: u32 = 2147483648; +pub const CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT: u32 = 134217728; +pub const CERT_CHAIN_REVOCATION_CHECK_OCSP_CERT: u32 = 67108864; +pub const CERT_CHAIN_DISABLE_PASS1_QUALITY_FILTERING: u32 = 64; +pub const CERT_CHAIN_RETURN_LOWER_QUALITY_CONTEXTS: u32 = 128; +pub const CERT_CHAIN_DISABLE_AUTH_ROOT_AUTO_UPDATE: u32 = 256; +pub const CERT_CHAIN_TIMESTAMP_TIME: u32 = 512; +pub const CERT_CHAIN_ENABLE_PEER_TRUST: u32 = 1024; +pub const CERT_CHAIN_DISABLE_MY_PEER_TRUST: u32 = 2048; +pub const CERT_CHAIN_DISABLE_MD2_MD4: u32 = 4096; +pub const CERT_CHAIN_DISABLE_AIA: u32 = 8192; +pub const CERT_CHAIN_HAS_MOTW: u32 = 16384; +pub const CERT_CHAIN_ONLY_ADDITIONAL_AND_AUTH_ROOT: u32 = 32768; +pub const CERT_CHAIN_OPT_IN_WEAK_SIGNATURE: u32 = 65536; +pub const CERT_CHAIN_FIND_BY_ISSUER: u32 = 1; +pub const CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG: u32 = 1; +pub const CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG: u32 = 2; +pub const CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG: u32 = 4; +pub const CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG: u32 = 8; +pub const CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG: u32 = 16384; +pub const CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG: u32 = 32768; +pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG: u32 = 1; +pub const CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG: u32 = 2; +pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG: u32 = 4; +pub const CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG: u32 = 8; +pub const CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGS: u32 = 7; +pub const CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG: u32 = 16; +pub const CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG: u32 = 32; +pub const CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG: u32 = 64; +pub const CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG: u32 = 128; +pub const CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG: u32 = 256; +pub const CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG: u32 = 512; +pub const CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG: u32 = 1024; +pub const CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG: u32 = 2048; +pub const CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS: u32 = 3840; +pub const CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG: u32 = 32768; +pub const CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG: u32 = 16384; +pub const CERT_CHAIN_POLICY_IGNORE_NOT_SUPPORTED_CRITICAL_EXT_FLAG: u32 = 8192; +pub const CERT_CHAIN_POLICY_IGNORE_PEER_TRUST_FLAG: u32 = 4096; +pub const CERT_CHAIN_POLICY_IGNORE_WEAK_SIGNATURE_FLAG: u32 = 134217728; +pub const CRYPT_OID_VERIFY_CERTIFICATE_CHAIN_POLICY_FUNC: &[u8; 36usize] = + b"CertDllVerifyCertificateChainPolicy\0"; +pub const AUTHTYPE_CLIENT: u32 = 1; +pub const AUTHTYPE_SERVER: u32 = 2; +pub const BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_CA_FLAG: u32 = 2147483648; +pub const BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_END_ENTITY_FLAG: u32 = 1073741824; +pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG: u32 = 65536; +pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG: u32 = 131072; +pub const MICROSOFT_ROOT_CERT_CHAIN_POLICY_DISABLE_FLIGHT_ROOT_FLAG: u32 = 262144; +pub const SSL_F12_ERROR_TEXT_LENGTH: u32 = 256; +pub const CERT_CHAIN_POLICY_SSL_F12_SUCCESS_LEVEL: u32 = 0; +pub const CERT_CHAIN_POLICY_SSL_F12_WARNING_LEVEL: u32 = 1; +pub const CERT_CHAIN_POLICY_SSL_F12_ERROR_LEVEL: u32 = 2; +pub const CERT_CHAIN_POLICY_SSL_F12_NONE_CATEGORY: u32 = 0; +pub const CERT_CHAIN_POLICY_SSL_F12_WEAK_CRYPTO_CATEGORY: u32 = 1; +pub const CERT_CHAIN_POLICY_SSL_F12_ROOT_PROGRAM_CATEGORY: u32 = 2; +pub const SSL_HPKP_PKP_HEADER_INDEX: u32 = 0; +pub const SSL_HPKP_PKP_RO_HEADER_INDEX: u32 = 1; +pub const SSL_HPKP_HEADER_COUNT: u32 = 2; +pub const SSL_KEY_PIN_ERROR_TEXT_LENGTH: u32 = 512; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_ERROR: i32 = -2; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_ERROR: i32 = -1; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_SUCCESS: u32 = 0; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_WARNING: u32 = 1; +pub const CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_WARNING: u32 = 2; +pub const CRYPT_STRING_BASE64HEADER: u32 = 0; +pub const CRYPT_STRING_BASE64: u32 = 1; +pub const CRYPT_STRING_BINARY: u32 = 2; +pub const CRYPT_STRING_BASE64REQUESTHEADER: u32 = 3; +pub const CRYPT_STRING_HEX: u32 = 4; +pub const CRYPT_STRING_HEXASCII: u32 = 5; +pub const CRYPT_STRING_BASE64_ANY: u32 = 6; +pub const CRYPT_STRING_ANY: u32 = 7; +pub const CRYPT_STRING_HEX_ANY: u32 = 8; +pub const CRYPT_STRING_BASE64X509CRLHEADER: u32 = 9; +pub const CRYPT_STRING_HEXADDR: u32 = 10; +pub const CRYPT_STRING_HEXASCIIADDR: u32 = 11; +pub const CRYPT_STRING_HEXRAW: u32 = 12; +pub const CRYPT_STRING_BASE64URI: u32 = 13; +pub const CRYPT_STRING_ENCODEMASK: u32 = 255; +pub const CRYPT_STRING_RESERVED100: u32 = 256; +pub const CRYPT_STRING_RESERVED200: u32 = 512; +pub const CRYPT_STRING_PERCENTESCAPE: u32 = 134217728; +pub const CRYPT_STRING_HASHDATA: u32 = 268435456; +pub const CRYPT_STRING_STRICT: u32 = 536870912; +pub const CRYPT_STRING_NOCRLF: u32 = 1073741824; +pub const CRYPT_STRING_NOCR: u32 = 2147483648; +pub const szOID_PKCS_12_PbeIds: &[u8; 22usize] = b"1.2.840.113549.1.12.1\0"; +pub const szOID_PKCS_12_pbeWithSHA1And128BitRC4: &[u8; 24usize] = b"1.2.840.113549.1.12.1.1\0"; +pub const szOID_PKCS_12_pbeWithSHA1And40BitRC4: &[u8; 24usize] = b"1.2.840.113549.1.12.1.2\0"; +pub const szOID_PKCS_12_pbeWithSHA1And3KeyTripleDES: &[u8; 24usize] = b"1.2.840.113549.1.12.1.3\0"; +pub const szOID_PKCS_12_pbeWithSHA1And2KeyTripleDES: &[u8; 24usize] = b"1.2.840.113549.1.12.1.4\0"; +pub const szOID_PKCS_12_pbeWithSHA1And128BitRC2: &[u8; 24usize] = b"1.2.840.113549.1.12.1.5\0"; +pub const szOID_PKCS_12_pbeWithSHA1And40BitRC2: &[u8; 24usize] = b"1.2.840.113549.1.12.1.6\0"; +pub const szOID_PKCS_5_PBKDF2: &[u8; 22usize] = b"1.2.840.113549.1.5.12\0"; +pub const szOID_PKCS_5_PBES2: &[u8; 22usize] = b"1.2.840.113549.1.5.13\0"; +pub const PKCS12_IMPORT_SILENT: u32 = 64; +pub const CRYPT_USER_KEYSET: u32 = 4096; +pub const PKCS12_PREFER_CNG_KSP: u32 = 256; +pub const PKCS12_ALWAYS_CNG_KSP: u32 = 512; +pub const PKCS12_ONLY_CERTIFICATES: u32 = 1024; +pub const PKCS12_ONLY_NOT_ENCRYPTED_CERTIFICATES: u32 = 2048; +pub const PKCS12_ALLOW_OVERWRITE_KEY: u32 = 16384; +pub const PKCS12_NO_PERSIST_KEY: u32 = 32768; +pub const PKCS12_VIRTUAL_ISOLATION_KEY: u32 = 65536; +pub const PKCS12_IMPORT_RESERVED_MASK: u32 = 4294901760; +pub const PKCS12_ONLY_CERTIFICATES_PROVIDER_TYPE: u32 = 0; +pub const PKCS12_ONLY_CERTIFICATES_PROVIDER_NAME: &[u8; 12usize] = b"PfxProvider\0"; +pub const PKCS12_ONLY_CERTIFICATES_CONTAINER_NAME: &[u8; 13usize] = b"PfxContainer\0"; +pub const REPORT_NO_PRIVATE_KEY: u32 = 1; +pub const REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY: u32 = 2; +pub const EXPORT_PRIVATE_KEYS: u32 = 4; +pub const PKCS12_INCLUDE_EXTENDED_PROPERTIES: u32 = 16; +pub const PKCS12_PROTECT_TO_DOMAIN_SIDS: u32 = 32; +pub const PKCS12_EXPORT_SILENT: u32 = 64; +pub const PKCS12_EXPORT_PBES2_PARAMS: u32 = 128; +pub const PKCS12_DISABLE_ENCRYPT_CERTIFICATES: u32 = 256; +pub const PKCS12_ENCRYPT_CERTIFICATES: u32 = 512; +pub const PKCS12_EXPORT_ECC_CURVE_PARAMETERS: u32 = 4096; +pub const PKCS12_EXPORT_ECC_CURVE_OID: u32 = 8192; +pub const PKCS12_EXPORT_RESERVED_MASK: u32 = 4294901760; +pub const PKCS12_PBKDF2_ID_HMAC_SHA1: &[u8; 19usize] = b"1.2.840.113549.2.7\0"; +pub const PKCS12_PBKDF2_ID_HMAC_SHA256: &[u8; 19usize] = b"1.2.840.113549.2.9\0"; +pub const PKCS12_PBKDF2_ID_HMAC_SHA384: &[u8; 20usize] = b"1.2.840.113549.2.10\0"; +pub const PKCS12_PBKDF2_ID_HMAC_SHA512: &[u8; 20usize] = b"1.2.840.113549.2.11\0"; +pub const PKCS12_PBES2_ALG_AES256_SHA256: &[u8; 14usize] = b"AES256-SHA256\0"; +pub const PKCS12_CONFIG_REGPATH: &[u8; 46usize] = + b"Software\\Microsoft\\Windows\\CurrentVersion\\PFX\0"; +pub const PKCS12_ENCRYPT_CERTIFICATES_VALUE_NAME: &[u8; 20usize] = b"EncryptCertificates\0"; +pub const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_READ_FLAG: u32 = 1; +pub const CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_WRITE_FLAG: u32 = 2; +pub const CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG: u32 = 1; +pub const CERT_SELECT_MAX_PARA: u32 = 500; +pub const CERT_SELECT_BY_ENHKEY_USAGE: u32 = 1; +pub const CERT_SELECT_BY_KEY_USAGE: u32 = 2; +pub const CERT_SELECT_BY_POLICY_OID: u32 = 3; +pub const CERT_SELECT_BY_PROV_NAME: u32 = 4; +pub const CERT_SELECT_BY_EXTENSION: u32 = 5; +pub const CERT_SELECT_BY_SUBJECT_HOST_NAME: u32 = 6; +pub const CERT_SELECT_BY_ISSUER_ATTR: u32 = 7; +pub const CERT_SELECT_BY_SUBJECT_ATTR: u32 = 8; +pub const CERT_SELECT_BY_ISSUER_NAME: u32 = 9; +pub const CERT_SELECT_BY_PUBLIC_KEY: u32 = 10; +pub const CERT_SELECT_BY_TLS_SIGNATURES: u32 = 11; +pub const CERT_SELECT_BY_ISSUER_DISPLAYNAME: u32 = 12; +pub const CERT_SELECT_BY_FRIENDLYNAME: u32 = 13; +pub const CERT_SELECT_BY_THUMBPRINT: u32 = 14; +pub const CERT_SELECT_LAST: u32 = 11; +pub const CERT_SELECT_MAX: u32 = 33; +pub const CERT_SELECT_ALLOW_EXPIRED: u32 = 1; +pub const CERT_SELECT_TRUSTED_ROOT: u32 = 2; +pub const CERT_SELECT_DISALLOW_SELFSIGNED: u32 = 4; +pub const CERT_SELECT_HAS_PRIVATE_KEY: u32 = 8; +pub const CERT_SELECT_HAS_KEY_FOR_SIGNATURE: u32 = 16; +pub const CERT_SELECT_HAS_KEY_FOR_KEY_EXCHANGE: u32 = 32; +pub const CERT_SELECT_HARDWARE_ONLY: u32 = 64; +pub const CERT_SELECT_ALLOW_DUPLICATES: u32 = 128; +pub const CERT_SELECT_IGNORE_AUTOSELECT: u32 = 256; +pub const TIMESTAMP_VERSION: u32 = 1; +pub const TIMESTAMP_STATUS_GRANTED: u32 = 0; +pub const TIMESTAMP_STATUS_GRANTED_WITH_MODS: u32 = 1; +pub const TIMESTAMP_STATUS_REJECTED: u32 = 2; +pub const TIMESTAMP_STATUS_WAITING: u32 = 3; +pub const TIMESTAMP_STATUS_REVOCATION_WARNING: u32 = 4; +pub const TIMESTAMP_STATUS_REVOKED: u32 = 5; +pub const TIMESTAMP_FAILURE_BAD_ALG: u32 = 0; +pub const TIMESTAMP_FAILURE_BAD_REQUEST: u32 = 2; +pub const TIMESTAMP_FAILURE_BAD_FORMAT: u32 = 5; +pub const TIMESTAMP_FAILURE_TIME_NOT_AVAILABLE: u32 = 14; +pub const TIMESTAMP_FAILURE_POLICY_NOT_SUPPORTED: u32 = 15; +pub const TIMESTAMP_FAILURE_EXTENSION_NOT_SUPPORTED: u32 = 16; +pub const TIMESTAMP_FAILURE_INFO_NOT_AVAILABLE: u32 = 17; +pub const TIMESTAMP_FAILURE_SYSTEM_FAILURE: u32 = 25; +pub const TIMESTAMP_DONT_HASH_DATA: u32 = 1; +pub const TIMESTAMP_VERIFY_CONTEXT_SIGNATURE: u32 = 32; +pub const TIMESTAMP_NO_AUTH_RETRIEVAL: u32 = 131072; +pub const CRYPT_OBJECT_LOCATOR_SPN_NAME_TYPE: u32 = 1; +pub const CRYPT_OBJECT_LOCATOR_LAST_RESERVED_NAME_TYPE: u32 = 32; +pub const CRYPT_OBJECT_LOCATOR_FIRST_RESERVED_USER_NAME_TYPE: u32 = 33; +pub const CRYPT_OBJECT_LOCATOR_LAST_RESERVED_USER_NAME_TYPE: u32 = 65535; +pub const SSL_OBJECT_LOCATOR_PFX_FUNC: &[u8; 30usize] = b"SslObjectLocatorInitializePfx\0"; +pub const SSL_OBJECT_LOCATOR_ISSUER_LIST_FUNC: &[u8; 37usize] = + b"SslObjectLocatorInitializeIssuerList\0"; +pub const SSL_OBJECT_LOCATOR_CERT_VALIDATION_CONFIG_FUNC: &[u8; 47usize] = + b"SslObjectLocatorInitializeCertValidationConfig\0"; +pub const CRYPT_OBJECT_LOCATOR_RELEASE_SYSTEM_SHUTDOWN: u32 = 1; +pub const CRYPT_OBJECT_LOCATOR_RELEASE_SERVICE_STOP: u32 = 2; +pub const CRYPT_OBJECT_LOCATOR_RELEASE_PROCESS_EXIT: u32 = 3; +pub const CRYPT_OBJECT_LOCATOR_RELEASE_DLL_UNLOAD: u32 = 4; +pub const CERT_FILE_HASH_USE_TYPE: u32 = 1; +pub const CERT_TIMESTAMP_HASH_USE_TYPE: u32 = 2; +pub const szFORCE_KEY_PROTECTION: &[u8; 19usize] = b"ForceKeyProtection\0"; +pub const dwFORCE_KEY_PROTECTION_DISABLED: u32 = 0; +pub const dwFORCE_KEY_PROTECTION_USER_SELECT: u32 = 1; +pub const dwFORCE_KEY_PROTECTION_HIGH: u32 = 2; +pub const CRYPTPROTECT_PROMPT_ON_UNPROTECT: u32 = 1; +pub const CRYPTPROTECT_PROMPT_ON_PROTECT: u32 = 2; +pub const CRYPTPROTECT_PROMPT_RESERVED: u32 = 4; +pub const CRYPTPROTECT_PROMPT_STRONG: u32 = 8; +pub const CRYPTPROTECT_PROMPT_REQUIRE_STRONG: u32 = 16; +pub const CRYPTPROTECT_UI_FORBIDDEN: u32 = 1; +pub const CRYPTPROTECT_LOCAL_MACHINE: u32 = 4; +pub const CRYPTPROTECT_CRED_SYNC: u32 = 8; +pub const CRYPTPROTECT_AUDIT: u32 = 16; +pub const CRYPTPROTECT_NO_RECOVERY: u32 = 32; +pub const CRYPTPROTECT_VERIFY_PROTECTION: u32 = 64; +pub const CRYPTPROTECT_CRED_REGENERATE: u32 = 128; +pub const CRYPTPROTECT_FIRST_RESERVED_FLAGVAL: u32 = 268435455; +pub const CRYPTPROTECT_LAST_RESERVED_FLAGVAL: u32 = 4294967295; +pub const CRYPTPROTECTMEMORY_BLOCK_SIZE: u32 = 16; +pub const CRYPTPROTECTMEMORY_SAME_PROCESS: u32 = 0; +pub const CRYPTPROTECTMEMORY_CROSS_PROCESS: u32 = 1; +pub const CRYPTPROTECTMEMORY_SAME_LOGON: u32 = 2; +pub const WINEFS_SETUSERKEY_SET_CAPABILITIES: u32 = 1; +pub const EFS_COMPATIBILITY_VERSION_NCRYPT_PROTECTOR: u32 = 5; +pub const EFS_COMPATIBILITY_VERSION_PFILE_PROTECTOR: u32 = 6; +pub const EFS_SUBVER_UNKNOWN: u32 = 0; +pub const EFS_EFS_SUBVER_EFS_CERT: u32 = 1; +pub const EFS_PFILE_SUBVER_RMS: u32 = 2; +pub const EFS_PFILE_SUBVER_APPX: u32 = 3; +pub const MAX_SID_SIZE: u32 = 256; +pub const EFS_METADATA_ADD_USER: u32 = 1; +pub const EFS_METADATA_REMOVE_USER: u32 = 2; +pub const EFS_METADATA_REPLACE_USER: u32 = 4; +pub const EFS_METADATA_GENERAL_OP: u32 = 8; +pub const __REQUIRED_RPCNDR_H_VERSION__: u32 = 500; +pub const __REQUIRED_RPCSAL_H_VERSION__: u32 = 100; +pub const __RPCNDR_H_VERSION__: u32 = 500; +pub const __RPCSAL_H_VERSION__: u32 = 100; +pub const TARGET_IS_NT100_OR_LATER: u32 = 1; +pub const TARGET_IS_NT63_OR_LATER: u32 = 1; +pub const TARGET_IS_NT62_OR_LATER: u32 = 1; +pub const TARGET_IS_NT61_OR_LATER: u32 = 1; +pub const TARGET_IS_NT60_OR_LATER: u32 = 1; +pub const TARGET_IS_NT51_OR_LATER: u32 = 1; +pub const TARGET_IS_NT50_OR_LATER: u32 = 1; +pub const TARGET_IS_NT40_OR_LATER: u32 = 1; +pub const TARGET_IS_NT351_OR_WIN95_OR_LATER: u32 = 1; +pub const cbNDRContext: u32 = 20; +pub const USER_CALL_IS_ASYNC: u32 = 256; +pub const USER_CALL_NEW_CORRELATION_DESC: u32 = 512; +pub const USER_MARSHAL_FC_BYTE: u32 = 1; +pub const USER_MARSHAL_FC_CHAR: u32 = 2; +pub const USER_MARSHAL_FC_SMALL: u32 = 3; +pub const USER_MARSHAL_FC_USMALL: u32 = 4; +pub const USER_MARSHAL_FC_WCHAR: u32 = 5; +pub const USER_MARSHAL_FC_SHORT: u32 = 6; +pub const USER_MARSHAL_FC_USHORT: u32 = 7; +pub const USER_MARSHAL_FC_LONG: u32 = 8; +pub const USER_MARSHAL_FC_ULONG: u32 = 9; +pub const USER_MARSHAL_FC_FLOAT: u32 = 10; +pub const USER_MARSHAL_FC_HYPER: u32 = 11; +pub const USER_MARSHAL_FC_DOUBLE: u32 = 12; +pub const ROTREGFLAGS_ALLOWANYCLIENT: u32 = 1; +pub const APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP: u32 = 1; +pub const APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND: u32 = 2; +pub const APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY: u32 = 4; +pub const APPIDREGFLAGS_IUSERVER_UNMODIFIED_LOGON_TOKEN: u32 = 8; +pub const APPIDREGFLAGS_IUSERVER_SELF_SID_IN_LAUNCH_PERMISSION: u32 = 16; +pub const APPIDREGFLAGS_IUSERVER_ACTIVATE_IN_CLIENT_SESSION_ONLY: u32 = 32; +pub const APPIDREGFLAGS_RESERVED1: u32 = 64; +pub const APPIDREGFLAGS_RESERVED2: u32 = 128; +pub const APPIDREGFLAGS_RESERVED3: u32 = 256; +pub const APPIDREGFLAGS_RESERVED4: u32 = 512; +pub const APPIDREGFLAGS_RESERVED5: u32 = 1024; +pub const APPIDREGFLAGS_AAA_NO_IMPLICIT_ACTIVATE_AS_IU: u32 = 2048; +pub const APPIDREGFLAGS_RESERVED7: u32 = 4096; +pub const APPIDREGFLAGS_RESERVED8: u32 = 8192; +pub const APPIDREGFLAGS_RESERVED9: u32 = 16384; +pub const DCOMSCM_ACTIVATION_USE_ALL_AUTHNSERVICES: u32 = 1; +pub const DCOMSCM_ACTIVATION_DISALLOW_UNSECURE_CALL: u32 = 2; +pub const DCOMSCM_RESOLVE_USE_ALL_AUTHNSERVICES: u32 = 4; +pub const DCOMSCM_RESOLVE_DISALLOW_UNSECURE_CALL: u32 = 8; +pub const DCOMSCM_PING_USE_MID_AUTHNSERVICE: u32 = 16; +pub const DCOMSCM_PING_DISALLOW_UNSECURE_CALL: u32 = 32; +pub const ROTFLAGS_REGISTRATIONKEEPSALIVE: u32 = 1; +pub const ROTFLAGS_ALLOWANYCLIENT: u32 = 2; +pub const ROT_COMPARE_MAX: u32 = 2048; +pub const WDT_INPROC_CALL: u32 = 1215587415; +pub const WDT_REMOTE_CALL: u32 = 1383359575; +pub const WDT_INPROC64_CALL: u32 = 1349805143; +pub const FILE_DEVICE_BEEP: u32 = 1; +pub const FILE_DEVICE_CD_ROM: u32 = 2; +pub const FILE_DEVICE_CD_ROM_FILE_SYSTEM: u32 = 3; +pub const FILE_DEVICE_CONTROLLER: u32 = 4; +pub const FILE_DEVICE_DATALINK: u32 = 5; +pub const FILE_DEVICE_DFS: u32 = 6; +pub const FILE_DEVICE_DISK: u32 = 7; +pub const FILE_DEVICE_DISK_FILE_SYSTEM: u32 = 8; +pub const FILE_DEVICE_FILE_SYSTEM: u32 = 9; +pub const FILE_DEVICE_INPORT_PORT: u32 = 10; +pub const FILE_DEVICE_KEYBOARD: u32 = 11; +pub const FILE_DEVICE_MAILSLOT: u32 = 12; +pub const FILE_DEVICE_MIDI_IN: u32 = 13; +pub const FILE_DEVICE_MIDI_OUT: u32 = 14; +pub const FILE_DEVICE_MOUSE: u32 = 15; +pub const FILE_DEVICE_MULTI_UNC_PROVIDER: u32 = 16; +pub const FILE_DEVICE_NAMED_PIPE: u32 = 17; +pub const FILE_DEVICE_NETWORK: u32 = 18; +pub const FILE_DEVICE_NETWORK_BROWSER: u32 = 19; +pub const FILE_DEVICE_NETWORK_FILE_SYSTEM: u32 = 20; +pub const FILE_DEVICE_NULL: u32 = 21; +pub const FILE_DEVICE_PARALLEL_PORT: u32 = 22; +pub const FILE_DEVICE_PHYSICAL_NETCARD: u32 = 23; +pub const FILE_DEVICE_PRINTER: u32 = 24; +pub const FILE_DEVICE_SCANNER: u32 = 25; +pub const FILE_DEVICE_SERIAL_MOUSE_PORT: u32 = 26; +pub const FILE_DEVICE_SERIAL_PORT: u32 = 27; +pub const FILE_DEVICE_SCREEN: u32 = 28; +pub const FILE_DEVICE_SOUND: u32 = 29; +pub const FILE_DEVICE_STREAMS: u32 = 30; +pub const FILE_DEVICE_TAPE: u32 = 31; +pub const FILE_DEVICE_TAPE_FILE_SYSTEM: u32 = 32; +pub const FILE_DEVICE_TRANSPORT: u32 = 33; +pub const FILE_DEVICE_UNKNOWN: u32 = 34; +pub const FILE_DEVICE_VIDEO: u32 = 35; +pub const FILE_DEVICE_VIRTUAL_DISK: u32 = 36; +pub const FILE_DEVICE_WAVE_IN: u32 = 37; +pub const FILE_DEVICE_WAVE_OUT: u32 = 38; +pub const FILE_DEVICE_8042_PORT: u32 = 39; +pub const FILE_DEVICE_NETWORK_REDIRECTOR: u32 = 40; +pub const FILE_DEVICE_BATTERY: u32 = 41; +pub const FILE_DEVICE_BUS_EXTENDER: u32 = 42; +pub const FILE_DEVICE_MODEM: u32 = 43; +pub const FILE_DEVICE_VDM: u32 = 44; +pub const FILE_DEVICE_MASS_STORAGE: u32 = 45; +pub const FILE_DEVICE_SMB: u32 = 46; +pub const FILE_DEVICE_KS: u32 = 47; +pub const FILE_DEVICE_CHANGER: u32 = 48; +pub const FILE_DEVICE_SMARTCARD: u32 = 49; +pub const FILE_DEVICE_ACPI: u32 = 50; +pub const FILE_DEVICE_DVD: u32 = 51; +pub const FILE_DEVICE_FULLSCREEN_VIDEO: u32 = 52; +pub const FILE_DEVICE_DFS_FILE_SYSTEM: u32 = 53; +pub const FILE_DEVICE_DFS_VOLUME: u32 = 54; +pub const FILE_DEVICE_SERENUM: u32 = 55; +pub const FILE_DEVICE_TERMSRV: u32 = 56; +pub const FILE_DEVICE_KSEC: u32 = 57; +pub const FILE_DEVICE_FIPS: u32 = 58; +pub const FILE_DEVICE_INFINIBAND: u32 = 59; +pub const FILE_DEVICE_VMBUS: u32 = 62; +pub const FILE_DEVICE_CRYPT_PROVIDER: u32 = 63; +pub const FILE_DEVICE_WPD: u32 = 64; +pub const FILE_DEVICE_BLUETOOTH: u32 = 65; +pub const FILE_DEVICE_MT_COMPOSITE: u32 = 66; +pub const FILE_DEVICE_MT_TRANSPORT: u32 = 67; +pub const FILE_DEVICE_BIOMETRIC: u32 = 68; +pub const FILE_DEVICE_PMI: u32 = 69; +pub const FILE_DEVICE_EHSTOR: u32 = 70; +pub const FILE_DEVICE_DEVAPI: u32 = 71; +pub const FILE_DEVICE_GPIO: u32 = 72; +pub const FILE_DEVICE_USBEX: u32 = 73; +pub const FILE_DEVICE_CONSOLE: u32 = 80; +pub const FILE_DEVICE_NFP: u32 = 81; +pub const FILE_DEVICE_SYSENV: u32 = 82; +pub const FILE_DEVICE_VIRTUAL_BLOCK: u32 = 83; +pub const FILE_DEVICE_POINT_OF_SERVICE: u32 = 84; +pub const FILE_DEVICE_STORAGE_REPLICATION: u32 = 85; +pub const FILE_DEVICE_TRUST_ENV: u32 = 86; +pub const FILE_DEVICE_UCM: u32 = 87; +pub const FILE_DEVICE_UCMTCPCI: u32 = 88; +pub const FILE_DEVICE_PERSISTENT_MEMORY: u32 = 89; +pub const FILE_DEVICE_NVDIMM: u32 = 90; +pub const FILE_DEVICE_HOLOGRAPHIC: u32 = 91; +pub const FILE_DEVICE_SDFXHCI: u32 = 92; +pub const FILE_DEVICE_UCMUCSI: u32 = 93; +pub const METHOD_BUFFERED: u32 = 0; +pub const METHOD_IN_DIRECT: u32 = 1; +pub const METHOD_OUT_DIRECT: u32 = 2; +pub const METHOD_NEITHER: u32 = 3; +pub const METHOD_DIRECT_TO_HARDWARE: u32 = 1; +pub const METHOD_DIRECT_FROM_HARDWARE: u32 = 2; +pub const FILE_ANY_ACCESS: u32 = 0; +pub const FILE_SPECIAL_ACCESS: u32 = 0; +pub const FILE_READ_ACCESS: u32 = 1; +pub const FILE_WRITE_ACCESS: u32 = 2; +pub const IOCTL_STORAGE_BASE: u32 = 45; +pub const STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_CONFLICT: u32 = 1; +pub const STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_NOHWID: u32 = 2; +pub const STORAGE_DEVICE_FLAGS_PAGE_83_DEVICEGUID: u32 = 4; +pub const RECOVERED_WRITES_VALID: u32 = 1; +pub const UNRECOVERED_WRITES_VALID: u32 = 2; +pub const RECOVERED_READS_VALID: u32 = 4; +pub const UNRECOVERED_READS_VALID: u32 = 8; +pub const WRITE_COMPRESSION_INFO_VALID: u32 = 16; +pub const READ_COMPRESSION_INFO_VALID: u32 = 32; +pub const TAPE_RETURN_STATISTICS: u32 = 0; +pub const TAPE_RETURN_ENV_INFO: u32 = 1; +pub const TAPE_RESET_STATISTICS: u32 = 2; +pub const MEDIA_ERASEABLE: u32 = 1; +pub const MEDIA_WRITE_ONCE: u32 = 2; +pub const MEDIA_READ_ONLY: u32 = 4; +pub const MEDIA_READ_WRITE: u32 = 8; +pub const MEDIA_WRITE_PROTECTED: u32 = 256; +pub const MEDIA_CURRENTLY_MOUNTED: u32 = 2147483648; +pub const STORAGE_FAILURE_PREDICTION_CONFIG_V1: u32 = 1; +pub const SRB_TYPE_SCSI_REQUEST_BLOCK: u32 = 0; +pub const SRB_TYPE_STORAGE_REQUEST_BLOCK: u32 = 1; +pub const STORAGE_ADDRESS_TYPE_BTL8: u32 = 0; +pub const STORAGE_RPMB_DESCRIPTOR_VERSION_1: u32 = 1; +pub const STORAGE_RPMB_MINIMUM_RELIABLE_WRITE_SIZE: u32 = 512; +pub const STORAGE_CRYPTO_CAPABILITY_VERSION_1: u32 = 1; +pub const STORAGE_CRYPTO_DESCRIPTOR_VERSION_1: u32 = 1; +pub const STORAGE_TIER_NAME_LENGTH: u32 = 256; +pub const STORAGE_TIER_DESCRIPTION_LENGTH: u32 = 512; +pub const STORAGE_TIER_FLAG_NO_SEEK_PENALTY: u32 = 131072; +pub const STORAGE_TIER_FLAG_WRITE_BACK_CACHE: u32 = 2097152; +pub const STORAGE_TIER_FLAG_READ_CACHE: u32 = 4194304; +pub const STORAGE_TIER_FLAG_PARITY: u32 = 8388608; +pub const STORAGE_TIER_FLAG_SMR: u32 = 16777216; +pub const STORAGE_TEMPERATURE_VALUE_NOT_REPORTED: u32 = 32768; +pub const STORAGE_TEMPERATURE_THRESHOLD_FLAG_ADAPTER_REQUEST: u32 = 1; +pub const STORAGE_COMPONENT_ROLE_CACHE: u32 = 1; +pub const STORAGE_COMPONENT_ROLE_TIERING: u32 = 2; +pub const STORAGE_COMPONENT_ROLE_DATA: u32 = 4; +pub const STORAGE_ATTRIBUTE_BYTE_ADDRESSABLE_IO: u32 = 1; +pub const STORAGE_ATTRIBUTE_BLOCK_IO: u32 = 2; +pub const STORAGE_ATTRIBUTE_DYNAMIC_PERSISTENCE: u32 = 4; +pub const STORAGE_ATTRIBUTE_VOLATILE: u32 = 8; +pub const STORAGE_ATTRIBUTE_ASYNC_EVENT_NOTIFICATION: u32 = 16; +pub const STORAGE_ATTRIBUTE_PERF_SIZE_INDEPENDENT: u32 = 32; +pub const STORAGE_DEVICE_MAX_OPERATIONAL_STATUS: u32 = 16; +pub const STORAGE_ADAPTER_SERIAL_NUMBER_V1_MAX_LENGTH: u32 = 128; +pub const STORAGE_DEVICE_NUMA_NODE_UNKNOWN: u32 = 4294967295; +pub const DeviceDsmActionFlag_NonDestructive: u32 = 2147483648; +pub const DeviceDsmAction_None: u32 = 0; +pub const DeviceDsmAction_Trim: u32 = 1; +pub const DeviceDsmAction_Notification: u32 = 2147483650; +pub const DeviceDsmAction_OffloadRead: u32 = 2147483651; +pub const DeviceDsmAction_OffloadWrite: u32 = 4; +pub const DeviceDsmAction_Allocation: u32 = 2147483653; +pub const DeviceDsmAction_Repair: u32 = 2147483654; +pub const DeviceDsmAction_Scrub: u32 = 2147483655; +pub const DeviceDsmAction_DrtQuery: u32 = 2147483656; +pub const DeviceDsmAction_DrtClear: u32 = 2147483657; +pub const DeviceDsmAction_DrtDisable: u32 = 2147483658; +pub const DeviceDsmAction_TieringQuery: u32 = 2147483659; +pub const DeviceDsmAction_Map: u32 = 2147483660; +pub const DeviceDsmAction_RegenerateParity: u32 = 2147483661; +pub const DeviceDsmAction_NvCache_Change_Priority: u32 = 2147483662; +pub const DeviceDsmAction_NvCache_Evict: u32 = 2147483663; +pub const DeviceDsmAction_TopologyIdQuery: u32 = 2147483664; +pub const DeviceDsmAction_GetPhysicalAddresses: u32 = 2147483665; +pub const DeviceDsmAction_ScopeRegen: u32 = 2147483666; +pub const DeviceDsmAction_ReportZones: u32 = 2147483667; +pub const DeviceDsmAction_OpenZone: u32 = 2147483668; +pub const DeviceDsmAction_FinishZone: u32 = 2147483669; +pub const DeviceDsmAction_CloseZone: u32 = 2147483670; +pub const DeviceDsmAction_ResetWritePointer: u32 = 23; +pub const DeviceDsmAction_GetRangeErrorInfo: u32 = 2147483672; +pub const DeviceDsmAction_WriteZeroes: u32 = 25; +pub const DeviceDsmAction_LostQuery: u32 = 2147483674; +pub const DeviceDsmAction_GetFreeSpace: u32 = 2147483675; +pub const DeviceDsmAction_ConversionQuery: u32 = 2147483676; +pub const DeviceDsmAction_VdtSet: u32 = 29; +pub const DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE: u32 = 1; +pub const DEVICE_DSM_FLAG_TRIM_NOT_FS_ALLOCATED: u32 = 2147483648; +pub const DEVICE_DSM_FLAG_TRIM_BYPASS_RZAT: u32 = 1073741824; +pub const DEVICE_DSM_NOTIFY_FLAG_BEGIN: u32 = 1; +pub const DEVICE_DSM_NOTIFY_FLAG_END: u32 = 2; +pub const STORAGE_OFFLOAD_MAX_TOKEN_LENGTH: u32 = 512; +pub const STORAGE_OFFLOAD_TOKEN_ID_LENGTH: u32 = 504; +pub const STORAGE_OFFLOAD_TOKEN_TYPE_ZERO_DATA: u32 = 4294901761; +pub const STORAGE_OFFLOAD_READ_RANGE_TRUNCATED: u32 = 1; +pub const STORAGE_OFFLOAD_WRITE_RANGE_TRUNCATED: u32 = 1; +pub const STORAGE_OFFLOAD_TOKEN_INVALID: u32 = 2; +pub const DEVICE_DSM_FLAG_ALLOCATION_CONSOLIDATEABLE_ONLY: u32 = 1073741824; +pub const DEVICE_DSM_PARAMETERS_V1: u32 = 1; +pub const DEVICE_DATA_SET_LBP_STATE_PARAMETERS_VERSION_V1: u32 = 1; +pub const DEVICE_DSM_FLAG_REPAIR_INPUT_TOPOLOGY_ID_PRESENT: u32 = 1073741824; +pub const DEVICE_DSM_FLAG_REPAIR_OUTPUT_PARITY_EXTENT: u32 = 536870912; +pub const DEVICE_DSM_FLAG_SCRUB_SKIP_IN_SYNC: u32 = 268435456; +pub const DEVICE_DSM_FLAG_SCRUB_OUTPUT_PARITY_EXTENT: u32 = 536870912; +pub const DEVICE_DSM_FLAG_PHYSICAL_ADDRESSES_OMIT_TOTAL_RANGES: u32 = 268435456; +pub const DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT_V1: u32 = 1; +pub const DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT_VERSION_V1: u32 = 1; +pub const DEVICE_STORAGE_NO_ERRORS: u32 = 1; +pub const DEVICE_DSM_RANGE_ERROR_OUTPUT_V1: u32 = 1; +pub const DEVICE_DSM_RANGE_ERROR_INFO_VERSION_V1: u32 = 1; +pub const IOCTL_STORAGE_BC_VERSION: u32 = 1; +pub const STORAGE_PRIORITY_HINT_SUPPORTED: u32 = 1; +pub const ERROR_HISTORY_DIRECTORY_ENTRY_DEFAULT_COUNT: u32 = 8; +pub const DEVICEDUMP_STRUCTURE_VERSION_V1: u32 = 1; +pub const DEVICEDUMP_MAX_IDSTRING: u32 = 32; +pub const MAX_FW_BUCKET_ID_LENGTH: u32 = 132; +pub const STORAGE_CRASH_TELEMETRY_REGKEY: &[u8; 81usize] = + b"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\CrashControl\\StorageTelemetry\0"; +pub const STORAGE_DEVICE_TELEMETRY_REGKEY: &[u8; 76usize] = + b"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Storage\\StorageTelemetry\0"; +pub const DDUMP_FLAG_DATA_READ_FROM_DEVICE: u32 = 1; +pub const FW_ISSUEID_NO_ISSUE: u32 = 0; +pub const FW_ISSUEID_UNKNOWN: u32 = 4294967295; +pub const TC_PUBLIC_DEVICEDUMP_CONTENT_SMART: u32 = 1; +pub const TC_PUBLIC_DEVICEDUMP_CONTENT_GPLOG: u32 = 2; +pub const TC_PUBLIC_DEVICEDUMP_CONTENT_GPLOG_MAX: u32 = 16; +pub const TC_DEVICEDUMP_SUBSECTION_DESC_LENGTH: u32 = 16; +pub const TC_PUBLIC_DATA_TYPE_ATAGP: &[u8; 14usize] = b"ATAGPLogPages\0"; +pub const TC_PUBLIC_DATA_TYPE_ATASMART: &[u8; 14usize] = b"ATASMARTPages\0"; +pub const CDB_SIZE: u32 = 16; +pub const TELEMETRY_COMMAND_SIZE: u32 = 16; +pub const DEVICEDUMP_CAP_PRIVATE_SECTION: u32 = 1; +pub const DEVICEDUMP_CAP_RESTRICTED_SECTION: u32 = 2; +pub const STORAGE_IDLE_POWERUP_REASON_VERSION_V1: u32 = 1; +pub const STORAGE_DEVICE_POWER_CAP_VERSION_V1: u32 = 1; +pub const STORAGE_EVENT_NOTIFICATION_VERSION_V1: u32 = 1; +pub const STORAGE_EVENT_MEDIA_STATUS: u32 = 1; +pub const STORAGE_EVENT_DEVICE_STATUS: u32 = 2; +pub const STORAGE_EVENT_DEVICE_OPERATION: u32 = 4; +pub const STORAGE_EVENT_ALL: u32 = 7; +pub const READ_COPY_NUMBER_KEY: u32 = 1380142592; +pub const READ_COPY_NUMBER_BYPASS_CACHE_FLAG: u32 = 256; +pub const STORAGE_HW_FIRMWARE_REQUEST_FLAG_CONTROLLER: u32 = 1; +pub const STORAGE_HW_FIRMWARE_REQUEST_FLAG_LAST_SEGMENT: u32 = 2; +pub const STORAGE_HW_FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT: u32 = 4; +pub const STORAGE_HW_FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE: u32 = 2147483648; +pub const STORAGE_HW_FIRMWARE_INVALID_SLOT: u32 = 255; +pub const STORAGE_HW_FIRMWARE_REVISION_LENGTH: u32 = 16; +pub const STORAGE_PROTOCOL_STRUCTURE_VERSION: u32 = 1; +pub const STORAGE_PROTOCOL_COMMAND_FLAG_ADAPTER_REQUEST: u32 = 2147483648; +pub const STORAGE_PROTOCOL_STATUS_PENDING: u32 = 0; +pub const STORAGE_PROTOCOL_STATUS_SUCCESS: u32 = 1; +pub const STORAGE_PROTOCOL_STATUS_ERROR: u32 = 2; +pub const STORAGE_PROTOCOL_STATUS_INVALID_REQUEST: u32 = 3; +pub const STORAGE_PROTOCOL_STATUS_NO_DEVICE: u32 = 4; +pub const STORAGE_PROTOCOL_STATUS_BUSY: u32 = 5; +pub const STORAGE_PROTOCOL_STATUS_DATA_OVERRUN: u32 = 6; +pub const STORAGE_PROTOCOL_STATUS_INSUFFICIENT_RESOURCES: u32 = 7; +pub const STORAGE_PROTOCOL_STATUS_THROTTLED_REQUEST: u32 = 8; +pub const STORAGE_PROTOCOL_STATUS_NOT_SUPPORTED: u32 = 255; +pub const STORAGE_PROTOCOL_COMMAND_LENGTH_NVME: u32 = 64; +pub const STORAGE_PROTOCOL_SPECIFIC_NVME_ADMIN_COMMAND: u32 = 1; +pub const STORAGE_PROTOCOL_SPECIFIC_NVME_NVM_COMMAND: u32 = 2; +pub const STORATTRIBUTE_NONE: u32 = 0; +pub const STORATTRIBUTE_MANAGEMENT_STATE: u32 = 1; +pub const IOCTL_SCMBUS_BASE: u32 = 89; +pub const IOCTL_SCMBUS_DEVICE_FUNCTION_BASE: u32 = 0; +pub const IOCTL_SCM_LOGICAL_DEVICE_FUNCTION_BASE: u32 = 768; +pub const IOCTL_SCM_PHYSICAL_DEVICE_FUNCTION_BASE: u32 = 1536; +pub const SCM_MAX_SYMLINK_LEN_IN_CHARS: u32 = 256; +pub const MAX_INTERFACE_CODES: u32 = 8; +pub const SCM_PD_FIRMWARE_REVISION_LENGTH_BYTES: u32 = 32; +pub const SCM_PD_PROPERTY_NAME_LENGTH_IN_CHARS: u32 = 128; +pub const SCM_PD_MAX_OPERATIONAL_STATUS: u32 = 16; +pub const SCM_PD_FIRMWARE_LAST_DOWNLOAD: u32 = 1; +pub const IOCTL_DISK_BASE: u32 = 7; +pub const PARTITION_ENTRY_UNUSED: u32 = 0; +pub const PARTITION_FAT_12: u32 = 1; +pub const PARTITION_XENIX_1: u32 = 2; +pub const PARTITION_XENIX_2: u32 = 3; +pub const PARTITION_FAT_16: u32 = 4; +pub const PARTITION_EXTENDED: u32 = 5; +pub const PARTITION_HUGE: u32 = 6; +pub const PARTITION_IFS: u32 = 7; +pub const PARTITION_OS2BOOTMGR: u32 = 10; +pub const PARTITION_FAT32: u32 = 11; +pub const PARTITION_FAT32_XINT13: u32 = 12; +pub const PARTITION_XINT13: u32 = 14; +pub const PARTITION_XINT13_EXTENDED: u32 = 15; +pub const PARTITION_MSFT_RECOVERY: u32 = 39; +pub const PARTITION_MAIN_OS: u32 = 40; +pub const PARTIITON_OS_DATA: u32 = 41; +pub const PARTITION_PRE_INSTALLED: u32 = 42; +pub const PARTITION_BSP: u32 = 43; +pub const PARTITION_DPP: u32 = 44; +pub const PARTITION_WINDOWS_SYSTEM: u32 = 45; +pub const PARTITION_PREP: u32 = 65; +pub const PARTITION_LDM: u32 = 66; +pub const PARTITION_DM: u32 = 84; +pub const PARTITION_EZDRIVE: u32 = 85; +pub const PARTITION_UNIX: u32 = 99; +pub const PARTITION_SPACES_DATA: u32 = 215; +pub const PARTITION_SPACES: u32 = 231; +pub const PARTITION_GPT: u32 = 238; +pub const PARTITION_SYSTEM: u32 = 239; +pub const VALID_NTFT: u32 = 192; +pub const PARTITION_NTFT: u32 = 128; +pub const GPT_ATTRIBUTE_PLATFORM_REQUIRED: u32 = 1; +pub const GPT_ATTRIBUTE_NO_BLOCK_IO_PROTOCOL: u32 = 2; +pub const GPT_ATTRIBUTE_LEGACY_BIOS_BOOTABLE: u32 = 4; +pub const GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER: i64 = -9223372036854775808; +pub const GPT_BASIC_DATA_ATTRIBUTE_HIDDEN: u64 = 4611686018427387904; +pub const GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY: u64 = 2305843009213693952; +pub const GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY: u64 = 1152921504606846976; +pub const GPT_BASIC_DATA_ATTRIBUTE_OFFLINE: u64 = 576460752303423488; +pub const GPT_BASIC_DATA_ATTRIBUTE_DAX: u64 = 288230376151711744; +pub const GPT_BASIC_DATA_ATTRIBUTE_SERVICE: u64 = 144115188075855872; +pub const GPT_SPACES_ATTRIBUTE_NO_METADATA: i64 = -9223372036854775808; +pub const HIST_NO_OF_BUCKETS: u32 = 24; +pub const DISK_LOGGING_START: u32 = 0; +pub const DISK_LOGGING_STOP: u32 = 1; +pub const DISK_LOGGING_DUMP: u32 = 2; +pub const DISK_BINNING: u32 = 3; +pub const CAP_ATA_ID_CMD: u32 = 1; +pub const CAP_ATAPI_ID_CMD: u32 = 2; +pub const CAP_SMART_CMD: u32 = 4; +pub const ATAPI_ID_CMD: u32 = 161; +pub const ID_CMD: u32 = 236; +pub const SMART_CMD: u32 = 176; +pub const SMART_CYL_LOW: u32 = 79; +pub const SMART_CYL_HI: u32 = 194; +pub const SMART_NO_ERROR: u32 = 0; +pub const SMART_IDE_ERROR: u32 = 1; +pub const SMART_INVALID_FLAG: u32 = 2; +pub const SMART_INVALID_COMMAND: u32 = 3; +pub const SMART_INVALID_BUFFER: u32 = 4; +pub const SMART_INVALID_DRIVE: u32 = 5; +pub const SMART_INVALID_IOCTL: u32 = 6; +pub const SMART_ERROR_NO_MEM: u32 = 7; +pub const SMART_INVALID_REGISTER: u32 = 8; +pub const SMART_NOT_SUPPORTED: u32 = 9; +pub const SMART_NO_IDE_DEVICE: u32 = 10; +pub const SMART_OFFLINE_ROUTINE_OFFLINE: u32 = 0; +pub const SMART_SHORT_SELFTEST_OFFLINE: u32 = 1; +pub const SMART_EXTENDED_SELFTEST_OFFLINE: u32 = 2; +pub const SMART_ABORT_OFFLINE_SELFTEST: u32 = 127; +pub const SMART_SHORT_SELFTEST_CAPTIVE: u32 = 129; +pub const SMART_EXTENDED_SELFTEST_CAPTIVE: u32 = 130; +pub const READ_ATTRIBUTE_BUFFER_SIZE: u32 = 512; +pub const IDENTIFY_BUFFER_SIZE: u32 = 512; +pub const READ_THRESHOLD_BUFFER_SIZE: u32 = 512; +pub const SMART_LOG_SECTOR_SIZE: u32 = 512; +pub const READ_ATTRIBUTES: u32 = 208; +pub const READ_THRESHOLDS: u32 = 209; +pub const ENABLE_DISABLE_AUTOSAVE: u32 = 210; +pub const SAVE_ATTRIBUTE_VALUES: u32 = 211; +pub const EXECUTE_OFFLINE_DIAGS: u32 = 212; +pub const SMART_READ_LOG: u32 = 213; +pub const SMART_WRITE_LOG: u32 = 214; +pub const ENABLE_SMART: u32 = 216; +pub const DISABLE_SMART: u32 = 217; +pub const RETURN_SMART_STATUS: u32 = 218; +pub const ENABLE_DISABLE_AUTO_OFFLINE: u32 = 219; +pub const DISK_ATTRIBUTE_OFFLINE: u32 = 1; +pub const DISK_ATTRIBUTE_READ_ONLY: u32 = 2; +pub const IOCTL_CHANGER_BASE: u32 = 48; +pub const MAX_VOLUME_ID_SIZE: u32 = 36; +pub const MAX_VOLUME_TEMPLATE_SIZE: u32 = 40; +pub const VENDOR_ID_LENGTH: u32 = 8; +pub const PRODUCT_ID_LENGTH: u32 = 16; +pub const REVISION_LENGTH: u32 = 4; +pub const SERIAL_NUMBER_LENGTH: u32 = 32; +pub const CHANGER_BAR_CODE_SCANNER_INSTALLED: u32 = 1; +pub const CHANGER_INIT_ELEM_STAT_WITH_RANGE: u32 = 2; +pub const CHANGER_CLOSE_IEPORT: u32 = 4; +pub const CHANGER_OPEN_IEPORT: u32 = 8; +pub const CHANGER_STATUS_NON_VOLATILE: u32 = 16; +pub const CHANGER_EXCHANGE_MEDIA: u32 = 32; +pub const CHANGER_CLEANER_SLOT: u32 = 64; +pub const CHANGER_LOCK_UNLOCK: u32 = 128; +pub const CHANGER_CARTRIDGE_MAGAZINE: u32 = 256; +pub const CHANGER_MEDIUM_FLIP: u32 = 512; +pub const CHANGER_POSITION_TO_ELEMENT: u32 = 1024; +pub const CHANGER_REPORT_IEPORT_STATE: u32 = 2048; +pub const CHANGER_STORAGE_DRIVE: u32 = 4096; +pub const CHANGER_STORAGE_IEPORT: u32 = 8192; +pub const CHANGER_STORAGE_SLOT: u32 = 16384; +pub const CHANGER_STORAGE_TRANSPORT: u32 = 32768; +pub const CHANGER_DRIVE_CLEANING_REQUIRED: u32 = 65536; +pub const CHANGER_PREDISMOUNT_EJECT_REQUIRED: u32 = 131072; +pub const CHANGER_CLEANER_ACCESS_NOT_VALID: u32 = 262144; +pub const CHANGER_PREMOUNT_EJECT_REQUIRED: u32 = 524288; +pub const CHANGER_VOLUME_IDENTIFICATION: u32 = 1048576; +pub const CHANGER_VOLUME_SEARCH: u32 = 2097152; +pub const CHANGER_VOLUME_ASSERT: u32 = 4194304; +pub const CHANGER_VOLUME_REPLACE: u32 = 8388608; +pub const CHANGER_VOLUME_UNDEFINE: u32 = 16777216; +pub const CHANGER_SERIAL_NUMBER_VALID: u32 = 67108864; +pub const CHANGER_DEVICE_REINITIALIZE_CAPABLE: u32 = 134217728; +pub const CHANGER_KEYPAD_ENABLE_DISABLE: u32 = 268435456; +pub const CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS: u32 = 536870912; +pub const CHANGER_RESERVED_BIT: u32 = 2147483648; +pub const CHANGER_PREDISMOUNT_ALIGN_TO_SLOT: u32 = 2147483649; +pub const CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE: u32 = 2147483650; +pub const CHANGER_CLEANER_AUTODISMOUNT: u32 = 2147483652; +pub const CHANGER_TRUE_EXCHANGE_CAPABLE: u32 = 2147483656; +pub const CHANGER_SLOTS_USE_TRAYS: u32 = 2147483664; +pub const CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR: u32 = 2147483680; +pub const CHANGER_CLEANER_OPS_NOT_SUPPORTED: u32 = 2147483712; +pub const CHANGER_IEPORT_USER_CONTROL_OPEN: u32 = 2147483776; +pub const CHANGER_IEPORT_USER_CONTROL_CLOSE: u32 = 2147483904; +pub const CHANGER_MOVE_EXTENDS_IEPORT: u32 = 2147484160; +pub const CHANGER_MOVE_RETRACTS_IEPORT: u32 = 2147484672; +pub const CHANGER_TO_TRANSPORT: u32 = 1; +pub const CHANGER_TO_SLOT: u32 = 2; +pub const CHANGER_TO_IEPORT: u32 = 4; +pub const CHANGER_TO_DRIVE: u32 = 8; +pub const LOCK_UNLOCK_IEPORT: u32 = 1; +pub const LOCK_UNLOCK_DOOR: u32 = 2; +pub const LOCK_UNLOCK_KEYPAD: u32 = 4; +pub const LOCK_ELEMENT: u32 = 0; +pub const UNLOCK_ELEMENT: u32 = 1; +pub const EXTEND_IEPORT: u32 = 2; +pub const RETRACT_IEPORT: u32 = 3; +pub const ELEMENT_STATUS_FULL: u32 = 1; +pub const ELEMENT_STATUS_IMPEXP: u32 = 2; +pub const ELEMENT_STATUS_EXCEPT: u32 = 4; +pub const ELEMENT_STATUS_ACCESS: u32 = 8; +pub const ELEMENT_STATUS_EXENAB: u32 = 16; +pub const ELEMENT_STATUS_INENAB: u32 = 32; +pub const ELEMENT_STATUS_PRODUCT_DATA: u32 = 64; +pub const ELEMENT_STATUS_LUN_VALID: u32 = 4096; +pub const ELEMENT_STATUS_ID_VALID: u32 = 8192; +pub const ELEMENT_STATUS_NOT_BUS: u32 = 32768; +pub const ELEMENT_STATUS_INVERT: u32 = 4194304; +pub const ELEMENT_STATUS_SVALID: u32 = 8388608; +pub const ELEMENT_STATUS_PVOLTAG: u32 = 268435456; +pub const ELEMENT_STATUS_AVOLTAG: u32 = 536870912; +pub const ERROR_LABEL_UNREADABLE: u32 = 1; +pub const ERROR_LABEL_QUESTIONABLE: u32 = 2; +pub const ERROR_SLOT_NOT_PRESENT: u32 = 4; +pub const ERROR_DRIVE_NOT_INSTALLED: u32 = 8; +pub const ERROR_TRAY_MALFUNCTION: u32 = 16; +pub const ERROR_INIT_STATUS_NEEDED: u32 = 17; +pub const ERROR_UNHANDLED_ERROR: u32 = 4294967295; +pub const SEARCH_ALL: u32 = 0; +pub const SEARCH_PRIMARY: u32 = 1; +pub const SEARCH_ALTERNATE: u32 = 2; +pub const SEARCH_ALL_NO_SEQ: u32 = 4; +pub const SEARCH_PRI_NO_SEQ: u32 = 5; +pub const SEARCH_ALT_NO_SEQ: u32 = 6; +pub const ASSERT_PRIMARY: u32 = 8; +pub const ASSERT_ALTERNATE: u32 = 9; +pub const REPLACE_PRIMARY: u32 = 10; +pub const REPLACE_ALTERNATE: u32 = 11; +pub const UNDEFINE_PRIMARY: u32 = 12; +pub const UNDEFINE_ALTERNATE: u32 = 13; +pub const GET_VOLUME_BITMAP_FLAG_MASK_METADATA: u32 = 1; +pub const FLAG_USN_TRACK_MODIFIED_RANGES_ENABLE: u32 = 1; +pub const USN_PAGE_SIZE: u32 = 4096; +pub const USN_REASON_DATA_OVERWRITE: u32 = 1; +pub const USN_REASON_DATA_EXTEND: u32 = 2; +pub const USN_REASON_DATA_TRUNCATION: u32 = 4; +pub const USN_REASON_NAMED_DATA_OVERWRITE: u32 = 16; +pub const USN_REASON_NAMED_DATA_EXTEND: u32 = 32; +pub const USN_REASON_NAMED_DATA_TRUNCATION: u32 = 64; +pub const USN_REASON_FILE_CREATE: u32 = 256; +pub const USN_REASON_FILE_DELETE: u32 = 512; +pub const USN_REASON_EA_CHANGE: u32 = 1024; +pub const USN_REASON_SECURITY_CHANGE: u32 = 2048; +pub const USN_REASON_RENAME_OLD_NAME: u32 = 4096; +pub const USN_REASON_RENAME_NEW_NAME: u32 = 8192; +pub const USN_REASON_INDEXABLE_CHANGE: u32 = 16384; +pub const USN_REASON_BASIC_INFO_CHANGE: u32 = 32768; +pub const USN_REASON_HARD_LINK_CHANGE: u32 = 65536; +pub const USN_REASON_COMPRESSION_CHANGE: u32 = 131072; +pub const USN_REASON_ENCRYPTION_CHANGE: u32 = 262144; +pub const USN_REASON_OBJECT_ID_CHANGE: u32 = 524288; +pub const USN_REASON_REPARSE_POINT_CHANGE: u32 = 1048576; +pub const USN_REASON_STREAM_CHANGE: u32 = 2097152; +pub const USN_REASON_TRANSACTED_CHANGE: u32 = 4194304; +pub const USN_REASON_INTEGRITY_CHANGE: u32 = 8388608; +pub const USN_REASON_DESIRED_STORAGE_CLASS_CHANGE: u32 = 16777216; +pub const USN_REASON_CLOSE: u32 = 2147483648; +pub const USN_DELETE_FLAG_DELETE: u32 = 1; +pub const USN_DELETE_FLAG_NOTIFY: u32 = 2; +pub const USN_DELETE_VALID_FLAGS: u32 = 3; +pub const USN_SOURCE_DATA_MANAGEMENT: u32 = 1; +pub const USN_SOURCE_AUXILIARY_DATA: u32 = 2; +pub const USN_SOURCE_REPLICATION_MANAGEMENT: u32 = 4; +pub const USN_SOURCE_CLIENT_REPLICATION_MANAGEMENT: u32 = 8; +pub const USN_SOURCE_VALID_FLAGS: u32 = 15; +pub const MARK_HANDLE_PROTECT_CLUSTERS: u32 = 1; +pub const MARK_HANDLE_TXF_SYSTEM_LOG: u32 = 4; +pub const MARK_HANDLE_NOT_TXF_SYSTEM_LOG: u32 = 8; +pub const MARK_HANDLE_REALTIME: u32 = 32; +pub const MARK_HANDLE_NOT_REALTIME: u32 = 64; +pub const MARK_HANDLE_FILTER_METADATA: u32 = 512; +pub const MARK_HANDLE_CLOUD_SYNC: u32 = 2048; +pub const MARK_HANDLE_READ_COPY: u32 = 128; +pub const MARK_HANDLE_NOT_READ_COPY: u32 = 256; +pub const MARK_HANDLE_RETURN_PURGE_FAILURE: u32 = 1024; +pub const MARK_HANDLE_DISABLE_FILE_METADATA_OPTIMIZATION: u32 = 4096; +pub const MARK_HANDLE_ENABLE_USN_SOURCE_ON_PAGING_IO: u32 = 8192; +pub const MARK_HANDLE_SKIP_COHERENCY_SYNC_DISALLOW_WRITES: u32 = 16384; +pub const MARK_HANDLE_ENABLE_CPU_CACHE: u32 = 268435456; +pub const VOLUME_IS_DIRTY: u32 = 1; +pub const VOLUME_UPGRADE_SCHEDULED: u32 = 2; +pub const VOLUME_SESSION_OPEN: u32 = 4; +pub const FILE_PREFETCH_TYPE_FOR_CREATE: u32 = 1; +pub const FILE_PREFETCH_TYPE_FOR_DIRENUM: u32 = 2; +pub const FILE_PREFETCH_TYPE_FOR_CREATE_EX: u32 = 3; +pub const FILE_PREFETCH_TYPE_FOR_DIRENUM_EX: u32 = 4; +pub const FILE_PREFETCH_TYPE_MAX: u32 = 4; +pub const FILESYSTEM_STATISTICS_TYPE_NTFS: u32 = 1; +pub const FILESYSTEM_STATISTICS_TYPE_FAT: u32 = 2; +pub const FILESYSTEM_STATISTICS_TYPE_EXFAT: u32 = 3; +pub const FILESYSTEM_STATISTICS_TYPE_REFS: u32 = 4; +pub const FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA: u32 = 1; +pub const FILE_SET_ENCRYPTION: u32 = 1; +pub const FILE_CLEAR_ENCRYPTION: u32 = 2; +pub const STREAM_SET_ENCRYPTION: u32 = 3; +pub const STREAM_CLEAR_ENCRYPTION: u32 = 4; +pub const MAXIMUM_ENCRYPTION_VALUE: u32 = 4; +pub const ENCRYPTION_FORMAT_DEFAULT: u32 = 1; +pub const ENCRYPTED_DATA_INFO_SPARSE_FILE: u32 = 1; +pub const COPYFILE_SIS_LINK: u32 = 1; +pub const COPYFILE_SIS_REPLACE: u32 = 2; +pub const COPYFILE_SIS_FLAGS: u32 = 3; +pub const SET_REPAIR_ENABLED: u32 = 1; +pub const SET_REPAIR_WARN_ABOUT_DATA_LOSS: u32 = 8; +pub const SET_REPAIR_DISABLED_AND_BUGCHECK_ON_CORRUPT: u32 = 16; +pub const SET_REPAIR_VALID_MASK: u32 = 25; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_IN_USE: u32 = 1; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_REUSED: u32 = 2; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_EXIST: u32 = 4; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_BASE_RECORD: u32 = 8; +pub const FILE_INITIATE_REPAIR_HINT1_SYSTEM_FILE: u32 = 16; +pub const FILE_INITIATE_REPAIR_HINT1_NOT_IMPLEMENTED: u32 = 32; +pub const FILE_INITIATE_REPAIR_HINT1_UNABLE_TO_REPAIR: u32 = 64; +pub const FILE_INITIATE_REPAIR_HINT1_REPAIR_DISABLED: u32 = 128; +pub const FILE_INITIATE_REPAIR_HINT1_RECURSIVELY_CORRUPTED: u32 = 256; +pub const FILE_INITIATE_REPAIR_HINT1_ORPHAN_GENERATED: u32 = 512; +pub const FILE_INITIATE_REPAIR_HINT1_REPAIRED: u32 = 1024; +pub const FILE_INITIATE_REPAIR_HINT1_NOTHING_WRONG: u32 = 2048; +pub const FILE_INITIATE_REPAIR_HINT1_ATTRIBUTE_NOT_FOUND: u32 = 4096; +pub const FILE_INITIATE_REPAIR_HINT1_POTENTIAL_CROSSLINK: u32 = 8192; +pub const FILE_INITIATE_REPAIR_HINT1_STALE_INFORMATION: u32 = 16384; +pub const FILE_INITIATE_REPAIR_HINT1_CLUSTERS_ALREADY_IN_USE: u32 = 32768; +pub const FILE_INITIATE_REPAIR_HINT1_LCN_NOT_EXIST: u32 = 65536; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_RUN_LENGTH: u32 = 131072; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_NOT_ORPHAN: u32 = 262144; +pub const FILE_INITIATE_REPAIR_HINT1_FILE_RECORD_IS_BASE_RECORD: u32 = 524288; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_ARRAY_LENGTH_COUNT: u32 = 1048576; +pub const FILE_INITIATE_REPAIR_HINT1_SID_VALID: u32 = 2097152; +pub const FILE_INITIATE_REPAIR_HINT1_SID_MISMATCH: u32 = 4194304; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_PARENT: u32 = 8388608; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_IN_USE: u32 = 16777216; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_REUSED: u32 = 33554432; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_EXIST: u32 = 67108864; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_BASE_RECORD: u32 = 134217728; +pub const FILE_INITIATE_REPAIR_HINT1_PARENT_FILE_RECORD_NOT_INDEX: u32 = 268435456; +pub const FILE_INITIATE_REPAIR_HINT1_VALID_INDEX_ENTRY: u32 = 536870912; +pub const FILE_INITIATE_REPAIR_HINT1_OUT_OF_GENERIC_NAMES: u32 = 1073741824; +pub const FILE_INITIATE_REPAIR_HINT1_OUT_OF_RESOURCE: u32 = 2147483648; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_LCN: u64 = 4294967296; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_VCN: u64 = 8589934592; +pub const FILE_INITIATE_REPAIR_HINT1_NAME_CONFLICT: u64 = 17179869184; +pub const FILE_INITIATE_REPAIR_HINT1_ORPHAN: u64 = 34359738368; +pub const FILE_INITIATE_REPAIR_HINT1_ATTRIBUTE_TOO_SMALL: u64 = 68719476736; +pub const FILE_INITIATE_REPAIR_HINT1_ATTRIBUTE_NON_RESIDENT: u64 = 137438953472; +pub const FILE_INITIATE_REPAIR_HINT1_DENY_DEFRAG: u64 = 274877906944; +pub const FILE_INITIATE_REPAIR_HINT1_PREVIOUS_PARENT_STILL_VALID: u64 = 549755813888; +pub const FILE_INITIATE_REPAIR_HINT1_INDEX_ENTRY_MISMATCH: u64 = 1099511627776; +pub const FILE_INITIATE_REPAIR_HINT1_INVALID_ORPHAN_RECOVERY_NAME: u64 = 2199023255552; +pub const FILE_INITIATE_REPAIR_HINT1_MULTIPLE_FILE_NAME_ATTRIBUTES: u64 = 4398046511104; +pub const TXFS_RM_FLAG_LOGGING_MODE: u32 = 1; +pub const TXFS_RM_FLAG_RENAME_RM: u32 = 2; +pub const TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX: u32 = 4; +pub const TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN: u32 = 8; +pub const TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS: u32 = 16; +pub const TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT: u32 = 32; +pub const TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE: u32 = 64; +pub const TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX: u32 = 128; +pub const TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN: u32 = 256; +pub const TXFS_RM_FLAG_GROW_LOG: u32 = 1024; +pub const TXFS_RM_FLAG_SHRINK_LOG: u32 = 2048; +pub const TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE: u32 = 4096; +pub const TXFS_RM_FLAG_PRESERVE_CHANGES: u32 = 8192; +pub const TXFS_RM_FLAG_RESET_RM_AT_NEXT_START: u32 = 16384; +pub const TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START: u32 = 32768; +pub const TXFS_RM_FLAG_PREFER_CONSISTENCY: u32 = 65536; +pub const TXFS_RM_FLAG_PREFER_AVAILABILITY: u32 = 131072; +pub const TXFS_LOGGING_MODE_SIMPLE: u32 = 1; +pub const TXFS_LOGGING_MODE_FULL: u32 = 2; +pub const TXFS_TRANSACTION_STATE_NONE: u32 = 0; +pub const TXFS_TRANSACTION_STATE_ACTIVE: u32 = 1; +pub const TXFS_TRANSACTION_STATE_PREPARED: u32 = 2; +pub const TXFS_TRANSACTION_STATE_NOTACTIVE: u32 = 3; +pub const TXFS_MODIFY_RM_VALID_FLAGS: u32 = 261631; +pub const TXFS_RM_STATE_NOT_STARTED: u32 = 0; +pub const TXFS_RM_STATE_STARTING: u32 = 1; +pub const TXFS_RM_STATE_ACTIVE: u32 = 2; +pub const TXFS_RM_STATE_SHUTTING_DOWN: u32 = 3; +pub const TXFS_QUERY_RM_INFORMATION_VALID_FLAGS: u32 = 246192; +pub const TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_REDO_LSN: u32 = 1; +pub const TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_VIRTUAL_CLOCK: u32 = 2; +pub const TXFS_ROLLFORWARD_REDO_VALID_FLAGS: u32 = 3; +pub const TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MAX: u32 = 1; +pub const TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MIN: u32 = 2; +pub const TXFS_START_RM_FLAG_LOG_CONTAINER_SIZE: u32 = 4; +pub const TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS: u32 = 8; +pub const TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT: u32 = 16; +pub const TXFS_START_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE: u32 = 32; +pub const TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX: u32 = 64; +pub const TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN: u32 = 128; +pub const TXFS_START_RM_FLAG_RECOVER_BEST_EFFORT: u32 = 512; +pub const TXFS_START_RM_FLAG_LOGGING_MODE: u32 = 1024; +pub const TXFS_START_RM_FLAG_PRESERVE_CHANGES: u32 = 2048; +pub const TXFS_START_RM_FLAG_PREFER_CONSISTENCY: u32 = 4096; +pub const TXFS_START_RM_FLAG_PREFER_AVAILABILITY: u32 = 8192; +pub const TXFS_START_RM_VALID_FLAGS: u32 = 15999; +pub const TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_CREATED: u32 = 1; +pub const TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_DELETED: u32 = 2; +pub const TXFS_TRANSACTED_VERSION_NONTRANSACTED: u32 = 4294967294; +pub const TXFS_TRANSACTED_VERSION_UNCOMMITTED: u32 = 4294967295; +pub const TXFS_SAVEPOINT_SET: u32 = 1; +pub const TXFS_SAVEPOINT_ROLLBACK: u32 = 2; +pub const TXFS_SAVEPOINT_CLEAR: u32 = 4; +pub const TXFS_SAVEPOINT_CLEAR_ALL: u32 = 16; +pub const PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED: u32 = 1; +pub const PERSISTENT_VOLUME_STATE_VOLUME_SCRUB_DISABLED: u32 = 2; +pub const PERSISTENT_VOLUME_STATE_GLOBAL_METADATA_NO_SEEK_PENALTY: u32 = 4; +pub const PERSISTENT_VOLUME_STATE_LOCAL_METADATA_NO_SEEK_PENALTY: u32 = 8; +pub const PERSISTENT_VOLUME_STATE_NO_HEAT_GATHERING: u32 = 16; +pub const PERSISTENT_VOLUME_STATE_CONTAINS_BACKING_WIM: u32 = 32; +pub const PERSISTENT_VOLUME_STATE_BACKED_BY_WIM: u32 = 64; +pub const PERSISTENT_VOLUME_STATE_NO_WRITE_AUTO_TIERING: u32 = 128; +pub const PERSISTENT_VOLUME_STATE_TXF_DISABLED: u32 = 256; +pub const PERSISTENT_VOLUME_STATE_REALLOCATE_ALL_DATA_WRITES: u32 = 512; +pub const PERSISTENT_VOLUME_STATE_CHKDSK_RAN_ONCE: u32 = 1024; +pub const PERSISTENT_VOLUME_STATE_MODIFIED_BY_CHKDSK: u32 = 2048; +pub const PERSISTENT_VOLUME_STATE_DAX_FORMATTED: u32 = 4096; +pub const OPLOCK_LEVEL_CACHE_READ: u32 = 1; +pub const OPLOCK_LEVEL_CACHE_HANDLE: u32 = 2; +pub const OPLOCK_LEVEL_CACHE_WRITE: u32 = 4; +pub const REQUEST_OPLOCK_INPUT_FLAG_REQUEST: u32 = 1; +pub const REQUEST_OPLOCK_INPUT_FLAG_ACK: u32 = 2; +pub const REQUEST_OPLOCK_INPUT_FLAG_COMPLETE_ACK_ON_CLOSE: u32 = 4; +pub const REQUEST_OPLOCK_CURRENT_VERSION: u32 = 1; +pub const REQUEST_OPLOCK_OUTPUT_FLAG_ACK_REQUIRED: u32 = 1; +pub const REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED: u32 = 2; +pub const QUERY_DEPENDENT_VOLUME_REQUEST_FLAG_HOST_VOLUMES: u32 = 1; +pub const QUERY_DEPENDENT_VOLUME_REQUEST_FLAG_GUEST_VOLUMES: u32 = 2; +pub const SD_GLOBAL_CHANGE_TYPE_MACHINE_SID: u32 = 1; +pub const SD_GLOBAL_CHANGE_TYPE_QUERY_STATS: u32 = 65536; +pub const SD_GLOBAL_CHANGE_TYPE_ENUM_SDS: u32 = 131072; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_PAGE_FILE: u32 = 1; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_DENY_DEFRAG_SET: u32 = 2; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_FS_SYSTEM_FILE: u32 = 4; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_TXF_SYSTEM_FILE: u32 = 8; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_MASK: u32 = 4278190080; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_DATA: u32 = 16777216; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_INDEX: u32 = 33554432; +pub const LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_SYSTEM: u32 = 50331648; +pub const FILE_TYPE_NOTIFICATION_FLAG_USAGE_BEGIN: u32 = 1; +pub const FILE_TYPE_NOTIFICATION_FLAG_USAGE_END: u32 = 2; +pub const CSV_MGMTLOCK_CHECK_VOLUME_REDIRECTED: u32 = 1; +pub const CSV_INVALID_DEVICE_NUMBER: u32 = 4294967295; +pub const CSV_QUERY_MDS_PATH_V2_VERSION_1: u32 = 1; +pub const CSV_QUERY_MDS_PATH_FLAG_STORAGE_ON_THIS_NODE_IS_CONNECTED: u32 = 1; +pub const CSV_QUERY_MDS_PATH_FLAG_CSV_DIRECT_IO_ENABLED: u32 = 2; +pub const CSV_QUERY_MDS_PATH_FLAG_SMB_BYPASS_CSV_ENABLED: u32 = 4; +pub const QUERY_FILE_LAYOUT_RESTART: u32 = 1; +pub const QUERY_FILE_LAYOUT_INCLUDE_NAMES: u32 = 2; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAMS: u32 = 4; +pub const QUERY_FILE_LAYOUT_INCLUDE_EXTENTS: u32 = 8; +pub const QUERY_FILE_LAYOUT_INCLUDE_EXTRA_INFO: u32 = 16; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAMS_WITH_NO_CLUSTERS_ALLOCATED: u32 = 32; +pub const QUERY_FILE_LAYOUT_INCLUDE_FULL_PATH_IN_NAMES: u32 = 64; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION: u32 = 128; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_DSC_ATTRIBUTE: u32 = 256; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_TXF_ATTRIBUTE: u32 = 512; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_EFS_ATTRIBUTE: u32 = 1024; +pub const QUERY_FILE_LAYOUT_INCLUDE_ONLY_FILES_WITH_SPECIFIC_ATTRIBUTES: u32 = 2048; +pub const QUERY_FILE_LAYOUT_INCLUDE_FILES_WITH_DSC_ATTRIBUTE: u32 = 4096; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_DATA_ATTRIBUTE: u32 = 8192; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_REPARSE_ATTRIBUTE: u32 = 16384; +pub const QUERY_FILE_LAYOUT_INCLUDE_STREAM_INFORMATION_FOR_EA_ATTRIBUTE: u32 = 32768; +pub const QUERY_FILE_LAYOUT_SINGLE_INSTANCED: u32 = 1; +pub const FILE_LAYOUT_NAME_ENTRY_PRIMARY: u32 = 1; +pub const FILE_LAYOUT_NAME_ENTRY_DOS: u32 = 2; +pub const STREAM_LAYOUT_ENTRY_IMMOVABLE: u32 = 1; +pub const STREAM_LAYOUT_ENTRY_PINNED: u32 = 2; +pub const STREAM_LAYOUT_ENTRY_RESIDENT: u32 = 4; +pub const STREAM_LAYOUT_ENTRY_NO_CLUSTERS_ALLOCATED: u32 = 8; +pub const STREAM_LAYOUT_ENTRY_HAS_INFORMATION: u32 = 16; +pub const STREAM_EXTENT_ENTRY_AS_RETRIEVAL_POINTERS: u32 = 1; +pub const STREAM_EXTENT_ENTRY_ALL_EXTENTS: u32 = 2; +pub const CHECKSUM_TYPE_UNCHANGED: i32 = -1; +pub const CHECKSUM_TYPE_NONE: u32 = 0; +pub const CHECKSUM_TYPE_CRC32: u32 = 1; +pub const CHECKSUM_TYPE_CRC64: u32 = 2; +pub const CHECKSUM_TYPE_ECC: u32 = 3; +pub const CHECKSUM_TYPE_FIRST_UNUSED_TYPE: u32 = 4; +pub const FSCTL_INTEGRITY_FLAG_CHECKSUM_ENFORCEMENT_OFF: u32 = 1; +pub const OFFLOAD_READ_FLAG_ALL_ZERO_BEYOND_CURRENT_RANGE: u32 = 1; +pub const SET_PURGE_FAILURE_MODE_ENABLED: u32 = 1; +pub const SET_PURGE_FAILURE_MODE_DISABLED: u32 = 2; +pub const FILE_REGION_USAGE_VALID_CACHED_DATA: u32 = 1; +pub const FILE_REGION_USAGE_VALID_NONCACHED_DATA: u32 = 2; +pub const FILE_REGION_USAGE_OTHER_PAGE_ALIGNMENT: u32 = 4; +pub const FILE_REGION_USAGE_LARGE_PAGE_ALIGNMENT: u32 = 8; +pub const FILE_REGION_USAGE_HUGE_PAGE_ALIGNMENT: u32 = 16; +pub const FILE_REGION_USAGE_QUERY_ALIGNMENT: u32 = 24; +pub const VALID_WRITE_USN_REASON_MASK: u32 = 2147483649; +pub const FILE_STORAGE_TIER_NAME_LENGTH: u32 = 256; +pub const FILE_STORAGE_TIER_DESCRIPTION_LENGTH: u32 = 512; +pub const FILE_STORAGE_TIER_FLAG_NO_SEEK_PENALTY: u32 = 131072; +pub const FILE_STORAGE_TIER_FLAG_WRITE_BACK_CACHE: u32 = 2097152; +pub const FILE_STORAGE_TIER_FLAG_READ_CACHE: u32 = 4194304; +pub const FILE_STORAGE_TIER_FLAG_PARITY: u32 = 8388608; +pub const FILE_STORAGE_TIER_FLAG_SMR: u32 = 16777216; +pub const QUERY_STORAGE_CLASSES_FLAGS_MEASURE_WRITE: u32 = 2147483648; +pub const QUERY_STORAGE_CLASSES_FLAGS_MEASURE_READ: u32 = 1073741824; +pub const QUERY_STORAGE_CLASSES_FLAGS_NO_DEFRAG_VOLUME: u32 = 536870912; +pub const QUERY_FILE_LAYOUT_REPARSE_DATA_INVALID: u32 = 1; +pub const QUERY_FILE_LAYOUT_REPARSE_TAG_INVALID: u32 = 2; +pub const DUPLICATE_EXTENTS_DATA_EX_SOURCE_ATOMIC: u32 = 1; +pub const DUPLICATE_EXTENTS_DATA_EX_ASYNC: u32 = 2; +pub const REFS_SMR_VOLUME_INFO_OUTPUT_VERSION_V1: u32 = 1; +pub const REFS_SMR_VOLUME_GC_PARAMETERS_VERSION_V1: u32 = 1; +pub const STREAMS_INVALID_ID: u32 = 0; +pub const STREAMS_MAX_ID: u32 = 65535; +pub const STREAMS_ASSOCIATE_ID_CLEAR: u32 = 1; +pub const STREAMS_ASSOCIATE_ID_SET: u32 = 2; +pub const DAX_ALLOC_ALIGNMENT_FLAG_MANDATORY: u32 = 1; +pub const DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED: u32 = 2; +pub const WOF_CURRENT_VERSION: u32 = 1; +pub const WOF_PROVIDER_WIM: u32 = 1; +pub const WOF_PROVIDER_FILE: u32 = 2; +pub const WOF_PROVIDER_CLOUD: u32 = 3; +pub const WIM_PROVIDER_HASH_SIZE: u32 = 20; +pub const WIM_PROVIDER_CURRENT_VERSION: u32 = 1; +pub const WIM_PROVIDER_EXTERNAL_FLAG_NOT_ACTIVE: u32 = 1; +pub const WIM_PROVIDER_EXTERNAL_FLAG_SUSPENDED: u32 = 2; +pub const WIM_BOOT_OS_WIM: u32 = 1; +pub const WIM_BOOT_NOT_OS_WIM: u32 = 0; +pub const FILE_PROVIDER_CURRENT_VERSION: u32 = 1; +pub const FILE_PROVIDER_SINGLE_FILE: u32 = 1; +pub const FILE_PROVIDER_COMPRESSION_XPRESS4K: u32 = 0; +pub const FILE_PROVIDER_COMPRESSION_LZX: u32 = 1; +pub const FILE_PROVIDER_COMPRESSION_XPRESS8K: u32 = 2; +pub const FILE_PROVIDER_COMPRESSION_XPRESS16K: u32 = 3; +pub const FILE_PROVIDER_COMPRESSION_MAXIMUM: u32 = 4; +pub const FILE_PROVIDER_FLAG_COMPRESS_ON_WRITE: u32 = 1; +pub const CONTAINER_VOLUME_STATE_HOSTING_CONTAINER: u32 = 1; +pub const CONTAINER_ROOT_INFO_FLAG_SCRATCH_ROOT: u32 = 1; +pub const CONTAINER_ROOT_INFO_FLAG_LAYER_ROOT: u32 = 2; +pub const CONTAINER_ROOT_INFO_FLAG_VIRTUALIZATION_ROOT: u32 = 4; +pub const CONTAINER_ROOT_INFO_FLAG_VIRTUALIZATION_TARGET_ROOT: u32 = 8; +pub const CONTAINER_ROOT_INFO_FLAG_VIRTUALIZATION_EXCEPTION_ROOT: u32 = 16; +pub const CONTAINER_ROOT_INFO_FLAG_BIND_ROOT: u32 = 32; +pub const CONTAINER_ROOT_INFO_FLAG_BIND_TARGET_ROOT: u32 = 64; +pub const CONTAINER_ROOT_INFO_FLAG_BIND_EXCEPTION_ROOT: u32 = 128; +pub const CONTAINER_ROOT_INFO_FLAG_BIND_DO_NOT_MAP_NAME: u32 = 256; +pub const CONTAINER_ROOT_INFO_VALID_FLAGS: u32 = 511; +pub const PROJFS_PROTOCOL_VERSION: u32 = 3; +pub const IOCTL_VOLUME_BASE: u32 = 86; +pub const EFS_TRACKED_OFFSET_HEADER_FLAG: u32 = 1; +pub const SPACES_TRACKED_OFFSET_HEADER_FLAG: u32 = 2; +pub const SCARD_ATR_LENGTH: u32 = 33; +pub const SCARD_PROTOCOL_UNDEFINED: u32 = 0; +pub const SCARD_PROTOCOL_T0: u32 = 1; +pub const SCARD_PROTOCOL_T1: u32 = 2; +pub const SCARD_PROTOCOL_RAW: u32 = 65536; +pub const SCARD_PROTOCOL_Tx: u32 = 3; +pub const SCARD_PROTOCOL_DEFAULT: u32 = 2147483648; +pub const SCARD_PROTOCOL_OPTIMAL: u32 = 0; +pub const SCARD_POWER_DOWN: u32 = 0; +pub const SCARD_COLD_RESET: u32 = 1; +pub const SCARD_WARM_RESET: u32 = 2; +pub const MAXIMUM_ATTR_STRING_LENGTH: u32 = 32; +pub const MAXIMUM_SMARTCARD_READERS: u32 = 10; +pub const SCARD_CLASS_VENDOR_INFO: u32 = 1; +pub const SCARD_CLASS_COMMUNICATIONS: u32 = 2; +pub const SCARD_CLASS_PROTOCOL: u32 = 3; +pub const SCARD_CLASS_POWER_MGMT: u32 = 4; +pub const SCARD_CLASS_SECURITY: u32 = 5; +pub const SCARD_CLASS_MECHANICAL: u32 = 6; +pub const SCARD_CLASS_VENDOR_DEFINED: u32 = 7; +pub const SCARD_CLASS_IFD_PROTOCOL: u32 = 8; +pub const SCARD_CLASS_ICC_STATE: u32 = 9; +pub const SCARD_CLASS_PERF: u32 = 32766; +pub const SCARD_CLASS_SYSTEM: u32 = 32767; +pub const SCARD_T0_HEADER_LENGTH: u32 = 7; +pub const SCARD_T0_CMD_LENGTH: u32 = 5; +pub const SCARD_T1_PROLOGUE_LENGTH: u32 = 3; +pub const SCARD_T1_EPILOGUE_LENGTH: u32 = 2; +pub const SCARD_T1_EPILOGUE_LENGTH_LRC: u32 = 1; +pub const SCARD_T1_MAX_IFS: u32 = 254; +pub const SCARD_UNKNOWN: u32 = 0; +pub const SCARD_ABSENT: u32 = 1; +pub const SCARD_PRESENT: u32 = 2; +pub const SCARD_SWALLOWED: u32 = 3; +pub const SCARD_POWERED: u32 = 4; +pub const SCARD_NEGOTIABLE: u32 = 5; +pub const SCARD_SPECIFIC: u32 = 6; +pub const SCARD_READER_SWALLOWS: u32 = 1; +pub const SCARD_READER_EJECTS: u32 = 2; +pub const SCARD_READER_CONFISCATES: u32 = 4; +pub const SCARD_READER_CONTACTLESS: u32 = 8; +pub const SCARD_READER_TYPE_SERIAL: u32 = 1; +pub const SCARD_READER_TYPE_PARALELL: u32 = 2; +pub const SCARD_READER_TYPE_KEYBOARD: u32 = 4; +pub const SCARD_READER_TYPE_SCSI: u32 = 8; +pub const SCARD_READER_TYPE_IDE: u32 = 16; +pub const SCARD_READER_TYPE_USB: u32 = 32; +pub const SCARD_READER_TYPE_PCMCIA: u32 = 64; +pub const SCARD_READER_TYPE_TPM: u32 = 128; +pub const SCARD_READER_TYPE_NFC: u32 = 256; +pub const SCARD_READER_TYPE_UICC: u32 = 512; +pub const SCARD_READER_TYPE_NGC: u32 = 1024; +pub const SCARD_READER_TYPE_EMBEDDEDSE: u32 = 2048; +pub const SCARD_READER_TYPE_VENDOR: u32 = 240; +pub const SCARD_SCOPE_USER: u32 = 0; +pub const SCARD_SCOPE_TERMINAL: u32 = 1; +pub const SCARD_SCOPE_SYSTEM: u32 = 2; +pub const SCARD_PROVIDER_PRIMARY: u32 = 1; +pub const SCARD_PROVIDER_CSP: u32 = 2; +pub const SCARD_PROVIDER_KSP: u32 = 3; +pub const SCARD_STATE_UNAWARE: u32 = 0; +pub const SCARD_STATE_IGNORE: u32 = 1; +pub const SCARD_STATE_CHANGED: u32 = 2; +pub const SCARD_STATE_UNKNOWN: u32 = 4; +pub const SCARD_STATE_UNAVAILABLE: u32 = 8; +pub const SCARD_STATE_EMPTY: u32 = 16; +pub const SCARD_STATE_PRESENT: u32 = 32; +pub const SCARD_STATE_ATRMATCH: u32 = 64; +pub const SCARD_STATE_EXCLUSIVE: u32 = 128; +pub const SCARD_STATE_INUSE: u32 = 256; +pub const SCARD_STATE_MUTE: u32 = 512; +pub const SCARD_STATE_UNPOWERED: u32 = 1024; +pub const SCARD_SHARE_EXCLUSIVE: u32 = 1; +pub const SCARD_SHARE_SHARED: u32 = 2; +pub const SCARD_SHARE_DIRECT: u32 = 3; +pub const SCARD_LEAVE_CARD: u32 = 0; +pub const SCARD_RESET_CARD: u32 = 1; +pub const SCARD_UNPOWER_CARD: u32 = 2; +pub const SCARD_EJECT_CARD: u32 = 3; +pub const SC_DLG_MINIMAL_UI: u32 = 1; +pub const SC_DLG_NO_UI: u32 = 2; +pub const SC_DLG_FORCE_UI: u32 = 4; +pub const SCERR_NOCARDNAME: u32 = 16384; +pub const SCERR_NOGUIDS: u32 = 32768; +pub const SCARD_AUDIT_CHV_FAILURE: u32 = 0; +pub const SCARD_AUDIT_CHV_SUCCESS: u32 = 1; +pub const MAXPROPPAGES: u32 = 100; +pub const PSP_DEFAULT: u32 = 0; +pub const PSP_DLGINDIRECT: u32 = 1; +pub const PSP_USEHICON: u32 = 2; +pub const PSP_USEICONID: u32 = 4; +pub const PSP_USETITLE: u32 = 8; +pub const PSP_RTLREADING: u32 = 16; +pub const PSP_HASHELP: u32 = 32; +pub const PSP_USEREFPARENT: u32 = 64; +pub const PSP_USECALLBACK: u32 = 128; +pub const PSP_PREMATURE: u32 = 1024; +pub const PSP_HIDEHEADER: u32 = 2048; +pub const PSP_USEHEADERTITLE: u32 = 4096; +pub const PSP_USEHEADERSUBTITLE: u32 = 8192; +pub const PSP_USEFUSIONCONTEXT: u32 = 16384; +pub const PSPCB_ADDREF: u32 = 0; +pub const PSPCB_RELEASE: u32 = 1; +pub const PSPCB_CREATE: u32 = 2; +pub const PSH_DEFAULT: u32 = 0; +pub const PSH_PROPTITLE: u32 = 1; +pub const PSH_USEHICON: u32 = 2; +pub const PSH_USEICONID: u32 = 4; +pub const PSH_PROPSHEETPAGE: u32 = 8; +pub const PSH_WIZARDHASFINISH: u32 = 16; +pub const PSH_WIZARD: u32 = 32; +pub const PSH_USEPSTARTPAGE: u32 = 64; +pub const PSH_NOAPPLYNOW: u32 = 128; +pub const PSH_USECALLBACK: u32 = 256; +pub const PSH_HASHELP: u32 = 512; +pub const PSH_MODELESS: u32 = 1024; +pub const PSH_RTLREADING: u32 = 2048; +pub const PSH_WIZARDCONTEXTHELP: u32 = 4096; +pub const PSH_WIZARD97: u32 = 16777216; +pub const PSH_WATERMARK: u32 = 32768; +pub const PSH_USEHBMWATERMARK: u32 = 65536; +pub const PSH_USEHPLWATERMARK: u32 = 131072; +pub const PSH_STRETCHWATERMARK: u32 = 262144; +pub const PSH_HEADER: u32 = 524288; +pub const PSH_USEHBMHEADER: u32 = 1048576; +pub const PSH_USEPAGELANG: u32 = 2097152; +pub const PSH_WIZARD_LITE: u32 = 4194304; +pub const PSH_NOCONTEXTHELP: u32 = 33554432; +pub const PSH_AEROWIZARD: u32 = 16384; +pub const PSH_RESIZABLE: u32 = 67108864; +pub const PSH_HEADERBITMAP: u32 = 134217728; +pub const PSH_NOMARGIN: u32 = 268435456; +pub const PSCB_INITIALIZED: u32 = 1; +pub const PSCB_PRECREATE: u32 = 2; +pub const PSCB_BUTTONPRESSED: u32 = 3; +pub const PSN_FIRST: i32 = -200; +pub const PSN_LAST: i32 = -299; +pub const PSN_SETACTIVE: i32 = -200; +pub const PSN_KILLACTIVE: i32 = -201; +pub const PSN_APPLY: i32 = -202; +pub const PSN_RESET: i32 = -203; +pub const PSN_HELP: i32 = -205; +pub const PSN_WIZBACK: i32 = -206; +pub const PSN_WIZNEXT: i32 = -207; +pub const PSN_WIZFINISH: i32 = -208; +pub const PSN_QUERYCANCEL: i32 = -209; +pub const PSN_GETOBJECT: i32 = -210; +pub const PSN_TRANSLATEACCELERATOR: i32 = -212; +pub const PSN_QUERYINITIALFOCUS: i32 = -213; +pub const PSNRET_NOERROR: u32 = 0; +pub const PSNRET_INVALID: u32 = 1; +pub const PSNRET_INVALID_NOCHANGEPAGE: u32 = 2; +pub const PSNRET_MESSAGEHANDLED: u32 = 3; +pub const PSM_SETCURSEL: u32 = 1125; +pub const PSM_REMOVEPAGE: u32 = 1126; +pub const PSM_ADDPAGE: u32 = 1127; +pub const PSM_CHANGED: u32 = 1128; +pub const PSM_RESTARTWINDOWS: u32 = 1129; +pub const PSM_REBOOTSYSTEM: u32 = 1130; +pub const PSM_CANCELTOCLOSE: u32 = 1131; +pub const PSM_QUERYSIBLINGS: u32 = 1132; +pub const PSM_UNCHANGED: u32 = 1133; +pub const PSM_APPLY: u32 = 1134; +pub const PSM_SETTITLEA: u32 = 1135; +pub const PSM_SETTITLEW: u32 = 1144; +pub const PSM_SETTITLE: u32 = 1135; +pub const PSM_SETWIZBUTTONS: u32 = 1136; +pub const PSWIZB_BACK: u32 = 1; +pub const PSWIZB_NEXT: u32 = 2; +pub const PSWIZB_FINISH: u32 = 4; +pub const PSWIZB_DISABLEDFINISH: u32 = 8; +pub const PSWIZBF_ELEVATIONREQUIRED: u32 = 1; +pub const PSWIZB_CANCEL: u32 = 16; +pub const PSM_PRESSBUTTON: u32 = 1137; +pub const PSBTN_BACK: u32 = 0; +pub const PSBTN_NEXT: u32 = 1; +pub const PSBTN_FINISH: u32 = 2; +pub const PSBTN_OK: u32 = 3; +pub const PSBTN_APPLYNOW: u32 = 4; +pub const PSBTN_CANCEL: u32 = 5; +pub const PSBTN_HELP: u32 = 6; +pub const PSBTN_MAX: u32 = 6; +pub const PSM_SETCURSELID: u32 = 1138; +pub const PSM_SETFINISHTEXTA: u32 = 1139; +pub const PSM_SETFINISHTEXTW: u32 = 1145; +pub const PSM_SETFINISHTEXT: u32 = 1139; +pub const PSM_GETTABCONTROL: u32 = 1140; +pub const PSM_ISDIALOGMESSAGE: u32 = 1141; +pub const PSM_GETCURRENTPAGEHWND: u32 = 1142; +pub const PSM_INSERTPAGE: u32 = 1143; +pub const PSM_SETHEADERTITLEA: u32 = 1149; +pub const PSM_SETHEADERTITLEW: u32 = 1150; +pub const PSM_SETHEADERTITLE: u32 = 1149; +pub const PSM_SETHEADERSUBTITLEA: u32 = 1151; +pub const PSM_SETHEADERSUBTITLEW: u32 = 1152; +pub const PSM_SETHEADERSUBTITLE: u32 = 1151; +pub const PSM_HWNDTOINDEX: u32 = 1153; +pub const PSM_INDEXTOHWND: u32 = 1154; +pub const PSM_PAGETOINDEX: u32 = 1155; +pub const PSM_INDEXTOPAGE: u32 = 1156; +pub const PSM_IDTOINDEX: u32 = 1157; +pub const PSM_INDEXTOID: u32 = 1158; +pub const PSM_GETRESULT: u32 = 1159; +pub const PSM_RECALCPAGESIZES: u32 = 1160; +pub const PSM_SETNEXTTEXTW: u32 = 1161; +pub const PSM_SETNEXTTEXT: u32 = 1161; +pub const PSWIZB_SHOW: u32 = 0; +pub const PSWIZB_RESTORE: u32 = 1; +pub const PSM_SHOWWIZBUTTONS: u32 = 1162; +pub const PSM_ENABLEWIZBUTTONS: u32 = 1163; +pub const PSM_SETBUTTONTEXTW: u32 = 1164; +pub const PSM_SETBUTTONTEXT: u32 = 1164; +pub const ID_PSRESTARTWINDOWS: u32 = 2; +pub const ID_PSREBOOTSYSTEM: u32 = 3; +pub const WIZ_CXDLG: u32 = 276; +pub const WIZ_CYDLG: u32 = 140; +pub const WIZ_CXBMP: u32 = 80; +pub const WIZ_BODYX: u32 = 92; +pub const WIZ_BODYCX: u32 = 184; +pub const PROP_SM_CXDLG: u32 = 212; +pub const PROP_SM_CYDLG: u32 = 188; +pub const PROP_MED_CXDLG: u32 = 227; +pub const PROP_MED_CYDLG: u32 = 215; +pub const PROP_LG_CXDLG: u32 = 252; +pub const PROP_LG_CYDLG: u32 = 218; +pub const DSPRINT_PUBLISH: u32 = 1; +pub const DSPRINT_UPDATE: u32 = 2; +pub const DSPRINT_UNPUBLISH: u32 = 4; +pub const DSPRINT_REPUBLISH: u32 = 8; +pub const DSPRINT_PENDING: u32 = 2147483648; +pub const PRINTER_CONTROL_PAUSE: u32 = 1; +pub const PRINTER_CONTROL_RESUME: u32 = 2; +pub const PRINTER_CONTROL_PURGE: u32 = 3; +pub const PRINTER_CONTROL_SET_STATUS: u32 = 4; +pub const PRINTER_STATUS_PAUSED: u32 = 1; +pub const PRINTER_STATUS_ERROR: u32 = 2; +pub const PRINTER_STATUS_PENDING_DELETION: u32 = 4; +pub const PRINTER_STATUS_PAPER_JAM: u32 = 8; +pub const PRINTER_STATUS_PAPER_OUT: u32 = 16; +pub const PRINTER_STATUS_MANUAL_FEED: u32 = 32; +pub const PRINTER_STATUS_PAPER_PROBLEM: u32 = 64; +pub const PRINTER_STATUS_OFFLINE: u32 = 128; +pub const PRINTER_STATUS_IO_ACTIVE: u32 = 256; +pub const PRINTER_STATUS_BUSY: u32 = 512; +pub const PRINTER_STATUS_PRINTING: u32 = 1024; +pub const PRINTER_STATUS_OUTPUT_BIN_FULL: u32 = 2048; +pub const PRINTER_STATUS_NOT_AVAILABLE: u32 = 4096; +pub const PRINTER_STATUS_WAITING: u32 = 8192; +pub const PRINTER_STATUS_PROCESSING: u32 = 16384; +pub const PRINTER_STATUS_INITIALIZING: u32 = 32768; +pub const PRINTER_STATUS_WARMING_UP: u32 = 65536; +pub const PRINTER_STATUS_TONER_LOW: u32 = 131072; +pub const PRINTER_STATUS_NO_TONER: u32 = 262144; +pub const PRINTER_STATUS_PAGE_PUNT: u32 = 524288; +pub const PRINTER_STATUS_USER_INTERVENTION: u32 = 1048576; +pub const PRINTER_STATUS_OUT_OF_MEMORY: u32 = 2097152; +pub const PRINTER_STATUS_DOOR_OPEN: u32 = 4194304; +pub const PRINTER_STATUS_SERVER_UNKNOWN: u32 = 8388608; +pub const PRINTER_STATUS_POWER_SAVE: u32 = 16777216; +pub const PRINTER_STATUS_SERVER_OFFLINE: u32 = 33554432; +pub const PRINTER_STATUS_DRIVER_UPDATE_NEEDED: u32 = 67108864; +pub const PRINTER_ATTRIBUTE_QUEUED: u32 = 1; +pub const PRINTER_ATTRIBUTE_DIRECT: u32 = 2; +pub const PRINTER_ATTRIBUTE_DEFAULT: u32 = 4; +pub const PRINTER_ATTRIBUTE_SHARED: u32 = 8; +pub const PRINTER_ATTRIBUTE_NETWORK: u32 = 16; +pub const PRINTER_ATTRIBUTE_HIDDEN: u32 = 32; +pub const PRINTER_ATTRIBUTE_LOCAL: u32 = 64; +pub const PRINTER_ATTRIBUTE_ENABLE_DEVQ: u32 = 128; +pub const PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS: u32 = 256; +pub const PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST: u32 = 512; +pub const PRINTER_ATTRIBUTE_WORK_OFFLINE: u32 = 1024; +pub const PRINTER_ATTRIBUTE_ENABLE_BIDI: u32 = 2048; +pub const PRINTER_ATTRIBUTE_RAW_ONLY: u32 = 4096; +pub const PRINTER_ATTRIBUTE_PUBLISHED: u32 = 8192; +pub const PRINTER_ATTRIBUTE_FAX: u32 = 16384; +pub const PRINTER_ATTRIBUTE_TS: u32 = 32768; +pub const PRINTER_ATTRIBUTE_PUSHED_USER: u32 = 131072; +pub const PRINTER_ATTRIBUTE_PUSHED_MACHINE: u32 = 262144; +pub const PRINTER_ATTRIBUTE_MACHINE: u32 = 524288; +pub const PRINTER_ATTRIBUTE_FRIENDLY_NAME: u32 = 1048576; +pub const PRINTER_ATTRIBUTE_TS_GENERIC_DRIVER: u32 = 2097152; +pub const PRINTER_ATTRIBUTE_PER_USER: u32 = 4194304; +pub const PRINTER_ATTRIBUTE_ENTERPRISE_CLOUD: u32 = 8388608; +pub const NO_PRIORITY: u32 = 0; +pub const MAX_PRIORITY: u32 = 99; +pub const MIN_PRIORITY: u32 = 1; +pub const DEF_PRIORITY: u32 = 1; +pub const JOB_CONTROL_PAUSE: u32 = 1; +pub const JOB_CONTROL_RESUME: u32 = 2; +pub const JOB_CONTROL_CANCEL: u32 = 3; +pub const JOB_CONTROL_RESTART: u32 = 4; +pub const JOB_CONTROL_DELETE: u32 = 5; +pub const JOB_CONTROL_SENT_TO_PRINTER: u32 = 6; +pub const JOB_CONTROL_LAST_PAGE_EJECTED: u32 = 7; +pub const JOB_CONTROL_RETAIN: u32 = 8; +pub const JOB_CONTROL_RELEASE: u32 = 9; +pub const JOB_STATUS_PAUSED: u32 = 1; +pub const JOB_STATUS_ERROR: u32 = 2; +pub const JOB_STATUS_DELETING: u32 = 4; +pub const JOB_STATUS_SPOOLING: u32 = 8; +pub const JOB_STATUS_PRINTING: u32 = 16; +pub const JOB_STATUS_OFFLINE: u32 = 32; +pub const JOB_STATUS_PAPEROUT: u32 = 64; +pub const JOB_STATUS_PRINTED: u32 = 128; +pub const JOB_STATUS_DELETED: u32 = 256; +pub const JOB_STATUS_BLOCKED_DEVQ: u32 = 512; +pub const JOB_STATUS_USER_INTERVENTION: u32 = 1024; +pub const JOB_STATUS_RESTART: u32 = 2048; +pub const JOB_STATUS_COMPLETE: u32 = 4096; +pub const JOB_STATUS_RETAINED: u32 = 8192; +pub const JOB_STATUS_RENDERING_LOCALLY: u32 = 16384; +pub const JOB_POSITION_UNSPECIFIED: u32 = 0; +pub const PRINTER_DRIVER_PACKAGE_AWARE: u32 = 1; +pub const PRINTER_DRIVER_XPS: u32 = 2; +pub const PRINTER_DRIVER_SANDBOX_ENABLED: u32 = 4; +pub const PRINTER_DRIVER_CLASS: u32 = 8; +pub const PRINTER_DRIVER_DERIVED: u32 = 16; +pub const PRINTER_DRIVER_NOT_SHAREABLE: u32 = 32; +pub const PRINTER_DRIVER_CATEGORY_FAX: u32 = 64; +pub const PRINTER_DRIVER_CATEGORY_FILE: u32 = 128; +pub const PRINTER_DRIVER_CATEGORY_VIRTUAL: u32 = 256; +pub const PRINTER_DRIVER_CATEGORY_SERVICE: u32 = 512; +pub const PRINTER_DRIVER_SOFT_RESET_REQUIRED: u32 = 1024; +pub const PRINTER_DRIVER_SANDBOX_DISABLED: u32 = 2048; +pub const PRINTER_DRIVER_CATEGORY_3D: u32 = 4096; +pub const PRINTER_DRIVER_CATEGORY_CLOUD: u32 = 8192; +pub const DRIVER_KERNELMODE: u32 = 1; +pub const DRIVER_USERMODE: u32 = 2; +pub const DPD_DELETE_UNUSED_FILES: u32 = 1; +pub const DPD_DELETE_SPECIFIC_VERSION: u32 = 2; +pub const DPD_DELETE_ALL_FILES: u32 = 4; +pub const APD_STRICT_UPGRADE: u32 = 1; +pub const APD_STRICT_DOWNGRADE: u32 = 2; +pub const APD_COPY_ALL_FILES: u32 = 4; +pub const APD_COPY_NEW_FILES: u32 = 8; +pub const APD_COPY_FROM_DIRECTORY: u32 = 16; +pub const STRING_NONE: u32 = 1; +pub const STRING_MUIDLL: u32 = 2; +pub const STRING_LANGPAIR: u32 = 4; +pub const MAX_FORM_KEYWORD_LENGTH: u32 = 64; +pub const DI_CHANNEL: u32 = 1; +pub const DI_READ_SPOOL_JOB: u32 = 3; +pub const DI_MEMORYMAP_WRITE: u32 = 1; +pub const FORM_USER: u32 = 0; +pub const FORM_BUILTIN: u32 = 1; +pub const FORM_PRINTER: u32 = 2; +pub const NORMAL_PRINT: u32 = 0; +pub const REVERSE_PRINT: u32 = 1; +pub const PPCAPS_RIGHT_THEN_DOWN: u32 = 1; +pub const PPCAPS_DOWN_THEN_RIGHT: u32 = 2; +pub const PPCAPS_LEFT_THEN_DOWN: u32 = 4; +pub const PPCAPS_DOWN_THEN_LEFT: u32 = 8; +pub const PPCAPS_BORDER_PRINT: u32 = 1; +pub const PPCAPS_BOOKLET_EDGE: u32 = 1; +pub const PPCAPS_REVERSE_PAGES_FOR_REVERSE_DUPLEX: u32 = 1; +pub const PPCAPS_DONT_SEND_EXTRA_PAGES_FOR_DUPLEX: u32 = 2; +pub const PPCAPS_SQUARE_SCALING: u32 = 1; +pub const PORT_TYPE_WRITE: u32 = 1; +pub const PORT_TYPE_READ: u32 = 2; +pub const PORT_TYPE_REDIRECTED: u32 = 4; +pub const PORT_TYPE_NET_ATTACHED: u32 = 8; +pub const PORT_STATUS_TYPE_ERROR: u32 = 1; +pub const PORT_STATUS_TYPE_WARNING: u32 = 2; +pub const PORT_STATUS_TYPE_INFO: u32 = 3; +pub const PORT_STATUS_OFFLINE: u32 = 1; +pub const PORT_STATUS_PAPER_JAM: u32 = 2; +pub const PORT_STATUS_PAPER_OUT: u32 = 3; +pub const PORT_STATUS_OUTPUT_BIN_FULL: u32 = 4; +pub const PORT_STATUS_PAPER_PROBLEM: u32 = 5; +pub const PORT_STATUS_NO_TONER: u32 = 6; +pub const PORT_STATUS_DOOR_OPEN: u32 = 7; +pub const PORT_STATUS_USER_INTERVENTION: u32 = 8; +pub const PORT_STATUS_OUT_OF_MEMORY: u32 = 9; +pub const PORT_STATUS_TONER_LOW: u32 = 10; +pub const PORT_STATUS_WARMING_UP: u32 = 11; +pub const PORT_STATUS_POWER_SAVE: u32 = 12; +pub const PRINTER_ENUM_DEFAULT: u32 = 1; +pub const PRINTER_ENUM_LOCAL: u32 = 2; +pub const PRINTER_ENUM_CONNECTIONS: u32 = 4; +pub const PRINTER_ENUM_FAVORITE: u32 = 4; +pub const PRINTER_ENUM_NAME: u32 = 8; +pub const PRINTER_ENUM_REMOTE: u32 = 16; +pub const PRINTER_ENUM_SHARED: u32 = 32; +pub const PRINTER_ENUM_NETWORK: u32 = 64; +pub const PRINTER_ENUM_EXPAND: u32 = 16384; +pub const PRINTER_ENUM_CONTAINER: u32 = 32768; +pub const PRINTER_ENUM_ICONMASK: u32 = 16711680; +pub const PRINTER_ENUM_ICON1: u32 = 65536; +pub const PRINTER_ENUM_ICON2: u32 = 131072; +pub const PRINTER_ENUM_ICON3: u32 = 262144; +pub const PRINTER_ENUM_ICON4: u32 = 524288; +pub const PRINTER_ENUM_ICON5: u32 = 1048576; +pub const PRINTER_ENUM_ICON6: u32 = 2097152; +pub const PRINTER_ENUM_ICON7: u32 = 4194304; +pub const PRINTER_ENUM_ICON8: u32 = 8388608; +pub const PRINTER_ENUM_HIDE: u32 = 16777216; +pub const PRINTER_ENUM_CATEGORY_ALL: u32 = 33554432; +pub const PRINTER_ENUM_CATEGORY_3D: u32 = 67108864; +pub const SPOOL_FILE_PERSISTENT: u32 = 1; +pub const SPOOL_FILE_TEMPORARY: u32 = 2; +pub const PRINTER_NOTIFY_TYPE: u32 = 0; +pub const JOB_NOTIFY_TYPE: u32 = 1; +pub const SERVER_NOTIFY_TYPE: u32 = 2; +pub const PRINTER_NOTIFY_FIELD_SERVER_NAME: u32 = 0; +pub const PRINTER_NOTIFY_FIELD_PRINTER_NAME: u32 = 1; +pub const PRINTER_NOTIFY_FIELD_SHARE_NAME: u32 = 2; +pub const PRINTER_NOTIFY_FIELD_PORT_NAME: u32 = 3; +pub const PRINTER_NOTIFY_FIELD_DRIVER_NAME: u32 = 4; +pub const PRINTER_NOTIFY_FIELD_COMMENT: u32 = 5; +pub const PRINTER_NOTIFY_FIELD_LOCATION: u32 = 6; +pub const PRINTER_NOTIFY_FIELD_DEVMODE: u32 = 7; +pub const PRINTER_NOTIFY_FIELD_SEPFILE: u32 = 8; +pub const PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR: u32 = 9; +pub const PRINTER_NOTIFY_FIELD_PARAMETERS: u32 = 10; +pub const PRINTER_NOTIFY_FIELD_DATATYPE: u32 = 11; +pub const PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR: u32 = 12; +pub const PRINTER_NOTIFY_FIELD_ATTRIBUTES: u32 = 13; +pub const PRINTER_NOTIFY_FIELD_PRIORITY: u32 = 14; +pub const PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY: u32 = 15; +pub const PRINTER_NOTIFY_FIELD_START_TIME: u32 = 16; +pub const PRINTER_NOTIFY_FIELD_UNTIL_TIME: u32 = 17; +pub const PRINTER_NOTIFY_FIELD_STATUS: u32 = 18; +pub const PRINTER_NOTIFY_FIELD_STATUS_STRING: u32 = 19; +pub const PRINTER_NOTIFY_FIELD_CJOBS: u32 = 20; +pub const PRINTER_NOTIFY_FIELD_AVERAGE_PPM: u32 = 21; +pub const PRINTER_NOTIFY_FIELD_TOTAL_PAGES: u32 = 22; +pub const PRINTER_NOTIFY_FIELD_PAGES_PRINTED: u32 = 23; +pub const PRINTER_NOTIFY_FIELD_TOTAL_BYTES: u32 = 24; +pub const PRINTER_NOTIFY_FIELD_BYTES_PRINTED: u32 = 25; +pub const PRINTER_NOTIFY_FIELD_OBJECT_GUID: u32 = 26; +pub const PRINTER_NOTIFY_FIELD_FRIENDLY_NAME: u32 = 27; +pub const PRINTER_NOTIFY_FIELD_BRANCH_OFFICE_PRINTING: u32 = 28; +pub const JOB_NOTIFY_FIELD_PRINTER_NAME: u32 = 0; +pub const JOB_NOTIFY_FIELD_MACHINE_NAME: u32 = 1; +pub const JOB_NOTIFY_FIELD_PORT_NAME: u32 = 2; +pub const JOB_NOTIFY_FIELD_USER_NAME: u32 = 3; +pub const JOB_NOTIFY_FIELD_NOTIFY_NAME: u32 = 4; +pub const JOB_NOTIFY_FIELD_DATATYPE: u32 = 5; +pub const JOB_NOTIFY_FIELD_PRINT_PROCESSOR: u32 = 6; +pub const JOB_NOTIFY_FIELD_PARAMETERS: u32 = 7; +pub const JOB_NOTIFY_FIELD_DRIVER_NAME: u32 = 8; +pub const JOB_NOTIFY_FIELD_DEVMODE: u32 = 9; +pub const JOB_NOTIFY_FIELD_STATUS: u32 = 10; +pub const JOB_NOTIFY_FIELD_STATUS_STRING: u32 = 11; +pub const JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR: u32 = 12; +pub const JOB_NOTIFY_FIELD_DOCUMENT: u32 = 13; +pub const JOB_NOTIFY_FIELD_PRIORITY: u32 = 14; +pub const JOB_NOTIFY_FIELD_POSITION: u32 = 15; +pub const JOB_NOTIFY_FIELD_SUBMITTED: u32 = 16; +pub const JOB_NOTIFY_FIELD_START_TIME: u32 = 17; +pub const JOB_NOTIFY_FIELD_UNTIL_TIME: u32 = 18; +pub const JOB_NOTIFY_FIELD_TIME: u32 = 19; +pub const JOB_NOTIFY_FIELD_TOTAL_PAGES: u32 = 20; +pub const JOB_NOTIFY_FIELD_PAGES_PRINTED: u32 = 21; +pub const JOB_NOTIFY_FIELD_TOTAL_BYTES: u32 = 22; +pub const JOB_NOTIFY_FIELD_BYTES_PRINTED: u32 = 23; +pub const JOB_NOTIFY_FIELD_REMOTE_JOB_ID: u32 = 24; +pub const SERVER_NOTIFY_FIELD_PRINT_DRIVER_ISOLATION_GROUP: u32 = 0; +pub const PRINTER_NOTIFY_CATEGORY_ALL: u32 = 4096; +pub const PRINTER_NOTIFY_CATEGORY_3D: u32 = 8192; +pub const PRINTER_NOTIFY_OPTIONS_REFRESH: u32 = 1; +pub const PRINTER_NOTIFY_INFO_DISCARDED: u32 = 1; +pub const BIDI_ACTION_ENUM_SCHEMA: &[u8; 11usize] = b"EnumSchema\0"; +pub const BIDI_ACTION_GET: &[u8; 4usize] = b"Get\0"; +pub const BIDI_ACTION_SET: &[u8; 4usize] = b"Set\0"; +pub const BIDI_ACTION_GET_ALL: &[u8; 7usize] = b"GetAll\0"; +pub const BIDI_ACTION_GET_WITH_ARGUMENT: &[u8; 16usize] = b"GetWithArgument\0"; +pub const BIDI_ACCESS_ADMINISTRATOR: u32 = 1; +pub const BIDI_ACCESS_USER: u32 = 2; +pub const ERROR_BIDI_STATUS_OK: u32 = 0; +pub const ERROR_BIDI_NOT_SUPPORTED: u32 = 50; +pub const ERROR_BIDI_ERROR_BASE: u32 = 13000; +pub const ERROR_BIDI_STATUS_WARNING: u32 = 13001; +pub const ERROR_BIDI_SCHEMA_READ_ONLY: u32 = 13002; +pub const ERROR_BIDI_SERVER_OFFLINE: u32 = 13003; +pub const ERROR_BIDI_DEVICE_OFFLINE: u32 = 13004; +pub const ERROR_BIDI_SCHEMA_NOT_SUPPORTED: u32 = 13005; +pub const ERROR_BIDI_SET_DIFFERENT_TYPE: u32 = 13006; +pub const ERROR_BIDI_SET_MULTIPLE_SCHEMAPATH: u32 = 13007; +pub const ERROR_BIDI_SET_INVALID_SCHEMAPATH: u32 = 13008; +pub const ERROR_BIDI_SET_UNKNOWN_FAILURE: u32 = 13009; +pub const ERROR_BIDI_SCHEMA_WRITE_ONLY: u32 = 13010; +pub const ERROR_BIDI_GET_REQUIRES_ARGUMENT: u32 = 13011; +pub const ERROR_BIDI_GET_ARGUMENT_NOT_SUPPORTED: u32 = 13012; +pub const ERROR_BIDI_GET_MISSING_ARGUMENT: u32 = 13013; +pub const ERROR_BIDI_DEVICE_CONFIG_UNCHANGED: u32 = 13014; +pub const ERROR_BIDI_NO_LOCALIZED_RESOURCES: u32 = 13015; +pub const ERROR_BIDI_NO_BIDI_SCHEMA_EXTENSIONS: u32 = 13016; +pub const ERROR_BIDI_UNSUPPORTED_CLIENT_LANGUAGE: u32 = 13017; +pub const ERROR_BIDI_UNSUPPORTED_RESOURCE_FORMAT: u32 = 13018; +pub const PRINTER_CHANGE_ADD_PRINTER: u32 = 1; +pub const PRINTER_CHANGE_SET_PRINTER: u32 = 2; +pub const PRINTER_CHANGE_DELETE_PRINTER: u32 = 4; +pub const PRINTER_CHANGE_FAILED_CONNECTION_PRINTER: u32 = 8; +pub const PRINTER_CHANGE_PRINTER: u32 = 255; +pub const PRINTER_CHANGE_ADD_JOB: u32 = 256; +pub const PRINTER_CHANGE_SET_JOB: u32 = 512; +pub const PRINTER_CHANGE_DELETE_JOB: u32 = 1024; +pub const PRINTER_CHANGE_WRITE_JOB: u32 = 2048; +pub const PRINTER_CHANGE_JOB: u32 = 65280; +pub const PRINTER_CHANGE_ADD_FORM: u32 = 65536; +pub const PRINTER_CHANGE_SET_FORM: u32 = 131072; +pub const PRINTER_CHANGE_DELETE_FORM: u32 = 262144; +pub const PRINTER_CHANGE_FORM: u32 = 458752; +pub const PRINTER_CHANGE_ADD_PORT: u32 = 1048576; +pub const PRINTER_CHANGE_CONFIGURE_PORT: u32 = 2097152; +pub const PRINTER_CHANGE_DELETE_PORT: u32 = 4194304; +pub const PRINTER_CHANGE_PORT: u32 = 7340032; +pub const PRINTER_CHANGE_ADD_PRINT_PROCESSOR: u32 = 16777216; +pub const PRINTER_CHANGE_DELETE_PRINT_PROCESSOR: u32 = 67108864; +pub const PRINTER_CHANGE_PRINT_PROCESSOR: u32 = 117440512; +pub const PRINTER_CHANGE_SERVER: u32 = 134217728; +pub const PRINTER_CHANGE_ADD_PRINTER_DRIVER: u32 = 268435456; +pub const PRINTER_CHANGE_SET_PRINTER_DRIVER: u32 = 536870912; +pub const PRINTER_CHANGE_DELETE_PRINTER_DRIVER: u32 = 1073741824; +pub const PRINTER_CHANGE_PRINTER_DRIVER: u32 = 1879048192; +pub const PRINTER_CHANGE_TIMEOUT: u32 = 2147483648; +pub const PRINTER_CHANGE_ALL: u32 = 2138570751; +pub const PRINTER_ERROR_INFORMATION: u32 = 2147483648; +pub const PRINTER_ERROR_WARNING: u32 = 1073741824; +pub const PRINTER_ERROR_SEVERE: u32 = 536870912; +pub const PRINTER_ERROR_OUTOFPAPER: u32 = 1; +pub const PRINTER_ERROR_JAM: u32 = 2; +pub const PRINTER_ERROR_OUTOFTONER: u32 = 4; +pub const SPLREG_PRINT_DRIVER_ISOLATION_GROUPS_SEPARATOR: u8 = 92u8; +pub const SERVER_ACCESS_ADMINISTER: u32 = 1; +pub const SERVER_ACCESS_ENUMERATE: u32 = 2; +pub const PRINTER_ACCESS_ADMINISTER: u32 = 4; +pub const PRINTER_ACCESS_USE: u32 = 8; +pub const JOB_ACCESS_ADMINISTER: u32 = 16; +pub const JOB_ACCESS_READ: u32 = 32; +pub const PRINTER_ACCESS_MANAGE_LIMITED: u32 = 64; +pub const SERVER_ALL_ACCESS: u32 = 983043; +pub const SERVER_READ: u32 = 131074; +pub const SERVER_WRITE: u32 = 131075; +pub const SERVER_EXECUTE: u32 = 131074; +pub const PRINTER_ALL_ACCESS: u32 = 983052; +pub const PRINTER_READ: u32 = 131080; +pub const PRINTER_WRITE: u32 = 131080; +pub const PRINTER_EXECUTE: u32 = 131080; +pub const JOB_ALL_ACCESS: u32 = 983088; +pub const JOB_READ: u32 = 131104; +pub const JOB_WRITE: u32 = 131088; +pub const JOB_EXECUTE: u32 = 131088; +pub const PRINTER_CONNECTION_MISMATCH: u32 = 32; +pub const PRINTER_CONNECTION_NO_UI: u32 = 64; +pub const IPDFP_COPY_ALL_FILES: u32 = 1; +pub const UPDP_SILENT_UPLOAD: u32 = 1; +pub const UPDP_UPLOAD_ALWAYS: u32 = 2; +pub const UPDP_CHECK_DRIVERSTORE: u32 = 4; +pub const MS_PRINT_JOB_OUTPUT_FILE: &[u8; 21usize] = b"MsPrintJobOutputFile\0"; +pub const _MAX_ITOSTR_BASE16_COUNT: u32 = 9; +pub const _MAX_ITOSTR_BASE10_COUNT: u32 = 12; +pub const _MAX_ITOSTR_BASE8_COUNT: u32 = 12; +pub const _MAX_ITOSTR_BASE2_COUNT: u32 = 33; +pub const _MAX_LTOSTR_BASE16_COUNT: u32 = 9; +pub const _MAX_LTOSTR_BASE10_COUNT: u32 = 12; +pub const _MAX_LTOSTR_BASE8_COUNT: u32 = 12; +pub const _MAX_LTOSTR_BASE2_COUNT: u32 = 33; +pub const _MAX_ULTOSTR_BASE16_COUNT: u32 = 9; +pub const _MAX_ULTOSTR_BASE10_COUNT: u32 = 11; +pub const _MAX_ULTOSTR_BASE8_COUNT: u32 = 12; +pub const _MAX_ULTOSTR_BASE2_COUNT: u32 = 33; +pub const _MAX_I64TOSTR_BASE16_COUNT: u32 = 17; +pub const _MAX_I64TOSTR_BASE10_COUNT: u32 = 21; +pub const _MAX_I64TOSTR_BASE8_COUNT: u32 = 23; +pub const _MAX_I64TOSTR_BASE2_COUNT: u32 = 65; +pub const _MAX_U64TOSTR_BASE16_COUNT: u32 = 17; +pub const _MAX_U64TOSTR_BASE10_COUNT: u32 = 21; +pub const _MAX_U64TOSTR_BASE8_COUNT: u32 = 23; +pub const _MAX_U64TOSTR_BASE2_COUNT: u32 = 65; +pub const CHAR_BIT: u32 = 8; +pub const SCHAR_MIN: i32 = -128; +pub const SCHAR_MAX: u32 = 127; +pub const UCHAR_MAX: u32 = 255; +pub const CHAR_MIN: i32 = -128; +pub const CHAR_MAX: u32 = 127; +pub const MB_LEN_MAX: u32 = 5; +pub const SHRT_MIN: i32 = -32768; +pub const SHRT_MAX: u32 = 32767; +pub const USHRT_MAX: u32 = 65535; +pub const INT_MIN: i32 = -2147483648; +pub const INT_MAX: u32 = 2147483647; +pub const UINT_MAX: u32 = 4294967295; +pub const LONG_MIN: i32 = -2147483648; +pub const LONG_MAX: u32 = 2147483647; +pub const ULONG_MAX: u32 = 4294967295; +pub const EXIT_SUCCESS: u32 = 0; +pub const EXIT_FAILURE: u32 = 1; +pub const _WRITE_ABORT_MSG: u32 = 1; +pub const _CALL_REPORTFAULT: u32 = 2; +pub const _OUT_TO_DEFAULT: u32 = 0; +pub const _OUT_TO_STDERR: u32 = 1; +pub const _OUT_TO_MSGBOX: u32 = 2; +pub const _REPORT_ERRMODE: u32 = 3; +pub const RAND_MAX: u32 = 32767; +pub const _CVTBUFSIZE: u32 = 349; +pub const _MAX_PATH: u32 = 260; +pub const _MAX_DRIVE: u32 = 3; +pub const _MAX_DIR: u32 = 256; +pub const _MAX_FNAME: u32 = 256; +pub const _MAX_EXT: u32 = 256; +pub const _MAX_ENV: u32 = 32767; +pub const _CRT_INTERNAL_COMBASE_SYMBOL_PREFIX: &[u8; 1usize] = b"\0"; +pub const COM_RIGHTS_EXECUTE: u32 = 1; +pub const COM_RIGHTS_EXECUTE_LOCAL: u32 = 2; +pub const COM_RIGHTS_EXECUTE_REMOTE: u32 = 4; +pub const COM_RIGHTS_ACTIVATE_LOCAL: u32 = 8; +pub const COM_RIGHTS_ACTIVATE_REMOTE: u32 = 16; +pub const COM_RIGHTS_RESERVED1: u32 = 32; +pub const COM_RIGHTS_RESERVED2: u32 = 64; +pub const CWMO_MAX_HANDLES: u32 = 56; +pub const FADF_AUTO: u32 = 1; +pub const FADF_STATIC: u32 = 2; +pub const FADF_EMBEDDED: u32 = 4; +pub const FADF_FIXEDSIZE: u32 = 16; +pub const FADF_RECORD: u32 = 32; +pub const FADF_HAVEIID: u32 = 64; +pub const FADF_HAVEVARTYPE: u32 = 128; +pub const FADF_BSTR: u32 = 256; +pub const FADF_UNKNOWN: u32 = 512; +pub const FADF_DISPATCH: u32 = 1024; +pub const FADF_VARIANT: u32 = 2048; +pub const FADF_RESERVED: u32 = 61448; +pub const PARAMFLAG_NONE: u32 = 0; +pub const PARAMFLAG_FIN: u32 = 1; +pub const PARAMFLAG_FOUT: u32 = 2; +pub const PARAMFLAG_FLCID: u32 = 4; +pub const PARAMFLAG_FRETVAL: u32 = 8; +pub const PARAMFLAG_FOPT: u32 = 16; +pub const PARAMFLAG_FHASDEFAULT: u32 = 32; +pub const PARAMFLAG_FHASCUSTDATA: u32 = 64; +pub const IDLFLAG_NONE: u32 = 0; +pub const IDLFLAG_FIN: u32 = 1; +pub const IDLFLAG_FOUT: u32 = 2; +pub const IDLFLAG_FLCID: u32 = 4; +pub const IDLFLAG_FRETVAL: u32 = 8; +pub const IMPLTYPEFLAG_FDEFAULT: u32 = 1; +pub const IMPLTYPEFLAG_FSOURCE: u32 = 2; +pub const IMPLTYPEFLAG_FRESTRICTED: u32 = 4; +pub const IMPLTYPEFLAG_FDEFAULTVTABLE: u32 = 8; +pub const DISPID_UNKNOWN: i32 = -1; +pub const DISPID_VALUE: u32 = 0; +pub const DISPID_PROPERTYPUT: i32 = -3; +pub const DISPID_NEWENUM: i32 = -4; +pub const DISPID_EVALUATE: i32 = -5; +pub const DISPID_CONSTRUCTOR: i32 = -6; +pub const DISPID_DESTRUCTOR: i32 = -7; +pub const DISPID_COLLECT: i32 = -8; +pub const PROPSETFLAG_DEFAULT: u32 = 0; +pub const PROPSETFLAG_NONSIMPLE: u32 = 1; +pub const PROPSETFLAG_ANSI: u32 = 2; +pub const PROPSETFLAG_UNBUFFERED: u32 = 4; +pub const PROPSETFLAG_CASE_SENSITIVE: u32 = 8; +pub const PROPSET_BEHAVIOR_CASE_SENSITIVE: u32 = 1; +pub const PID_DICTIONARY: u32 = 0; +pub const PID_CODEPAGE: u32 = 1; +pub const PID_FIRST_USABLE: u32 = 2; +pub const PID_FIRST_NAME_DEFAULT: u32 = 4095; +pub const PID_LOCALE: u32 = 2147483648; +pub const PID_MODIFY_TIME: u32 = 2147483649; +pub const PID_SECURITY: u32 = 2147483650; +pub const PID_BEHAVIOR: u32 = 2147483651; +pub const PID_ILLEGAL: u32 = 4294967295; +pub const PID_MIN_READONLY: u32 = 2147483648; +pub const PID_MAX_READONLY: u32 = 3221225471; +pub const PRSPEC_INVALID: u32 = 4294967295; +pub const PRSPEC_LPWSTR: u32 = 0; +pub const PRSPEC_PROPID: u32 = 1; +pub const PROPSETHDR_OSVERSION_UNKNOWN: u32 = 4294967295; +pub const CWCSTORAGENAME: u32 = 32; +pub const STGM_DIRECT: u32 = 0; +pub const STGM_TRANSACTED: u32 = 65536; +pub const STGM_SIMPLE: u32 = 134217728; +pub const STGM_READ: u32 = 0; +pub const STGM_WRITE: u32 = 1; +pub const STGM_READWRITE: u32 = 2; +pub const STGM_SHARE_DENY_NONE: u32 = 64; +pub const STGM_SHARE_DENY_READ: u32 = 48; +pub const STGM_SHARE_DENY_WRITE: u32 = 32; +pub const STGM_SHARE_EXCLUSIVE: u32 = 16; +pub const STGM_PRIORITY: u32 = 262144; +pub const STGM_DELETEONRELEASE: u32 = 67108864; +pub const STGM_NOSCRATCH: u32 = 1048576; +pub const STGM_CREATE: u32 = 4096; +pub const STGM_CONVERT: u32 = 131072; +pub const STGM_FAILIFTHERE: u32 = 0; +pub const STGM_NOSNAPSHOT: u32 = 2097152; +pub const STGM_DIRECT_SWMR: u32 = 4194304; +pub const STGFMT_STORAGE: u32 = 0; +pub const STGFMT_NATIVE: u32 = 1; +pub const STGFMT_FILE: u32 = 3; +pub const STGFMT_ANY: u32 = 4; +pub const STGFMT_DOCFILE: u32 = 5; +pub const STGFMT_DOCUMENT: u32 = 0; +pub const STGOPTIONS_VERSION: u32 = 2; +pub const CCH_MAX_PROPSTG_NAME: u32 = 31; +pub const MARSHALINTERFACE_MIN: u32 = 500; +pub const ASYNC_MODE_COMPATIBILITY: u32 = 1; +pub const ASYNC_MODE_DEFAULT: u32 = 0; +pub const STGTY_REPEAT: u32 = 256; +pub const STG_TOEND: u32 = 4294967295; +pub const STG_LAYOUT_SEQUENTIAL: u32 = 0; +pub const STG_LAYOUT_INTERLEAVED: u32 = 1; +pub const UPDFCACHE_NODATACACHE: u32 = 1; +pub const UPDFCACHE_ONSAVECACHE: u32 = 2; +pub const UPDFCACHE_ONSTOPCACHE: u32 = 4; +pub const UPDFCACHE_NORMALCACHE: u32 = 8; +pub const UPDFCACHE_IFBLANK: u32 = 16; +pub const UPDFCACHE_ONLYIFBLANK: u32 = 2147483648; +pub const UPDFCACHE_IFBLANKORONSAVECACHE: u32 = 18; +pub const MK_ALT: u32 = 32; +pub const DROPEFFECT_NONE: u32 = 0; +pub const DROPEFFECT_COPY: u32 = 1; +pub const DROPEFFECT_MOVE: u32 = 2; +pub const DROPEFFECT_LINK: u32 = 4; +pub const DROPEFFECT_SCROLL: u32 = 2147483648; +pub const DD_DEFSCROLLINSET: u32 = 11; +pub const DD_DEFSCROLLDELAY: u32 = 50; +pub const DD_DEFSCROLLINTERVAL: u32 = 50; +pub const DD_DEFDRAGDELAY: u32 = 200; +pub const DD_DEFDRAGMINDIST: u32 = 2; +pub const MKSYS_URLMONIKER: u32 = 6; +pub const URL_MK_LEGACY: u32 = 0; +pub const URL_MK_UNIFORM: u32 = 1; +pub const URL_MK_NO_CANONICALIZE: u32 = 2; +pub const FIEF_FLAG_FORCE_JITUI: u32 = 1; +pub const FIEF_FLAG_PEEK: u32 = 2; +pub const FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK: u32 = 4; +pub const FIEF_FLAG_RESERVED_0: u32 = 8; +pub const FMFD_DEFAULT: u32 = 0; +pub const FMFD_URLASFILENAME: u32 = 1; +pub const FMFD_ENABLEMIMESNIFFING: u32 = 2; +pub const FMFD_IGNOREMIMETEXTPLAIN: u32 = 4; +pub const FMFD_SERVERMIME: u32 = 8; +pub const FMFD_RESPECTTEXTPLAIN: u32 = 16; +pub const FMFD_RETURNUPDATEDIMGMIMES: u32 = 32; +pub const FMFD_RESERVED_1: u32 = 64; +pub const UAS_EXACTLEGACY: u32 = 4096; +pub const URLMON_OPTION_USERAGENT: u32 = 268435457; +pub const URLMON_OPTION_USERAGENT_REFRESH: u32 = 268435458; +pub const URLMON_OPTION_URL_ENCODING: u32 = 268435460; +pub const URLMON_OPTION_USE_BINDSTRINGCREDS: u32 = 268435464; +pub const URLMON_OPTION_USE_BROWSERAPPSDOCUMENTS: u32 = 268435472; +pub const CF_NULL: u32 = 0; +pub const Uri_CREATE_ALLOW_RELATIVE: u32 = 1; +pub const Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME: u32 = 2; +pub const Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME: u32 = 4; +pub const Uri_CREATE_NOFRAG: u32 = 8; +pub const Uri_CREATE_NO_CANONICALIZE: u32 = 16; +pub const Uri_CREATE_CANONICALIZE: u32 = 256; +pub const Uri_CREATE_FILE_USE_DOS_PATH: u32 = 32; +pub const Uri_CREATE_DECODE_EXTRA_INFO: u32 = 64; +pub const Uri_CREATE_NO_DECODE_EXTRA_INFO: u32 = 128; +pub const Uri_CREATE_CRACK_UNKNOWN_SCHEMES: u32 = 512; +pub const Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES: u32 = 1024; +pub const Uri_CREATE_PRE_PROCESS_HTML_URI: u32 = 2048; +pub const Uri_CREATE_NO_PRE_PROCESS_HTML_URI: u32 = 4096; +pub const Uri_CREATE_IE_SETTINGS: u32 = 8192; +pub const Uri_CREATE_NO_IE_SETTINGS: u32 = 16384; +pub const Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS: u32 = 32768; +pub const Uri_CREATE_NORMALIZE_INTL_CHARACTERS: u32 = 65536; +pub const Uri_CREATE_CANONICALIZE_ABSOLUTE: u32 = 131072; +pub const Uri_DISPLAY_NO_FRAGMENT: u32 = 1; +pub const Uri_PUNYCODE_IDN_HOST: u32 = 2; +pub const Uri_DISPLAY_IDN_HOST: u32 = 4; +pub const Uri_DISPLAY_NO_PUNYCODE: u32 = 8; +pub const Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8: u32 = 1; +pub const Uri_ENCODING_USER_INFO_AND_PATH_IS_CP: u32 = 2; +pub const Uri_ENCODING_HOST_IS_IDN: u32 = 4; +pub const Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8: u32 = 8; +pub const Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP: u32 = 16; +pub const Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8: u32 = 32; +pub const Uri_ENCODING_QUERY_AND_FRAGMENT_IS_CP: u32 = 64; +pub const Uri_ENCODING_RFC: u32 = 41; +pub const UriBuilder_USE_ORIGINAL_FLAGS: u32 = 1; +pub const WININETINFO_OPTION_LOCK_HANDLE: u32 = 65534; +pub const URLOSTRM_USECACHEDCOPY_ONLY: u32 = 1; +pub const URLOSTRM_USECACHEDCOPY: u32 = 2; +pub const URLOSTRM_GETNEWESTVERSION: u32 = 3; +pub const SET_FEATURE_ON_THREAD: u32 = 1; +pub const SET_FEATURE_ON_PROCESS: u32 = 2; +pub const SET_FEATURE_IN_REGISTRY: u32 = 4; +pub const SET_FEATURE_ON_THREAD_LOCALMACHINE: u32 = 8; +pub const SET_FEATURE_ON_THREAD_INTRANET: u32 = 16; +pub const SET_FEATURE_ON_THREAD_TRUSTED: u32 = 32; +pub const SET_FEATURE_ON_THREAD_INTERNET: u32 = 64; +pub const SET_FEATURE_ON_THREAD_RESTRICTED: u32 = 128; +pub const GET_FEATURE_FROM_THREAD: u32 = 1; +pub const GET_FEATURE_FROM_PROCESS: u32 = 2; +pub const GET_FEATURE_FROM_REGISTRY: u32 = 4; +pub const GET_FEATURE_FROM_THREAD_LOCALMACHINE: u32 = 8; +pub const GET_FEATURE_FROM_THREAD_INTRANET: u32 = 16; +pub const GET_FEATURE_FROM_THREAD_TRUSTED: u32 = 32; +pub const GET_FEATURE_FROM_THREAD_INTERNET: u32 = 64; +pub const GET_FEATURE_FROM_THREAD_RESTRICTED: u32 = 128; +pub const PROTOCOLFLAG_NO_PICS_CHECK: u32 = 1; +pub const MUTZ_NOSAVEDFILECHECK: u32 = 1; +pub const MUTZ_ISFILE: u32 = 2; +pub const MUTZ_ACCEPT_WILDCARD_SCHEME: u32 = 128; +pub const MUTZ_ENFORCERESTRICTED: u32 = 256; +pub const MUTZ_RESERVED: u32 = 512; +pub const MUTZ_REQUIRESAVEDFILECHECK: u32 = 1024; +pub const MUTZ_DONT_UNESCAPE: u32 = 2048; +pub const MUTZ_DONT_USE_CACHE: u32 = 4096; +pub const MUTZ_FORCE_INTRANET_FLAGS: u32 = 8192; +pub const MUTZ_IGNORE_ZONE_MAPPINGS: u32 = 16384; +pub const MAX_SIZE_SECURITY_ID: u32 = 512; +pub const URLACTION_MIN: u32 = 4096; +pub const URLACTION_DOWNLOAD_MIN: u32 = 4096; +pub const URLACTION_DOWNLOAD_SIGNED_ACTIVEX: u32 = 4097; +pub const URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX: u32 = 4100; +pub const URLACTION_DOWNLOAD_CURR_MAX: u32 = 4100; +pub const URLACTION_DOWNLOAD_MAX: u32 = 4607; +pub const URLACTION_ACTIVEX_MIN: u32 = 4608; +pub const URLACTION_ACTIVEX_RUN: u32 = 4608; +pub const URLPOLICY_ACTIVEX_CHECK_LIST: u32 = 65536; +pub const URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY: u32 = 4609; +pub const URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY: u32 = 4610; +pub const URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY: u32 = 4611; +pub const URLACTION_SCRIPT_OVERRIDE_SAFETY: u32 = 5121; +pub const URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY: u32 = 4612; +pub const URLACTION_ACTIVEX_TREATASUNTRUSTED: u32 = 4613; +pub const URLACTION_ACTIVEX_NO_WEBOC_SCRIPT: u32 = 4614; +pub const URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION: u32 = 4615; +pub const URLACTION_ACTIVEX_OVERRIDE_OPTIN: u32 = 4616; +pub const URLACTION_ACTIVEX_SCRIPTLET_RUN: u32 = 4617; +pub const URLACTION_ACTIVEX_DYNSRC_VIDEO_AND_ANIMATION: u32 = 4618; +pub const URLACTION_ACTIVEX_OVERRIDE_DOMAINLIST: u32 = 4619; +pub const URLACTION_ACTIVEX_ALLOW_TDC: u32 = 4620; +pub const URLACTION_ACTIVEX_CURR_MAX: u32 = 4620; +pub const URLACTION_ACTIVEX_MAX: u32 = 5119; +pub const URLACTION_SCRIPT_MIN: u32 = 5120; +pub const URLACTION_SCRIPT_RUN: u32 = 5120; +pub const URLACTION_SCRIPT_JAVA_USE: u32 = 5122; +pub const URLACTION_SCRIPT_SAFE_ACTIVEX: u32 = 5125; +pub const URLACTION_CROSS_DOMAIN_DATA: u32 = 5126; +pub const URLACTION_SCRIPT_PASTE: u32 = 5127; +pub const URLACTION_ALLOW_XDOMAIN_SUBFRAME_RESIZE: u32 = 5128; +pub const URLACTION_SCRIPT_XSSFILTER: u32 = 5129; +pub const URLACTION_SCRIPT_NAVIGATE: u32 = 5130; +pub const URLACTION_PLUGGABLE_PROTOCOL_XHR: u32 = 5131; +pub const URLACTION_ALLOW_VBSCRIPT_IE: u32 = 5132; +pub const URLACTION_ALLOW_JSCRIPT_IE: u32 = 5133; +pub const URLACTION_SCRIPT_CURR_MAX: u32 = 5133; +pub const URLACTION_SCRIPT_MAX: u32 = 5631; +pub const URLACTION_HTML_MIN: u32 = 5632; +pub const URLACTION_HTML_SUBMIT_FORMS: u32 = 5633; +pub const URLACTION_HTML_SUBMIT_FORMS_FROM: u32 = 5634; +pub const URLACTION_HTML_SUBMIT_FORMS_TO: u32 = 5635; +pub const URLACTION_HTML_FONT_DOWNLOAD: u32 = 5636; +pub const URLACTION_HTML_JAVA_RUN: u32 = 5637; +pub const URLACTION_HTML_USERDATA_SAVE: u32 = 5638; +pub const URLACTION_HTML_SUBFRAME_NAVIGATE: u32 = 5639; +pub const URLACTION_HTML_META_REFRESH: u32 = 5640; +pub const URLACTION_HTML_MIXED_CONTENT: u32 = 5641; +pub const URLACTION_HTML_INCLUDE_FILE_PATH: u32 = 5642; +pub const URLACTION_HTML_ALLOW_INJECTED_DYNAMIC_HTML: u32 = 5643; +pub const URLACTION_HTML_REQUIRE_UTF8_DOCUMENT_CODEPAGE: u32 = 5644; +pub const URLACTION_HTML_ALLOW_CROSS_DOMAIN_CANVAS: u32 = 5645; +pub const URLACTION_HTML_ALLOW_WINDOW_CLOSE: u32 = 5646; +pub const URLACTION_HTML_ALLOW_CROSS_DOMAIN_WEBWORKER: u32 = 5647; +pub const URLACTION_HTML_ALLOW_CROSS_DOMAIN_TEXTTRACK: u32 = 5648; +pub const URLACTION_HTML_ALLOW_INDEXEDDB: u32 = 5649; +pub const URLACTION_HTML_MAX: u32 = 6143; +pub const URLACTION_SHELL_MIN: u32 = 6144; +pub const URLACTION_SHELL_INSTALL_DTITEMS: u32 = 6144; +pub const URLACTION_SHELL_MOVE_OR_COPY: u32 = 6146; +pub const URLACTION_SHELL_FILE_DOWNLOAD: u32 = 6147; +pub const URLACTION_SHELL_VERB: u32 = 6148; +pub const URLACTION_SHELL_WEBVIEW_VERB: u32 = 6149; +pub const URLACTION_SHELL_SHELLEXECUTE: u32 = 6150; +pub const URLACTION_SHELL_EXECUTE_HIGHRISK: u32 = 6150; +pub const URLACTION_SHELL_EXECUTE_MODRISK: u32 = 6151; +pub const URLACTION_SHELL_EXECUTE_LOWRISK: u32 = 6152; +pub const URLACTION_SHELL_POPUPMGR: u32 = 6153; +pub const URLACTION_SHELL_RTF_OBJECTS_LOAD: u32 = 6154; +pub const URLACTION_SHELL_ENHANCED_DRAGDROP_SECURITY: u32 = 6155; +pub const URLACTION_SHELL_EXTENSIONSECURITY: u32 = 6156; +pub const URLACTION_SHELL_SECURE_DRAGSOURCE: u32 = 6157; +pub const URLACTION_SHELL_REMOTEQUERY: u32 = 6158; +pub const URLACTION_SHELL_PREVIEW: u32 = 6159; +pub const URLACTION_SHELL_SHARE: u32 = 6160; +pub const URLACTION_SHELL_ALLOW_CROSS_SITE_SHARE: u32 = 6161; +pub const URLACTION_SHELL_TOCTOU_RISK: u32 = 6162; +pub const URLACTION_SHELL_CURR_MAX: u32 = 6162; +pub const URLACTION_SHELL_MAX: u32 = 6655; +pub const URLACTION_NETWORK_MIN: u32 = 6656; +pub const URLACTION_CREDENTIALS_USE: u32 = 6656; +pub const URLPOLICY_CREDENTIALS_SILENT_LOGON_OK: u32 = 0; +pub const URLPOLICY_CREDENTIALS_MUST_PROMPT_USER: u32 = 65536; +pub const URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT: u32 = 131072; +pub const URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY: u32 = 196608; +pub const URLACTION_AUTHENTICATE_CLIENT: u32 = 6657; +pub const URLPOLICY_AUTHENTICATE_CLEARTEXT_OK: u32 = 0; +pub const URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE: u32 = 65536; +pub const URLPOLICY_AUTHENTICATE_MUTUAL_ONLY: u32 = 196608; +pub const URLACTION_COOKIES: u32 = 6658; +pub const URLACTION_COOKIES_SESSION: u32 = 6659; +pub const URLACTION_CLIENT_CERT_PROMPT: u32 = 6660; +pub const URLACTION_COOKIES_THIRD_PARTY: u32 = 6661; +pub const URLACTION_COOKIES_SESSION_THIRD_PARTY: u32 = 6662; +pub const URLACTION_COOKIES_ENABLED: u32 = 6672; +pub const URLACTION_NETWORK_CURR_MAX: u32 = 6672; +pub const URLACTION_NETWORK_MAX: u32 = 7167; +pub const URLACTION_JAVA_MIN: u32 = 7168; +pub const URLACTION_JAVA_PERMISSIONS: u32 = 7168; +pub const URLPOLICY_JAVA_PROHIBIT: u32 = 0; +pub const URLPOLICY_JAVA_HIGH: u32 = 65536; +pub const URLPOLICY_JAVA_MEDIUM: u32 = 131072; +pub const URLPOLICY_JAVA_LOW: u32 = 196608; +pub const URLPOLICY_JAVA_CUSTOM: u32 = 8388608; +pub const URLACTION_JAVA_CURR_MAX: u32 = 7168; +pub const URLACTION_JAVA_MAX: u32 = 7423; +pub const URLACTION_INFODELIVERY_MIN: u32 = 7424; +pub const URLACTION_INFODELIVERY_NO_ADDING_CHANNELS: u32 = 7424; +pub const URLACTION_INFODELIVERY_NO_EDITING_CHANNELS: u32 = 7425; +pub const URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS: u32 = 7426; +pub const URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS: u32 = 7427; +pub const URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS: u32 = 7428; +pub const URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS: u32 = 7429; +pub const URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING: u32 = 7430; +pub const URLACTION_INFODELIVERY_CURR_MAX: u32 = 7430; +pub const URLACTION_INFODELIVERY_MAX: u32 = 7679; +pub const URLACTION_CHANNEL_SOFTDIST_MIN: u32 = 7680; +pub const URLACTION_CHANNEL_SOFTDIST_PERMISSIONS: u32 = 7685; +pub const URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT: u32 = 65536; +pub const URLPOLICY_CHANNEL_SOFTDIST_PRECACHE: u32 = 131072; +pub const URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL: u32 = 196608; +pub const URLACTION_CHANNEL_SOFTDIST_MAX: u32 = 7935; +pub const URLACTION_DOTNET_USERCONTROLS: u32 = 8197; +pub const URLACTION_BEHAVIOR_MIN: u32 = 8192; +pub const URLACTION_BEHAVIOR_RUN: u32 = 8192; +pub const URLPOLICY_BEHAVIOR_CHECK_LIST: u32 = 65536; +pub const URLACTION_FEATURE_MIN: u32 = 8448; +pub const URLACTION_FEATURE_MIME_SNIFFING: u32 = 8448; +pub const URLACTION_FEATURE_ZONE_ELEVATION: u32 = 8449; +pub const URLACTION_FEATURE_WINDOW_RESTRICTIONS: u32 = 8450; +pub const URLACTION_FEATURE_SCRIPT_STATUS_BAR: u32 = 8451; +pub const URLACTION_FEATURE_FORCE_ADDR_AND_STATUS: u32 = 8452; +pub const URLACTION_FEATURE_BLOCK_INPUT_PROMPTS: u32 = 8453; +pub const URLACTION_FEATURE_DATA_BINDING: u32 = 8454; +pub const URLACTION_FEATURE_CROSSDOMAIN_FOCUS_CHANGE: u32 = 8455; +pub const URLACTION_AUTOMATIC_DOWNLOAD_UI_MIN: u32 = 8704; +pub const URLACTION_AUTOMATIC_DOWNLOAD_UI: u32 = 8704; +pub const URLACTION_AUTOMATIC_ACTIVEX_UI: u32 = 8705; +pub const URLACTION_ALLOW_RESTRICTEDPROTOCOLS: u32 = 8960; +pub const URLACTION_ALLOW_APEVALUATION: u32 = 8961; +pub const URLACTION_ALLOW_XHR_EVALUATION: u32 = 8962; +pub const URLACTION_WINDOWS_BROWSER_APPLICATIONS: u32 = 9216; +pub const URLACTION_XPS_DOCUMENTS: u32 = 9217; +pub const URLACTION_LOOSE_XAML: u32 = 9218; +pub const URLACTION_LOWRIGHTS: u32 = 9472; +pub const URLACTION_WINFX_SETUP: u32 = 9728; +pub const URLACTION_INPRIVATE_BLOCKING: u32 = 9984; +pub const URLACTION_ALLOW_AUDIO_VIDEO: u32 = 9985; +pub const URLACTION_ALLOW_ACTIVEX_FILTERING: u32 = 9986; +pub const URLACTION_ALLOW_STRUCTURED_STORAGE_SNIFFING: u32 = 9987; +pub const URLACTION_ALLOW_AUDIO_VIDEO_PLUGINS: u32 = 9988; +pub const URLACTION_ALLOW_ZONE_ELEVATION_VIA_OPT_OUT: u32 = 9989; +pub const URLACTION_ALLOW_ZONE_ELEVATION_OPT_OUT_ADDITION: u32 = 9990; +pub const URLACTION_ALLOW_CROSSDOMAIN_DROP_WITHIN_WINDOW: u32 = 9992; +pub const URLACTION_ALLOW_CROSSDOMAIN_DROP_ACROSS_WINDOWS: u32 = 9993; +pub const URLACTION_ALLOW_CROSSDOMAIN_APPCACHE_MANIFEST: u32 = 9994; +pub const URLACTION_ALLOW_RENDER_LEGACY_DXTFILTERS: u32 = 9995; +pub const URLACTION_ALLOW_ANTIMALWARE_SCANNING_OF_ACTIVEX: u32 = 9996; +pub const URLACTION_ALLOW_CSS_EXPRESSIONS: u32 = 9997; +pub const URLPOLICY_ALLOW: u32 = 0; +pub const URLPOLICY_QUERY: u32 = 1; +pub const URLPOLICY_DISALLOW: u32 = 3; +pub const URLPOLICY_NOTIFY_ON_ALLOW: u32 = 16; +pub const URLPOLICY_NOTIFY_ON_DISALLOW: u32 = 32; +pub const URLPOLICY_LOG_ON_ALLOW: u32 = 64; +pub const URLPOLICY_LOG_ON_DISALLOW: u32 = 128; +pub const URLPOLICY_MASK_PERMISSIONS: u32 = 15; +pub const URLPOLICY_DONTCHECKDLGBOX: u32 = 256; +pub const URLZONE_ESC_FLAG: u32 = 256; +pub const SECURITY_IE_STATE_GREEN: u32 = 0; +pub const SECURITY_IE_STATE_RED: u32 = 1; +pub const SOFTDIST_FLAG_USAGE_EMAIL: u32 = 1; +pub const SOFTDIST_FLAG_USAGE_PRECACHE: u32 = 2; +pub const SOFTDIST_FLAG_USAGE_AUTOINSTALL: u32 = 4; +pub const SOFTDIST_FLAG_DELETE_SUBSCRIPTION: u32 = 8; +pub const SOFTDIST_ADSTATE_NONE: u32 = 0; +pub const SOFTDIST_ADSTATE_AVAILABLE: u32 = 1; +pub const SOFTDIST_ADSTATE_DOWNLOADED: u32 = 2; +pub const SOFTDIST_ADSTATE_INSTALLED: u32 = 3; +pub const CONFIRMSAFETYACTION_LOADOBJECT: u32 = 1; +pub const PIDDI_THUMBNAIL: u32 = 2; +pub const PIDSI_TITLE: u32 = 2; +pub const PIDSI_SUBJECT: u32 = 3; +pub const PIDSI_AUTHOR: u32 = 4; +pub const PIDSI_KEYWORDS: u32 = 5; +pub const PIDSI_COMMENTS: u32 = 6; +pub const PIDSI_TEMPLATE: u32 = 7; +pub const PIDSI_LASTAUTHOR: u32 = 8; +pub const PIDSI_REVNUMBER: u32 = 9; +pub const PIDSI_EDITTIME: u32 = 10; +pub const PIDSI_LASTPRINTED: u32 = 11; +pub const PIDSI_CREATE_DTM: u32 = 12; +pub const PIDSI_LASTSAVE_DTM: u32 = 13; +pub const PIDSI_PAGECOUNT: u32 = 14; +pub const PIDSI_WORDCOUNT: u32 = 15; +pub const PIDSI_CHARCOUNT: u32 = 16; +pub const PIDSI_THUMBNAIL: u32 = 17; +pub const PIDSI_APPNAME: u32 = 18; +pub const PIDSI_DOC_SECURITY: u32 = 19; +pub const PIDDSI_CATEGORY: u32 = 2; +pub const PIDDSI_PRESFORMAT: u32 = 3; +pub const PIDDSI_BYTECOUNT: u32 = 4; +pub const PIDDSI_LINECOUNT: u32 = 5; +pub const PIDDSI_PARCOUNT: u32 = 6; +pub const PIDDSI_SLIDECOUNT: u32 = 7; +pub const PIDDSI_NOTECOUNT: u32 = 8; +pub const PIDDSI_HIDDENCOUNT: u32 = 9; +pub const PIDDSI_MMCLIPCOUNT: u32 = 10; +pub const PIDDSI_SCALE: u32 = 11; +pub const PIDDSI_HEADINGPAIR: u32 = 12; +pub const PIDDSI_DOCPARTS: u32 = 13; +pub const PIDDSI_MANAGER: u32 = 14; +pub const PIDDSI_COMPANY: u32 = 15; +pub const PIDDSI_LINKSDIRTY: u32 = 16; +pub const PIDMSI_EDITOR: u32 = 2; +pub const PIDMSI_SUPPLIER: u32 = 3; +pub const PIDMSI_SOURCE: u32 = 4; +pub const PIDMSI_SEQUENCE_NO: u32 = 5; +pub const PIDMSI_PROJECT: u32 = 6; +pub const PIDMSI_STATUS: u32 = 7; +pub const PIDMSI_OWNER: u32 = 8; +pub const PIDMSI_RATING: u32 = 9; +pub const PIDMSI_PRODUCTION: u32 = 10; +pub const PIDMSI_COPYRIGHT: u32 = 11; +pub const STDOLE_MAJORVERNUM: u32 = 1; +pub const STDOLE_MINORVERNUM: u32 = 0; +pub const STDOLE_LCID: u32 = 0; +pub const STDOLE2_MAJORVERNUM: u32 = 2; +pub const STDOLE2_MINORVERNUM: u32 = 0; +pub const STDOLE2_LCID: u32 = 0; +pub const VARIANT_NOVALUEPROP: u32 = 1; +pub const VARIANT_ALPHABOOL: u32 = 2; +pub const VARIANT_NOUSEROVERRIDE: u32 = 4; +pub const VARIANT_CALENDAR_HIJRI: u32 = 8; +pub const VARIANT_LOCALBOOL: u32 = 16; +pub const VARIANT_CALENDAR_THAI: u32 = 32; +pub const VARIANT_CALENDAR_GREGORIAN: u32 = 64; +pub const VARIANT_USE_NLS: u32 = 128; +pub const LOCALE_USE_NLS: u32 = 268435456; +pub const VTDATEGRE_MAX: u32 = 2958465; +pub const VTDATEGRE_MIN: i32 = -657434; +pub const NUMPRS_LEADING_WHITE: u32 = 1; +pub const NUMPRS_TRAILING_WHITE: u32 = 2; +pub const NUMPRS_LEADING_PLUS: u32 = 4; +pub const NUMPRS_TRAILING_PLUS: u32 = 8; +pub const NUMPRS_LEADING_MINUS: u32 = 16; +pub const NUMPRS_TRAILING_MINUS: u32 = 32; +pub const NUMPRS_HEX_OCT: u32 = 64; +pub const NUMPRS_PARENS: u32 = 128; +pub const NUMPRS_DECIMAL: u32 = 256; +pub const NUMPRS_THOUSANDS: u32 = 512; +pub const NUMPRS_CURRENCY: u32 = 1024; +pub const NUMPRS_EXPONENT: u32 = 2048; +pub const NUMPRS_USE_ALL: u32 = 4096; +pub const NUMPRS_STD: u32 = 8191; +pub const NUMPRS_NEG: u32 = 65536; +pub const NUMPRS_INEXACT: u32 = 131072; +pub const VARCMP_LT: u32 = 0; +pub const VARCMP_EQ: u32 = 1; +pub const VARCMP_GT: u32 = 2; +pub const VARCMP_NULL: u32 = 3; +pub const MEMBERID_NIL: i32 = -1; +pub const ID_DEFAULTINST: i32 = -2; +pub const DISPATCH_METHOD: u32 = 1; +pub const DISPATCH_PROPERTYGET: u32 = 2; +pub const DISPATCH_PROPERTYPUT: u32 = 4; +pub const DISPATCH_PROPERTYPUTREF: u32 = 8; +pub const LOAD_TLB_AS_32BIT: u32 = 32; +pub const LOAD_TLB_AS_64BIT: u32 = 64; +pub const MASK_TO_RESET_TLB_BITS: i32 = -97; +pub const ACTIVEOBJECT_STRONG: u32 = 0; +pub const ACTIVEOBJECT_WEAK: u32 = 1; +pub const OLEIVERB_PRIMARY: u32 = 0; +pub const OLEIVERB_SHOW: i32 = -1; +pub const OLEIVERB_OPEN: i32 = -2; +pub const OLEIVERB_HIDE: i32 = -3; +pub const OLEIVERB_UIACTIVATE: i32 = -4; +pub const OLEIVERB_INPLACEACTIVATE: i32 = -5; +pub const OLEIVERB_DISCARDUNDOSTATE: i32 = -6; +pub const EMBDHLP_INPROC_HANDLER: u32 = 0; +pub const EMBDHLP_INPROC_SERVER: u32 = 1; +pub const EMBDHLP_CREATENOW: u32 = 0; +pub const EMBDHLP_DELAYCREATE: u32 = 65536; +pub const OLECREATE_LEAVERUNNING: u32 = 1; +pub const OFN_READONLY: u32 = 1; +pub const OFN_OVERWRITEPROMPT: u32 = 2; +pub const OFN_HIDEREADONLY: u32 = 4; +pub const OFN_NOCHANGEDIR: u32 = 8; +pub const OFN_SHOWHELP: u32 = 16; +pub const OFN_ENABLEHOOK: u32 = 32; +pub const OFN_ENABLETEMPLATE: u32 = 64; +pub const OFN_ENABLETEMPLATEHANDLE: u32 = 128; +pub const OFN_NOVALIDATE: u32 = 256; +pub const OFN_ALLOWMULTISELECT: u32 = 512; +pub const OFN_EXTENSIONDIFFERENT: u32 = 1024; +pub const OFN_PATHMUSTEXIST: u32 = 2048; +pub const OFN_FILEMUSTEXIST: u32 = 4096; +pub const OFN_CREATEPROMPT: u32 = 8192; +pub const OFN_SHAREAWARE: u32 = 16384; +pub const OFN_NOREADONLYRETURN: u32 = 32768; +pub const OFN_NOTESTFILECREATE: u32 = 65536; +pub const OFN_NONETWORKBUTTON: u32 = 131072; +pub const OFN_NOLONGNAMES: u32 = 262144; +pub const OFN_EXPLORER: u32 = 524288; +pub const OFN_NODEREFERENCELINKS: u32 = 1048576; +pub const OFN_LONGNAMES: u32 = 2097152; +pub const OFN_ENABLEINCLUDENOTIFY: u32 = 4194304; +pub const OFN_ENABLESIZING: u32 = 8388608; +pub const OFN_DONTADDTORECENT: u32 = 33554432; +pub const OFN_FORCESHOWHIDDEN: u32 = 268435456; +pub const OFN_EX_NOPLACESBAR: u32 = 1; +pub const OFN_SHAREFALLTHROUGH: u32 = 2; +pub const OFN_SHARENOWARN: u32 = 1; +pub const OFN_SHAREWARN: u32 = 0; +pub const CDN_FIRST: i32 = -601; +pub const CDN_LAST: i32 = -699; +pub const CDN_INITDONE: i32 = -601; +pub const CDN_SELCHANGE: i32 = -602; +pub const CDN_FOLDERCHANGE: i32 = -603; +pub const CDN_SHAREVIOLATION: i32 = -604; +pub const CDN_HELP: i32 = -605; +pub const CDN_FILEOK: i32 = -606; +pub const CDN_TYPECHANGE: i32 = -607; +pub const CDN_INCLUDEITEM: i32 = -608; +pub const CDM_FIRST: u32 = 1124; +pub const CDM_LAST: u32 = 1224; +pub const CDM_GETSPEC: u32 = 1124; +pub const CDM_GETFILEPATH: u32 = 1125; +pub const CDM_GETFOLDERPATH: u32 = 1126; +pub const CDM_GETFOLDERIDLIST: u32 = 1127; +pub const CDM_SETCONTROLTEXT: u32 = 1128; +pub const CDM_HIDECONTROL: u32 = 1129; +pub const CDM_SETDEFEXT: u32 = 1130; +pub const CC_RGBINIT: u32 = 1; +pub const CC_FULLOPEN: u32 = 2; +pub const CC_PREVENTFULLOPEN: u32 = 4; +pub const CC_SHOWHELP: u32 = 8; +pub const CC_ENABLEHOOK: u32 = 16; +pub const CC_ENABLETEMPLATE: u32 = 32; +pub const CC_ENABLETEMPLATEHANDLE: u32 = 64; +pub const CC_SOLIDCOLOR: u32 = 128; +pub const CC_ANYCOLOR: u32 = 256; +pub const FR_DOWN: u32 = 1; +pub const FR_WHOLEWORD: u32 = 2; +pub const FR_MATCHCASE: u32 = 4; +pub const FR_FINDNEXT: u32 = 8; +pub const FR_REPLACE: u32 = 16; +pub const FR_REPLACEALL: u32 = 32; +pub const FR_DIALOGTERM: u32 = 64; +pub const FR_SHOWHELP: u32 = 128; +pub const FR_ENABLEHOOK: u32 = 256; +pub const FR_ENABLETEMPLATE: u32 = 512; +pub const FR_NOUPDOWN: u32 = 1024; +pub const FR_NOMATCHCASE: u32 = 2048; +pub const FR_NOWHOLEWORD: u32 = 4096; +pub const FR_ENABLETEMPLATEHANDLE: u32 = 8192; +pub const FR_HIDEUPDOWN: u32 = 16384; +pub const FR_HIDEMATCHCASE: u32 = 32768; +pub const FR_HIDEWHOLEWORD: u32 = 65536; +pub const FR_RAW: u32 = 131072; +pub const FR_SHOWWRAPAROUND: u32 = 262144; +pub const FR_NOWRAPAROUND: u32 = 524288; +pub const FR_WRAPAROUND: u32 = 1048576; +pub const FR_MATCHDIAC: u32 = 536870912; +pub const FR_MATCHKASHIDA: u32 = 1073741824; +pub const FR_MATCHALEFHAMZA: u32 = 2147483648; +pub const FRM_FIRST: u32 = 1124; +pub const FRM_LAST: u32 = 1224; +pub const FRM_SETOPERATIONRESULT: u32 = 1124; +pub const FRM_SETOPERATIONRESULTTEXT: u32 = 1125; +pub const CF_SCREENFONTS: u32 = 1; +pub const CF_PRINTERFONTS: u32 = 2; +pub const CF_BOTH: u32 = 3; +pub const CF_SHOWHELP: u32 = 4; +pub const CF_ENABLEHOOK: u32 = 8; +pub const CF_ENABLETEMPLATE: u32 = 16; +pub const CF_ENABLETEMPLATEHANDLE: u32 = 32; +pub const CF_INITTOLOGFONTSTRUCT: u32 = 64; +pub const CF_USESTYLE: u32 = 128; +pub const CF_EFFECTS: u32 = 256; +pub const CF_APPLY: u32 = 512; +pub const CF_ANSIONLY: u32 = 1024; +pub const CF_SCRIPTSONLY: u32 = 1024; +pub const CF_NOVECTORFONTS: u32 = 2048; +pub const CF_NOOEMFONTS: u32 = 2048; +pub const CF_NOSIMULATIONS: u32 = 4096; +pub const CF_LIMITSIZE: u32 = 8192; +pub const CF_FIXEDPITCHONLY: u32 = 16384; +pub const CF_WYSIWYG: u32 = 32768; +pub const CF_FORCEFONTEXIST: u32 = 65536; +pub const CF_SCALABLEONLY: u32 = 131072; +pub const CF_TTONLY: u32 = 262144; +pub const CF_NOFACESEL: u32 = 524288; +pub const CF_NOSTYLESEL: u32 = 1048576; +pub const CF_NOSIZESEL: u32 = 2097152; +pub const CF_SELECTSCRIPT: u32 = 4194304; +pub const CF_NOSCRIPTSEL: u32 = 8388608; +pub const CF_NOVERTFONTS: u32 = 16777216; +pub const CF_INACTIVEFONTS: u32 = 33554432; +pub const SIMULATED_FONTTYPE: u32 = 32768; +pub const PRINTER_FONTTYPE: u32 = 16384; +pub const SCREEN_FONTTYPE: u32 = 8192; +pub const BOLD_FONTTYPE: u32 = 256; +pub const ITALIC_FONTTYPE: u32 = 512; +pub const REGULAR_FONTTYPE: u32 = 1024; +pub const PS_OPENTYPE_FONTTYPE: u32 = 65536; +pub const TT_OPENTYPE_FONTTYPE: u32 = 131072; +pub const TYPE1_FONTTYPE: u32 = 262144; +pub const SYMBOL_FONTTYPE: u32 = 524288; +pub const WM_CHOOSEFONT_GETLOGFONT: u32 = 1025; +pub const WM_CHOOSEFONT_SETLOGFONT: u32 = 1125; +pub const WM_CHOOSEFONT_SETFLAGS: u32 = 1126; +pub const LBSELCHSTRINGA: &[u8; 27usize] = b"commdlg_LBSelChangedNotify\0"; +pub const SHAREVISTRINGA: &[u8; 23usize] = b"commdlg_ShareViolation\0"; +pub const FILEOKSTRINGA: &[u8; 19usize] = b"commdlg_FileNameOK\0"; +pub const COLOROKSTRINGA: &[u8; 16usize] = b"commdlg_ColorOK\0"; +pub const SETRGBSTRINGA: &[u8; 20usize] = b"commdlg_SetRGBColor\0"; +pub const HELPMSGSTRINGA: &[u8; 13usize] = b"commdlg_help\0"; +pub const FINDMSGSTRINGA: &[u8; 20usize] = b"commdlg_FindReplace\0"; +pub const LBSELCHSTRINGW: &[u8; 27usize] = b"commdlg_LBSelChangedNotify\0"; +pub const SHAREVISTRINGW: &[u8; 23usize] = b"commdlg_ShareViolation\0"; +pub const FILEOKSTRINGW: &[u8; 19usize] = b"commdlg_FileNameOK\0"; +pub const COLOROKSTRINGW: &[u8; 16usize] = b"commdlg_ColorOK\0"; +pub const SETRGBSTRINGW: &[u8; 20usize] = b"commdlg_SetRGBColor\0"; +pub const HELPMSGSTRINGW: &[u8; 13usize] = b"commdlg_help\0"; +pub const FINDMSGSTRINGW: &[u8; 20usize] = b"commdlg_FindReplace\0"; +pub const LBSELCHSTRING: &[u8; 27usize] = b"commdlg_LBSelChangedNotify\0"; +pub const SHAREVISTRING: &[u8; 23usize] = b"commdlg_ShareViolation\0"; +pub const FILEOKSTRING: &[u8; 19usize] = b"commdlg_FileNameOK\0"; +pub const COLOROKSTRING: &[u8; 16usize] = b"commdlg_ColorOK\0"; +pub const SETRGBSTRING: &[u8; 20usize] = b"commdlg_SetRGBColor\0"; +pub const HELPMSGSTRING: &[u8; 13usize] = b"commdlg_help\0"; +pub const FINDMSGSTRING: &[u8; 20usize] = b"commdlg_FindReplace\0"; +pub const CD_LBSELNOITEMS: i32 = -1; +pub const CD_LBSELCHANGE: u32 = 0; +pub const CD_LBSELSUB: u32 = 1; +pub const CD_LBSELADD: u32 = 2; +pub const PD_ALLPAGES: u32 = 0; +pub const PD_SELECTION: u32 = 1; +pub const PD_PAGENUMS: u32 = 2; +pub const PD_NOSELECTION: u32 = 4; +pub const PD_NOPAGENUMS: u32 = 8; +pub const PD_COLLATE: u32 = 16; +pub const PD_PRINTTOFILE: u32 = 32; +pub const PD_PRINTSETUP: u32 = 64; +pub const PD_NOWARNING: u32 = 128; +pub const PD_RETURNDC: u32 = 256; +pub const PD_RETURNIC: u32 = 512; +pub const PD_RETURNDEFAULT: u32 = 1024; +pub const PD_SHOWHELP: u32 = 2048; +pub const PD_ENABLEPRINTHOOK: u32 = 4096; +pub const PD_ENABLESETUPHOOK: u32 = 8192; +pub const PD_ENABLEPRINTTEMPLATE: u32 = 16384; +pub const PD_ENABLESETUPTEMPLATE: u32 = 32768; +pub const PD_ENABLEPRINTTEMPLATEHANDLE: u32 = 65536; +pub const PD_ENABLESETUPTEMPLATEHANDLE: u32 = 131072; +pub const PD_USEDEVMODECOPIES: u32 = 262144; +pub const PD_USEDEVMODECOPIESANDCOLLATE: u32 = 262144; +pub const PD_DISABLEPRINTTOFILE: u32 = 524288; +pub const PD_HIDEPRINTTOFILE: u32 = 1048576; +pub const PD_NONETWORKBUTTON: u32 = 2097152; +pub const PD_CURRENTPAGE: u32 = 4194304; +pub const PD_NOCURRENTPAGE: u32 = 8388608; +pub const PD_EXCLUSIONFLAGS: u32 = 16777216; +pub const PD_USELARGETEMPLATE: u32 = 268435456; +pub const PD_EXCL_COPIESANDCOLLATE: u32 = 33024; +pub const START_PAGE_GENERAL: u32 = 4294967295; +pub const PD_RESULT_CANCEL: u32 = 0; +pub const PD_RESULT_PRINT: u32 = 1; +pub const PD_RESULT_APPLY: u32 = 2; +pub const DN_DEFAULTPRN: u32 = 1; +pub const WM_PSD_PAGESETUPDLG: u32 = 1024; +pub const WM_PSD_FULLPAGERECT: u32 = 1025; +pub const WM_PSD_MINMARGINRECT: u32 = 1026; +pub const WM_PSD_MARGINRECT: u32 = 1027; +pub const WM_PSD_GREEKTEXTRECT: u32 = 1028; +pub const WM_PSD_ENVSTAMPRECT: u32 = 1029; +pub const WM_PSD_YAFULLPAGERECT: u32 = 1030; +pub const PSD_DEFAULTMINMARGINS: u32 = 0; +pub const PSD_INWININIINTLMEASURE: u32 = 0; +pub const PSD_MINMARGINS: u32 = 1; +pub const PSD_MARGINS: u32 = 2; +pub const PSD_INTHOUSANDTHSOFINCHES: u32 = 4; +pub const PSD_INHUNDREDTHSOFMILLIMETERS: u32 = 8; +pub const PSD_DISABLEMARGINS: u32 = 16; +pub const PSD_DISABLEPRINTER: u32 = 32; +pub const PSD_NOWARNING: u32 = 128; +pub const PSD_DISABLEORIENTATION: u32 = 256; +pub const PSD_RETURNDEFAULT: u32 = 1024; +pub const PSD_DISABLEPAPER: u32 = 512; +pub const PSD_SHOWHELP: u32 = 2048; +pub const PSD_ENABLEPAGESETUPHOOK: u32 = 8192; +pub const PSD_ENABLEPAGESETUPTEMPLATE: u32 = 32768; +pub const PSD_ENABLEPAGESETUPTEMPLATEHANDLE: u32 = 131072; +pub const PSD_ENABLEPAGEPAINTHOOK: u32 = 262144; +pub const PSD_DISABLEPAGEPAINTING: u32 = 524288; +pub const PSD_NONETWORKBUTTON: u32 = 2097152; +pub const _STRALIGN_USE_SECURE_CRT: u32 = 1; +pub const SERVICES_ACTIVE_DATABASEW: &[u8; 15usize] = b"ServicesActive\0"; +pub const SERVICES_FAILED_DATABASEW: &[u8; 15usize] = b"ServicesFailed\0"; +pub const SERVICES_ACTIVE_DATABASEA: &[u8; 15usize] = b"ServicesActive\0"; +pub const SERVICES_FAILED_DATABASEA: &[u8; 15usize] = b"ServicesFailed\0"; +pub const SC_GROUP_IDENTIFIERW: u8 = 43u8; +pub const SC_GROUP_IDENTIFIERA: u8 = 43u8; +pub const SERVICES_ACTIVE_DATABASE: &[u8; 15usize] = b"ServicesActive\0"; +pub const SERVICES_FAILED_DATABASE: &[u8; 15usize] = b"ServicesFailed\0"; +pub const SC_GROUP_IDENTIFIER: u8 = 43u8; +pub const SERVICE_NO_CHANGE: u32 = 4294967295; +pub const SERVICE_ACTIVE: u32 = 1; +pub const SERVICE_INACTIVE: u32 = 2; +pub const SERVICE_STATE_ALL: u32 = 3; +pub const SERVICE_CONTROL_STOP: u32 = 1; +pub const SERVICE_CONTROL_PAUSE: u32 = 2; +pub const SERVICE_CONTROL_CONTINUE: u32 = 3; +pub const SERVICE_CONTROL_INTERROGATE: u32 = 4; +pub const SERVICE_CONTROL_SHUTDOWN: u32 = 5; +pub const SERVICE_CONTROL_PARAMCHANGE: u32 = 6; +pub const SERVICE_CONTROL_NETBINDADD: u32 = 7; +pub const SERVICE_CONTROL_NETBINDREMOVE: u32 = 8; +pub const SERVICE_CONTROL_NETBINDENABLE: u32 = 9; +pub const SERVICE_CONTROL_NETBINDDISABLE: u32 = 10; +pub const SERVICE_CONTROL_DEVICEEVENT: u32 = 11; +pub const SERVICE_CONTROL_HARDWAREPROFILECHANGE: u32 = 12; +pub const SERVICE_CONTROL_POWEREVENT: u32 = 13; +pub const SERVICE_CONTROL_SESSIONCHANGE: u32 = 14; +pub const SERVICE_CONTROL_PRESHUTDOWN: u32 = 15; +pub const SERVICE_CONTROL_TIMECHANGE: u32 = 16; +pub const SERVICE_CONTROL_TRIGGEREVENT: u32 = 32; +pub const SERVICE_CONTROL_LOWRESOURCES: u32 = 96; +pub const SERVICE_CONTROL_SYSTEMLOWRESOURCES: u32 = 97; +pub const SERVICE_STOPPED: u32 = 1; +pub const SERVICE_START_PENDING: u32 = 2; +pub const SERVICE_STOP_PENDING: u32 = 3; +pub const SERVICE_RUNNING: u32 = 4; +pub const SERVICE_CONTINUE_PENDING: u32 = 5; +pub const SERVICE_PAUSE_PENDING: u32 = 6; +pub const SERVICE_PAUSED: u32 = 7; +pub const SERVICE_ACCEPT_STOP: u32 = 1; +pub const SERVICE_ACCEPT_PAUSE_CONTINUE: u32 = 2; +pub const SERVICE_ACCEPT_SHUTDOWN: u32 = 4; +pub const SERVICE_ACCEPT_PARAMCHANGE: u32 = 8; +pub const SERVICE_ACCEPT_NETBINDCHANGE: u32 = 16; +pub const SERVICE_ACCEPT_HARDWAREPROFILECHANGE: u32 = 32; +pub const SERVICE_ACCEPT_POWEREVENT: u32 = 64; +pub const SERVICE_ACCEPT_SESSIONCHANGE: u32 = 128; +pub const SERVICE_ACCEPT_PRESHUTDOWN: u32 = 256; +pub const SERVICE_ACCEPT_TIMECHANGE: u32 = 512; +pub const SERVICE_ACCEPT_TRIGGEREVENT: u32 = 1024; +pub const SERVICE_ACCEPT_USER_LOGOFF: u32 = 2048; +pub const SERVICE_ACCEPT_LOWRESOURCES: u32 = 8192; +pub const SERVICE_ACCEPT_SYSTEMLOWRESOURCES: u32 = 16384; +pub const SC_MANAGER_CONNECT: u32 = 1; +pub const SC_MANAGER_CREATE_SERVICE: u32 = 2; +pub const SC_MANAGER_ENUMERATE_SERVICE: u32 = 4; +pub const SC_MANAGER_LOCK: u32 = 8; +pub const SC_MANAGER_QUERY_LOCK_STATUS: u32 = 16; +pub const SC_MANAGER_MODIFY_BOOT_CONFIG: u32 = 32; +pub const SC_MANAGER_ALL_ACCESS: u32 = 983103; +pub const SERVICE_QUERY_CONFIG: u32 = 1; +pub const SERVICE_CHANGE_CONFIG: u32 = 2; +pub const SERVICE_QUERY_STATUS: u32 = 4; +pub const SERVICE_ENUMERATE_DEPENDENTS: u32 = 8; +pub const SERVICE_START: u32 = 16; +pub const SERVICE_STOP: u32 = 32; +pub const SERVICE_PAUSE_CONTINUE: u32 = 64; +pub const SERVICE_INTERROGATE: u32 = 128; +pub const SERVICE_USER_DEFINED_CONTROL: u32 = 256; +pub const SERVICE_ALL_ACCESS: u32 = 983551; +pub const SERVICE_RUNS_IN_SYSTEM_PROCESS: u32 = 1; +pub const SERVICE_CONFIG_DESCRIPTION: u32 = 1; +pub const SERVICE_CONFIG_FAILURE_ACTIONS: u32 = 2; +pub const SERVICE_CONFIG_DELAYED_AUTO_START_INFO: u32 = 3; +pub const SERVICE_CONFIG_FAILURE_ACTIONS_FLAG: u32 = 4; +pub const SERVICE_CONFIG_SERVICE_SID_INFO: u32 = 5; +pub const SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO: u32 = 6; +pub const SERVICE_CONFIG_PRESHUTDOWN_INFO: u32 = 7; +pub const SERVICE_CONFIG_TRIGGER_INFO: u32 = 8; +pub const SERVICE_CONFIG_PREFERRED_NODE: u32 = 9; +pub const SERVICE_CONFIG_LAUNCH_PROTECTED: u32 = 12; +pub const SERVICE_NOTIFY_STATUS_CHANGE_1: u32 = 1; +pub const SERVICE_NOTIFY_STATUS_CHANGE_2: u32 = 2; +pub const SERVICE_NOTIFY_STATUS_CHANGE: u32 = 2; +pub const SERVICE_NOTIFY_STOPPED: u32 = 1; +pub const SERVICE_NOTIFY_START_PENDING: u32 = 2; +pub const SERVICE_NOTIFY_STOP_PENDING: u32 = 4; +pub const SERVICE_NOTIFY_RUNNING: u32 = 8; +pub const SERVICE_NOTIFY_CONTINUE_PENDING: u32 = 16; +pub const SERVICE_NOTIFY_PAUSE_PENDING: u32 = 32; +pub const SERVICE_NOTIFY_PAUSED: u32 = 64; +pub const SERVICE_NOTIFY_CREATED: u32 = 128; +pub const SERVICE_NOTIFY_DELETED: u32 = 256; +pub const SERVICE_NOTIFY_DELETE_PENDING: u32 = 512; +pub const SERVICE_STOP_REASON_FLAG_MIN: u32 = 0; +pub const SERVICE_STOP_REASON_FLAG_UNPLANNED: u32 = 268435456; +pub const SERVICE_STOP_REASON_FLAG_CUSTOM: u32 = 536870912; +pub const SERVICE_STOP_REASON_FLAG_PLANNED: u32 = 1073741824; +pub const SERVICE_STOP_REASON_FLAG_MAX: u32 = 2147483648; +pub const SERVICE_STOP_REASON_MAJOR_MIN: u32 = 0; +pub const SERVICE_STOP_REASON_MAJOR_OTHER: u32 = 65536; +pub const SERVICE_STOP_REASON_MAJOR_HARDWARE: u32 = 131072; +pub const SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM: u32 = 196608; +pub const SERVICE_STOP_REASON_MAJOR_SOFTWARE: u32 = 262144; +pub const SERVICE_STOP_REASON_MAJOR_APPLICATION: u32 = 327680; +pub const SERVICE_STOP_REASON_MAJOR_NONE: u32 = 393216; +pub const SERVICE_STOP_REASON_MAJOR_MAX: u32 = 458752; +pub const SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM: u32 = 4194304; +pub const SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM: u32 = 16711680; +pub const SERVICE_STOP_REASON_MINOR_MIN: u32 = 0; +pub const SERVICE_STOP_REASON_MINOR_OTHER: u32 = 1; +pub const SERVICE_STOP_REASON_MINOR_MAINTENANCE: u32 = 2; +pub const SERVICE_STOP_REASON_MINOR_INSTALLATION: u32 = 3; +pub const SERVICE_STOP_REASON_MINOR_UPGRADE: u32 = 4; +pub const SERVICE_STOP_REASON_MINOR_RECONFIG: u32 = 5; +pub const SERVICE_STOP_REASON_MINOR_HUNG: u32 = 6; +pub const SERVICE_STOP_REASON_MINOR_UNSTABLE: u32 = 7; +pub const SERVICE_STOP_REASON_MINOR_DISK: u32 = 8; +pub const SERVICE_STOP_REASON_MINOR_NETWORKCARD: u32 = 9; +pub const SERVICE_STOP_REASON_MINOR_ENVIRONMENT: u32 = 10; +pub const SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER: u32 = 11; +pub const SERVICE_STOP_REASON_MINOR_OTHERDRIVER: u32 = 12; +pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK: u32 = 13; +pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE: u32 = 14; +pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX: u32 = 15; +pub const SERVICE_STOP_REASON_MINOR_SECURITY: u32 = 16; +pub const SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY: u32 = 17; +pub const SERVICE_STOP_REASON_MINOR_WMI: u32 = 18; +pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL: u32 = 19; +pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL: u32 = 20; +pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL: u32 = 21; +pub const SERVICE_STOP_REASON_MINOR_MMC: u32 = 22; +pub const SERVICE_STOP_REASON_MINOR_NONE: u32 = 23; +pub const SERVICE_STOP_REASON_MINOR_MEMOTYLIMIT: u32 = 24; +pub const SERVICE_STOP_REASON_MINOR_MAX: u32 = 25; +pub const SERVICE_STOP_REASON_MINOR_MIN_CUSTOM: u32 = 256; +pub const SERVICE_STOP_REASON_MINOR_MAX_CUSTOM: u32 = 65535; +pub const SERVICE_CONTROL_STATUS_REASON_INFO: u32 = 1; +pub const SERVICE_SID_TYPE_NONE: u32 = 0; +pub const SERVICE_SID_TYPE_UNRESTRICTED: u32 = 1; +pub const SERVICE_SID_TYPE_RESTRICTED: u32 = 3; +pub const SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL: u32 = 1; +pub const SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY: u32 = 2; +pub const SERVICE_TRIGGER_TYPE_DOMAIN_JOIN: u32 = 3; +pub const SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT: u32 = 4; +pub const SERVICE_TRIGGER_TYPE_GROUP_POLICY: u32 = 5; +pub const SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT: u32 = 6; +pub const SERVICE_TRIGGER_TYPE_CUSTOM_SYSTEM_STATE_CHANGE: u32 = 7; +pub const SERVICE_TRIGGER_TYPE_CUSTOM: u32 = 20; +pub const SERVICE_TRIGGER_TYPE_AGGREGATE: u32 = 30; +pub const SERVICE_TRIGGER_DATA_TYPE_BINARY: u32 = 1; +pub const SERVICE_TRIGGER_DATA_TYPE_STRING: u32 = 2; +pub const SERVICE_TRIGGER_DATA_TYPE_LEVEL: u32 = 3; +pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY: u32 = 4; +pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL: u32 = 5; +pub const SERVICE_START_REASON_DEMAND: u32 = 1; +pub const SERVICE_START_REASON_AUTO: u32 = 2; +pub const SERVICE_START_REASON_TRIGGER: u32 = 4; +pub const SERVICE_START_REASON_RESTART_ON_FAILURE: u32 = 8; +pub const SERVICE_START_REASON_DELAYEDAUTO: u32 = 16; +pub const SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON: u32 = 1; +pub const SERVICE_LAUNCH_PROTECTED_NONE: u32 = 0; +pub const SERVICE_LAUNCH_PROTECTED_WINDOWS: u32 = 1; +pub const SERVICE_LAUNCH_PROTECTED_WINDOWS_LIGHT: u32 = 2; +pub const SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT: u32 = 3; +pub const SERVICE_TRIGGER_ACTION_SERVICE_START: u32 = 1; +pub const SERVICE_TRIGGER_ACTION_SERVICE_STOP: u32 = 2; +pub const SERVICE_TRIGGER_STARTED_ARGUMENT: &[u8; 15usize] = b"TriggerStarted\0"; +pub const SC_AGGREGATE_STORAGE_KEY: &[u8; 57usize] = + b"System\\CurrentControlSet\\Control\\ServiceAggregatedEvents\0"; +pub const DIALOPTION_BILLING: u32 = 64; +pub const DIALOPTION_QUIET: u32 = 128; +pub const DIALOPTION_DIALTONE: u32 = 256; +pub const MDMVOLFLAG_LOW: u32 = 1; +pub const MDMVOLFLAG_MEDIUM: u32 = 2; +pub const MDMVOLFLAG_HIGH: u32 = 4; +pub const MDMVOL_LOW: u32 = 0; +pub const MDMVOL_MEDIUM: u32 = 1; +pub const MDMVOL_HIGH: u32 = 2; +pub const MDMSPKRFLAG_OFF: u32 = 1; +pub const MDMSPKRFLAG_DIAL: u32 = 2; +pub const MDMSPKRFLAG_ON: u32 = 4; +pub const MDMSPKRFLAG_CALLSETUP: u32 = 8; +pub const MDMSPKR_OFF: u32 = 0; +pub const MDMSPKR_DIAL: u32 = 1; +pub const MDMSPKR_ON: u32 = 2; +pub const MDMSPKR_CALLSETUP: u32 = 3; +pub const MDM_COMPRESSION: u32 = 1; +pub const MDM_ERROR_CONTROL: u32 = 2; +pub const MDM_FORCED_EC: u32 = 4; +pub const MDM_CELLULAR: u32 = 8; +pub const MDM_FLOWCONTROL_HARD: u32 = 16; +pub const MDM_FLOWCONTROL_SOFT: u32 = 32; +pub const MDM_CCITT_OVERRIDE: u32 = 64; +pub const MDM_SPEED_ADJUST: u32 = 128; +pub const MDM_TONE_DIAL: u32 = 256; +pub const MDM_BLIND_DIAL: u32 = 512; +pub const MDM_V23_OVERRIDE: u32 = 1024; +pub const MDM_DIAGNOSTICS: u32 = 2048; +pub const MDM_MASK_BEARERMODE: u32 = 61440; +pub const MDM_SHIFT_BEARERMODE: u32 = 12; +pub const MDM_MASK_PROTOCOLID: u32 = 983040; +pub const MDM_SHIFT_PROTOCOLID: u32 = 16; +pub const MDM_MASK_PROTOCOLDATA: u32 = 267386880; +pub const MDM_SHIFT_PROTOCOLDATA: u32 = 20; +pub const MDM_MASK_PROTOCOLINFO: u32 = 268369920; +pub const MDM_SHIFT_PROTOCOLINFO: u32 = 16; +pub const MDM_MASK_EXTENDEDINFO: u32 = 268431360; +pub const MDM_SHIFT_EXTENDEDINFO: u32 = 12; +pub const MDM_BEARERMODE_ANALOG: u32 = 0; +pub const MDM_BEARERMODE_ISDN: u32 = 1; +pub const MDM_BEARERMODE_GSM: u32 = 2; +pub const MDM_PROTOCOLID_DEFAULT: u32 = 0; +pub const MDM_PROTOCOLID_HDLCPPP: u32 = 1; +pub const MDM_PROTOCOLID_V128: u32 = 2; +pub const MDM_PROTOCOLID_X75: u32 = 3; +pub const MDM_PROTOCOLID_V110: u32 = 4; +pub const MDM_PROTOCOLID_V120: u32 = 5; +pub const MDM_PROTOCOLID_AUTO: u32 = 6; +pub const MDM_PROTOCOLID_ANALOG: u32 = 7; +pub const MDM_PROTOCOLID_GPRS: u32 = 8; +pub const MDM_PROTOCOLID_PIAFS: u32 = 9; +pub const MDM_SHIFT_HDLCPPP_SPEED: u32 = 0; +pub const MDM_MASK_HDLCPPP_SPEED: u32 = 7; +pub const MDM_HDLCPPP_SPEED_DEFAULT: u32 = 0; +pub const MDM_HDLCPPP_SPEED_64K: u32 = 1; +pub const MDM_HDLCPPP_SPEED_56K: u32 = 2; +pub const MDM_SHIFT_HDLCPPP_AUTH: u32 = 3; +pub const MDM_MASK_HDLCPPP_AUTH: u32 = 56; +pub const MDM_HDLCPPP_AUTH_DEFAULT: u32 = 0; +pub const MDM_HDLCPPP_AUTH_NONE: u32 = 1; +pub const MDM_HDLCPPP_AUTH_PAP: u32 = 2; +pub const MDM_HDLCPPP_AUTH_CHAP: u32 = 3; +pub const MDM_HDLCPPP_AUTH_MSCHAP: u32 = 4; +pub const MDM_SHIFT_HDLCPPP_ML: u32 = 6; +pub const MDM_MASK_HDLCPPP_ML: u32 = 192; +pub const MDM_HDLCPPP_ML_DEFAULT: u32 = 0; +pub const MDM_HDLCPPP_ML_NONE: u32 = 1; +pub const MDM_HDLCPPP_ML_2: u32 = 2; +pub const MDM_SHIFT_V120_SPEED: u32 = 0; +pub const MDM_MASK_V120_SPEED: u32 = 7; +pub const MDM_V120_SPEED_DEFAULT: u32 = 0; +pub const MDM_V120_SPEED_64K: u32 = 1; +pub const MDM_V120_SPEED_56K: u32 = 2; +pub const MDM_SHIFT_V120_ML: u32 = 6; +pub const MDM_MASK_V120_ML: u32 = 192; +pub const MDM_V120_ML_DEFAULT: u32 = 0; +pub const MDM_V120_ML_NONE: u32 = 1; +pub const MDM_V120_ML_2: u32 = 2; +pub const MDM_SHIFT_X75_DATA: u32 = 0; +pub const MDM_MASK_X75_DATA: u32 = 7; +pub const MDM_X75_DATA_DEFAULT: u32 = 0; +pub const MDM_X75_DATA_64K: u32 = 1; +pub const MDM_X75_DATA_128K: u32 = 2; +pub const MDM_X75_DATA_T_70: u32 = 3; +pub const MDM_X75_DATA_BTX: u32 = 4; +pub const MDM_SHIFT_V110_SPEED: u32 = 0; +pub const MDM_MASK_V110_SPEED: u32 = 15; +pub const MDM_V110_SPEED_DEFAULT: u32 = 0; +pub const MDM_V110_SPEED_1DOT2K: u32 = 1; +pub const MDM_V110_SPEED_2DOT4K: u32 = 2; +pub const MDM_V110_SPEED_4DOT8K: u32 = 3; +pub const MDM_V110_SPEED_9DOT6K: u32 = 4; +pub const MDM_V110_SPEED_12DOT0K: u32 = 5; +pub const MDM_V110_SPEED_14DOT4K: u32 = 6; +pub const MDM_V110_SPEED_19DOT2K: u32 = 7; +pub const MDM_V110_SPEED_28DOT8K: u32 = 8; +pub const MDM_V110_SPEED_38DOT4K: u32 = 9; +pub const MDM_V110_SPEED_57DOT6K: u32 = 10; +pub const MDM_SHIFT_AUTO_SPEED: u32 = 0; +pub const MDM_MASK_AUTO_SPEED: u32 = 7; +pub const MDM_AUTO_SPEED_DEFAULT: u32 = 0; +pub const MDM_SHIFT_AUTO_ML: u32 = 6; +pub const MDM_MASK_AUTO_ML: u32 = 192; +pub const MDM_AUTO_ML_DEFAULT: u32 = 0; +pub const MDM_AUTO_ML_NONE: u32 = 1; +pub const MDM_AUTO_ML_2: u32 = 2; +pub const MDM_ANALOG_RLP_ON: u32 = 0; +pub const MDM_ANALOG_RLP_OFF: u32 = 1; +pub const MDM_ANALOG_V34: u32 = 2; +pub const MDM_PIAFS_INCOMING: u32 = 0; +pub const MDM_PIAFS_OUTGOING: u32 = 1; +pub const STYLE_DESCRIPTION_SIZE: u32 = 32; +pub const IMEMENUITEM_STRING_SIZE: u32 = 80; +pub const IMC_GETCANDIDATEPOS: u32 = 7; +pub const IMC_SETCANDIDATEPOS: u32 = 8; +pub const IMC_GETCOMPOSITIONFONT: u32 = 9; +pub const IMC_SETCOMPOSITIONFONT: u32 = 10; +pub const IMC_GETCOMPOSITIONWINDOW: u32 = 11; +pub const IMC_SETCOMPOSITIONWINDOW: u32 = 12; +pub const IMC_GETSTATUSWINDOWPOS: u32 = 15; +pub const IMC_SETSTATUSWINDOWPOS: u32 = 16; +pub const IMC_CLOSESTATUSWINDOW: u32 = 33; +pub const IMC_OPENSTATUSWINDOW: u32 = 34; +pub const NI_OPENCANDIDATE: u32 = 16; +pub const NI_CLOSECANDIDATE: u32 = 17; +pub const NI_SELECTCANDIDATESTR: u32 = 18; +pub const NI_CHANGECANDIDATELIST: u32 = 19; +pub const NI_FINALIZECONVERSIONRESULT: u32 = 20; +pub const NI_COMPOSITIONSTR: u32 = 21; +pub const NI_SETCANDIDATE_PAGESTART: u32 = 22; +pub const NI_SETCANDIDATE_PAGESIZE: u32 = 23; +pub const NI_IMEMENUSELECTED: u32 = 24; +pub const ISC_SHOWUICANDIDATEWINDOW: u32 = 1; +pub const ISC_SHOWUICOMPOSITIONWINDOW: u32 = 2147483648; +pub const ISC_SHOWUIGUIDELINE: u32 = 1073741824; +pub const ISC_SHOWUIALLCANDIDATEWINDOW: u32 = 15; +pub const ISC_SHOWUIALL: u32 = 3221225487; +pub const CPS_COMPLETE: u32 = 1; +pub const CPS_CONVERT: u32 = 2; +pub const CPS_REVERT: u32 = 3; +pub const CPS_CANCEL: u32 = 4; +pub const MOD_LEFT: u32 = 32768; +pub const MOD_RIGHT: u32 = 16384; +pub const MOD_ON_KEYUP: u32 = 2048; +pub const MOD_IGNORE_ALL_MODIFIER: u32 = 1024; +pub const IME_CHOTKEY_IME_NONIME_TOGGLE: u32 = 16; +pub const IME_CHOTKEY_SHAPE_TOGGLE: u32 = 17; +pub const IME_CHOTKEY_SYMBOL_TOGGLE: u32 = 18; +pub const IME_JHOTKEY_CLOSE_OPEN: u32 = 48; +pub const IME_KHOTKEY_SHAPE_TOGGLE: u32 = 80; +pub const IME_KHOTKEY_HANJACONVERT: u32 = 81; +pub const IME_KHOTKEY_ENGLISH: u32 = 82; +pub const IME_THOTKEY_IME_NONIME_TOGGLE: u32 = 112; +pub const IME_THOTKEY_SHAPE_TOGGLE: u32 = 113; +pub const IME_THOTKEY_SYMBOL_TOGGLE: u32 = 114; +pub const IME_HOTKEY_DSWITCH_FIRST: u32 = 256; +pub const IME_HOTKEY_DSWITCH_LAST: u32 = 287; +pub const IME_HOTKEY_PRIVATE_FIRST: u32 = 512; +pub const IME_ITHOTKEY_RESEND_RESULTSTR: u32 = 512; +pub const IME_ITHOTKEY_PREVIOUS_COMPOSITION: u32 = 513; +pub const IME_ITHOTKEY_UISTYLE_TOGGLE: u32 = 514; +pub const IME_ITHOTKEY_RECONVERTSTRING: u32 = 515; +pub const IME_HOTKEY_PRIVATE_LAST: u32 = 543; +pub const GCS_COMPREADSTR: u32 = 1; +pub const GCS_COMPREADATTR: u32 = 2; +pub const GCS_COMPREADCLAUSE: u32 = 4; +pub const GCS_COMPSTR: u32 = 8; +pub const GCS_COMPATTR: u32 = 16; +pub const GCS_COMPCLAUSE: u32 = 32; +pub const GCS_CURSORPOS: u32 = 128; +pub const GCS_DELTASTART: u32 = 256; +pub const GCS_RESULTREADSTR: u32 = 512; +pub const GCS_RESULTREADCLAUSE: u32 = 1024; +pub const GCS_RESULTSTR: u32 = 2048; +pub const GCS_RESULTCLAUSE: u32 = 4096; +pub const CS_INSERTCHAR: u32 = 8192; +pub const CS_NOMOVECARET: u32 = 16384; +pub const IMEVER_0310: u32 = 196618; +pub const IMEVER_0400: u32 = 262144; +pub const IME_PROP_AT_CARET: u32 = 65536; +pub const IME_PROP_SPECIAL_UI: u32 = 131072; +pub const IME_PROP_CANDLIST_START_FROM_1: u32 = 262144; +pub const IME_PROP_UNICODE: u32 = 524288; +pub const IME_PROP_COMPLETE_ON_UNSELECT: u32 = 1048576; +pub const UI_CAP_2700: u32 = 1; +pub const UI_CAP_ROT90: u32 = 2; +pub const UI_CAP_ROTANY: u32 = 4; +pub const SCS_CAP_COMPSTR: u32 = 1; +pub const SCS_CAP_MAKEREAD: u32 = 2; +pub const SCS_CAP_SETRECONVERTSTRING: u32 = 4; +pub const SELECT_CAP_CONVERSION: u32 = 1; +pub const SELECT_CAP_SENTENCE: u32 = 2; +pub const GGL_LEVEL: u32 = 1; +pub const GGL_INDEX: u32 = 2; +pub const GGL_STRING: u32 = 3; +pub const GGL_PRIVATE: u32 = 4; +pub const GL_LEVEL_NOGUIDELINE: u32 = 0; +pub const GL_LEVEL_FATAL: u32 = 1; +pub const GL_LEVEL_ERROR: u32 = 2; +pub const GL_LEVEL_WARNING: u32 = 3; +pub const GL_LEVEL_INFORMATION: u32 = 4; +pub const GL_ID_UNKNOWN: u32 = 0; +pub const GL_ID_NOMODULE: u32 = 1; +pub const GL_ID_NODICTIONARY: u32 = 16; +pub const GL_ID_CANNOTSAVE: u32 = 17; +pub const GL_ID_NOCONVERT: u32 = 32; +pub const GL_ID_TYPINGERROR: u32 = 33; +pub const GL_ID_TOOMANYSTROKE: u32 = 34; +pub const GL_ID_READINGCONFLICT: u32 = 35; +pub const GL_ID_INPUTREADING: u32 = 36; +pub const GL_ID_INPUTRADICAL: u32 = 37; +pub const GL_ID_INPUTCODE: u32 = 38; +pub const GL_ID_INPUTSYMBOL: u32 = 39; +pub const GL_ID_CHOOSECANDIDATE: u32 = 40; +pub const GL_ID_REVERSECONVERSION: u32 = 41; +pub const GL_ID_PRIVATE_FIRST: u32 = 32768; +pub const GL_ID_PRIVATE_LAST: u32 = 65535; +pub const IGP_PROPERTY: u32 = 4; +pub const IGP_CONVERSION: u32 = 8; +pub const IGP_SENTENCE: u32 = 12; +pub const IGP_UI: u32 = 16; +pub const IGP_SETCOMPSTR: u32 = 20; +pub const IGP_SELECT: u32 = 24; +pub const SCS_SETSTR: u32 = 9; +pub const SCS_CHANGEATTR: u32 = 18; +pub const SCS_CHANGECLAUSE: u32 = 36; +pub const SCS_SETRECONVERTSTRING: u32 = 65536; +pub const SCS_QUERYRECONVERTSTRING: u32 = 131072; +pub const ATTR_INPUT: u32 = 0; +pub const ATTR_TARGET_CONVERTED: u32 = 1; +pub const ATTR_CONVERTED: u32 = 2; +pub const ATTR_TARGET_NOTCONVERTED: u32 = 3; +pub const ATTR_INPUT_ERROR: u32 = 4; +pub const ATTR_FIXEDCONVERTED: u32 = 5; +pub const CFS_DEFAULT: u32 = 0; +pub const CFS_RECT: u32 = 1; +pub const CFS_POINT: u32 = 2; +pub const CFS_FORCE_POSITION: u32 = 32; +pub const CFS_CANDIDATEPOS: u32 = 64; +pub const CFS_EXCLUDE: u32 = 128; +pub const GCL_CONVERSION: u32 = 1; +pub const GCL_REVERSECONVERSION: u32 = 2; +pub const GCL_REVERSE_LENGTH: u32 = 3; +pub const IME_CMODE_ALPHANUMERIC: u32 = 0; +pub const IME_CMODE_NATIVE: u32 = 1; +pub const IME_CMODE_CHINESE: u32 = 1; +pub const IME_CMODE_HANGUL: u32 = 1; +pub const IME_CMODE_JAPANESE: u32 = 1; +pub const IME_CMODE_KATAKANA: u32 = 2; +pub const IME_CMODE_LANGUAGE: u32 = 3; +pub const IME_CMODE_FULLSHAPE: u32 = 8; +pub const IME_CMODE_ROMAN: u32 = 16; +pub const IME_CMODE_CHARCODE: u32 = 32; +pub const IME_CMODE_HANJACONVERT: u32 = 64; +pub const IME_CMODE_NATIVESYMBOL: u32 = 128; +pub const IME_CMODE_HANGEUL: u32 = 1; +pub const IME_CMODE_SOFTKBD: u32 = 128; +pub const IME_CMODE_NOCONVERSION: u32 = 256; +pub const IME_CMODE_EUDC: u32 = 512; +pub const IME_CMODE_SYMBOL: u32 = 1024; +pub const IME_CMODE_FIXED: u32 = 2048; +pub const IME_CMODE_RESERVED: u32 = 4026531840; +pub const IME_SMODE_NONE: u32 = 0; +pub const IME_SMODE_PLAURALCLAUSE: u32 = 1; +pub const IME_SMODE_SINGLECONVERT: u32 = 2; +pub const IME_SMODE_AUTOMATIC: u32 = 4; +pub const IME_SMODE_PHRASEPREDICT: u32 = 8; +pub const IME_SMODE_CONVERSATION: u32 = 16; +pub const IME_SMODE_RESERVED: u32 = 61440; +pub const IME_CAND_UNKNOWN: u32 = 0; +pub const IME_CAND_READ: u32 = 1; +pub const IME_CAND_CODE: u32 = 2; +pub const IME_CAND_MEANING: u32 = 3; +pub const IME_CAND_RADICAL: u32 = 4; +pub const IME_CAND_STROKE: u32 = 5; +pub const IMN_CLOSESTATUSWINDOW: u32 = 1; +pub const IMN_OPENSTATUSWINDOW: u32 = 2; +pub const IMN_CHANGECANDIDATE: u32 = 3; +pub const IMN_CLOSECANDIDATE: u32 = 4; +pub const IMN_OPENCANDIDATE: u32 = 5; +pub const IMN_SETCONVERSIONMODE: u32 = 6; +pub const IMN_SETSENTENCEMODE: u32 = 7; +pub const IMN_SETOPENSTATUS: u32 = 8; +pub const IMN_SETCANDIDATEPOS: u32 = 9; +pub const IMN_SETCOMPOSITIONFONT: u32 = 10; +pub const IMN_SETCOMPOSITIONWINDOW: u32 = 11; +pub const IMN_SETSTATUSWINDOWPOS: u32 = 12; +pub const IMN_GUIDELINE: u32 = 13; +pub const IMN_PRIVATE: u32 = 14; +pub const IMR_COMPOSITIONWINDOW: u32 = 1; +pub const IMR_CANDIDATEWINDOW: u32 = 2; +pub const IMR_COMPOSITIONFONT: u32 = 3; +pub const IMR_RECONVERTSTRING: u32 = 4; +pub const IMR_CONFIRMRECONVERTSTRING: u32 = 5; +pub const IMR_QUERYCHARPOSITION: u32 = 6; +pub const IMR_DOCUMENTFEED: u32 = 7; +pub const IMM_ERROR_NODATA: i32 = -1; +pub const IMM_ERROR_GENERAL: i32 = -2; +pub const IME_CONFIG_GENERAL: u32 = 1; +pub const IME_CONFIG_REGISTERWORD: u32 = 2; +pub const IME_CONFIG_SELECTDICTIONARY: u32 = 3; +pub const IME_ESC_QUERY_SUPPORT: u32 = 3; +pub const IME_ESC_RESERVED_FIRST: u32 = 4; +pub const IME_ESC_RESERVED_LAST: u32 = 2047; +pub const IME_ESC_PRIVATE_FIRST: u32 = 2048; +pub const IME_ESC_PRIVATE_LAST: u32 = 4095; +pub const IME_ESC_SEQUENCE_TO_INTERNAL: u32 = 4097; +pub const IME_ESC_GET_EUDC_DICTIONARY: u32 = 4099; +pub const IME_ESC_SET_EUDC_DICTIONARY: u32 = 4100; +pub const IME_ESC_MAX_KEY: u32 = 4101; +pub const IME_ESC_IME_NAME: u32 = 4102; +pub const IME_ESC_SYNC_HOTKEY: u32 = 4103; +pub const IME_ESC_HANJA_MODE: u32 = 4104; +pub const IME_ESC_AUTOMATA: u32 = 4105; +pub const IME_ESC_PRIVATE_HOTKEY: u32 = 4106; +pub const IME_ESC_GETHELPFILENAME: u32 = 4107; +pub const IME_REGWORD_STYLE_EUDC: u32 = 1; +pub const IME_REGWORD_STYLE_USER_FIRST: u32 = 2147483648; +pub const IME_REGWORD_STYLE_USER_LAST: u32 = 4294967295; +pub const IACE_CHILDREN: u32 = 1; +pub const IACE_DEFAULT: u32 = 16; +pub const IACE_IGNORENOCONTEXT: u32 = 32; +pub const IGIMIF_RIGHTMENU: u32 = 1; +pub const IGIMII_CMODE: u32 = 1; +pub const IGIMII_SMODE: u32 = 2; +pub const IGIMII_CONFIGURE: u32 = 4; +pub const IGIMII_TOOLS: u32 = 8; +pub const IGIMII_HELP: u32 = 16; +pub const IGIMII_OTHER: u32 = 32; +pub const IGIMII_INPUTTOOLS: u32 = 64; +pub const IMFT_RADIOCHECK: u32 = 1; +pub const IMFT_SEPARATOR: u32 = 2; +pub const IMFT_SUBMENU: u32 = 4; +pub const IMFS_GRAYED: u32 = 3; +pub const IMFS_DISABLED: u32 = 3; +pub const IMFS_CHECKED: u32 = 8; +pub const IMFS_HILITE: u32 = 128; +pub const IMFS_ENABLED: u32 = 0; +pub const IMFS_UNCHECKED: u32 = 0; +pub const IMFS_UNHILITE: u32 = 0; +pub const IMFS_DEFAULT: u32 = 4096; +pub const SOFTKEYBOARD_TYPE_T1: u32 = 1; +pub const SOFTKEYBOARD_TYPE_C1: u32 = 2; +pub const AF_UNSPEC: u32 = 0; +pub const AF_UNIX: u32 = 1; +pub const AF_INET: u32 = 2; +pub const AF_IMPLINK: u32 = 3; +pub const AF_PUP: u32 = 4; +pub const AF_CHAOS: u32 = 5; +pub const AF_NS: u32 = 6; +pub const AF_IPX: u32 = 6; +pub const AF_ISO: u32 = 7; +pub const AF_OSI: u32 = 7; +pub const AF_ECMA: u32 = 8; +pub const AF_DATAKIT: u32 = 9; +pub const AF_CCITT: u32 = 10; +pub const AF_SNA: u32 = 11; +pub const AF_DECnet: u32 = 12; +pub const AF_DLI: u32 = 13; +pub const AF_LAT: u32 = 14; +pub const AF_HYLINK: u32 = 15; +pub const AF_APPLETALK: u32 = 16; +pub const AF_NETBIOS: u32 = 17; +pub const AF_VOICEVIEW: u32 = 18; +pub const AF_FIREFOX: u32 = 19; +pub const AF_UNKNOWN1: u32 = 20; +pub const AF_BAN: u32 = 21; +pub const AF_ATM: u32 = 22; +pub const AF_INET6: u32 = 23; +pub const AF_CLUSTER: u32 = 24; +pub const AF_12844: u32 = 25; +pub const AF_IRDA: u32 = 26; +pub const AF_NETDES: u32 = 28; +pub const AF_TCNPROCESS: u32 = 29; +pub const AF_TCNMESSAGE: u32 = 30; +pub const AF_ICLFXBM: u32 = 31; +pub const AF_BTH: u32 = 32; +pub const AF_LINK: u32 = 33; +pub const AF_HYPERV: u32 = 34; +pub const AF_MAX: u32 = 35; +pub const SOCK_STREAM: u32 = 1; +pub const SOCK_DGRAM: u32 = 2; +pub const SOCK_RAW: u32 = 3; +pub const SOCK_RDM: u32 = 4; +pub const SOCK_SEQPACKET: u32 = 5; +pub const SOL_SOCKET: u32 = 65535; +pub const SOL_IP: u32 = 65531; +pub const SOL_IPV6: u32 = 65530; +pub const SO_DEBUG: u32 = 1; +pub const SO_ACCEPTCONN: u32 = 2; +pub const SO_REUSEADDR: u32 = 4; +pub const SO_KEEPALIVE: u32 = 8; +pub const SO_DONTROUTE: u32 = 16; +pub const SO_BROADCAST: u32 = 32; +pub const SO_USELOOPBACK: u32 = 64; +pub const SO_LINGER: u32 = 128; +pub const SO_OOBINLINE: u32 = 256; +pub const SO_SNDBUF: u32 = 4097; +pub const SO_RCVBUF: u32 = 4098; +pub const SO_SNDLOWAT: u32 = 4099; +pub const SO_RCVLOWAT: u32 = 4100; +pub const SO_SNDTIMEO: u32 = 4101; +pub const SO_RCVTIMEO: u32 = 4102; +pub const SO_ERROR: u32 = 4103; +pub const SO_TYPE: u32 = 4104; +pub const SO_BSP_STATE: u32 = 4105; +pub const SO_GROUP_ID: u32 = 8193; +pub const SO_GROUP_PRIORITY: u32 = 8194; +pub const SO_MAX_MSG_SIZE: u32 = 8195; +pub const SO_CONDITIONAL_ACCEPT: u32 = 12290; +pub const SO_PAUSE_ACCEPT: u32 = 12291; +pub const SO_COMPARTMENT_ID: u32 = 12292; +pub const SO_RANDOMIZE_PORT: u32 = 12293; +pub const SO_PORT_SCALABILITY: u32 = 12294; +pub const SO_REUSE_UNICASTPORT: u32 = 12295; +pub const SO_REUSE_MULTICASTPORT: u32 = 12296; +pub const SO_ORIGINAL_DST: u32 = 12303; +pub const IP6T_SO_ORIGINAL_DST: u32 = 12303; +pub const WSK_SO_BASE: u32 = 16384; +pub const TCP_NODELAY: u32 = 1; +pub const _SS_MAXSIZE: u32 = 128; +pub const IOC_UNIX: u32 = 0; +pub const IOC_WS2: u32 = 134217728; +pub const IOC_PROTOCOL: u32 = 268435456; +pub const IOC_VENDOR: u32 = 402653184; +pub const IOC_WSK: u32 = 251658240; +pub const IPPROTO_IP: u32 = 0; +pub const IPPORT_TCPMUX: u32 = 1; +pub const IPPORT_ECHO: u32 = 7; +pub const IPPORT_DISCARD: u32 = 9; +pub const IPPORT_SYSTAT: u32 = 11; +pub const IPPORT_DAYTIME: u32 = 13; +pub const IPPORT_NETSTAT: u32 = 15; +pub const IPPORT_QOTD: u32 = 17; +pub const IPPORT_MSP: u32 = 18; +pub const IPPORT_CHARGEN: u32 = 19; +pub const IPPORT_FTP_DATA: u32 = 20; +pub const IPPORT_FTP: u32 = 21; +pub const IPPORT_TELNET: u32 = 23; +pub const IPPORT_SMTP: u32 = 25; +pub const IPPORT_TIMESERVER: u32 = 37; +pub const IPPORT_NAMESERVER: u32 = 42; +pub const IPPORT_WHOIS: u32 = 43; +pub const IPPORT_MTP: u32 = 57; +pub const IPPORT_TFTP: u32 = 69; +pub const IPPORT_RJE: u32 = 77; +pub const IPPORT_FINGER: u32 = 79; +pub const IPPORT_TTYLINK: u32 = 87; +pub const IPPORT_SUPDUP: u32 = 95; +pub const IPPORT_POP3: u32 = 110; +pub const IPPORT_NTP: u32 = 123; +pub const IPPORT_EPMAP: u32 = 135; +pub const IPPORT_NETBIOS_NS: u32 = 137; +pub const IPPORT_NETBIOS_DGM: u32 = 138; +pub const IPPORT_NETBIOS_SSN: u32 = 139; +pub const IPPORT_IMAP: u32 = 143; +pub const IPPORT_SNMP: u32 = 161; +pub const IPPORT_SNMP_TRAP: u32 = 162; +pub const IPPORT_IMAP3: u32 = 220; +pub const IPPORT_LDAP: u32 = 389; +pub const IPPORT_HTTPS: u32 = 443; +pub const IPPORT_MICROSOFT_DS: u32 = 445; +pub const IPPORT_EXECSERVER: u32 = 512; +pub const IPPORT_LOGINSERVER: u32 = 513; +pub const IPPORT_CMDSERVER: u32 = 514; +pub const IPPORT_EFSSERVER: u32 = 520; +pub const IPPORT_BIFFUDP: u32 = 512; +pub const IPPORT_WHOSERVER: u32 = 513; +pub const IPPORT_ROUTESERVER: u32 = 520; +pub const IPPORT_RESERVED: u32 = 1024; +pub const IPPORT_REGISTERED_MIN: u32 = 1024; +pub const IPPORT_REGISTERED_MAX: u32 = 49151; +pub const IPPORT_DYNAMIC_MIN: u32 = 49152; +pub const IPPORT_DYNAMIC_MAX: u32 = 65535; +pub const IN_CLASSA_NET: u32 = 4278190080; +pub const IN_CLASSA_NSHIFT: u32 = 24; +pub const IN_CLASSA_HOST: u32 = 16777215; +pub const IN_CLASSA_MAX: u32 = 128; +pub const IN_CLASSB_NET: u32 = 4294901760; +pub const IN_CLASSB_NSHIFT: u32 = 16; +pub const IN_CLASSB_HOST: u32 = 65535; +pub const IN_CLASSB_MAX: u32 = 65536; +pub const IN_CLASSC_NET: u32 = 4294967040; +pub const IN_CLASSC_NSHIFT: u32 = 8; +pub const IN_CLASSC_HOST: u32 = 255; +pub const IN_CLASSD_NET: u32 = 4026531840; +pub const IN_CLASSD_NSHIFT: u32 = 28; +pub const IN_CLASSD_HOST: u32 = 268435455; +pub const INADDR_LOOPBACK: u32 = 2130706433; +pub const INADDR_NONE: u32 = 4294967295; +pub const IOCPARM_MASK: u32 = 127; +pub const IOC_VOID: u32 = 536870912; +pub const IOC_OUT: u32 = 1073741824; +pub const IOC_IN: u32 = 2147483648; +pub const IOC_INOUT: u32 = 3221225472; +pub const MSG_TRUNC: u32 = 256; +pub const MSG_CTRUNC: u32 = 512; +pub const MSG_BCAST: u32 = 1024; +pub const MSG_MCAST: u32 = 2048; +pub const MSG_ERRQUEUE: u32 = 4096; +pub const AI_PASSIVE: u32 = 1; +pub const AI_CANONNAME: u32 = 2; +pub const AI_NUMERICHOST: u32 = 4; +pub const AI_NUMERICSERV: u32 = 8; +pub const AI_DNS_ONLY: u32 = 16; +pub const AI_ALL: u32 = 256; +pub const AI_ADDRCONFIG: u32 = 1024; +pub const AI_V4MAPPED: u32 = 2048; +pub const AI_NON_AUTHORITATIVE: u32 = 16384; +pub const AI_SECURE: u32 = 32768; +pub const AI_RETURN_PREFERRED_NAMES: u32 = 65536; +pub const AI_FQDN: u32 = 131072; +pub const AI_FILESERVER: u32 = 262144; +pub const AI_DISABLE_IDN_ENCODING: u32 = 524288; +pub const AI_EXTENDED: u32 = 2147483648; +pub const AI_RESOLUTION_HANDLE: u32 = 1073741824; +pub const ADDRINFOEX_VERSION_2: u32 = 2; +pub const ADDRINFOEX_VERSION_3: u32 = 3; +pub const ADDRINFOEX_VERSION_4: u32 = 4; +pub const NS_ALL: u32 = 0; +pub const NS_SAP: u32 = 1; +pub const NS_NDS: u32 = 2; +pub const NS_PEER_BROWSE: u32 = 3; +pub const NS_SLP: u32 = 5; +pub const NS_DHCP: u32 = 6; +pub const NS_TCPIP_LOCAL: u32 = 10; +pub const NS_TCPIP_HOSTS: u32 = 11; +pub const NS_DNS: u32 = 12; +pub const NS_NETBT: u32 = 13; +pub const NS_WINS: u32 = 14; +pub const NS_NLA: u32 = 15; +pub const NS_BTH: u32 = 16; +pub const NS_NBP: u32 = 20; +pub const NS_MS: u32 = 30; +pub const NS_STDA: u32 = 31; +pub const NS_NTDS: u32 = 32; +pub const NS_EMAIL: u32 = 37; +pub const NS_PNRPNAME: u32 = 38; +pub const NS_PNRPCLOUD: u32 = 39; +pub const NS_X500: u32 = 40; +pub const NS_NIS: u32 = 41; +pub const NS_NISPLUS: u32 = 42; +pub const NS_WRQ: u32 = 50; +pub const NS_NETDES: u32 = 60; +pub const NI_NOFQDN: u32 = 1; +pub const NI_NUMERICHOST: u32 = 2; +pub const NI_NAMEREQD: u32 = 4; +pub const NI_NUMERICSERV: u32 = 8; +pub const NI_DGRAM: u32 = 16; +pub const NI_MAXHOST: u32 = 1025; +pub const NI_MAXSERV: u32 = 32; +pub const FD_SETSIZE: u32 = 64; +pub const IMPLINK_IP: u32 = 155; +pub const IMPLINK_LOWEXPER: u32 = 156; +pub const IMPLINK_HIGHEXPER: u32 = 158; +pub const WSADESCRIPTION_LEN: u32 = 256; +pub const WSASYS_STATUS_LEN: u32 = 128; +pub const SOCKET_ERROR: i32 = -1; +pub const FROM_PROTOCOL_INFO: i32 = -1; +pub const SO_PROTOCOL_INFOA: u32 = 8196; +pub const SO_PROTOCOL_INFOW: u32 = 8197; +pub const SO_PROTOCOL_INFO: u32 = 8196; +pub const PVD_CONFIG: u32 = 12289; +pub const PF_UNSPEC: u32 = 0; +pub const PF_UNIX: u32 = 1; +pub const PF_INET: u32 = 2; +pub const PF_IMPLINK: u32 = 3; +pub const PF_PUP: u32 = 4; +pub const PF_CHAOS: u32 = 5; +pub const PF_NS: u32 = 6; +pub const PF_IPX: u32 = 6; +pub const PF_ISO: u32 = 7; +pub const PF_OSI: u32 = 7; +pub const PF_ECMA: u32 = 8; +pub const PF_DATAKIT: u32 = 9; +pub const PF_CCITT: u32 = 10; +pub const PF_SNA: u32 = 11; +pub const PF_DECnet: u32 = 12; +pub const PF_DLI: u32 = 13; +pub const PF_LAT: u32 = 14; +pub const PF_HYLINK: u32 = 15; +pub const PF_APPLETALK: u32 = 16; +pub const PF_VOICEVIEW: u32 = 18; +pub const PF_FIREFOX: u32 = 19; +pub const PF_UNKNOWN1: u32 = 20; +pub const PF_BAN: u32 = 21; +pub const PF_ATM: u32 = 22; +pub const PF_INET6: u32 = 23; +pub const PF_BTH: u32 = 32; +pub const PF_MAX: u32 = 35; +pub const SOMAXCONN: u32 = 2147483647; +pub const MSG_OOB: u32 = 1; +pub const MSG_PEEK: u32 = 2; +pub const MSG_DONTROUTE: u32 = 4; +pub const MSG_WAITALL: u32 = 8; +pub const MSG_PUSH_IMMEDIATE: u32 = 32; +pub const MSG_PARTIAL: u32 = 32768; +pub const MSG_INTERRUPT: u32 = 16; +pub const MSG_MAXIOVLEN: u32 = 16; +pub const MAXGETHOSTSTRUCT: u32 = 1024; +pub const FD_READ_BIT: u32 = 0; +pub const FD_READ: u32 = 1; +pub const FD_WRITE_BIT: u32 = 1; +pub const FD_WRITE: u32 = 2; +pub const FD_OOB_BIT: u32 = 2; +pub const FD_OOB: u32 = 4; +pub const FD_ACCEPT_BIT: u32 = 3; +pub const FD_ACCEPT: u32 = 8; +pub const FD_CONNECT_BIT: u32 = 4; +pub const FD_CONNECT: u32 = 16; +pub const FD_CLOSE_BIT: u32 = 5; +pub const FD_CLOSE: u32 = 32; +pub const FD_QOS_BIT: u32 = 6; +pub const FD_QOS: u32 = 64; +pub const FD_GROUP_QOS_BIT: u32 = 7; +pub const FD_GROUP_QOS: u32 = 128; +pub const FD_ROUTING_INTERFACE_CHANGE_BIT: u32 = 8; +pub const FD_ROUTING_INTERFACE_CHANGE: u32 = 256; +pub const FD_ADDRESS_LIST_CHANGE_BIT: u32 = 9; +pub const FD_ADDRESS_LIST_CHANGE: u32 = 512; +pub const FD_MAX_EVENTS: u32 = 10; +pub const FD_ALL_EVENTS: u32 = 1023; +pub const HOST_NOT_FOUND: u32 = 11001; +pub const TRY_AGAIN: u32 = 11002; +pub const NO_RECOVERY: u32 = 11003; +pub const NO_DATA: u32 = 11004; +pub const WSANO_ADDRESS: u32 = 11004; +pub const NO_ADDRESS: u32 = 11004; +pub const WSA_IO_PENDING: u32 = 997; +pub const WSA_IO_INCOMPLETE: u32 = 996; +pub const WSA_INVALID_HANDLE: u32 = 6; +pub const WSA_INVALID_PARAMETER: u32 = 87; +pub const WSA_NOT_ENOUGH_MEMORY: u32 = 8; +pub const WSA_OPERATION_ABORTED: u32 = 995; +pub const WSA_MAXIMUM_WAIT_EVENTS: u32 = 64; +pub const WSA_WAIT_TIMEOUT: u32 = 258; +pub const WSA_INFINITE: u32 = 4294967295; +pub const SERVICETYPE_NOTRAFFIC: u32 = 0; +pub const SERVICETYPE_BESTEFFORT: u32 = 1; +pub const SERVICETYPE_CONTROLLEDLOAD: u32 = 2; +pub const SERVICETYPE_GUARANTEED: u32 = 3; +pub const SERVICETYPE_NETWORK_UNAVAILABLE: u32 = 4; +pub const SERVICETYPE_GENERAL_INFORMATION: u32 = 5; +pub const SERVICETYPE_NOCHANGE: u32 = 6; +pub const SERVICETYPE_NONCONFORMING: u32 = 9; +pub const SERVICETYPE_NETWORK_CONTROL: u32 = 10; +pub const SERVICETYPE_QUALITATIVE: u32 = 13; +pub const SERVICE_BESTEFFORT: u32 = 2147549184; +pub const SERVICE_CONTROLLEDLOAD: u32 = 2147614720; +pub const SERVICE_GUARANTEED: u32 = 2147745792; +pub const SERVICE_QUALITATIVE: u32 = 2149580800; +pub const SERVICE_NO_TRAFFIC_CONTROL: u32 = 2164260864; +pub const SERVICE_NO_QOS_SIGNALING: u32 = 1073741824; +pub const QOS_NOT_SPECIFIED: u32 = 4294967295; +pub const POSITIVE_INFINITY_RATE: u32 = 4294967294; +pub const QOS_GENERAL_ID_BASE: u32 = 2000; +pub const QOS_OBJECT_END_OF_LIST: u32 = 2001; +pub const QOS_OBJECT_SD_MODE: u32 = 2002; +pub const QOS_OBJECT_SHAPING_RATE: u32 = 2003; +pub const QOS_OBJECT_DESTADDR: u32 = 2004; +pub const TC_NONCONF_BORROW: u32 = 0; +pub const TC_NONCONF_SHAPE: u32 = 1; +pub const TC_NONCONF_DISCARD: u32 = 2; +pub const TC_NONCONF_BORROW_PLUS: u32 = 3; +pub const CF_ACCEPT: u32 = 0; +pub const CF_REJECT: u32 = 1; +pub const CF_DEFER: u32 = 2; +pub const SD_RECEIVE: u32 = 0; +pub const SD_SEND: u32 = 1; +pub const SD_BOTH: u32 = 2; +pub const SG_UNCONSTRAINED_GROUP: u32 = 1; +pub const SG_CONSTRAINED_GROUP: u32 = 2; +pub const MAX_PROTOCOL_CHAIN: u32 = 7; +pub const BASE_PROTOCOL: u32 = 1; +pub const LAYERED_PROTOCOL: u32 = 0; +pub const WSAPROTOCOL_LEN: u32 = 255; +pub const PFL_MULTIPLE_PROTO_ENTRIES: u32 = 1; +pub const PFL_RECOMMENDED_PROTO_ENTRY: u32 = 2; +pub const PFL_HIDDEN: u32 = 4; +pub const PFL_MATCHES_PROTOCOL_ZERO: u32 = 8; +pub const PFL_NETWORKDIRECT_PROVIDER: u32 = 16; +pub const XP1_CONNECTIONLESS: u32 = 1; +pub const XP1_GUARANTEED_DELIVERY: u32 = 2; +pub const XP1_GUARANTEED_ORDER: u32 = 4; +pub const XP1_MESSAGE_ORIENTED: u32 = 8; +pub const XP1_PSEUDO_STREAM: u32 = 16; +pub const XP1_GRACEFUL_CLOSE: u32 = 32; +pub const XP1_EXPEDITED_DATA: u32 = 64; +pub const XP1_CONNECT_DATA: u32 = 128; +pub const XP1_DISCONNECT_DATA: u32 = 256; +pub const XP1_SUPPORT_BROADCAST: u32 = 512; +pub const XP1_SUPPORT_MULTIPOINT: u32 = 1024; +pub const XP1_MULTIPOINT_CONTROL_PLANE: u32 = 2048; +pub const XP1_MULTIPOINT_DATA_PLANE: u32 = 4096; +pub const XP1_QOS_SUPPORTED: u32 = 8192; +pub const XP1_INTERRUPT: u32 = 16384; +pub const XP1_UNI_SEND: u32 = 32768; +pub const XP1_UNI_RECV: u32 = 65536; +pub const XP1_IFS_HANDLES: u32 = 131072; +pub const XP1_PARTIAL_MESSAGE: u32 = 262144; +pub const XP1_SAN_SUPPORT_SDP: u32 = 524288; +pub const BIGENDIAN: u32 = 0; +pub const LITTLEENDIAN: u32 = 1; +pub const SECURITY_PROTOCOL_NONE: u32 = 0; +pub const JL_SENDER_ONLY: u32 = 1; +pub const JL_RECEIVER_ONLY: u32 = 2; +pub const JL_BOTH: u32 = 4; +pub const WSA_FLAG_OVERLAPPED: u32 = 1; +pub const WSA_FLAG_MULTIPOINT_C_ROOT: u32 = 2; +pub const WSA_FLAG_MULTIPOINT_C_LEAF: u32 = 4; +pub const WSA_FLAG_MULTIPOINT_D_ROOT: u32 = 8; +pub const WSA_FLAG_MULTIPOINT_D_LEAF: u32 = 16; +pub const WSA_FLAG_ACCESS_SYSTEM_SECURITY: u32 = 64; +pub const WSA_FLAG_NO_HANDLE_INHERIT: u32 = 128; +pub const WSA_FLAG_REGISTERED_IO: u32 = 256; +pub const TH_NETDEV: u32 = 1; +pub const TH_TAPI: u32 = 2; +pub const SERVICE_MULTIPLE: u32 = 1; +pub const NS_LOCALNAME: u32 = 19; +pub const RES_UNUSED_1: u32 = 1; +pub const RES_FLUSH_CACHE: u32 = 2; +pub const RES_SERVICE: u32 = 4; +pub const SERVICE_TYPE_VALUE_IPXPORTA: &[u8; 10usize] = b"IpxSocket\0"; +pub const SERVICE_TYPE_VALUE_IPXPORTW: &[u8; 10usize] = b"IpxSocket\0"; +pub const SERVICE_TYPE_VALUE_SAPIDA: &[u8; 6usize] = b"SapId\0"; +pub const SERVICE_TYPE_VALUE_SAPIDW: &[u8; 6usize] = b"SapId\0"; +pub const SERVICE_TYPE_VALUE_TCPPORTA: &[u8; 8usize] = b"TcpPort\0"; +pub const SERVICE_TYPE_VALUE_TCPPORTW: &[u8; 8usize] = b"TcpPort\0"; +pub const SERVICE_TYPE_VALUE_UDPPORTA: &[u8; 8usize] = b"UdpPort\0"; +pub const SERVICE_TYPE_VALUE_UDPPORTW: &[u8; 8usize] = b"UdpPort\0"; +pub const SERVICE_TYPE_VALUE_OBJECTIDA: &[u8; 9usize] = b"ObjectId\0"; +pub const SERVICE_TYPE_VALUE_OBJECTIDW: &[u8; 9usize] = b"ObjectId\0"; +pub const SERVICE_TYPE_VALUE_SAPID: &[u8; 6usize] = b"SapId\0"; +pub const SERVICE_TYPE_VALUE_TCPPORT: &[u8; 8usize] = b"TcpPort\0"; +pub const SERVICE_TYPE_VALUE_UDPPORT: &[u8; 8usize] = b"UdpPort\0"; +pub const SERVICE_TYPE_VALUE_OBJECTID: &[u8; 9usize] = b"ObjectId\0"; +pub const LUP_DEEP: u32 = 1; +pub const LUP_CONTAINERS: u32 = 2; +pub const LUP_NOCONTAINERS: u32 = 4; +pub const LUP_NEAREST: u32 = 8; +pub const LUP_RETURN_NAME: u32 = 16; +pub const LUP_RETURN_TYPE: u32 = 32; +pub const LUP_RETURN_VERSION: u32 = 64; +pub const LUP_RETURN_COMMENT: u32 = 128; +pub const LUP_RETURN_ADDR: u32 = 256; +pub const LUP_RETURN_BLOB: u32 = 512; +pub const LUP_RETURN_ALIASES: u32 = 1024; +pub const LUP_RETURN_QUERY_STRING: u32 = 2048; +pub const LUP_RETURN_ALL: u32 = 4080; +pub const LUP_RES_SERVICE: u32 = 32768; +pub const LUP_FLUSHCACHE: u32 = 4096; +pub const LUP_FLUSHPREVIOUS: u32 = 8192; +pub const LUP_NON_AUTHORITATIVE: u32 = 16384; +pub const LUP_SECURE: u32 = 32768; +pub const LUP_RETURN_PREFERRED_NAMES: u32 = 65536; +pub const LUP_DNS_ONLY: u32 = 131072; +pub const LUP_ADDRCONFIG: u32 = 1048576; +pub const LUP_DUAL_ADDR: u32 = 2097152; +pub const LUP_FILESERVER: u32 = 4194304; +pub const LUP_DISABLE_IDN_ENCODING: u32 = 8388608; +pub const LUP_API_ANSI: u32 = 16777216; +pub const LUP_RESOLUTION_HANDLE: u32 = 2147483648; +pub const RESULT_IS_ALIAS: u32 = 1; +pub const RESULT_IS_ADDED: u32 = 16; +pub const RESULT_IS_CHANGED: u32 = 32; +pub const RESULT_IS_DELETED: u32 = 64; +pub const POLLRDNORM: u32 = 256; +pub const POLLRDBAND: u32 = 512; +pub const POLLIN: u32 = 768; +pub const POLLPRI: u32 = 1024; +pub const POLLWRNORM: u32 = 16; +pub const POLLOUT: u32 = 16; +pub const POLLWRBAND: u32 = 32; +pub const POLLERR: u32 = 1; +pub const POLLHUP: u32 = 2; +pub const POLLNVAL: u32 = 4; +pub const IFF_UP: u32 = 1; +pub const IFF_BROADCAST: u32 = 2; +pub const IFF_LOOPBACK: u32 = 4; +pub const IFF_POINTTOPOINT: u32 = 8; +pub const IFF_MULTICAST: u32 = 16; +pub const IP_OPTIONS: u32 = 1; +pub const IP_HDRINCL: u32 = 2; +pub const IP_TOS: u32 = 3; +pub const IP_TTL: u32 = 4; +pub const IP_MULTICAST_IF: u32 = 9; +pub const IP_MULTICAST_TTL: u32 = 10; +pub const IP_MULTICAST_LOOP: u32 = 11; +pub const IP_ADD_MEMBERSHIP: u32 = 12; +pub const IP_DROP_MEMBERSHIP: u32 = 13; +pub const IP_DONTFRAGMENT: u32 = 14; +pub const IP_ADD_SOURCE_MEMBERSHIP: u32 = 15; +pub const IP_DROP_SOURCE_MEMBERSHIP: u32 = 16; +pub const IP_BLOCK_SOURCE: u32 = 17; +pub const IP_UNBLOCK_SOURCE: u32 = 18; +pub const IP_PKTINFO: u32 = 19; +pub const IP_HOPLIMIT: u32 = 21; +pub const IP_RECVTTL: u32 = 21; +pub const IP_RECEIVE_BROADCAST: u32 = 22; +pub const IP_RECVIF: u32 = 24; +pub const IP_RECVDSTADDR: u32 = 25; +pub const IP_IFLIST: u32 = 28; +pub const IP_ADD_IFLIST: u32 = 29; +pub const IP_DEL_IFLIST: u32 = 30; +pub const IP_UNICAST_IF: u32 = 31; +pub const IP_RTHDR: u32 = 32; +pub const IP_GET_IFLIST: u32 = 33; +pub const IP_RECVRTHDR: u32 = 38; +pub const IP_TCLASS: u32 = 39; +pub const IP_RECVTCLASS: u32 = 40; +pub const IP_RECVTOS: u32 = 40; +pub const IP_ORIGINAL_ARRIVAL_IF: u32 = 47; +pub const IP_ECN: u32 = 50; +pub const IP_PKTINFO_EX: u32 = 51; +pub const IP_WFP_REDIRECT_RECORDS: u32 = 60; +pub const IP_WFP_REDIRECT_CONTEXT: u32 = 70; +pub const IP_MTU_DISCOVER: u32 = 71; +pub const IP_MTU: u32 = 73; +pub const IP_NRT_INTERFACE: u32 = 74; +pub const IP_RECVERR: u32 = 75; +pub const IP_USER_MTU: u32 = 76; +pub const IP_UNSPECIFIED_TYPE_OF_SERVICE: i32 = -1; +pub const IN6ADDR_LINKLOCALPREFIX_LENGTH: u32 = 64; +pub const IN6ADDR_MULTICASTPREFIX_LENGTH: u32 = 8; +pub const IN6ADDR_SOLICITEDNODEMULTICASTPREFIX_LENGTH: u32 = 104; +pub const IN6ADDR_V4MAPPEDPREFIX_LENGTH: u32 = 96; +pub const IN6ADDR_6TO4PREFIX_LENGTH: u32 = 16; +pub const IN6ADDR_TEREDOPREFIX_LENGTH: u32 = 32; +pub const MCAST_JOIN_GROUP: u32 = 41; +pub const MCAST_LEAVE_GROUP: u32 = 42; +pub const MCAST_BLOCK_SOURCE: u32 = 43; +pub const MCAST_UNBLOCK_SOURCE: u32 = 44; +pub const MCAST_JOIN_SOURCE_GROUP: u32 = 45; +pub const MCAST_LEAVE_SOURCE_GROUP: u32 = 46; +pub const IPV6_HOPOPTS: u32 = 1; +pub const IPV6_HDRINCL: u32 = 2; +pub const IPV6_UNICAST_HOPS: u32 = 4; +pub const IPV6_MULTICAST_IF: u32 = 9; +pub const IPV6_MULTICAST_HOPS: u32 = 10; +pub const IPV6_MULTICAST_LOOP: u32 = 11; +pub const IPV6_ADD_MEMBERSHIP: u32 = 12; +pub const IPV6_JOIN_GROUP: u32 = 12; +pub const IPV6_DROP_MEMBERSHIP: u32 = 13; +pub const IPV6_LEAVE_GROUP: u32 = 13; +pub const IPV6_DONTFRAG: u32 = 14; +pub const IPV6_PKTINFO: u32 = 19; +pub const IPV6_HOPLIMIT: u32 = 21; +pub const IPV6_PROTECTION_LEVEL: u32 = 23; +pub const IPV6_RECVIF: u32 = 24; +pub const IPV6_RECVDSTADDR: u32 = 25; +pub const IPV6_CHECKSUM: u32 = 26; +pub const IPV6_V6ONLY: u32 = 27; +pub const IPV6_IFLIST: u32 = 28; +pub const IPV6_ADD_IFLIST: u32 = 29; +pub const IPV6_DEL_IFLIST: u32 = 30; +pub const IPV6_UNICAST_IF: u32 = 31; +pub const IPV6_RTHDR: u32 = 32; +pub const IPV6_GET_IFLIST: u32 = 33; +pub const IPV6_RECVRTHDR: u32 = 38; +pub const IPV6_TCLASS: u32 = 39; +pub const IPV6_RECVTCLASS: u32 = 40; +pub const IPV6_ECN: u32 = 50; +pub const IPV6_PKTINFO_EX: u32 = 51; +pub const IPV6_WFP_REDIRECT_RECORDS: u32 = 60; +pub const IPV6_WFP_REDIRECT_CONTEXT: u32 = 70; +pub const IPV6_MTU_DISCOVER: u32 = 71; +pub const IPV6_MTU: u32 = 72; +pub const IPV6_NRT_INTERFACE: u32 = 74; +pub const IPV6_RECVERR: u32 = 75; +pub const IPV6_USER_MTU: u32 = 76; +pub const IP_UNSPECIFIED_HOP_LIMIT: i32 = -1; +pub const IP_PROTECTION_LEVEL: u32 = 23; +pub const PROTECTION_LEVEL_UNRESTRICTED: u32 = 10; +pub const PROTECTION_LEVEL_EDGERESTRICTED: u32 = 20; +pub const PROTECTION_LEVEL_RESTRICTED: u32 = 30; +pub const INET_ADDRSTRLEN: u32 = 22; +pub const INET6_ADDRSTRLEN: u32 = 65; +pub const TCP_OFFLOAD_NO_PREFERENCE: u32 = 0; +pub const TCP_OFFLOAD_NOT_PREFERRED: u32 = 1; +pub const TCP_OFFLOAD_PREFERRED: u32 = 2; +pub const TCP_EXPEDITED_1122: u32 = 2; +pub const TCP_KEEPALIVE: u32 = 3; +pub const TCP_MAXSEG: u32 = 4; +pub const TCP_MAXRT: u32 = 5; +pub const TCP_STDURG: u32 = 6; +pub const TCP_NOURG: u32 = 7; +pub const TCP_ATMARK: u32 = 8; +pub const TCP_NOSYNRETRIES: u32 = 9; +pub const TCP_TIMESTAMPS: u32 = 10; +pub const TCP_OFFLOAD_PREFERENCE: u32 = 11; +pub const TCP_CONGESTION_ALGORITHM: u32 = 12; +pub const TCP_DELAY_FIN_ACK: u32 = 13; +pub const TCP_MAXRTMS: u32 = 14; +pub const TCP_FASTOPEN: u32 = 15; +pub const TCP_KEEPCNT: u32 = 16; +pub const TCP_KEEPIDLE: u32 = 3; +pub const TCP_KEEPINTVL: u32 = 17; +pub const TCP_FAIL_CONNECT_ON_ICMP_ERROR: u32 = 18; +pub const TCP_ICMP_ERROR_INFO: u32 = 19; +pub const UDP_SEND_MSG_SIZE: u32 = 2; +pub const UDP_RECV_MAX_COALESCED_SIZE: u32 = 3; +pub const UDP_COALESCED_INFO: u32 = 3; +pub const UDP_NOCHECKSUM: u32 = 1; +pub const UDP_CHECKSUM_COVERAGE: u32 = 20; +pub const EAI_AGAIN: u32 = 11002; +pub const EAI_BADFLAGS: u32 = 10022; +pub const EAI_FAIL: u32 = 11003; +pub const EAI_FAMILY: u32 = 10047; +pub const EAI_MEMORY: u32 = 8; +pub const EAI_NOSECURENAME: u32 = 11032; +pub const EAI_NONAME: u32 = 11001; +pub const EAI_SERVICE: u32 = 10109; +pub const EAI_SOCKTYPE: u32 = 10044; +pub const EAI_IPSECPOLICY: u32 = 11033; +pub const EAI_NODATA: u32 = 11001; +pub const GAI_STRERROR_BUFFER_SIZE: u32 = 1024; +pub const TIME_UTC: u32 = 1; +pub const QUICHE_PROTOCOL_VERSION: u32 = 1; +pub const QUICHE_MAX_CONN_ID_LEN: u32 = 20; +pub const QUICHE_MIN_CLIENT_INITIAL_LEN: u32 = 1200; +pub const QUICHE_H3_APPLICATION_PROTOCOL: &[u8; 22usize] = b"\x02h3\x05h3-29\x05h3-28\x05h3-27\0"; +pub type va_list = *mut ::std::os::raw::c_char; +extern "C" { + pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...); +} +pub type __vcrt_bool = bool; +pub type wchar_t = ::std::os::raw::c_ushort; +extern "C" { + pub fn __security_init_cookie(); +} +extern "C" { + pub fn __security_check_cookie(_StackCookie: usize); +} +extern "C" { + pub fn __report_gsfailure(_StackCookie: usize) -> !; +} +extern "C" { + pub static mut __security_cookie: usize; +} +pub type int_least8_t = ::std::os::raw::c_schar; +pub type int_least16_t = ::std::os::raw::c_short; +pub type int_least32_t = ::std::os::raw::c_int; +pub type int_least64_t = ::std::os::raw::c_longlong; +pub type uint_least8_t = ::std::os::raw::c_uchar; +pub type uint_least16_t = ::std::os::raw::c_ushort; +pub type uint_least32_t = ::std::os::raw::c_uint; +pub type uint_least64_t = ::std::os::raw::c_ulonglong; +pub type int_fast8_t = ::std::os::raw::c_schar; +pub type int_fast16_t = ::std::os::raw::c_int; +pub type int_fast32_t = ::std::os::raw::c_int; +pub type int_fast64_t = ::std::os::raw::c_longlong; +pub type uint_fast8_t = ::std::os::raw::c_uchar; +pub type uint_fast16_t = ::std::os::raw::c_uint; +pub type uint_fast32_t = ::std::os::raw::c_uint; +pub type uint_fast64_t = ::std::os::raw::c_ulonglong; +pub type intmax_t = ::std::os::raw::c_longlong; +pub type uintmax_t = ::std::os::raw::c_ulonglong; +pub type max_align_t = f64; +pub const _EXCEPTION_DISPOSITION_ExceptionContinueExecution: _EXCEPTION_DISPOSITION = 0; +pub const _EXCEPTION_DISPOSITION_ExceptionContinueSearch: _EXCEPTION_DISPOSITION = 1; +pub const _EXCEPTION_DISPOSITION_ExceptionNestedException: _EXCEPTION_DISPOSITION = 2; +pub const _EXCEPTION_DISPOSITION_ExceptionCollidedUnwind: _EXCEPTION_DISPOSITION = 3; +pub type _EXCEPTION_DISPOSITION = ::std::os::raw::c_int; +pub use self::_EXCEPTION_DISPOSITION as EXCEPTION_DISPOSITION; +extern "C" { + pub fn __C_specific_handler( + ExceptionRecord: *mut _EXCEPTION_RECORD, + EstablisherFrame: *mut ::std::os::raw::c_void, + ContextRecord: *mut _CONTEXT, + DispatcherContext: *mut _DISPATCHER_CONTEXT, + ) -> EXCEPTION_DISPOSITION; +} +extern "C" { + pub fn _exception_code() -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _exception_info() -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _abnormal_termination() -> ::std::os::raw::c_int; +} +pub type __gnuc_va_list = __builtin_va_list; +pub type ULONG = ::std::os::raw::c_ulong; +pub type PULONG = *mut ULONG; +pub type USHORT = ::std::os::raw::c_ushort; +pub type PUSHORT = *mut USHORT; +pub type UCHAR = ::std::os::raw::c_uchar; +pub type PUCHAR = *mut UCHAR; +pub type PSZ = *mut ::std::os::raw::c_char; +pub type DWORD = ::std::os::raw::c_ulong; +pub type BOOL = ::std::os::raw::c_int; +pub type BYTE = ::std::os::raw::c_uchar; +pub type WORD = ::std::os::raw::c_ushort; +pub type FLOAT = f32; +pub type PFLOAT = *mut FLOAT; +pub type PBOOL = *mut BOOL; +pub type LPBOOL = *mut BOOL; +pub type PBYTE = *mut BYTE; +pub type LPBYTE = *mut BYTE; +pub type PINT = *mut ::std::os::raw::c_int; +pub type LPINT = *mut ::std::os::raw::c_int; +pub type PWORD = *mut WORD; +pub type LPWORD = *mut WORD; +pub type LPLONG = *mut ::std::os::raw::c_long; +pub type PDWORD = *mut DWORD; +pub type LPDWORD = *mut DWORD; +pub type LPVOID = *mut ::std::os::raw::c_void; +pub type LPCVOID = *const ::std::os::raw::c_void; +pub type INT = ::std::os::raw::c_int; +pub type UINT = ::std::os::raw::c_uint; +pub type PUINT = *mut ::std::os::raw::c_uint; +pub type __crt_bool = bool; +extern "C" { + pub fn _invalid_parameter_noinfo(); +} +extern "C" { + pub fn _invalid_parameter_noinfo_noreturn() -> !; +} +extern "C" { + pub fn _invoke_watson( + _Expression: *const wchar_t, + _FunctionName: *const wchar_t, + _FileName: *const wchar_t, + _LineNo: ::std::os::raw::c_uint, + _Reserved: usize, + ) -> !; +} +pub type errno_t = ::std::os::raw::c_int; +pub type wint_t = ::std::os::raw::c_ushort; +pub type wctype_t = ::std::os::raw::c_ushort; +pub type __time32_t = ::std::os::raw::c_long; +pub type __time64_t = ::std::os::raw::c_longlong; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __crt_locale_data_public { + pub _locale_pctype: *const ::std::os::raw::c_ushort, + pub _locale_mb_cur_max: ::std::os::raw::c_int, + pub _locale_lc_codepage: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout___crt_locale_data_public() { + const UNINIT: ::std::mem::MaybeUninit<__crt_locale_data_public> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__crt_locale_data_public>(), + 16usize, + concat!("Size of: ", stringify!(__crt_locale_data_public)) + ); + assert_eq!( + ::std::mem::align_of::<__crt_locale_data_public>(), + 8usize, + concat!("Alignment of ", stringify!(__crt_locale_data_public)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._locale_pctype) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__crt_locale_data_public), + "::", + stringify!(_locale_pctype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._locale_mb_cur_max) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__crt_locale_data_public), + "::", + stringify!(_locale_mb_cur_max) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._locale_lc_codepage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__crt_locale_data_public), + "::", + stringify!(_locale_lc_codepage) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __crt_locale_pointers { + pub locinfo: *mut __crt_locale_data, + pub mbcinfo: *mut __crt_multibyte_data, +} +#[test] +fn bindgen_test_layout___crt_locale_pointers() { + const UNINIT: ::std::mem::MaybeUninit<__crt_locale_pointers> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__crt_locale_pointers>(), + 16usize, + concat!("Size of: ", stringify!(__crt_locale_pointers)) + ); + assert_eq!( + ::std::mem::align_of::<__crt_locale_pointers>(), + 8usize, + concat!("Alignment of ", stringify!(__crt_locale_pointers)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).locinfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__crt_locale_pointers), + "::", + stringify!(locinfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mbcinfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__crt_locale_pointers), + "::", + stringify!(mbcinfo) + ) + ); +} +pub type _locale_t = *mut __crt_locale_pointers; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _Mbstatet { + pub _Wchar: ::std::os::raw::c_ulong, + pub _Byte: ::std::os::raw::c_ushort, + pub _State: ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__Mbstatet() { + const UNINIT: ::std::mem::MaybeUninit<_Mbstatet> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_Mbstatet>(), + 8usize, + concat!("Size of: ", stringify!(_Mbstatet)) + ); + assert_eq!( + ::std::mem::align_of::<_Mbstatet>(), + 4usize, + concat!("Alignment of ", stringify!(_Mbstatet)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._Wchar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_Mbstatet), + "::", + stringify!(_Wchar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._Byte) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_Mbstatet), + "::", + stringify!(_Byte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._State) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_Mbstatet), + "::", + stringify!(_State) + ) + ); +} +pub type mbstate_t = _Mbstatet; +pub type time_t = __time64_t; +pub type rsize_t = usize; +extern "C" { + pub fn __pctype_func() -> *const ::std::os::raw::c_ushort; +} +extern "C" { + pub fn __pwctype_func() -> *const wctype_t; +} +extern "C" { + pub fn iswalnum(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswalpha(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswascii(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswblank(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswcntrl(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswdigit(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswgraph(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswlower(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswprint(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswpunct(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswspace(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswupper(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iswxdigit(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __iswcsymf(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __iswcsym(_C: wint_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswalnum_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswalpha_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswblank_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswcntrl_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswgraph_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswlower_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswprint_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswpunct_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswspace_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswupper_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswxdigit_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswcsymf_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iswcsym_l(_C: wint_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn towupper(_C: wint_t) -> wint_t; +} +extern "C" { + pub fn towlower(_C: wint_t) -> wint_t; +} +extern "C" { + pub fn iswctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _towupper_l(_C: wint_t, _Locale: _locale_t) -> wint_t; +} +extern "C" { + pub fn _towlower_l(_C: wint_t, _Locale: _locale_t) -> wint_t; +} +extern "C" { + pub fn _iswctype_l(_C: wint_t, _Type: wctype_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isleadbyte(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isleadbyte_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn is_wctype(_C: wint_t, _Type: wctype_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isctype( + _C: ::std::os::raw::c_int, + _Type: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isctype_l( + _C: ::std::os::raw::c_int, + _Type: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isalpha(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isalpha_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn islower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _islower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isxdigit(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isxdigit_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isspace(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isspace_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ispunct(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _ispunct_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isblank(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isblank_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isalnum(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isalnum_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isprint(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isprint_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn isgraph(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _isgraph_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn iscntrl(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _iscntrl_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _tolower(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _tolower_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _toupper(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _toupper_l(_C: ::std::os::raw::c_int, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __isascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __toascii(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __iscsymf(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __iscsym(_C: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ___mb_cur_max_func() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ___mb_cur_max_l_func(_Locale: _locale_t) -> ::std::os::raw::c_int; +} +pub type POINTER_64_INT = ::std::os::raw::c_ulonglong; +pub type INT8 = ::std::os::raw::c_schar; +pub type PINT8 = *mut ::std::os::raw::c_schar; +pub type INT16 = ::std::os::raw::c_short; +pub type PINT16 = *mut ::std::os::raw::c_short; +pub type INT32 = ::std::os::raw::c_int; +pub type PINT32 = *mut ::std::os::raw::c_int; +pub type INT64 = ::std::os::raw::c_longlong; +pub type PINT64 = *mut ::std::os::raw::c_longlong; +pub type UINT8 = ::std::os::raw::c_uchar; +pub type PUINT8 = *mut ::std::os::raw::c_uchar; +pub type UINT16 = ::std::os::raw::c_ushort; +pub type PUINT16 = *mut ::std::os::raw::c_ushort; +pub type UINT32 = ::std::os::raw::c_uint; +pub type PUINT32 = *mut ::std::os::raw::c_uint; +pub type UINT64 = ::std::os::raw::c_ulonglong; +pub type PUINT64 = *mut ::std::os::raw::c_ulonglong; +pub type LONG32 = ::std::os::raw::c_int; +pub type PLONG32 = *mut ::std::os::raw::c_int; +pub type ULONG32 = ::std::os::raw::c_uint; +pub type PULONG32 = *mut ::std::os::raw::c_uint; +pub type DWORD32 = ::std::os::raw::c_uint; +pub type PDWORD32 = *mut ::std::os::raw::c_uint; +pub type INT_PTR = ::std::os::raw::c_longlong; +pub type PINT_PTR = *mut ::std::os::raw::c_longlong; +pub type UINT_PTR = ::std::os::raw::c_ulonglong; +pub type PUINT_PTR = *mut ::std::os::raw::c_ulonglong; +pub type LONG_PTR = ::std::os::raw::c_longlong; +pub type PLONG_PTR = *mut ::std::os::raw::c_longlong; +pub type ULONG_PTR = ::std::os::raw::c_ulonglong; +pub type PULONG_PTR = *mut ::std::os::raw::c_ulonglong; +pub type SHANDLE_PTR = ::std::os::raw::c_longlong; +pub type HANDLE_PTR = ::std::os::raw::c_ulonglong; +pub type UHALF_PTR = ::std::os::raw::c_uint; +pub type PUHALF_PTR = *mut ::std::os::raw::c_uint; +pub type HALF_PTR = ::std::os::raw::c_int; +pub type PHALF_PTR = *mut ::std::os::raw::c_int; +pub type SIZE_T = ULONG_PTR; +pub type PSIZE_T = *mut ULONG_PTR; +pub type SSIZE_T = LONG_PTR; +pub type PSSIZE_T = *mut LONG_PTR; +pub type DWORD_PTR = ULONG_PTR; +pub type PDWORD_PTR = *mut ULONG_PTR; +pub type LONG64 = ::std::os::raw::c_longlong; +pub type PLONG64 = *mut ::std::os::raw::c_longlong; +pub type ULONG64 = ::std::os::raw::c_ulonglong; +pub type PULONG64 = *mut ::std::os::raw::c_ulonglong; +pub type DWORD64 = ::std::os::raw::c_ulonglong; +pub type PDWORD64 = *mut ::std::os::raw::c_ulonglong; +pub type KAFFINITY = ULONG_PTR; +pub type PKAFFINITY = *mut KAFFINITY; +pub type PVOID = *mut ::std::os::raw::c_void; +pub type CHAR = ::std::os::raw::c_char; +pub type SHORT = ::std::os::raw::c_short; +pub type LONG = ::std::os::raw::c_long; +pub type WCHAR = wchar_t; +pub type PWCHAR = *mut WCHAR; +pub type LPWCH = *mut WCHAR; +pub type PWCH = *mut WCHAR; +pub type LPCWCH = *const WCHAR; +pub type PCWCH = *const WCHAR; +pub type NWPSTR = *mut WCHAR; +pub type LPWSTR = *mut WCHAR; +pub type PWSTR = *mut WCHAR; +pub type PZPWSTR = *mut PWSTR; +pub type PCZPWSTR = *const PWSTR; +pub type LPUWSTR = *mut WCHAR; +pub type PUWSTR = *mut WCHAR; +pub type LPCWSTR = *const WCHAR; +pub type PCWSTR = *const WCHAR; +pub type PZPCWSTR = *mut PCWSTR; +pub type PCZPCWSTR = *const PCWSTR; +pub type LPCUWSTR = *const WCHAR; +pub type PCUWSTR = *const WCHAR; +pub type PZZWSTR = *mut WCHAR; +pub type PCZZWSTR = *const WCHAR; +pub type PUZZWSTR = *mut WCHAR; +pub type PCUZZWSTR = *const WCHAR; +pub type PNZWCH = *mut WCHAR; +pub type PCNZWCH = *const WCHAR; +pub type PUNZWCH = *mut WCHAR; +pub type PCUNZWCH = *const WCHAR; +pub type LPCWCHAR = *const WCHAR; +pub type PCWCHAR = *const WCHAR; +pub type LPCUWCHAR = *const WCHAR; +pub type PCUWCHAR = *const WCHAR; +pub type UCSCHAR = ::std::os::raw::c_ulong; +pub type PUCSCHAR = *mut UCSCHAR; +pub type PCUCSCHAR = *const UCSCHAR; +pub type PUCSSTR = *mut UCSCHAR; +pub type PUUCSSTR = *mut UCSCHAR; +pub type PCUCSSTR = *const UCSCHAR; +pub type PCUUCSSTR = *const UCSCHAR; +pub type PUUCSCHAR = *mut UCSCHAR; +pub type PCUUCSCHAR = *const UCSCHAR; +pub type PCHAR = *mut CHAR; +pub type LPCH = *mut CHAR; +pub type PCH = *mut CHAR; +pub type LPCCH = *const CHAR; +pub type PCCH = *const CHAR; +pub type NPSTR = *mut CHAR; +pub type LPSTR = *mut CHAR; +pub type PSTR = *mut CHAR; +pub type PZPSTR = *mut PSTR; +pub type PCZPSTR = *const PSTR; +pub type LPCSTR = *const CHAR; +pub type PCSTR = *const CHAR; +pub type PZPCSTR = *mut PCSTR; +pub type PCZPCSTR = *const PCSTR; +pub type PZZSTR = *mut CHAR; +pub type PCZZSTR = *const CHAR; +pub type PNZCH = *mut CHAR; +pub type PCNZCH = *const CHAR; +pub type TCHAR = ::std::os::raw::c_char; +pub type PTCHAR = *mut ::std::os::raw::c_char; +pub type TBYTE = ::std::os::raw::c_uchar; +pub type PTBYTE = *mut ::std::os::raw::c_uchar; +pub type LPTCH = LPCH; +pub type PTCH = LPCH; +pub type LPCTCH = LPCCH; +pub type PCTCH = LPCCH; +pub type PTSTR = LPSTR; +pub type LPTSTR = LPSTR; +pub type PUTSTR = LPSTR; +pub type LPUTSTR = LPSTR; +pub type PCTSTR = LPCSTR; +pub type LPCTSTR = LPCSTR; +pub type PCUTSTR = LPCSTR; +pub type LPCUTSTR = LPCSTR; +pub type PZZTSTR = PZZSTR; +pub type PUZZTSTR = PZZSTR; +pub type PCZZTSTR = PCZZSTR; +pub type PCUZZTSTR = PCZZSTR; +pub type PZPTSTR = PZPSTR; +pub type PNZTCH = PNZCH; +pub type PUNZTCH = PNZCH; +pub type PCNZTCH = PCNZCH; +pub type PCUNZTCH = PCNZCH; +pub type PSHORT = *mut SHORT; +pub type PLONG = *mut LONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESSOR_NUMBER { + pub Group: WORD, + pub Number: BYTE, + pub Reserved: BYTE, +} +#[test] +fn bindgen_test_layout__PROCESSOR_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_NUMBER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESSOR_NUMBER>(), + 4usize, + concat!("Size of: ", stringify!(_PROCESSOR_NUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESSOR_NUMBER>(), + 2usize, + concat!("Alignment of ", stringify!(_PROCESSOR_NUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_NUMBER), + "::", + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Number) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_NUMBER), + "::", + stringify!(Number) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_NUMBER), + "::", + stringify!(Reserved) + ) + ); +} +pub type PROCESSOR_NUMBER = _PROCESSOR_NUMBER; +pub type PPROCESSOR_NUMBER = *mut _PROCESSOR_NUMBER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GROUP_AFFINITY { + pub Mask: KAFFINITY, + pub Group: WORD, + pub Reserved: [WORD; 3usize], +} +#[test] +fn bindgen_test_layout__GROUP_AFFINITY() { + const UNINIT: ::std::mem::MaybeUninit<_GROUP_AFFINITY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GROUP_AFFINITY>(), + 16usize, + concat!("Size of: ", stringify!(_GROUP_AFFINITY)) + ); + assert_eq!( + ::std::mem::align_of::<_GROUP_AFFINITY>(), + 8usize, + concat!("Alignment of ", stringify!(_GROUP_AFFINITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_AFFINITY), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_AFFINITY), + "::", + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_AFFINITY), + "::", + stringify!(Reserved) + ) + ); +} +pub type GROUP_AFFINITY = _GROUP_AFFINITY; +pub type PGROUP_AFFINITY = *mut _GROUP_AFFINITY; +pub type HANDLE = *mut ::std::os::raw::c_void; +pub type PHANDLE = *mut HANDLE; +pub type FCHAR = BYTE; +pub type FSHORT = WORD; +pub type FLONG = DWORD; +pub type HRESULT = ::std::os::raw::c_long; +pub type CCHAR = ::std::os::raw::c_char; +pub type LCID = DWORD; +pub type PLCID = PDWORD; +pub type LANGID = WORD; +pub const COMPARTMENT_ID_UNSPECIFIED_COMPARTMENT_ID: COMPARTMENT_ID = 0; +pub const COMPARTMENT_ID_DEFAULT_COMPARTMENT_ID: COMPARTMENT_ID = 1; +pub type COMPARTMENT_ID = ::std::os::raw::c_int; +pub type PCOMPARTMENT_ID = *mut COMPARTMENT_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FLOAT128 { + pub LowPart: ::std::os::raw::c_longlong, + pub HighPart: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__FLOAT128() { + const UNINIT: ::std::mem::MaybeUninit<_FLOAT128> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FLOAT128>(), + 16usize, + concat!("Size of: ", stringify!(_FLOAT128)) + ); + assert_eq!( + ::std::mem::align_of::<_FLOAT128>(), + 8usize, + concat!("Alignment of ", stringify!(_FLOAT128)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FLOAT128), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FLOAT128), + "::", + stringify!(HighPart) + ) + ); +} +pub type FLOAT128 = _FLOAT128; +pub type PFLOAT128 = *mut FLOAT128; +pub type LONGLONG = ::std::os::raw::c_longlong; +pub type ULONGLONG = ::std::os::raw::c_ulonglong; +pub type PLONGLONG = *mut LONGLONG; +pub type PULONGLONG = *mut ULONGLONG; +pub type USN = LONGLONG; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _LARGE_INTEGER { + pub __bindgen_anon_1: _LARGE_INTEGER__bindgen_ty_1, + pub u: _LARGE_INTEGER__bindgen_ty_2, + pub QuadPart: LONGLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LARGE_INTEGER__bindgen_ty_1 { + pub LowPart: DWORD, + pub HighPart: LONG, +} +#[test] +fn bindgen_test_layout__LARGE_INTEGER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_LARGE_INTEGER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LARGE_INTEGER__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_LARGE_INTEGER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_LARGE_INTEGER__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_LARGE_INTEGER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER__bindgen_ty_1), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER__bindgen_ty_1), + "::", + stringify!(HighPart) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LARGE_INTEGER__bindgen_ty_2 { + pub LowPart: DWORD, + pub HighPart: LONG, +} +#[test] +fn bindgen_test_layout__LARGE_INTEGER__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_LARGE_INTEGER__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LARGE_INTEGER__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_LARGE_INTEGER__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_LARGE_INTEGER__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_LARGE_INTEGER__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER__bindgen_ty_2), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER__bindgen_ty_2), + "::", + stringify!(HighPart) + ) + ); +} +#[test] +fn bindgen_test_layout__LARGE_INTEGER() { + const UNINIT: ::std::mem::MaybeUninit<_LARGE_INTEGER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LARGE_INTEGER>(), + 8usize, + concat!("Size of: ", stringify!(_LARGE_INTEGER)) + ); + assert_eq!( + ::std::mem::align_of::<_LARGE_INTEGER>(), + 8usize, + concat!("Alignment of ", stringify!(_LARGE_INTEGER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QuadPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LARGE_INTEGER), + "::", + stringify!(QuadPart) + ) + ); +} +pub type LARGE_INTEGER = _LARGE_INTEGER; +pub type PLARGE_INTEGER = *mut LARGE_INTEGER; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _ULARGE_INTEGER { + pub __bindgen_anon_1: _ULARGE_INTEGER__bindgen_ty_1, + pub u: _ULARGE_INTEGER__bindgen_ty_2, + pub QuadPart: ULONGLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ULARGE_INTEGER__bindgen_ty_1 { + pub LowPart: DWORD, + pub HighPart: DWORD, +} +#[test] +fn bindgen_test_layout__ULARGE_INTEGER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_ULARGE_INTEGER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ULARGE_INTEGER__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_ULARGE_INTEGER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_ULARGE_INTEGER__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_ULARGE_INTEGER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ULARGE_INTEGER__bindgen_ty_1), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ULARGE_INTEGER__bindgen_ty_1), + "::", + stringify!(HighPart) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ULARGE_INTEGER__bindgen_ty_2 { + pub LowPart: DWORD, + pub HighPart: DWORD, +} +#[test] +fn bindgen_test_layout__ULARGE_INTEGER__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_ULARGE_INTEGER__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ULARGE_INTEGER__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_ULARGE_INTEGER__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_ULARGE_INTEGER__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_ULARGE_INTEGER__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ULARGE_INTEGER__bindgen_ty_2), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ULARGE_INTEGER__bindgen_ty_2), + "::", + stringify!(HighPart) + ) + ); +} +#[test] +fn bindgen_test_layout__ULARGE_INTEGER() { + const UNINIT: ::std::mem::MaybeUninit<_ULARGE_INTEGER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ULARGE_INTEGER>(), + 8usize, + concat!("Size of: ", stringify!(_ULARGE_INTEGER)) + ); + assert_eq!( + ::std::mem::align_of::<_ULARGE_INTEGER>(), + 8usize, + concat!("Alignment of ", stringify!(_ULARGE_INTEGER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ULARGE_INTEGER), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QuadPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ULARGE_INTEGER), + "::", + stringify!(QuadPart) + ) + ); +} +pub type ULARGE_INTEGER = _ULARGE_INTEGER; +pub type PULARGE_INTEGER = *mut ULARGE_INTEGER; +pub type RTL_REFERENCE_COUNT = LONG_PTR; +pub type PRTL_REFERENCE_COUNT = *mut LONG_PTR; +pub type RTL_REFERENCE_COUNT32 = LONG; +pub type PRTL_REFERENCE_COUNT32 = *mut LONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LUID { + pub LowPart: DWORD, + pub HighPart: LONG, +} +#[test] +fn bindgen_test_layout__LUID() { + const UNINIT: ::std::mem::MaybeUninit<_LUID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LUID>(), + 8usize, + concat!("Size of: ", stringify!(_LUID)) + ); + assert_eq!( + ::std::mem::align_of::<_LUID>(), + 4usize, + concat!("Alignment of ", stringify!(_LUID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LUID), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LUID), + "::", + stringify!(HighPart) + ) + ); +} +pub type LUID = _LUID; +pub type PLUID = *mut _LUID; +pub type DWORDLONG = ULONGLONG; +pub type PDWORDLONG = *mut DWORDLONG; +extern "C" { + pub fn _rotl8( + Value: ::std::os::raw::c_uchar, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _rotl16( + Value: ::std::os::raw::c_ushort, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn _rotr8( + Value: ::std::os::raw::c_uchar, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _rotr16( + Value: ::std::os::raw::c_ushort, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn _rotl( + Value: ::std::os::raw::c_uint, + Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn _rotl64( + Value: ::std::os::raw::c_ulonglong, + Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _rotr( + Value: ::std::os::raw::c_uint, + Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn _rotr64( + Value: ::std::os::raw::c_ulonglong, + Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +pub type BOOLEAN = BYTE; +pub type PBOOLEAN = *mut BOOLEAN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LIST_ENTRY { + pub Flink: *mut _LIST_ENTRY, + pub Blink: *mut _LIST_ENTRY, +} +#[test] +fn bindgen_test_layout__LIST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_LIST_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LIST_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_LIST_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_LIST_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_LIST_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flink) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LIST_ENTRY), + "::", + stringify!(Flink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Blink) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LIST_ENTRY), + "::", + stringify!(Blink) + ) + ); +} +pub type LIST_ENTRY = _LIST_ENTRY; +pub type PLIST_ENTRY = *mut _LIST_ENTRY; +pub type PRLIST_ENTRY = *mut _LIST_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SINGLE_LIST_ENTRY { + pub Next: *mut _SINGLE_LIST_ENTRY, +} +#[test] +fn bindgen_test_layout__SINGLE_LIST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_SINGLE_LIST_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SINGLE_LIST_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_SINGLE_LIST_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_SINGLE_LIST_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_SINGLE_LIST_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SINGLE_LIST_ENTRY), + "::", + stringify!(Next) + ) + ); +} +pub type SINGLE_LIST_ENTRY = _SINGLE_LIST_ENTRY; +pub type PSINGLE_LIST_ENTRY = *mut _SINGLE_LIST_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LIST_ENTRY32 { + pub Flink: DWORD, + pub Blink: DWORD, +} +#[test] +fn bindgen_test_layout_LIST_ENTRY32() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(LIST_ENTRY32)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(LIST_ENTRY32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flink) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(LIST_ENTRY32), + "::", + stringify!(Flink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Blink) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(LIST_ENTRY32), + "::", + stringify!(Blink) + ) + ); +} +pub type PLIST_ENTRY32 = *mut LIST_ENTRY32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct LIST_ENTRY64 { + pub Flink: ULONGLONG, + pub Blink: ULONGLONG, +} +#[test] +fn bindgen_test_layout_LIST_ENTRY64() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(LIST_ENTRY64)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(LIST_ENTRY64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flink) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(LIST_ENTRY64), + "::", + stringify!(Flink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Blink) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(LIST_ENTRY64), + "::", + stringify!(Blink) + ) + ); +} +pub type PLIST_ENTRY64 = *mut LIST_ENTRY64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GUID { + pub Data1: ::std::os::raw::c_ulong, + pub Data2: ::std::os::raw::c_ushort, + pub Data3: ::std::os::raw::c_ushort, + pub Data4: [::std::os::raw::c_uchar; 8usize], +} +#[test] +fn bindgen_test_layout__GUID() { + const UNINIT: ::std::mem::MaybeUninit<_GUID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GUID>(), + 16usize, + concat!("Size of: ", stringify!(_GUID)) + ); + assert_eq!( + ::std::mem::align_of::<_GUID>(), + 4usize, + concat!("Alignment of ", stringify!(_GUID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GUID), + "::", + stringify!(Data1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GUID), + "::", + stringify!(Data2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data3) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_GUID), + "::", + stringify!(Data3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data4) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GUID), + "::", + stringify!(Data4) + ) + ); +} +pub type GUID = _GUID; +pub type LPGUID = *mut GUID; +pub type LPCGUID = *const GUID; +pub type IID = GUID; +pub type LPIID = *mut IID; +pub type CLSID = GUID; +pub type LPCLSID = *mut CLSID; +pub type FMTID = GUID; +pub type LPFMTID = *mut FMTID; +extern "C" { + pub fn _errno() -> *mut ::std::os::raw::c_int; +} +extern "C" { + pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t; +} +extern "C" { + pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t; +} +extern "C" { + pub fn __doserrno() -> *mut ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t; +} +extern "C" { + pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t; +} +extern "C" { + pub fn memchr( + _Buf: *const ::std::os::raw::c_void, + _Val: ::std::os::raw::c_int, + _MaxCount: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memcmp( + _Buf1: *const ::std::os::raw::c_void, + _Buf2: *const ::std::os::raw::c_void, + _Size: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn memcpy( + _Dst: *mut ::std::os::raw::c_void, + _Src: *const ::std::os::raw::c_void, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memmove( + _Dst: *mut ::std::os::raw::c_void, + _Src: *const ::std::os::raw::c_void, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memset( + _Dst: *mut ::std::os::raw::c_void, + _Val: ::std::os::raw::c_int, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn strchr( + _Str: *const ::std::os::raw::c_char, + _Val: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strrchr( + _Str: *const ::std::os::raw::c_char, + _Ch: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strstr( + _Str: *const ::std::os::raw::c_char, + _SubStr: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn wcschr( + _Str: *const ::std::os::raw::c_ushort, + _Ch: ::std::os::raw::c_ushort, + ) -> *mut ::std::os::raw::c_ushort; +} +extern "C" { + pub fn wcsrchr(_Str: *const wchar_t, _Ch: wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsstr(_Str: *const wchar_t, _SubStr: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _memicmp( + _Buf1: *const ::std::os::raw::c_void, + _Buf2: *const ::std::os::raw::c_void, + _Size: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _memicmp_l( + _Buf1: *const ::std::os::raw::c_void, + _Buf2: *const ::std::os::raw::c_void, + _Size: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn memccpy( + _Dst: *mut ::std::os::raw::c_void, + _Src: *const ::std::os::raw::c_void, + _Val: ::std::os::raw::c_int, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn memicmp( + _Buf1: *const ::std::os::raw::c_void, + _Buf2: *const ::std::os::raw::c_void, + _Size: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcscat_s( + _Destination: *mut wchar_t, + _SizeInWords: rsize_t, + _Source: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn wcscpy_s( + _Destination: *mut wchar_t, + _SizeInWords: rsize_t, + _Source: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn wcsncat_s( + _Destination: *mut wchar_t, + _SizeInWords: rsize_t, + _Source: *const wchar_t, + _MaxCount: rsize_t, + ) -> errno_t; +} +extern "C" { + pub fn wcsncpy_s( + _Destination: *mut wchar_t, + _SizeInWords: rsize_t, + _Source: *const wchar_t, + _MaxCount: rsize_t, + ) -> errno_t; +} +extern "C" { + pub fn wcstok_s( + _String: *mut wchar_t, + _Delimiter: *const wchar_t, + _Context: *mut *mut wchar_t, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsdup(_String: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcscat(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcscmp( + _String1: *const ::std::os::raw::c_ushort, + _String2: *const ::std::os::raw::c_ushort, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcscpy(_Destination: *mut wchar_t, _Source: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcscspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize; +} +extern "C" { + pub fn wcslen(_String: *const ::std::os::raw::c_ushort) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn wcsnlen(_Source: *const wchar_t, _MaxCount: usize) -> usize; +} +extern "C" { + pub fn wcsncat( + _Destination: *mut wchar_t, + _Source: *const wchar_t, + _Count: usize, + ) -> *mut wchar_t; +} +extern "C" { + pub fn wcsncmp( + _String1: *const ::std::os::raw::c_ushort, + _String2: *const ::std::os::raw::c_ushort, + _MaxCount: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcsncpy( + _Destination: *mut wchar_t, + _Source: *const wchar_t, + _Count: usize, + ) -> *mut wchar_t; +} +extern "C" { + pub fn wcspbrk(_String: *const wchar_t, _Control: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsspn(_String: *const wchar_t, _Control: *const wchar_t) -> usize; +} +extern "C" { + pub fn wcstok( + _String: *mut wchar_t, + _Delimiter: *const wchar_t, + _Context: *mut *mut wchar_t, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _wcserror(_ErrorNumber: ::std::os::raw::c_int) -> *mut wchar_t; +} +extern "C" { + pub fn _wcserror_s( + _Buffer: *mut wchar_t, + _SizeInWords: usize, + _ErrorNumber: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn __wcserror(_String: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn __wcserror_s( + _Buffer: *mut wchar_t, + _SizeInWords: usize, + _ErrorMessage: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsicmp_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnicmp( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnicmp_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnset_s( + _Destination: *mut wchar_t, + _SizeInWords: usize, + _Value: wchar_t, + _MaxCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsrev(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsset_s(_Destination: *mut wchar_t, _SizeInWords: usize, _Value: wchar_t) -> errno_t; +} +extern "C" { + pub fn _wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcslwr_s(_String: *mut wchar_t, _SizeInWords: usize) -> errno_t; +} +extern "C" { + pub fn _wcslwr(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcslwr_s_l(_String: *mut wchar_t, _SizeInWords: usize, _Locale: _locale_t) -> errno_t; +} +extern "C" { + pub fn _wcslwr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsupr_s(_String: *mut wchar_t, _Size: usize) -> errno_t; +} +extern "C" { + pub fn _wcsupr(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wcsupr_s_l(_String: *mut wchar_t, _Size: usize, _Locale: _locale_t) -> errno_t; +} +extern "C" { + pub fn _wcsupr_l(_String: *mut wchar_t, _Locale: _locale_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsxfrm(_Destination: *mut wchar_t, _Source: *const wchar_t, _MaxCount: usize) -> usize; +} +extern "C" { + pub fn _wcsxfrm_l( + _Destination: *mut wchar_t, + _Source: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn wcscoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcscoll_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsicoll_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsncoll( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsncoll_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnicoll( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wcsnicoll_l( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcsdup(_String: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsicmp(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcsnicmp( + _String1: *const wchar_t, + _String2: *const wchar_t, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wcsnset(_String: *mut wchar_t, _Value: wchar_t, _MaxCount: usize) -> *mut wchar_t; +} +extern "C" { + pub fn wcsrev(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsset(_String: *mut wchar_t, _Value: wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcslwr(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsupr(_String: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn wcsicoll(_String1: *const wchar_t, _String2: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcpy_s( + _Destination: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _Source: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn strcat_s( + _Destination: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _Source: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn strerror_s( + _Buffer: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _ErrorNumber: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn strncat_s( + _Destination: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _Source: *const ::std::os::raw::c_char, + _MaxCount: rsize_t, + ) -> errno_t; +} +extern "C" { + pub fn strncpy_s( + _Destination: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _Source: *const ::std::os::raw::c_char, + _MaxCount: rsize_t, + ) -> errno_t; +} +extern "C" { + pub fn strtok_s( + _String: *mut ::std::os::raw::c_char, + _Delimiter: *const ::std::os::raw::c_char, + _Context: *mut *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _memccpy( + _Dst: *mut ::std::os::raw::c_void, + _Src: *const ::std::os::raw::c_void, + _Val: ::std::os::raw::c_int, + _MaxCount: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn strcat( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcmp( + _Str1: *const ::std::os::raw::c_char, + _Str2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strcmpi( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcoll( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strcoll_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strcpy( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcspn( + _Str: *const ::std::os::raw::c_char, + _Control: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strdup(_Source: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strerror(_ErrorMessage: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strerror_s( + _Buffer: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _ErrorMessage: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn strerror(_ErrorMessage: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _stricmp( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _stricoll( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _stricoll_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _stricmp_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strlen(_Str: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strlwr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t; +} +extern "C" { + pub fn _strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strlwr_s_l( + _String: *mut ::std::os::raw::c_char, + _Size: usize, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn _strlwr_l( + _String: *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strncat( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + _Count: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strncmp( + _Str1: *const ::std::os::raw::c_char, + _Str2: *const ::std::os::raw::c_char, + _MaxCount: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strnicmp( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strnicmp_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strnicoll( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strnicoll_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strncoll( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _strncoll_l( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __strncnt(_String: *const ::std::os::raw::c_char, _Count: usize) -> usize; +} +extern "C" { + pub fn strncpy( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + _Count: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize; +} +extern "C" { + pub fn _strnset_s( + _String: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _Value: ::std::os::raw::c_int, + _MaxCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _strnset( + _Destination: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_int, + _Count: usize, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strpbrk( + _Str: *const ::std::os::raw::c_char, + _Control: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strrev(_Str: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strset_s( + _Destination: *mut ::std::os::raw::c_char, + _DestinationSize: usize, + _Value: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _strset( + _Destination: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strspn( + _Str: *const ::std::os::raw::c_char, + _Control: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn strtok( + _String: *mut ::std::os::raw::c_char, + _Delimiter: *const ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strupr_s(_String: *mut ::std::os::raw::c_char, _Size: usize) -> errno_t; +} +extern "C" { + pub fn _strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strupr_s_l( + _String: *mut ::std::os::raw::c_char, + _Size: usize, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn _strupr_l( + _String: *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strxfrm( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + _MaxCount: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strxfrm_l( + _Destination: *mut ::std::os::raw::c_char, + _Source: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn strdup(_String: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strcmpi( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn stricmp( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strlwr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strnicmp( + _String1: *const ::std::os::raw::c_char, + _String2: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strnset( + _String: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_int, + _MaxCount: usize, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strrev(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strset( + _String: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn strupr(_String: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OBJECTID { + pub Lineage: GUID, + pub Uniquifier: DWORD, +} +#[test] +fn bindgen_test_layout__OBJECTID() { + const UNINIT: ::std::mem::MaybeUninit<_OBJECTID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OBJECTID>(), + 20usize, + concat!("Size of: ", stringify!(_OBJECTID)) + ); + assert_eq!( + ::std::mem::align_of::<_OBJECTID>(), + 4usize, + concat!("Alignment of ", stringify!(_OBJECTID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lineage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OBJECTID), + "::", + stringify!(Lineage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uniquifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OBJECTID), + "::", + stringify!(Uniquifier) + ) + ); +} +pub type OBJECTID = _OBJECTID; +pub type PEXCEPTION_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut _EXCEPTION_RECORD, + arg2: PVOID, + arg3: *mut _CONTEXT, + arg4: PVOID, + ) -> EXCEPTION_DISPOSITION, +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _bindgen_ty_1 { + pub x: ::std::os::raw::c_char, + pub test: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_bindgen_ty_1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).test) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_1), + "::", + stringify!(test) + ) + ); +} +pub type __C_ASSERT__ = [::std::os::raw::c_char; 1usize]; +pub type KSPIN_LOCK = ULONG_PTR; +pub type PKSPIN_LOCK = *mut KSPIN_LOCK; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _M128A { + pub Low: ULONGLONG, + pub High: LONGLONG, +} +#[test] +fn bindgen_test_layout__M128A() { + const UNINIT: ::std::mem::MaybeUninit<_M128A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_M128A>(), + 16usize, + concat!("Size of: ", stringify!(_M128A)) + ); + assert_eq!( + ::std::mem::align_of::<_M128A>(), + 16usize, + concat!("Alignment of ", stringify!(_M128A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Low) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_M128A), + "::", + stringify!(Low) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).High) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_M128A), + "::", + stringify!(High) + ) + ); +} +pub type M128A = _M128A; +pub type PM128A = *mut _M128A; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _XSAVE_FORMAT { + pub ControlWord: WORD, + pub StatusWord: WORD, + pub TagWord: BYTE, + pub Reserved1: BYTE, + pub ErrorOpcode: WORD, + pub ErrorOffset: DWORD, + pub ErrorSelector: WORD, + pub Reserved2: WORD, + pub DataOffset: DWORD, + pub DataSelector: WORD, + pub Reserved3: WORD, + pub MxCsr: DWORD, + pub MxCsr_Mask: DWORD, + pub FloatRegisters: [M128A; 8usize], + pub XmmRegisters: [M128A; 16usize], + pub Reserved4: [BYTE; 96usize], +} +#[test] +fn bindgen_test_layout__XSAVE_FORMAT() { + const UNINIT: ::std::mem::MaybeUninit<_XSAVE_FORMAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSAVE_FORMAT>(), + 512usize, + concat!("Size of: ", stringify!(_XSAVE_FORMAT)) + ); + assert_eq!( + ::std::mem::align_of::<_XSAVE_FORMAT>(), + 16usize, + concat!("Alignment of ", stringify!(_XSAVE_FORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlWord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(ControlWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusWord) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(StatusWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TagWord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(TagWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorOpcode) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(ErrorOpcode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(ErrorOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorSelector) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(ErrorSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(DataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSelector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(DataSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MxCsr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(MxCsr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MxCsr_Mask) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(MxCsr_Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FloatRegisters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(FloatRegisters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XmmRegisters) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(XmmRegisters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved4) as usize - ptr as usize }, + 416usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_FORMAT), + "::", + stringify!(Reserved4) + ) + ); +} +pub type XSAVE_FORMAT = _XSAVE_FORMAT; +pub type PXSAVE_FORMAT = *mut _XSAVE_FORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XSAVE_CET_U_FORMAT { + pub Ia32CetUMsr: DWORD64, + pub Ia32Pl3SspMsr: DWORD64, +} +#[test] +fn bindgen_test_layout__XSAVE_CET_U_FORMAT() { + const UNINIT: ::std::mem::MaybeUninit<_XSAVE_CET_U_FORMAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSAVE_CET_U_FORMAT>(), + 16usize, + concat!("Size of: ", stringify!(_XSAVE_CET_U_FORMAT)) + ); + assert_eq!( + ::std::mem::align_of::<_XSAVE_CET_U_FORMAT>(), + 8usize, + concat!("Alignment of ", stringify!(_XSAVE_CET_U_FORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ia32CetUMsr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_CET_U_FORMAT), + "::", + stringify!(Ia32CetUMsr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ia32Pl3SspMsr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_CET_U_FORMAT), + "::", + stringify!(Ia32Pl3SspMsr) + ) + ); +} +pub type XSAVE_CET_U_FORMAT = _XSAVE_CET_U_FORMAT; +pub type PXSAVE_CET_U_FORMAT = *mut _XSAVE_CET_U_FORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XSAVE_AREA_HEADER { + pub Mask: DWORD64, + pub CompactionMask: DWORD64, + pub Reserved2: [DWORD64; 6usize], +} +#[test] +fn bindgen_test_layout__XSAVE_AREA_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_XSAVE_AREA_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSAVE_AREA_HEADER>(), + 64usize, + concat!("Size of: ", stringify!(_XSAVE_AREA_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_XSAVE_AREA_HEADER>(), + 8usize, + concat!("Alignment of ", stringify!(_XSAVE_AREA_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA_HEADER), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompactionMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA_HEADER), + "::", + stringify!(CompactionMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA_HEADER), + "::", + stringify!(Reserved2) + ) + ); +} +pub type XSAVE_AREA_HEADER = _XSAVE_AREA_HEADER; +pub type PXSAVE_AREA_HEADER = *mut _XSAVE_AREA_HEADER; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _XSAVE_AREA { + pub LegacyState: XSAVE_FORMAT, + pub Header: XSAVE_AREA_HEADER, +} +#[test] +fn bindgen_test_layout__XSAVE_AREA() { + const UNINIT: ::std::mem::MaybeUninit<_XSAVE_AREA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSAVE_AREA>(), + 576usize, + concat!("Size of: ", stringify!(_XSAVE_AREA)) + ); + assert_eq!( + ::std::mem::align_of::<_XSAVE_AREA>(), + 16usize, + concat!("Alignment of ", stringify!(_XSAVE_AREA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LegacyState) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA), + "::", + stringify!(LegacyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 512usize, + concat!( + "Offset of field: ", + stringify!(_XSAVE_AREA), + "::", + stringify!(Header) + ) + ); +} +pub type XSAVE_AREA = _XSAVE_AREA; +pub type PXSAVE_AREA = *mut _XSAVE_AREA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XSTATE_CONTEXT { + pub Mask: DWORD64, + pub Length: DWORD, + pub Reserved1: DWORD, + pub Area: PXSAVE_AREA, + pub Buffer: PVOID, +} +#[test] +fn bindgen_test_layout__XSTATE_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_XSTATE_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSTATE_CONTEXT>(), + 32usize, + concat!("Size of: ", stringify!(_XSTATE_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_XSTATE_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Area) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Area) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONTEXT), + "::", + stringify!(Buffer) + ) + ); +} +pub type XSTATE_CONTEXT = _XSTATE_CONTEXT; +pub type PXSTATE_CONTEXT = *mut _XSTATE_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_AMD64 { + pub Count: DWORD, + pub ScopeRecord: [_SCOPE_TABLE_AMD64__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_AMD64__bindgen_ty_1 { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub HandlerAddress: DWORD, + pub JumpTarget: DWORD, +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_AMD64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_AMD64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_AMD64__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_AMD64__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), + "::", + stringify!(HandlerAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JumpTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64__bindgen_ty_1), + "::", + stringify!(JumpTarget) + ) + ); +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_AMD64() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_AMD64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_AMD64>(), + 20usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_AMD64)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_AMD64>(), + 4usize, + concat!("Alignment of ", stringify!(_SCOPE_TABLE_AMD64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScopeRecord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_AMD64), + "::", + stringify!(ScopeRecord) + ) + ); +} +pub type SCOPE_TABLE_AMD64 = _SCOPE_TABLE_AMD64; +pub type PSCOPE_TABLE_AMD64 = *mut _SCOPE_TABLE_AMD64; +extern "C" { + pub fn _bittest( + Base: *const ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandcomplement( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandset( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandreset( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _interlockedbittestandset( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _interlockedbittestandreset( + Base: *mut ::std::os::raw::c_long, + Offset: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittest64( + Base: *const ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandcomplement64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandset64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _bittestandreset64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _interlockedbittestandset64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _interlockedbittestandreset64( + Base: *mut ::std::os::raw::c_longlong, + Offset: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _BitScanForward( + Index: *mut ::std::os::raw::c_ulong, + Mask: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _BitScanReverse( + Index: *mut ::std::os::raw::c_ulong, + Mask: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _BitScanForward64( + Index: *mut ::std::os::raw::c_ulong, + Mask: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _BitScanReverse64( + Index: *mut ::std::os::raw::c_ulong, + Mask: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _InterlockedIncrement16(Addend: *mut ::std::os::raw::c_short) + -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedDecrement16(Addend: *mut ::std::os::raw::c_short) + -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedCompareExchange16( + Destination: *mut ::std::os::raw::c_short, + ExChange: ::std::os::raw::c_short, + Comperand: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedAnd( + Destination: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedOr( + Destination: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedXor( + Destination: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedAnd64( + Destination: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedOr64( + Destination: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedXor64( + Destination: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedIncrement(Addend: *mut ::std::os::raw::c_long) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedDecrement(Addend: *mut ::std::os::raw::c_long) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedExchange( + Target: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedExchangeAdd( + Addend: *mut ::std::os::raw::c_long, + Value: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedCompareExchange( + Destination: *mut ::std::os::raw::c_long, + ExChange: ::std::os::raw::c_long, + Comperand: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _InterlockedIncrement64( + Addend: *mut ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedDecrement64( + Addend: *mut ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedExchange64( + Target: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedExchangeAdd64( + Addend: *mut ::std::os::raw::c_longlong, + Value: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedCompareExchange64( + Destination: *mut ::std::os::raw::c_longlong, + ExChange: ::std::os::raw::c_longlong, + Comperand: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _InterlockedCompareExchange128( + Destination: *mut ::std::os::raw::c_longlong, + ExchangeHigh: ::std::os::raw::c_longlong, + ExchangeLow: ::std::os::raw::c_longlong, + ComparandResult: *mut ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn _InterlockedCompareExchangePointer( + Destination: *mut *mut ::std::os::raw::c_void, + Exchange: *mut ::std::os::raw::c_void, + Comperand: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _InterlockedExchangePointer( + Target: *mut *mut ::std::os::raw::c_void, + Value: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _InterlockedExchange8( + Target: *mut ::std::os::raw::c_char, + Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedExchange16( + Destination: *mut ::std::os::raw::c_short, + ExChange: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedExchangeAdd8( + _Addend: *mut ::std::os::raw::c_char, + _Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedAnd8( + Destination: *mut ::std::os::raw::c_char, + Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedOr8( + Destination: *mut ::std::os::raw::c_char, + Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedXor8( + Destination: *mut ::std::os::raw::c_char, + Value: ::std::os::raw::c_char, + ) -> ::std::os::raw::c_char; +} +extern "C" { + pub fn _InterlockedAnd16( + Destination: *mut ::std::os::raw::c_short, + Value: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedOr16( + Destination: *mut ::std::os::raw::c_short, + Value: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn _InterlockedXor16( + Destination: *mut ::std::os::raw::c_short, + Value: ::std::os::raw::c_short, + ) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn __cpuidex( + CPUInfo: *mut ::std::os::raw::c_int, + Function: ::std::os::raw::c_int, + SubLeaf: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn _mm_clflush(Address: *const ::std::os::raw::c_void); +} +extern "C" { + pub fn _ReadWriteBarrier(); +} +extern "C" { + pub fn __faststorefence(); +} +extern "C" { + pub fn _mm_lfence(); +} +extern "C" { + pub fn _mm_mfence(); +} +extern "C" { + pub fn _mm_sfence(); +} +extern "C" { + pub fn _mm_pause(); +} +extern "C" { + pub fn _mm_prefetch(a: *const ::std::os::raw::c_char, sel: ::std::os::raw::c_int); +} +extern "C" { + pub fn _m_prefetchw(Source: *const ::std::os::raw::c_void); +} +extern "C" { + pub fn _mm_getcsr() -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn _mm_setcsr(MxCsr: ::std::os::raw::c_uint); +} +extern "C" { + pub fn __getcallerseflags() -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn __segmentlimit(Selector: DWORD) -> DWORD; +} +extern "C" { + pub fn __readpmc(Counter: DWORD) -> DWORD64; +} +extern "C" { + pub fn __rdtsc() -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __movsb(Destination: PBYTE, Source: *const BYTE, Count: SIZE_T); +} +extern "C" { + pub fn __movsw(Destination: PWORD, Source: *const WORD, Count: SIZE_T); +} +extern "C" { + pub fn __movsd(Destination: PDWORD, Source: *const DWORD, Count: SIZE_T); +} +extern "C" { + pub fn __movsq(Destination: PDWORD64, Source: *const DWORD64, Count: SIZE_T); +} +extern "C" { + pub fn __stosb( + Destination: *mut ::std::os::raw::c_uchar, + Value: ::std::os::raw::c_uchar, + Count: ::std::os::raw::c_ulonglong, + ); +} +extern "C" { + pub fn __stosw(Destination: PWORD, Value: WORD, Count: SIZE_T); +} +extern "C" { + pub fn __stosd(Destination: PDWORD, Value: DWORD, Count: SIZE_T); +} +extern "C" { + pub fn __stosq(Destination: PDWORD64, Value: DWORD64, Count: SIZE_T); +} +extern "C" { + pub fn __mulh( + Multiplier: ::std::os::raw::c_longlong, + Multiplicand: ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn __umulh( + Multiplier: ::std::os::raw::c_ulonglong, + Multiplicand: ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __popcnt64(operand: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __shiftleft128( + LowPart: ::std::os::raw::c_ulonglong, + HighPart: ::std::os::raw::c_ulonglong, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __shiftright128( + LowPart: ::std::os::raw::c_ulonglong, + HighPart: ::std::os::raw::c_ulonglong, + Shift: ::std::os::raw::c_uchar, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _mul128( + Multiplier: ::std::os::raw::c_longlong, + Multiplicand: ::std::os::raw::c_longlong, + HighProduct: *mut ::std::os::raw::c_longlong, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _umul128( + Multiplier: ::std::os::raw::c_ulonglong, + Multiplicand: ::std::os::raw::c_ulonglong, + HighProduct: *mut ::std::os::raw::c_ulonglong, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __readgsbyte(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_uchar; +} +extern "C" { + pub fn __readgsword(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn __readgsdword(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn __readgsqword(Offset: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn __writegsbyte(Offset: DWORD, Data: BYTE); +} +extern "C" { + pub fn __writegsword(Offset: DWORD, Data: WORD); +} +extern "C" { + pub fn __writegsdword(Offset: DWORD, Data: DWORD); +} +extern "C" { + pub fn __writegsqword(Offset: DWORD, Data: DWORD64); +} +extern "C" { + pub fn __incgsbyte(Offset: DWORD); +} +extern "C" { + pub fn __addgsbyte(Offset: DWORD, Value: BYTE); +} +extern "C" { + pub fn __incgsword(Offset: DWORD); +} +extern "C" { + pub fn __addgsword(Offset: DWORD, Value: WORD); +} +extern "C" { + pub fn __incgsdword(Offset: DWORD); +} +extern "C" { + pub fn __addgsdword(Offset: DWORD, Value: DWORD); +} +extern "C" { + pub fn __incgsqword(Offset: DWORD); +} +extern "C" { + pub fn __addgsqword(Offset: DWORD, Value: DWORD64); +} +pub type XMM_SAVE_AREA32 = XSAVE_FORMAT; +pub type PXMM_SAVE_AREA32 = *mut XSAVE_FORMAT; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub struct _CONTEXT { + pub P1Home: DWORD64, + pub P2Home: DWORD64, + pub P3Home: DWORD64, + pub P4Home: DWORD64, + pub P5Home: DWORD64, + pub P6Home: DWORD64, + pub ContextFlags: DWORD, + pub MxCsr: DWORD, + pub SegCs: WORD, + pub SegDs: WORD, + pub SegEs: WORD, + pub SegFs: WORD, + pub SegGs: WORD, + pub SegSs: WORD, + pub EFlags: DWORD, + pub Dr0: DWORD64, + pub Dr1: DWORD64, + pub Dr2: DWORD64, + pub Dr3: DWORD64, + pub Dr6: DWORD64, + pub Dr7: DWORD64, + pub Rax: DWORD64, + pub Rcx: DWORD64, + pub Rdx: DWORD64, + pub Rbx: DWORD64, + pub Rsp: DWORD64, + pub Rbp: DWORD64, + pub Rsi: DWORD64, + pub Rdi: DWORD64, + pub R8: DWORD64, + pub R9: DWORD64, + pub R10: DWORD64, + pub R11: DWORD64, + pub R12: DWORD64, + pub R13: DWORD64, + pub R14: DWORD64, + pub R15: DWORD64, + pub Rip: DWORD64, + pub __bindgen_anon_1: _CONTEXT__bindgen_ty_1, + pub VectorRegister: [M128A; 26usize], + pub VectorControl: DWORD64, + pub DebugControl: DWORD64, + pub LastBranchToRip: DWORD64, + pub LastBranchFromRip: DWORD64, + pub LastExceptionToRip: DWORD64, + pub LastExceptionFromRip: DWORD64, +} +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub union _CONTEXT__bindgen_ty_1 { + pub FltSave: XMM_SAVE_AREA32, + pub __bindgen_anon_1: _CONTEXT__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _CONTEXT__bindgen_ty_1__bindgen_ty_1 { + pub Header: [M128A; 2usize], + pub Legacy: [M128A; 8usize], + pub Xmm0: M128A, + pub Xmm1: M128A, + pub Xmm2: M128A, + pub Xmm3: M128A, + pub Xmm4: M128A, + pub Xmm5: M128A, + pub Xmm6: M128A, + pub Xmm7: M128A, + pub Xmm8: M128A, + pub Xmm9: M128A, + pub Xmm10: M128A, + pub Xmm11: M128A, + pub Xmm12: M128A, + pub Xmm13: M128A, + pub Xmm14: M128A, + pub Xmm15: M128A, +} +#[test] +fn bindgen_test_layout__CONTEXT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CONTEXT__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 416usize, + concat!( + "Size of: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 16usize, + concat!( + "Alignment of ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Legacy) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Legacy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm0) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm1) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm2) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm3) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm4) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm5) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm6) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm7) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm8) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm9) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm10) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm11) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm12) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm13) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm14) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm15) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm15) + ) + ); +} +#[test] +fn bindgen_test_layout__CONTEXT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CONTEXT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTEXT__bindgen_ty_1>(), + 512usize, + concat!("Size of: ", stringify!(_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTEXT__bindgen_ty_1>(), + 16usize, + concat!("Alignment of ", stringify!(_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FltSave) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT__bindgen_ty_1), + "::", + stringify!(FltSave) + ) + ); +} +#[test] +fn bindgen_test_layout__CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTEXT>(), + 1232usize, + concat!("Size of: ", stringify!(_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTEXT>(), + 16usize, + concat!("Alignment of ", stringify!(_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P1Home) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P1Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P2Home) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P2Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P3Home) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P3Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P4Home) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P4Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P5Home) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P5Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).P6Home) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(P6Home) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MxCsr) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(MxCsr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegCs) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegCs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegDs) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegDs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegEs) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegEs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegFs) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegFs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegGs) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegGs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegSs) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(SegSs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EFlags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(EFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr0) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr1) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr2) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr3) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr6) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr7) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Dr7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rax) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rcx) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rcx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rdx) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rdx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rbx) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rbx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rsp) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rbp) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rbp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rsi) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rsi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rdi) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rdi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R8) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R9) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R10) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R11) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R12) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R13) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R14) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R15) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(R15) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rip) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(Rip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VectorRegister) as usize - ptr as usize }, + 768usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(VectorRegister) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VectorControl) as usize - ptr as usize }, + 1184usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(VectorControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugControl) as usize - ptr as usize }, + 1192usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(DebugControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastBranchToRip) as usize - ptr as usize }, + 1200usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(LastBranchToRip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastBranchFromRip) as usize - ptr as usize }, + 1208usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(LastBranchFromRip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastExceptionToRip) as usize - ptr as usize }, + 1216usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(LastExceptionToRip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastExceptionFromRip) as usize - ptr as usize }, + 1224usize, + concat!( + "Offset of field: ", + stringify!(_CONTEXT), + "::", + stringify!(LastExceptionFromRip) + ) + ); +} +pub type CONTEXT = _CONTEXT; +pub type PCONTEXT = *mut _CONTEXT; +pub type RUNTIME_FUNCTION = _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type PRUNTIME_FUNCTION = *mut _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type SCOPE_TABLE = SCOPE_TABLE_AMD64; +pub type PSCOPE_TABLE = *mut SCOPE_TABLE_AMD64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNWIND_HISTORY_TABLE_ENTRY { + pub ImageBase: DWORD64, + pub FunctionEntry: PRUNTIME_FUNCTION, +} +#[test] +fn bindgen_test_layout__UNWIND_HISTORY_TABLE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_UNWIND_HISTORY_TABLE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNWIND_HISTORY_TABLE_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_UNWIND_HISTORY_TABLE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_UNWIND_HISTORY_TABLE_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_UNWIND_HISTORY_TABLE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE_ENTRY), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FunctionEntry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE_ENTRY), + "::", + stringify!(FunctionEntry) + ) + ); +} +pub type UNWIND_HISTORY_TABLE_ENTRY = _UNWIND_HISTORY_TABLE_ENTRY; +pub type PUNWIND_HISTORY_TABLE_ENTRY = *mut _UNWIND_HISTORY_TABLE_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNWIND_HISTORY_TABLE { + pub Count: DWORD, + pub LocalHint: BYTE, + pub GlobalHint: BYTE, + pub Search: BYTE, + pub Once: BYTE, + pub LowAddress: DWORD64, + pub HighAddress: DWORD64, + pub Entry: [UNWIND_HISTORY_TABLE_ENTRY; 12usize], +} +#[test] +fn bindgen_test_layout__UNWIND_HISTORY_TABLE() { + const UNINIT: ::std::mem::MaybeUninit<_UNWIND_HISTORY_TABLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNWIND_HISTORY_TABLE>(), + 216usize, + concat!("Size of: ", stringify!(_UNWIND_HISTORY_TABLE)) + ); + assert_eq!( + ::std::mem::align_of::<_UNWIND_HISTORY_TABLE>(), + 8usize, + concat!("Alignment of ", stringify!(_UNWIND_HISTORY_TABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LocalHint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(LocalHint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalHint) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(GlobalHint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Search) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(Search) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Once) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(Once) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(LowAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(HighAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Entry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_UNWIND_HISTORY_TABLE), + "::", + stringify!(Entry) + ) + ); +} +pub type UNWIND_HISTORY_TABLE = _UNWIND_HISTORY_TABLE; +pub type PUNWIND_HISTORY_TABLE = *mut _UNWIND_HISTORY_TABLE; +pub type GET_RUNTIME_FUNCTION_CALLBACK = ::std::option::Option< + unsafe extern "C" fn(ControlPc: DWORD64, Context: PVOID) -> PRUNTIME_FUNCTION, +>; +pub type PGET_RUNTIME_FUNCTION_CALLBACK = GET_RUNTIME_FUNCTION_CALLBACK; +pub type OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + Process: HANDLE, + TableAddress: PVOID, + Entries: PDWORD, + Functions: *mut PRUNTIME_FUNCTION, + ) -> DWORD, +>; +pub type POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK = OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPATCHER_CONTEXT { + pub ControlPc: DWORD64, + pub ImageBase: DWORD64, + pub FunctionEntry: PRUNTIME_FUNCTION, + pub EstablisherFrame: DWORD64, + pub TargetIp: DWORD64, + pub ContextRecord: PCONTEXT, + pub LanguageHandler: PEXCEPTION_ROUTINE, + pub HandlerData: PVOID, + pub HistoryTable: PUNWIND_HISTORY_TABLE, + pub ScopeIndex: DWORD, + pub Fill0: DWORD, +} +#[test] +fn bindgen_test_layout__DISPATCHER_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_DISPATCHER_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPATCHER_CONTEXT>(), + 80usize, + concat!("Size of: ", stringify!(_DISPATCHER_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPATCHER_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_DISPATCHER_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlPc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(ControlPc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FunctionEntry) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(FunctionEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EstablisherFrame) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(EstablisherFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetIp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(TargetIp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextRecord) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(ContextRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LanguageHandler) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(LanguageHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(HandlerData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HistoryTable) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(HistoryTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScopeIndex) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(ScopeIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Fill0) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_DISPATCHER_CONTEXT), + "::", + stringify!(Fill0) + ) + ); +} +pub type DISPATCHER_CONTEXT = _DISPATCHER_CONTEXT; +pub type PDISPATCHER_CONTEXT = *mut _DISPATCHER_CONTEXT; +pub type PEXCEPTION_FILTER = ::std::option::Option< + unsafe extern "C" fn( + ExceptionPointers: *mut _EXCEPTION_POINTERS, + EstablisherFrame: PVOID, + ) -> LONG, +>; +pub type PTERMINATION_HANDLER = ::std::option::Option< + unsafe extern "C" fn(_abnormal_termination: BOOLEAN, EstablisherFrame: PVOID), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _KNONVOLATILE_CONTEXT_POINTERS { + pub __bindgen_anon_1: _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1, + pub __bindgen_anon_2: _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1 { + pub FloatingContext: [PM128A; 16usize], + pub __bindgen_anon_1: _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1 { + pub Xmm0: PM128A, + pub Xmm1: PM128A, + pub Xmm2: PM128A, + pub Xmm3: PM128A, + pub Xmm4: PM128A, + pub Xmm5: PM128A, + pub Xmm6: PM128A, + pub Xmm7: PM128A, + pub Xmm8: PM128A, + pub Xmm9: PM128A, + pub Xmm10: PM128A, + pub Xmm11: PM128A, + pub Xmm12: PM128A, + pub Xmm13: PM128A, + pub Xmm14: PM128A, + pub Xmm15: PM128A, +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>(), + 128usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm0) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm2) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm3) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm4) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm5) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm6) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm7) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm8) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm9) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm10) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm11) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm12) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm13) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm14) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Xmm15) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Xmm15) + ) + ); +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1>(), + 128usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FloatingContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_1), + "::", + stringify!(FloatingContext) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2 { + pub IntegerContext: [PDWORD64; 16usize], + pub __bindgen_anon_1: _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1 { + pub Rax: PDWORD64, + pub Rcx: PDWORD64, + pub Rdx: PDWORD64, + pub Rbx: PDWORD64, + pub Rsp: PDWORD64, + pub Rbp: PDWORD64, + pub Rsi: PDWORD64, + pub Rdi: PDWORD64, + pub R8: PDWORD64, + pub R9: PDWORD64, + pub R10: PDWORD64, + pub R11: PDWORD64, + pub R12: PDWORD64, + pub R13: PDWORD64, + pub R14: PDWORD64, + pub R15: PDWORD64, +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>(), + 128usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rax) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rcx) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rcx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rdx) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rdx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rbx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rbx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rsp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rbp) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rbp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rsi) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rsi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rdi) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Rdi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R8) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R9) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R10) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R11) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R12) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R13) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R14) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).R15) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(R15) + ) + ); +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2>(), + 128usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IntegerContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS__bindgen_ty_2), + "::", + stringify!(IntegerContext) + ) + ); +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS() { + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS>(), + 256usize, + concat!("Size of: ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS)) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS>(), + 8usize, + concat!("Alignment of ", stringify!(_KNONVOLATILE_CONTEXT_POINTERS)) + ); +} +pub type KNONVOLATILE_CONTEXT_POINTERS = _KNONVOLATILE_CONTEXT_POINTERS; +pub type PKNONVOLATILE_CONTEXT_POINTERS = *mut _KNONVOLATILE_CONTEXT_POINTERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_ARM { + pub Count: DWORD, + pub ScopeRecord: [_SCOPE_TABLE_ARM__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_ARM__bindgen_ty_1 { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub HandlerAddress: DWORD, + pub JumpTarget: DWORD, +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_ARM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_ARM__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_ARM__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_ARM__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), + "::", + stringify!(HandlerAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JumpTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM__bindgen_ty_1), + "::", + stringify!(JumpTarget) + ) + ); +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_ARM() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_ARM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_ARM>(), + 20usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_ARM)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_ARM>(), + 4usize, + concat!("Alignment of ", stringify!(_SCOPE_TABLE_ARM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScopeRecord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM), + "::", + stringify!(ScopeRecord) + ) + ); +} +pub type SCOPE_TABLE_ARM = _SCOPE_TABLE_ARM; +pub type PSCOPE_TABLE_ARM = *mut _SCOPE_TABLE_ARM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_ARM64 { + pub Count: DWORD, + pub ScopeRecord: [_SCOPE_TABLE_ARM64__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCOPE_TABLE_ARM64__bindgen_ty_1 { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub HandlerAddress: DWORD, + pub JumpTarget: DWORD, +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_ARM64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_ARM64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_ARM64__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_ARM64__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), + "::", + stringify!(HandlerAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JumpTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64__bindgen_ty_1), + "::", + stringify!(JumpTarget) + ) + ); +} +#[test] +fn bindgen_test_layout__SCOPE_TABLE_ARM64() { + const UNINIT: ::std::mem::MaybeUninit<_SCOPE_TABLE_ARM64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCOPE_TABLE_ARM64>(), + 20usize, + concat!("Size of: ", stringify!(_SCOPE_TABLE_ARM64)) + ); + assert_eq!( + ::std::mem::align_of::<_SCOPE_TABLE_ARM64>(), + 4usize, + concat!("Alignment of ", stringify!(_SCOPE_TABLE_ARM64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScopeRecord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCOPE_TABLE_ARM64), + "::", + stringify!(ScopeRecord) + ) + ); +} +pub type SCOPE_TABLE_ARM64 = _SCOPE_TABLE_ARM64; +pub type PSCOPE_TABLE_ARM64 = *mut _SCOPE_TABLE_ARM64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KNONVOLATILE_CONTEXT_POINTERS_ARM64 { + pub X19: PDWORD64, + pub X20: PDWORD64, + pub X21: PDWORD64, + pub X22: PDWORD64, + pub X23: PDWORD64, + pub X24: PDWORD64, + pub X25: PDWORD64, + pub X26: PDWORD64, + pub X27: PDWORD64, + pub X28: PDWORD64, + pub Fp: PDWORD64, + pub Lr: PDWORD64, + pub D8: PDWORD64, + pub D9: PDWORD64, + pub D10: PDWORD64, + pub D11: PDWORD64, + pub D12: PDWORD64, + pub D13: PDWORD64, + pub D14: PDWORD64, + pub D15: PDWORD64, +} +#[test] +fn bindgen_test_layout__KNONVOLATILE_CONTEXT_POINTERS_ARM64() { + const UNINIT: ::std::mem::MaybeUninit<_KNONVOLATILE_CONTEXT_POINTERS_ARM64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>(), + 160usize, + concat!( + "Size of: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64) + ) + ); + assert_eq!( + ::std::mem::align_of::<_KNONVOLATILE_CONTEXT_POINTERS_ARM64>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X19) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X19) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X20) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X20) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X21) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X22) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X22) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X23) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X23) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X24) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X24) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X25) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X25) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X26) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X26) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X27) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X27) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X28) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(X28) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Fp) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(Fp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(Lr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D8) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D8) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D9) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D9) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D10) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D10) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D11) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D12) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D13) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D14) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D15) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_KNONVOLATILE_CONTEXT_POINTERS_ARM64), + "::", + stringify!(D15) + ) + ); +} +pub type KNONVOLATILE_CONTEXT_POINTERS_ARM64 = _KNONVOLATILE_CONTEXT_POINTERS_ARM64; +pub type PKNONVOLATILE_CONTEXT_POINTERS_ARM64 = *mut _KNONVOLATILE_CONTEXT_POINTERS_ARM64; +extern "C" { + pub fn __int2c() -> !; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _LDT_ENTRY { + pub LimitLow: WORD, + pub BaseLow: WORD, + pub HighWord: _LDT_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _LDT_ENTRY__bindgen_ty_1 { + pub Bytes: _LDT_ENTRY__bindgen_ty_1__bindgen_ty_1, + pub Bits: _LDT_ENTRY__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LDT_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub BaseMid: BYTE, + pub Flags1: BYTE, + pub Flags2: BYTE, + pub BaseHi: BYTE, +} +#[test] +fn bindgen_test_layout__LDT_ENTRY__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BaseMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseHi) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BaseHi) + ) + ); +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _LDT_ENTRY__bindgen_ty_1__bindgen_ty_2 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__LDT_ENTRY__bindgen_ty_1__bindgen_ty_2() { + assert_eq!( + ::std::mem::size_of::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); +} +impl _LDT_ENTRY__bindgen_ty_1__bindgen_ty_2 { + #[inline] + pub fn BaseMid(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_BaseMid(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn Type(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 5u8) as u32) } + } + #[inline] + pub fn set_Type(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 5u8, val as u64) + } + } + #[inline] + pub fn Dpl(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 2u8) as u32) } + } + #[inline] + pub fn set_Dpl(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 2u8, val as u64) + } + } + #[inline] + pub fn Pres(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_Pres(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn LimitHi(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u32) } + } + #[inline] + pub fn set_LimitHi(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 4u8, val as u64) + } + } + #[inline] + pub fn Sys(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_Sys(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved_0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_Reserved_0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn Default_Big(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) } + } + #[inline] + pub fn set_Default_Big(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub fn Granularity(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) } + } + #[inline] + pub fn set_Granularity(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub fn BaseHi(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_BaseHi(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + BaseMid: DWORD, + Type: DWORD, + Dpl: DWORD, + Pres: DWORD, + LimitHi: DWORD, + Sys: DWORD, + Reserved_0: DWORD, + Default_Big: DWORD, + Granularity: DWORD, + BaseHi: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let BaseMid: u32 = unsafe { ::std::mem::transmute(BaseMid) }; + BaseMid as u64 + }); + __bindgen_bitfield_unit.set(8usize, 5u8, { + let Type: u32 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(13usize, 2u8, { + let Dpl: u32 = unsafe { ::std::mem::transmute(Dpl) }; + Dpl as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let Pres: u32 = unsafe { ::std::mem::transmute(Pres) }; + Pres as u64 + }); + __bindgen_bitfield_unit.set(16usize, 4u8, { + let LimitHi: u32 = unsafe { ::std::mem::transmute(LimitHi) }; + LimitHi as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let Sys: u32 = unsafe { ::std::mem::transmute(Sys) }; + Sys as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let Reserved_0: u32 = unsafe { ::std::mem::transmute(Reserved_0) }; + Reserved_0 as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let Default_Big: u32 = unsafe { ::std::mem::transmute(Default_Big) }; + Default_Big as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let Granularity: u32 = unsafe { ::std::mem::transmute(Granularity) }; + Granularity as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let BaseHi: u32 = unsafe { ::std::mem::transmute(BaseHi) }; + BaseHi as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__LDT_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_LDT_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDT_ENTRY__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_LDT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_LDT_ENTRY__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_LDT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1), + "::", + stringify!(Bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY__bindgen_ty_1), + "::", + stringify!(Bits) + ) + ); +} +#[test] +fn bindgen_test_layout__LDT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_LDT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDT_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_LDT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_LDT_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_LDT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitLow) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY), + "::", + stringify!(LimitLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseLow) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY), + "::", + stringify!(BaseLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighWord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LDT_ENTRY), + "::", + stringify!(HighWord) + ) + ); +} +pub type LDT_ENTRY = _LDT_ENTRY; +pub type PLDT_ENTRY = *mut _LDT_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOW64_FLOATING_SAVE_AREA { + pub ControlWord: DWORD, + pub StatusWord: DWORD, + pub TagWord: DWORD, + pub ErrorOffset: DWORD, + pub ErrorSelector: DWORD, + pub DataOffset: DWORD, + pub DataSelector: DWORD, + pub RegisterArea: [BYTE; 80usize], + pub Cr0NpxState: DWORD, +} +#[test] +fn bindgen_test_layout__WOW64_FLOATING_SAVE_AREA() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_FLOATING_SAVE_AREA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_FLOATING_SAVE_AREA>(), + 112usize, + concat!("Size of: ", stringify!(_WOW64_FLOATING_SAVE_AREA)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_FLOATING_SAVE_AREA>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_FLOATING_SAVE_AREA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlWord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(ControlWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusWord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(StatusWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TagWord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(TagWord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(ErrorOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorSelector) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(ErrorSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(DataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSelector) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(DataSelector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterArea) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(RegisterArea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cr0NpxState) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_FLOATING_SAVE_AREA), + "::", + stringify!(Cr0NpxState) + ) + ); +} +pub type WOW64_FLOATING_SAVE_AREA = _WOW64_FLOATING_SAVE_AREA; +pub type PWOW64_FLOATING_SAVE_AREA = *mut WOW64_FLOATING_SAVE_AREA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOW64_CONTEXT { + pub ContextFlags: DWORD, + pub Dr0: DWORD, + pub Dr1: DWORD, + pub Dr2: DWORD, + pub Dr3: DWORD, + pub Dr6: DWORD, + pub Dr7: DWORD, + pub FloatSave: WOW64_FLOATING_SAVE_AREA, + pub SegGs: DWORD, + pub SegFs: DWORD, + pub SegEs: DWORD, + pub SegDs: DWORD, + pub Edi: DWORD, + pub Esi: DWORD, + pub Ebx: DWORD, + pub Edx: DWORD, + pub Ecx: DWORD, + pub Eax: DWORD, + pub Ebp: DWORD, + pub Eip: DWORD, + pub SegCs: DWORD, + pub EFlags: DWORD, + pub Esp: DWORD, + pub SegSs: DWORD, + pub ExtendedRegisters: [BYTE; 512usize], +} +#[test] +fn bindgen_test_layout__WOW64_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_CONTEXT>(), + 716usize, + concat!("Size of: ", stringify!(_WOW64_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_CONTEXT>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr0) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr2) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr3) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr6) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dr7) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Dr7) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FloatSave) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(FloatSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegGs) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegGs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegFs) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegFs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegEs) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegEs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegDs) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegDs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Edi) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Edi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Esi) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Esi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ebx) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Ebx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Edx) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Edx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ecx) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Ecx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Eax) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Eax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ebp) as usize - ptr as usize }, + 180usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Ebp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Eip) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Eip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegCs) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegCs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EFlags) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(EFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Esp) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(Esp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SegSs) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(SegSs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedRegisters) as usize - ptr as usize }, + 204usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_CONTEXT), + "::", + stringify!(ExtendedRegisters) + ) + ); +} +pub type WOW64_CONTEXT = _WOW64_CONTEXT; +pub type PWOW64_CONTEXT = *mut WOW64_CONTEXT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WOW64_LDT_ENTRY { + pub LimitLow: WORD, + pub BaseLow: WORD, + pub HighWord: _WOW64_LDT_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _WOW64_LDT_ENTRY__bindgen_ty_1 { + pub Bytes: _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1, + pub Bits: _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub BaseMid: BYTE, + pub Flags1: BYTE, + pub Flags2: BYTE, + pub BaseHi: BYTE, +} +#[test] +fn bindgen_test_layout__WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BaseMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseHi) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BaseHi) + ) + ); +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2() { + assert_eq!( + ::std::mem::size_of::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); +} +impl _WOW64_LDT_ENTRY__bindgen_ty_1__bindgen_ty_2 { + #[inline] + pub fn BaseMid(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_BaseMid(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn Type(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 5u8) as u32) } + } + #[inline] + pub fn set_Type(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 5u8, val as u64) + } + } + #[inline] + pub fn Dpl(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 2u8) as u32) } + } + #[inline] + pub fn set_Dpl(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 2u8, val as u64) + } + } + #[inline] + pub fn Pres(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_Pres(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn LimitHi(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u32) } + } + #[inline] + pub fn set_LimitHi(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 4u8, val as u64) + } + } + #[inline] + pub fn Sys(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_Sys(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved_0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_Reserved_0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn Default_Big(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) } + } + #[inline] + pub fn set_Default_Big(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 1u8, val as u64) + } + } + #[inline] + pub fn Granularity(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) } + } + #[inline] + pub fn set_Granularity(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(23usize, 1u8, val as u64) + } + } + #[inline] + pub fn BaseHi(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_BaseHi(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + BaseMid: DWORD, + Type: DWORD, + Dpl: DWORD, + Pres: DWORD, + LimitHi: DWORD, + Sys: DWORD, + Reserved_0: DWORD, + Default_Big: DWORD, + Granularity: DWORD, + BaseHi: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let BaseMid: u32 = unsafe { ::std::mem::transmute(BaseMid) }; + BaseMid as u64 + }); + __bindgen_bitfield_unit.set(8usize, 5u8, { + let Type: u32 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(13usize, 2u8, { + let Dpl: u32 = unsafe { ::std::mem::transmute(Dpl) }; + Dpl as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let Pres: u32 = unsafe { ::std::mem::transmute(Pres) }; + Pres as u64 + }); + __bindgen_bitfield_unit.set(16usize, 4u8, { + let LimitHi: u32 = unsafe { ::std::mem::transmute(LimitHi) }; + LimitHi as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let Sys: u32 = unsafe { ::std::mem::transmute(Sys) }; + Sys as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let Reserved_0: u32 = unsafe { ::std::mem::transmute(Reserved_0) }; + Reserved_0 as u64 + }); + __bindgen_bitfield_unit.set(22usize, 1u8, { + let Default_Big: u32 = unsafe { ::std::mem::transmute(Default_Big) }; + Default_Big as u64 + }); + __bindgen_bitfield_unit.set(23usize, 1u8, { + let Granularity: u32 = unsafe { ::std::mem::transmute(Granularity) }; + Granularity as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let BaseHi: u32 = unsafe { ::std::mem::transmute(BaseHi) }; + BaseHi as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__WOW64_LDT_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_LDT_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_LDT_ENTRY__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_LDT_ENTRY__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1), + "::", + stringify!(Bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY__bindgen_ty_1), + "::", + stringify!(Bits) + ) + ); +} +#[test] +fn bindgen_test_layout__WOW64_LDT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_LDT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_LDT_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_WOW64_LDT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_LDT_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_LDT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitLow) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY), + "::", + stringify!(LimitLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseLow) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY), + "::", + stringify!(BaseLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighWord) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_LDT_ENTRY), + "::", + stringify!(HighWord) + ) + ); +} +pub type WOW64_LDT_ENTRY = _WOW64_LDT_ENTRY; +pub type PWOW64_LDT_ENTRY = *mut _WOW64_LDT_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WOW64_DESCRIPTOR_TABLE_ENTRY { + pub Selector: DWORD, + pub Descriptor: WOW64_LDT_ENTRY, +} +#[test] +fn bindgen_test_layout__WOW64_DESCRIPTOR_TABLE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_WOW64_DESCRIPTOR_TABLE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOW64_DESCRIPTOR_TABLE_ENTRY>(), + 12usize, + concat!("Size of: ", stringify!(_WOW64_DESCRIPTOR_TABLE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_DESCRIPTOR_TABLE_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_DESCRIPTOR_TABLE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Selector) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_DESCRIPTOR_TABLE_ENTRY), + "::", + stringify!(Selector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOW64_DESCRIPTOR_TABLE_ENTRY), + "::", + stringify!(Descriptor) + ) + ); +} +pub type WOW64_DESCRIPTOR_TABLE_ENTRY = _WOW64_DESCRIPTOR_TABLE_ENTRY; +pub type PWOW64_DESCRIPTOR_TABLE_ENTRY = *mut _WOW64_DESCRIPTOR_TABLE_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_RECORD { + pub ExceptionCode: DWORD, + pub ExceptionFlags: DWORD, + pub ExceptionRecord: *mut _EXCEPTION_RECORD, + pub ExceptionAddress: PVOID, + pub NumberParameters: DWORD, + pub ExceptionInformation: [ULONG_PTR; 15usize], +} +#[test] +fn bindgen_test_layout__EXCEPTION_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_RECORD>(), + 152usize, + concat!("Size of: ", stringify!(_EXCEPTION_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_RECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberParameters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(NumberParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionInformation) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD), + "::", + stringify!(ExceptionInformation) + ) + ); +} +pub type EXCEPTION_RECORD = _EXCEPTION_RECORD; +pub type PEXCEPTION_RECORD = *mut EXCEPTION_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_RECORD32 { + pub ExceptionCode: DWORD, + pub ExceptionFlags: DWORD, + pub ExceptionRecord: DWORD, + pub ExceptionAddress: DWORD, + pub NumberParameters: DWORD, + pub ExceptionInformation: [DWORD; 15usize], +} +#[test] +fn bindgen_test_layout__EXCEPTION_RECORD32() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_RECORD32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_RECORD32>(), + 80usize, + concat!("Size of: ", stringify!(_EXCEPTION_RECORD32)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_RECORD32>(), + 4usize, + concat!("Alignment of ", stringify!(_EXCEPTION_RECORD32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionAddress) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberParameters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(NumberParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionInformation) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD32), + "::", + stringify!(ExceptionInformation) + ) + ); +} +pub type EXCEPTION_RECORD32 = _EXCEPTION_RECORD32; +pub type PEXCEPTION_RECORD32 = *mut _EXCEPTION_RECORD32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_RECORD64 { + pub ExceptionCode: DWORD, + pub ExceptionFlags: DWORD, + pub ExceptionRecord: DWORD64, + pub ExceptionAddress: DWORD64, + pub NumberParameters: DWORD, + pub __unusedAlignment: DWORD, + pub ExceptionInformation: [DWORD64; 15usize], +} +#[test] +fn bindgen_test_layout__EXCEPTION_RECORD64() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_RECORD64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_RECORD64>(), + 152usize, + concat!("Size of: ", stringify!(_EXCEPTION_RECORD64)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_RECORD64>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_RECORD64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberParameters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(NumberParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__unusedAlignment) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(__unusedAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionInformation) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_RECORD64), + "::", + stringify!(ExceptionInformation) + ) + ); +} +pub type EXCEPTION_RECORD64 = _EXCEPTION_RECORD64; +pub type PEXCEPTION_RECORD64 = *mut _EXCEPTION_RECORD64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_POINTERS { + pub ExceptionRecord: PEXCEPTION_RECORD, + pub ContextRecord: PCONTEXT, +} +#[test] +fn bindgen_test_layout__EXCEPTION_POINTERS() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_POINTERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_POINTERS>(), + 16usize, + concat!("Size of: ", stringify!(_EXCEPTION_POINTERS)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_POINTERS>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_POINTERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_POINTERS), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_POINTERS), + "::", + stringify!(ContextRecord) + ) + ); +} +pub type EXCEPTION_POINTERS = _EXCEPTION_POINTERS; +pub type PEXCEPTION_POINTERS = *mut _EXCEPTION_POINTERS; +pub type PACCESS_TOKEN = PVOID; +pub type PSECURITY_DESCRIPTOR = PVOID; +pub type PSID = PVOID; +pub type PCLAIMS_BLOB = PVOID; +pub type ACCESS_MASK = DWORD; +pub type PACCESS_MASK = *mut ACCESS_MASK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GENERIC_MAPPING { + pub GenericRead: ACCESS_MASK, + pub GenericWrite: ACCESS_MASK, + pub GenericExecute: ACCESS_MASK, + pub GenericAll: ACCESS_MASK, +} +#[test] +fn bindgen_test_layout__GENERIC_MAPPING() { + const UNINIT: ::std::mem::MaybeUninit<_GENERIC_MAPPING> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GENERIC_MAPPING>(), + 16usize, + concat!("Size of: ", stringify!(_GENERIC_MAPPING)) + ); + assert_eq!( + ::std::mem::align_of::<_GENERIC_MAPPING>(), + 4usize, + concat!("Alignment of ", stringify!(_GENERIC_MAPPING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericRead) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_MAPPING), + "::", + stringify!(GenericRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericWrite) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_MAPPING), + "::", + stringify!(GenericWrite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericExecute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_MAPPING), + "::", + stringify!(GenericExecute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericAll) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_MAPPING), + "::", + stringify!(GenericAll) + ) + ); +} +pub type GENERIC_MAPPING = _GENERIC_MAPPING; +pub type PGENERIC_MAPPING = *mut GENERIC_MAPPING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LUID_AND_ATTRIBUTES { + pub Luid: LUID, + pub Attributes: DWORD, +} +#[test] +fn bindgen_test_layout__LUID_AND_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_LUID_AND_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LUID_AND_ATTRIBUTES>(), + 12usize, + concat!("Size of: ", stringify!(_LUID_AND_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_LUID_AND_ATTRIBUTES>(), + 4usize, + concat!("Alignment of ", stringify!(_LUID_AND_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Luid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LUID_AND_ATTRIBUTES), + "::", + stringify!(Luid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LUID_AND_ATTRIBUTES), + "::", + stringify!(Attributes) + ) + ); +} +pub type LUID_AND_ATTRIBUTES = _LUID_AND_ATTRIBUTES; +pub type PLUID_AND_ATTRIBUTES = *mut _LUID_AND_ATTRIBUTES; +pub type LUID_AND_ATTRIBUTES_ARRAY = [LUID_AND_ATTRIBUTES; 1usize]; +pub type PLUID_AND_ATTRIBUTES_ARRAY = *mut LUID_AND_ATTRIBUTES_ARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SID_IDENTIFIER_AUTHORITY { + pub Value: [BYTE; 6usize], +} +#[test] +fn bindgen_test_layout__SID_IDENTIFIER_AUTHORITY() { + const UNINIT: ::std::mem::MaybeUninit<_SID_IDENTIFIER_AUTHORITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SID_IDENTIFIER_AUTHORITY>(), + 6usize, + concat!("Size of: ", stringify!(_SID_IDENTIFIER_AUTHORITY)) + ); + assert_eq!( + ::std::mem::align_of::<_SID_IDENTIFIER_AUTHORITY>(), + 1usize, + concat!("Alignment of ", stringify!(_SID_IDENTIFIER_AUTHORITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SID_IDENTIFIER_AUTHORITY), + "::", + stringify!(Value) + ) + ); +} +pub type SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY; +pub type PSID_IDENTIFIER_AUTHORITY = *mut _SID_IDENTIFIER_AUTHORITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SID { + pub Revision: BYTE, + pub SubAuthorityCount: BYTE, + pub IdentifierAuthority: SID_IDENTIFIER_AUTHORITY, + pub SubAuthority: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__SID() { + const UNINIT: ::std::mem::MaybeUninit<_SID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SID>(), + 12usize, + concat!("Size of: ", stringify!(_SID)) + ); + assert_eq!( + ::std::mem::align_of::<_SID>(), + 4usize, + concat!("Alignment of ", stringify!(_SID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SID), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubAuthorityCount) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SID), + "::", + stringify!(SubAuthorityCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentifierAuthority) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SID), + "::", + stringify!(IdentifierAuthority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubAuthority) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SID), + "::", + stringify!(SubAuthority) + ) + ); +} +pub type SID = _SID; +pub type PISID = *mut _SID; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SE_SID { + pub Sid: SID, + pub Buffer: [BYTE; 68usize], +} +#[test] +fn bindgen_test_layout__SE_SID() { + const UNINIT: ::std::mem::MaybeUninit<_SE_SID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_SID>(), + 68usize, + concat!("Size of: ", stringify!(_SE_SID)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_SID>(), + 4usize, + concat!("Alignment of ", stringify!(_SE_SID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_SID), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_SID), + "::", + stringify!(Buffer) + ) + ); +} +pub type SE_SID = _SE_SID; +pub type PSE_SID = *mut _SE_SID; +pub const _SID_NAME_USE_SidTypeUser: _SID_NAME_USE = 1; +pub const _SID_NAME_USE_SidTypeGroup: _SID_NAME_USE = 2; +pub const _SID_NAME_USE_SidTypeDomain: _SID_NAME_USE = 3; +pub const _SID_NAME_USE_SidTypeAlias: _SID_NAME_USE = 4; +pub const _SID_NAME_USE_SidTypeWellKnownGroup: _SID_NAME_USE = 5; +pub const _SID_NAME_USE_SidTypeDeletedAccount: _SID_NAME_USE = 6; +pub const _SID_NAME_USE_SidTypeInvalid: _SID_NAME_USE = 7; +pub const _SID_NAME_USE_SidTypeUnknown: _SID_NAME_USE = 8; +pub const _SID_NAME_USE_SidTypeComputer: _SID_NAME_USE = 9; +pub const _SID_NAME_USE_SidTypeLabel: _SID_NAME_USE = 10; +pub const _SID_NAME_USE_SidTypeLogonSession: _SID_NAME_USE = 11; +pub type _SID_NAME_USE = ::std::os::raw::c_int; +pub use self::_SID_NAME_USE as SID_NAME_USE; +pub type PSID_NAME_USE = *mut _SID_NAME_USE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SID_AND_ATTRIBUTES { + pub Sid: PSID, + pub Attributes: DWORD, +} +#[test] +fn bindgen_test_layout__SID_AND_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_SID_AND_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SID_AND_ATTRIBUTES>(), + 16usize, + concat!("Size of: ", stringify!(_SID_AND_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_SID_AND_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_SID_AND_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES), + "::", + stringify!(Attributes) + ) + ); +} +pub type SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES; +pub type PSID_AND_ATTRIBUTES = *mut _SID_AND_ATTRIBUTES; +pub type SID_AND_ATTRIBUTES_ARRAY = [SID_AND_ATTRIBUTES; 1usize]; +pub type PSID_AND_ATTRIBUTES_ARRAY = *mut SID_AND_ATTRIBUTES_ARRAY; +pub type SID_HASH_ENTRY = ULONG_PTR; +pub type PSID_HASH_ENTRY = *mut ULONG_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SID_AND_ATTRIBUTES_HASH { + pub SidCount: DWORD, + pub SidAttr: PSID_AND_ATTRIBUTES, + pub Hash: [SID_HASH_ENTRY; 32usize], +} +#[test] +fn bindgen_test_layout__SID_AND_ATTRIBUTES_HASH() { + const UNINIT: ::std::mem::MaybeUninit<_SID_AND_ATTRIBUTES_HASH> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SID_AND_ATTRIBUTES_HASH>(), + 272usize, + concat!("Size of: ", stringify!(_SID_AND_ATTRIBUTES_HASH)) + ); + assert_eq!( + ::std::mem::align_of::<_SID_AND_ATTRIBUTES_HASH>(), + 8usize, + concat!("Alignment of ", stringify!(_SID_AND_ATTRIBUTES_HASH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES_HASH), + "::", + stringify!(SidCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidAttr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES_HASH), + "::", + stringify!(SidAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SID_AND_ATTRIBUTES_HASH), + "::", + stringify!(Hash) + ) + ); +} +pub type SID_AND_ATTRIBUTES_HASH = _SID_AND_ATTRIBUTES_HASH; +pub type PSID_AND_ATTRIBUTES_HASH = *mut _SID_AND_ATTRIBUTES_HASH; +pub const WELL_KNOWN_SID_TYPE_WinNullSid: WELL_KNOWN_SID_TYPE = 0; +pub const WELL_KNOWN_SID_TYPE_WinWorldSid: WELL_KNOWN_SID_TYPE = 1; +pub const WELL_KNOWN_SID_TYPE_WinLocalSid: WELL_KNOWN_SID_TYPE = 2; +pub const WELL_KNOWN_SID_TYPE_WinCreatorOwnerSid: WELL_KNOWN_SID_TYPE = 3; +pub const WELL_KNOWN_SID_TYPE_WinCreatorGroupSid: WELL_KNOWN_SID_TYPE = 4; +pub const WELL_KNOWN_SID_TYPE_WinCreatorOwnerServerSid: WELL_KNOWN_SID_TYPE = 5; +pub const WELL_KNOWN_SID_TYPE_WinCreatorGroupServerSid: WELL_KNOWN_SID_TYPE = 6; +pub const WELL_KNOWN_SID_TYPE_WinNtAuthoritySid: WELL_KNOWN_SID_TYPE = 7; +pub const WELL_KNOWN_SID_TYPE_WinDialupSid: WELL_KNOWN_SID_TYPE = 8; +pub const WELL_KNOWN_SID_TYPE_WinNetworkSid: WELL_KNOWN_SID_TYPE = 9; +pub const WELL_KNOWN_SID_TYPE_WinBatchSid: WELL_KNOWN_SID_TYPE = 10; +pub const WELL_KNOWN_SID_TYPE_WinInteractiveSid: WELL_KNOWN_SID_TYPE = 11; +pub const WELL_KNOWN_SID_TYPE_WinServiceSid: WELL_KNOWN_SID_TYPE = 12; +pub const WELL_KNOWN_SID_TYPE_WinAnonymousSid: WELL_KNOWN_SID_TYPE = 13; +pub const WELL_KNOWN_SID_TYPE_WinProxySid: WELL_KNOWN_SID_TYPE = 14; +pub const WELL_KNOWN_SID_TYPE_WinEnterpriseControllersSid: WELL_KNOWN_SID_TYPE = 15; +pub const WELL_KNOWN_SID_TYPE_WinSelfSid: WELL_KNOWN_SID_TYPE = 16; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticatedUserSid: WELL_KNOWN_SID_TYPE = 17; +pub const WELL_KNOWN_SID_TYPE_WinRestrictedCodeSid: WELL_KNOWN_SID_TYPE = 18; +pub const WELL_KNOWN_SID_TYPE_WinTerminalServerSid: WELL_KNOWN_SID_TYPE = 19; +pub const WELL_KNOWN_SID_TYPE_WinRemoteLogonIdSid: WELL_KNOWN_SID_TYPE = 20; +pub const WELL_KNOWN_SID_TYPE_WinLogonIdsSid: WELL_KNOWN_SID_TYPE = 21; +pub const WELL_KNOWN_SID_TYPE_WinLocalSystemSid: WELL_KNOWN_SID_TYPE = 22; +pub const WELL_KNOWN_SID_TYPE_WinLocalServiceSid: WELL_KNOWN_SID_TYPE = 23; +pub const WELL_KNOWN_SID_TYPE_WinNetworkServiceSid: WELL_KNOWN_SID_TYPE = 24; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinDomainSid: WELL_KNOWN_SID_TYPE = 25; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAdministratorsSid: WELL_KNOWN_SID_TYPE = 26; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinUsersSid: WELL_KNOWN_SID_TYPE = 27; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinGuestsSid: WELL_KNOWN_SID_TYPE = 28; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPowerUsersSid: WELL_KNOWN_SID_TYPE = 29; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAccountOperatorsSid: WELL_KNOWN_SID_TYPE = 30; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinSystemOperatorsSid: WELL_KNOWN_SID_TYPE = 31; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPrintOperatorsSid: WELL_KNOWN_SID_TYPE = 32; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinBackupOperatorsSid: WELL_KNOWN_SID_TYPE = 33; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinReplicatorSid: WELL_KNOWN_SID_TYPE = 34; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPreWindows2000CompatibleAccessSid: WELL_KNOWN_SID_TYPE = 35; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRemoteDesktopUsersSid: WELL_KNOWN_SID_TYPE = 36; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinNetworkConfigurationOperatorsSid: WELL_KNOWN_SID_TYPE = 37; +pub const WELL_KNOWN_SID_TYPE_WinAccountAdministratorSid: WELL_KNOWN_SID_TYPE = 38; +pub const WELL_KNOWN_SID_TYPE_WinAccountGuestSid: WELL_KNOWN_SID_TYPE = 39; +pub const WELL_KNOWN_SID_TYPE_WinAccountKrbtgtSid: WELL_KNOWN_SID_TYPE = 40; +pub const WELL_KNOWN_SID_TYPE_WinAccountDomainAdminsSid: WELL_KNOWN_SID_TYPE = 41; +pub const WELL_KNOWN_SID_TYPE_WinAccountDomainUsersSid: WELL_KNOWN_SID_TYPE = 42; +pub const WELL_KNOWN_SID_TYPE_WinAccountDomainGuestsSid: WELL_KNOWN_SID_TYPE = 43; +pub const WELL_KNOWN_SID_TYPE_WinAccountComputersSid: WELL_KNOWN_SID_TYPE = 44; +pub const WELL_KNOWN_SID_TYPE_WinAccountControllersSid: WELL_KNOWN_SID_TYPE = 45; +pub const WELL_KNOWN_SID_TYPE_WinAccountCertAdminsSid: WELL_KNOWN_SID_TYPE = 46; +pub const WELL_KNOWN_SID_TYPE_WinAccountSchemaAdminsSid: WELL_KNOWN_SID_TYPE = 47; +pub const WELL_KNOWN_SID_TYPE_WinAccountEnterpriseAdminsSid: WELL_KNOWN_SID_TYPE = 48; +pub const WELL_KNOWN_SID_TYPE_WinAccountPolicyAdminsSid: WELL_KNOWN_SID_TYPE = 49; +pub const WELL_KNOWN_SID_TYPE_WinAccountRasAndIasServersSid: WELL_KNOWN_SID_TYPE = 50; +pub const WELL_KNOWN_SID_TYPE_WinNTLMAuthenticationSid: WELL_KNOWN_SID_TYPE = 51; +pub const WELL_KNOWN_SID_TYPE_WinDigestAuthenticationSid: WELL_KNOWN_SID_TYPE = 52; +pub const WELL_KNOWN_SID_TYPE_WinSChannelAuthenticationSid: WELL_KNOWN_SID_TYPE = 53; +pub const WELL_KNOWN_SID_TYPE_WinThisOrganizationSid: WELL_KNOWN_SID_TYPE = 54; +pub const WELL_KNOWN_SID_TYPE_WinOtherOrganizationSid: WELL_KNOWN_SID_TYPE = 55; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinIncomingForestTrustBuildersSid: WELL_KNOWN_SID_TYPE = 56; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPerfMonitoringUsersSid: WELL_KNOWN_SID_TYPE = 57; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinPerfLoggingUsersSid: WELL_KNOWN_SID_TYPE = 58; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAuthorizationAccessSid: WELL_KNOWN_SID_TYPE = 59; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinTerminalServerLicenseServersSid: WELL_KNOWN_SID_TYPE = 60; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinDCOMUsersSid: WELL_KNOWN_SID_TYPE = 61; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinIUsersSid: WELL_KNOWN_SID_TYPE = 62; +pub const WELL_KNOWN_SID_TYPE_WinIUserSid: WELL_KNOWN_SID_TYPE = 63; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinCryptoOperatorsSid: WELL_KNOWN_SID_TYPE = 64; +pub const WELL_KNOWN_SID_TYPE_WinUntrustedLabelSid: WELL_KNOWN_SID_TYPE = 65; +pub const WELL_KNOWN_SID_TYPE_WinLowLabelSid: WELL_KNOWN_SID_TYPE = 66; +pub const WELL_KNOWN_SID_TYPE_WinMediumLabelSid: WELL_KNOWN_SID_TYPE = 67; +pub const WELL_KNOWN_SID_TYPE_WinHighLabelSid: WELL_KNOWN_SID_TYPE = 68; +pub const WELL_KNOWN_SID_TYPE_WinSystemLabelSid: WELL_KNOWN_SID_TYPE = 69; +pub const WELL_KNOWN_SID_TYPE_WinWriteRestrictedCodeSid: WELL_KNOWN_SID_TYPE = 70; +pub const WELL_KNOWN_SID_TYPE_WinCreatorOwnerRightsSid: WELL_KNOWN_SID_TYPE = 71; +pub const WELL_KNOWN_SID_TYPE_WinCacheablePrincipalsGroupSid: WELL_KNOWN_SID_TYPE = 72; +pub const WELL_KNOWN_SID_TYPE_WinNonCacheablePrincipalsGroupSid: WELL_KNOWN_SID_TYPE = 73; +pub const WELL_KNOWN_SID_TYPE_WinEnterpriseReadonlyControllersSid: WELL_KNOWN_SID_TYPE = 74; +pub const WELL_KNOWN_SID_TYPE_WinAccountReadonlyControllersSid: WELL_KNOWN_SID_TYPE = 75; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinEventLogReadersGroup: WELL_KNOWN_SID_TYPE = 76; +pub const WELL_KNOWN_SID_TYPE_WinNewEnterpriseReadonlyControllersSid: WELL_KNOWN_SID_TYPE = 77; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinCertSvcDComAccessGroup: WELL_KNOWN_SID_TYPE = 78; +pub const WELL_KNOWN_SID_TYPE_WinMediumPlusLabelSid: WELL_KNOWN_SID_TYPE = 79; +pub const WELL_KNOWN_SID_TYPE_WinLocalLogonSid: WELL_KNOWN_SID_TYPE = 80; +pub const WELL_KNOWN_SID_TYPE_WinConsoleLogonSid: WELL_KNOWN_SID_TYPE = 81; +pub const WELL_KNOWN_SID_TYPE_WinThisOrganizationCertificateSid: WELL_KNOWN_SID_TYPE = 82; +pub const WELL_KNOWN_SID_TYPE_WinApplicationPackageAuthoritySid: WELL_KNOWN_SID_TYPE = 83; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAnyPackageSid: WELL_KNOWN_SID_TYPE = 84; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityInternetClientSid: WELL_KNOWN_SID_TYPE = 85; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityInternetClientServerSid: WELL_KNOWN_SID_TYPE = 86; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityPrivateNetworkClientServerSid: WELL_KNOWN_SID_TYPE = 87; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityPicturesLibrarySid: WELL_KNOWN_SID_TYPE = 88; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityVideosLibrarySid: WELL_KNOWN_SID_TYPE = 89; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityMusicLibrarySid: WELL_KNOWN_SID_TYPE = 90; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityDocumentsLibrarySid: WELL_KNOWN_SID_TYPE = 91; +pub const WELL_KNOWN_SID_TYPE_WinCapabilitySharedUserCertificatesSid: WELL_KNOWN_SID_TYPE = 92; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityEnterpriseAuthenticationSid: WELL_KNOWN_SID_TYPE = 93; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityRemovableStorageSid: WELL_KNOWN_SID_TYPE = 94; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRDSRemoteAccessServersSid: WELL_KNOWN_SID_TYPE = 95; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRDSEndpointServersSid: WELL_KNOWN_SID_TYPE = 96; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRDSManagementServersSid: WELL_KNOWN_SID_TYPE = 97; +pub const WELL_KNOWN_SID_TYPE_WinUserModeDriversSid: WELL_KNOWN_SID_TYPE = 98; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinHyperVAdminsSid: WELL_KNOWN_SID_TYPE = 99; +pub const WELL_KNOWN_SID_TYPE_WinAccountCloneableControllersSid: WELL_KNOWN_SID_TYPE = 100; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinAccessControlAssistanceOperatorsSid: WELL_KNOWN_SID_TYPE = + 101; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinRemoteManagementUsersSid: WELL_KNOWN_SID_TYPE = 102; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationAuthorityAssertedSid: WELL_KNOWN_SID_TYPE = 103; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationServiceAssertedSid: WELL_KNOWN_SID_TYPE = 104; +pub const WELL_KNOWN_SID_TYPE_WinLocalAccountSid: WELL_KNOWN_SID_TYPE = 105; +pub const WELL_KNOWN_SID_TYPE_WinLocalAccountAndAdministratorSid: WELL_KNOWN_SID_TYPE = 106; +pub const WELL_KNOWN_SID_TYPE_WinAccountProtectedUsersSid: WELL_KNOWN_SID_TYPE = 107; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityAppointmentsSid: WELL_KNOWN_SID_TYPE = 108; +pub const WELL_KNOWN_SID_TYPE_WinCapabilityContactsSid: WELL_KNOWN_SID_TYPE = 109; +pub const WELL_KNOWN_SID_TYPE_WinAccountDefaultSystemManagedSid: WELL_KNOWN_SID_TYPE = 110; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinDefaultSystemManagedGroupSid: WELL_KNOWN_SID_TYPE = 111; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinStorageReplicaAdminsSid: WELL_KNOWN_SID_TYPE = 112; +pub const WELL_KNOWN_SID_TYPE_WinAccountKeyAdminsSid: WELL_KNOWN_SID_TYPE = 113; +pub const WELL_KNOWN_SID_TYPE_WinAccountEnterpriseKeyAdminsSid: WELL_KNOWN_SID_TYPE = 114; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationKeyTrustSid: WELL_KNOWN_SID_TYPE = 115; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationKeyPropertyMFASid: WELL_KNOWN_SID_TYPE = 116; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationKeyPropertyAttestationSid: WELL_KNOWN_SID_TYPE = 117; +pub const WELL_KNOWN_SID_TYPE_WinAuthenticationFreshKeyAuthSid: WELL_KNOWN_SID_TYPE = 118; +pub const WELL_KNOWN_SID_TYPE_WinBuiltinDeviceOwnersSid: WELL_KNOWN_SID_TYPE = 119; +pub type WELL_KNOWN_SID_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACL { + pub AclRevision: BYTE, + pub Sbz1: BYTE, + pub AclSize: WORD, + pub AceCount: WORD, + pub Sbz2: WORD, +} +#[test] +fn bindgen_test_layout__ACL() { + const UNINIT: ::std::mem::MaybeUninit<_ACL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACL>(), + 8usize, + concat!("Size of: ", stringify!(_ACL)) + ); + assert_eq!( + ::std::mem::align_of::<_ACL>(), + 2usize, + concat!("Alignment of ", stringify!(_ACL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclRevision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(AclRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(Sbz1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(AclSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(AceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz2) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_ACL), + "::", + stringify!(Sbz2) + ) + ); +} +pub type ACL = _ACL; +pub type PACL = *mut ACL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACE_HEADER { + pub AceType: BYTE, + pub AceFlags: BYTE, + pub AceSize: WORD, +} +#[test] +fn bindgen_test_layout__ACE_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_ACE_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACE_HEADER>(), + 4usize, + concat!("Size of: ", stringify!(_ACE_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_ACE_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_ACE_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACE_HEADER), + "::", + stringify!(AceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceFlags) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_ACE_HEADER), + "::", + stringify!(AceFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_ACE_HEADER), + "::", + stringify!(AceSize) + ) + ); +} +pub type ACE_HEADER = _ACE_HEADER; +pub type PACE_HEADER = *mut ACE_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_ALLOWED_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_ALLOWED_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_ALLOWED_ACE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_ALLOWED_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_ACCESS_ALLOWED_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_ALLOWED_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_ALLOWED_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_ALLOWED_ACE = _ACCESS_ALLOWED_ACE; +pub type PACCESS_ALLOWED_ACE = *mut ACCESS_ALLOWED_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_DENIED_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_DENIED_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_DENIED_ACE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_DENIED_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_ACCESS_DENIED_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_DENIED_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_DENIED_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_DENIED_ACE = _ACCESS_DENIED_ACE; +pub type PACCESS_DENIED_ACE = *mut ACCESS_DENIED_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_AUDIT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_AUDIT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_AUDIT_ACE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_AUDIT_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_AUDIT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_AUDIT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_AUDIT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_AUDIT_ACE = _SYSTEM_AUDIT_ACE; +pub type PSYSTEM_AUDIT_ACE = *mut SYSTEM_AUDIT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ALARM_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ALARM_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ALARM_ACE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ALARM_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_ALARM_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ALARM_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_ALARM_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ALARM_ACE = _SYSTEM_ALARM_ACE; +pub type PSYSTEM_ALARM_ACE = *mut SYSTEM_ALARM_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_RESOURCE_ATTRIBUTE_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_RESOURCE_ATTRIBUTE_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_RESOURCE_ATTRIBUTE_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_RESOURCE_ATTRIBUTE_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_RESOURCE_ATTRIBUTE_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_RESOURCE_ATTRIBUTE_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_RESOURCE_ATTRIBUTE_ACE = _SYSTEM_RESOURCE_ATTRIBUTE_ACE; +pub type PSYSTEM_RESOURCE_ATTRIBUTE_ACE = *mut _SYSTEM_RESOURCE_ATTRIBUTE_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_SCOPED_POLICY_ID_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_SCOPED_POLICY_ID_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_SCOPED_POLICY_ID_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_SCOPED_POLICY_ID_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_SCOPED_POLICY_ID_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_SCOPED_POLICY_ID_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_SCOPED_POLICY_ID_ACE = _SYSTEM_SCOPED_POLICY_ID_ACE; +pub type PSYSTEM_SCOPED_POLICY_ID_ACE = *mut _SYSTEM_SCOPED_POLICY_ID_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_MANDATORY_LABEL_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_MANDATORY_LABEL_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_MANDATORY_LABEL_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_MANDATORY_LABEL_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_MANDATORY_LABEL_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_MANDATORY_LABEL_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_MANDATORY_LABEL_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_MANDATORY_LABEL_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_MANDATORY_LABEL_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_MANDATORY_LABEL_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_MANDATORY_LABEL_ACE = _SYSTEM_MANDATORY_LABEL_ACE; +pub type PSYSTEM_MANDATORY_LABEL_ACE = *mut _SYSTEM_MANDATORY_LABEL_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_PROCESS_TRUST_LABEL_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_PROCESS_TRUST_LABEL_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_PROCESS_TRUST_LABEL_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_PROCESS_TRUST_LABEL_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_PROCESS_TRUST_LABEL_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_PROCESS_TRUST_LABEL_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_PROCESS_TRUST_LABEL_ACE = _SYSTEM_PROCESS_TRUST_LABEL_ACE; +pub type PSYSTEM_PROCESS_TRUST_LABEL_ACE = *mut _SYSTEM_PROCESS_TRUST_LABEL_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ACCESS_FILTER_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ACCESS_FILTER_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ACCESS_FILTER_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ACCESS_FILTER_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_ACCESS_FILTER_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ACCESS_FILTER_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_ACCESS_FILTER_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ACCESS_FILTER_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ACCESS_FILTER_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ACCESS_FILTER_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ACCESS_FILTER_ACE = _SYSTEM_ACCESS_FILTER_ACE; +pub type PSYSTEM_ACCESS_FILTER_ACE = *mut _SYSTEM_ACCESS_FILTER_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_ALLOWED_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_ALLOWED_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_ALLOWED_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_ALLOWED_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_ACCESS_ALLOWED_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_ALLOWED_OBJECT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_ALLOWED_OBJECT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_ALLOWED_OBJECT_ACE = _ACCESS_ALLOWED_OBJECT_ACE; +pub type PACCESS_ALLOWED_OBJECT_ACE = *mut _ACCESS_ALLOWED_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_DENIED_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_DENIED_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_DENIED_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_DENIED_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_ACCESS_DENIED_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_DENIED_OBJECT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_DENIED_OBJECT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_DENIED_OBJECT_ACE = _ACCESS_DENIED_OBJECT_ACE; +pub type PACCESS_DENIED_OBJECT_ACE = *mut _ACCESS_DENIED_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_AUDIT_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_AUDIT_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_AUDIT_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_AUDIT_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_AUDIT_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_AUDIT_OBJECT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_AUDIT_OBJECT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_AUDIT_OBJECT_ACE = _SYSTEM_AUDIT_OBJECT_ACE; +pub type PSYSTEM_AUDIT_OBJECT_ACE = *mut _SYSTEM_AUDIT_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ALARM_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ALARM_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ALARM_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ALARM_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_ALARM_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ALARM_OBJECT_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_ALARM_OBJECT_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ALARM_OBJECT_ACE = _SYSTEM_ALARM_OBJECT_ACE; +pub type PSYSTEM_ALARM_OBJECT_ACE = *mut _SYSTEM_ALARM_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_ALLOWED_CALLBACK_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_ALLOWED_CALLBACK_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_ALLOWED_CALLBACK_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_ALLOWED_CALLBACK_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_ACCESS_ALLOWED_CALLBACK_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_ALLOWED_CALLBACK_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_ALLOWED_CALLBACK_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_ALLOWED_CALLBACK_ACE = _ACCESS_ALLOWED_CALLBACK_ACE; +pub type PACCESS_ALLOWED_CALLBACK_ACE = *mut _ACCESS_ALLOWED_CALLBACK_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_DENIED_CALLBACK_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_DENIED_CALLBACK_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_DENIED_CALLBACK_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_DENIED_CALLBACK_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_ACCESS_DENIED_CALLBACK_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_DENIED_CALLBACK_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_DENIED_CALLBACK_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_DENIED_CALLBACK_ACE = _ACCESS_DENIED_CALLBACK_ACE; +pub type PACCESS_DENIED_CALLBACK_ACE = *mut _ACCESS_DENIED_CALLBACK_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_AUDIT_CALLBACK_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_AUDIT_CALLBACK_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_AUDIT_CALLBACK_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_AUDIT_CALLBACK_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_AUDIT_CALLBACK_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_AUDIT_CALLBACK_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_AUDIT_CALLBACK_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_AUDIT_CALLBACK_ACE = _SYSTEM_AUDIT_CALLBACK_ACE; +pub type PSYSTEM_AUDIT_CALLBACK_ACE = *mut _SYSTEM_AUDIT_CALLBACK_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ALARM_CALLBACK_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ALARM_CALLBACK_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ALARM_CALLBACK_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ALARM_CALLBACK_ACE>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_ALARM_CALLBACK_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ALARM_CALLBACK_ACE>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_ALARM_CALLBACK_ACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ALARM_CALLBACK_ACE = _SYSTEM_ALARM_CALLBACK_ACE; +pub type PSYSTEM_ALARM_CALLBACK_ACE = *mut _SYSTEM_ALARM_CALLBACK_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_ALLOWED_CALLBACK_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_ALLOWED_CALLBACK_OBJECT_ACE = _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; +pub type PACCESS_ALLOWED_CALLBACK_OBJECT_ACE = *mut _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__ACCESS_DENIED_CALLBACK_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_DENIED_CALLBACK_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_DENIED_CALLBACK_OBJECT_ACE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_DENIED_CALLBACK_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type ACCESS_DENIED_CALLBACK_OBJECT_ACE = _ACCESS_DENIED_CALLBACK_OBJECT_ACE; +pub type PACCESS_DENIED_CALLBACK_OBJECT_ACE = *mut _ACCESS_DENIED_CALLBACK_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_AUDIT_CALLBACK_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_AUDIT_CALLBACK_OBJECT_ACE = _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; +pub type PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE = *mut _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { + pub Header: ACE_HEADER, + pub Mask: ACCESS_MASK, + pub Flags: DWORD, + pub ObjectType: GUID, + pub InheritedObjectType: GUID, + pub SidStart: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_ALARM_CALLBACK_OBJECT_ACE() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_ALARM_CALLBACK_OBJECT_ACE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(Mask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InheritedObjectType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(InheritedObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidStart) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE), + "::", + stringify!(SidStart) + ) + ); +} +pub type SYSTEM_ALARM_CALLBACK_OBJECT_ACE = _SYSTEM_ALARM_CALLBACK_OBJECT_ACE; +pub type PSYSTEM_ALARM_CALLBACK_OBJECT_ACE = *mut _SYSTEM_ALARM_CALLBACK_OBJECT_ACE; +pub const _ACL_INFORMATION_CLASS_AclRevisionInformation: _ACL_INFORMATION_CLASS = 1; +pub const _ACL_INFORMATION_CLASS_AclSizeInformation: _ACL_INFORMATION_CLASS = 2; +pub type _ACL_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_ACL_INFORMATION_CLASS as ACL_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACL_REVISION_INFORMATION { + pub AclRevision: DWORD, +} +#[test] +fn bindgen_test_layout__ACL_REVISION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACL_REVISION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACL_REVISION_INFORMATION>(), + 4usize, + concat!("Size of: ", stringify!(_ACL_REVISION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ACL_REVISION_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_ACL_REVISION_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclRevision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACL_REVISION_INFORMATION), + "::", + stringify!(AclRevision) + ) + ); +} +pub type ACL_REVISION_INFORMATION = _ACL_REVISION_INFORMATION; +pub type PACL_REVISION_INFORMATION = *mut ACL_REVISION_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACL_SIZE_INFORMATION { + pub AceCount: DWORD, + pub AclBytesInUse: DWORD, + pub AclBytesFree: DWORD, +} +#[test] +fn bindgen_test_layout__ACL_SIZE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACL_SIZE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACL_SIZE_INFORMATION>(), + 12usize, + concat!("Size of: ", stringify!(_ACL_SIZE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ACL_SIZE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_ACL_SIZE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AceCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACL_SIZE_INFORMATION), + "::", + stringify!(AceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclBytesInUse) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACL_SIZE_INFORMATION), + "::", + stringify!(AclBytesInUse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AclBytesFree) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACL_SIZE_INFORMATION), + "::", + stringify!(AclBytesFree) + ) + ); +} +pub type ACL_SIZE_INFORMATION = _ACL_SIZE_INFORMATION; +pub type PACL_SIZE_INFORMATION = *mut ACL_SIZE_INFORMATION; +pub type SECURITY_DESCRIPTOR_CONTROL = WORD; +pub type PSECURITY_DESCRIPTOR_CONTROL = *mut WORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_DESCRIPTOR_RELATIVE { + pub Revision: BYTE, + pub Sbz1: BYTE, + pub Control: SECURITY_DESCRIPTOR_CONTROL, + pub Owner: DWORD, + pub Group: DWORD, + pub Sacl: DWORD, + pub Dacl: DWORD, +} +#[test] +fn bindgen_test_layout__SECURITY_DESCRIPTOR_RELATIVE() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_DESCRIPTOR_RELATIVE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_DESCRIPTOR_RELATIVE>(), + 20usize, + concat!("Size of: ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_DESCRIPTOR_RELATIVE>(), + 4usize, + concat!("Alignment of ", stringify!(_SECURITY_DESCRIPTOR_RELATIVE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Sbz1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Owner) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Owner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sacl) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Sacl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dacl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR_RELATIVE), + "::", + stringify!(Dacl) + ) + ); +} +pub type SECURITY_DESCRIPTOR_RELATIVE = _SECURITY_DESCRIPTOR_RELATIVE; +pub type PISECURITY_DESCRIPTOR_RELATIVE = *mut _SECURITY_DESCRIPTOR_RELATIVE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_DESCRIPTOR { + pub Revision: BYTE, + pub Sbz1: BYTE, + pub Control: SECURITY_DESCRIPTOR_CONTROL, + pub Owner: PSID, + pub Group: PSID, + pub Sacl: PACL, + pub Dacl: PACL, +} +#[test] +fn bindgen_test_layout__SECURITY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_DESCRIPTOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_SECURITY_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_SECURITY_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz1) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Sbz1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Owner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Owner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sacl) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Sacl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dacl) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_DESCRIPTOR), + "::", + stringify!(Dacl) + ) + ); +} +pub type SECURITY_DESCRIPTOR = _SECURITY_DESCRIPTOR; +pub type PISECURITY_DESCRIPTOR = *mut _SECURITY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_OBJECT_AI_PARAMS { + pub Size: DWORD, + pub ConstraintMask: DWORD, +} +#[test] +fn bindgen_test_layout__SECURITY_OBJECT_AI_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_OBJECT_AI_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_OBJECT_AI_PARAMS>(), + 8usize, + concat!("Size of: ", stringify!(_SECURITY_OBJECT_AI_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_OBJECT_AI_PARAMS>(), + 4usize, + concat!("Alignment of ", stringify!(_SECURITY_OBJECT_AI_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_OBJECT_AI_PARAMS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ConstraintMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_OBJECT_AI_PARAMS), + "::", + stringify!(ConstraintMask) + ) + ); +} +pub type SECURITY_OBJECT_AI_PARAMS = _SECURITY_OBJECT_AI_PARAMS; +pub type PSECURITY_OBJECT_AI_PARAMS = *mut _SECURITY_OBJECT_AI_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OBJECT_TYPE_LIST { + pub Level: WORD, + pub Sbz: WORD, + pub ObjectType: *mut GUID, +} +#[test] +fn bindgen_test_layout__OBJECT_TYPE_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_OBJECT_TYPE_LIST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OBJECT_TYPE_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_OBJECT_TYPE_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_OBJECT_TYPE_LIST>(), + 8usize, + concat!("Alignment of ", stringify!(_OBJECT_TYPE_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OBJECT_TYPE_LIST), + "::", + stringify!(Level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sbz) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_OBJECT_TYPE_LIST), + "::", + stringify!(Sbz) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OBJECT_TYPE_LIST), + "::", + stringify!(ObjectType) + ) + ); +} +pub type OBJECT_TYPE_LIST = _OBJECT_TYPE_LIST; +pub type POBJECT_TYPE_LIST = *mut _OBJECT_TYPE_LIST; +pub const _AUDIT_EVENT_TYPE_AuditEventObjectAccess: _AUDIT_EVENT_TYPE = 0; +pub const _AUDIT_EVENT_TYPE_AuditEventDirectoryServiceAccess: _AUDIT_EVENT_TYPE = 1; +pub type _AUDIT_EVENT_TYPE = ::std::os::raw::c_int; +pub use self::_AUDIT_EVENT_TYPE as AUDIT_EVENT_TYPE; +pub type PAUDIT_EVENT_TYPE = *mut _AUDIT_EVENT_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRIVILEGE_SET { + pub PrivilegeCount: DWORD, + pub Control: DWORD, + pub Privilege: [LUID_AND_ATTRIBUTES; 1usize], +} +#[test] +fn bindgen_test_layout__PRIVILEGE_SET() { + const UNINIT: ::std::mem::MaybeUninit<_PRIVILEGE_SET> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRIVILEGE_SET>(), + 20usize, + concat!("Size of: ", stringify!(_PRIVILEGE_SET)) + ); + assert_eq!( + ::std::mem::align_of::<_PRIVILEGE_SET>(), + 4usize, + concat!("Alignment of ", stringify!(_PRIVILEGE_SET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRIVILEGE_SET), + "::", + stringify!(PrivilegeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRIVILEGE_SET), + "::", + stringify!(Control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privilege) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRIVILEGE_SET), + "::", + stringify!(Privilege) + ) + ); +} +pub type PRIVILEGE_SET = _PRIVILEGE_SET; +pub type PPRIVILEGE_SET = *mut _PRIVILEGE_SET; +pub const _ACCESS_REASON_TYPE_AccessReasonNone: _ACCESS_REASON_TYPE = 0; +pub const _ACCESS_REASON_TYPE_AccessReasonAllowedAce: _ACCESS_REASON_TYPE = 65536; +pub const _ACCESS_REASON_TYPE_AccessReasonDeniedAce: _ACCESS_REASON_TYPE = 131072; +pub const _ACCESS_REASON_TYPE_AccessReasonAllowedParentAce: _ACCESS_REASON_TYPE = 196608; +pub const _ACCESS_REASON_TYPE_AccessReasonDeniedParentAce: _ACCESS_REASON_TYPE = 262144; +pub const _ACCESS_REASON_TYPE_AccessReasonNotGrantedByCape: _ACCESS_REASON_TYPE = 327680; +pub const _ACCESS_REASON_TYPE_AccessReasonNotGrantedByParentCape: _ACCESS_REASON_TYPE = 393216; +pub const _ACCESS_REASON_TYPE_AccessReasonNotGrantedToAppContainer: _ACCESS_REASON_TYPE = 458752; +pub const _ACCESS_REASON_TYPE_AccessReasonMissingPrivilege: _ACCESS_REASON_TYPE = 1048576; +pub const _ACCESS_REASON_TYPE_AccessReasonFromPrivilege: _ACCESS_REASON_TYPE = 2097152; +pub const _ACCESS_REASON_TYPE_AccessReasonIntegrityLevel: _ACCESS_REASON_TYPE = 3145728; +pub const _ACCESS_REASON_TYPE_AccessReasonOwnership: _ACCESS_REASON_TYPE = 4194304; +pub const _ACCESS_REASON_TYPE_AccessReasonNullDacl: _ACCESS_REASON_TYPE = 5242880; +pub const _ACCESS_REASON_TYPE_AccessReasonEmptyDacl: _ACCESS_REASON_TYPE = 6291456; +pub const _ACCESS_REASON_TYPE_AccessReasonNoSD: _ACCESS_REASON_TYPE = 7340032; +pub const _ACCESS_REASON_TYPE_AccessReasonNoGrant: _ACCESS_REASON_TYPE = 8388608; +pub const _ACCESS_REASON_TYPE_AccessReasonTrustLabel: _ACCESS_REASON_TYPE = 9437184; +pub const _ACCESS_REASON_TYPE_AccessReasonFilterAce: _ACCESS_REASON_TYPE = 10485760; +pub type _ACCESS_REASON_TYPE = ::std::os::raw::c_int; +pub use self::_ACCESS_REASON_TYPE as ACCESS_REASON_TYPE; +pub type ACCESS_REASON = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACCESS_REASONS { + pub Data: [ACCESS_REASON; 32usize], +} +#[test] +fn bindgen_test_layout__ACCESS_REASONS() { + const UNINIT: ::std::mem::MaybeUninit<_ACCESS_REASONS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACCESS_REASONS>(), + 128usize, + concat!("Size of: ", stringify!(_ACCESS_REASONS)) + ); + assert_eq!( + ::std::mem::align_of::<_ACCESS_REASONS>(), + 4usize, + concat!("Alignment of ", stringify!(_ACCESS_REASONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACCESS_REASONS), + "::", + stringify!(Data) + ) + ); +} +pub type ACCESS_REASONS = _ACCESS_REASONS; +pub type PACCESS_REASONS = *mut _ACCESS_REASONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SE_SECURITY_DESCRIPTOR { + pub Size: DWORD, + pub Flags: DWORD, + pub SecurityDescriptor: PSECURITY_DESCRIPTOR, +} +#[test] +fn bindgen_test_layout__SE_SECURITY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_SE_SECURITY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_SECURITY_DESCRIPTOR>(), + 16usize, + concat!("Size of: ", stringify!(_SE_SECURITY_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_SECURITY_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_SECURITY_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_SECURITY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SE_SECURITY_DESCRIPTOR), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SE_SECURITY_DESCRIPTOR), + "::", + stringify!(SecurityDescriptor) + ) + ); +} +pub type SE_SECURITY_DESCRIPTOR = _SE_SECURITY_DESCRIPTOR; +pub type PSE_SECURITY_DESCRIPTOR = *mut _SE_SECURITY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SE_ACCESS_REQUEST { + pub Size: DWORD, + pub SeSecurityDescriptor: PSE_SECURITY_DESCRIPTOR, + pub DesiredAccess: ACCESS_MASK, + pub PreviouslyGrantedAccess: ACCESS_MASK, + pub PrincipalSelfSid: PSID, + pub GenericMapping: PGENERIC_MAPPING, + pub ObjectTypeListCount: DWORD, + pub ObjectTypeList: POBJECT_TYPE_LIST, +} +#[test] +fn bindgen_test_layout__SE_ACCESS_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_SE_ACCESS_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_ACCESS_REQUEST>(), + 56usize, + concat!("Size of: ", stringify!(_SE_ACCESS_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_ACCESS_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_ACCESS_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SeSecurityDescriptor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(SeSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredAccess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(DesiredAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreviouslyGrantedAccess) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(PreviouslyGrantedAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrincipalSelfSid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(PrincipalSelfSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericMapping) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(GenericMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectTypeListCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(ObjectTypeListCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectTypeList) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REQUEST), + "::", + stringify!(ObjectTypeList) + ) + ); +} +pub type SE_ACCESS_REQUEST = _SE_ACCESS_REQUEST; +pub type PSE_ACCESS_REQUEST = *mut _SE_ACCESS_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SE_ACCESS_REPLY { + pub Size: DWORD, + pub ResultListCount: DWORD, + pub GrantedAccess: PACCESS_MASK, + pub AccessStatus: PDWORD, + pub AccessReason: PACCESS_REASONS, + pub Privileges: *mut PPRIVILEGE_SET, +} +#[test] +fn bindgen_test_layout__SE_ACCESS_REPLY() { + const UNINIT: ::std::mem::MaybeUninit<_SE_ACCESS_REPLY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_ACCESS_REPLY>(), + 40usize, + concat!("Size of: ", stringify!(_SE_ACCESS_REPLY)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_ACCESS_REPLY>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_ACCESS_REPLY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResultListCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(ResultListCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GrantedAccess) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(GrantedAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(AccessStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessReason) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(AccessReason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privileges) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SE_ACCESS_REPLY), + "::", + stringify!(Privileges) + ) + ); +} +pub type SE_ACCESS_REPLY = _SE_ACCESS_REPLY; +pub type PSE_ACCESS_REPLY = *mut _SE_ACCESS_REPLY; +pub const _SECURITY_IMPERSONATION_LEVEL_SecurityAnonymous: _SECURITY_IMPERSONATION_LEVEL = 0; +pub const _SECURITY_IMPERSONATION_LEVEL_SecurityIdentification: _SECURITY_IMPERSONATION_LEVEL = 1; +pub const _SECURITY_IMPERSONATION_LEVEL_SecurityImpersonation: _SECURITY_IMPERSONATION_LEVEL = 2; +pub const _SECURITY_IMPERSONATION_LEVEL_SecurityDelegation: _SECURITY_IMPERSONATION_LEVEL = 3; +pub type _SECURITY_IMPERSONATION_LEVEL = ::std::os::raw::c_int; +pub use self::_SECURITY_IMPERSONATION_LEVEL as SECURITY_IMPERSONATION_LEVEL; +pub type PSECURITY_IMPERSONATION_LEVEL = *mut _SECURITY_IMPERSONATION_LEVEL; +pub const _TOKEN_TYPE_TokenPrimary: _TOKEN_TYPE = 1; +pub const _TOKEN_TYPE_TokenImpersonation: _TOKEN_TYPE = 2; +pub type _TOKEN_TYPE = ::std::os::raw::c_int; +pub use self::_TOKEN_TYPE as TOKEN_TYPE; +pub type PTOKEN_TYPE = *mut TOKEN_TYPE; +pub const _TOKEN_ELEVATION_TYPE_TokenElevationTypeDefault: _TOKEN_ELEVATION_TYPE = 1; +pub const _TOKEN_ELEVATION_TYPE_TokenElevationTypeFull: _TOKEN_ELEVATION_TYPE = 2; +pub const _TOKEN_ELEVATION_TYPE_TokenElevationTypeLimited: _TOKEN_ELEVATION_TYPE = 3; +pub type _TOKEN_ELEVATION_TYPE = ::std::os::raw::c_int; +pub use self::_TOKEN_ELEVATION_TYPE as TOKEN_ELEVATION_TYPE; +pub type PTOKEN_ELEVATION_TYPE = *mut _TOKEN_ELEVATION_TYPE; +pub const _TOKEN_INFORMATION_CLASS_TokenUser: _TOKEN_INFORMATION_CLASS = 1; +pub const _TOKEN_INFORMATION_CLASS_TokenGroups: _TOKEN_INFORMATION_CLASS = 2; +pub const _TOKEN_INFORMATION_CLASS_TokenPrivileges: _TOKEN_INFORMATION_CLASS = 3; +pub const _TOKEN_INFORMATION_CLASS_TokenOwner: _TOKEN_INFORMATION_CLASS = 4; +pub const _TOKEN_INFORMATION_CLASS_TokenPrimaryGroup: _TOKEN_INFORMATION_CLASS = 5; +pub const _TOKEN_INFORMATION_CLASS_TokenDefaultDacl: _TOKEN_INFORMATION_CLASS = 6; +pub const _TOKEN_INFORMATION_CLASS_TokenSource: _TOKEN_INFORMATION_CLASS = 7; +pub const _TOKEN_INFORMATION_CLASS_TokenType: _TOKEN_INFORMATION_CLASS = 8; +pub const _TOKEN_INFORMATION_CLASS_TokenImpersonationLevel: _TOKEN_INFORMATION_CLASS = 9; +pub const _TOKEN_INFORMATION_CLASS_TokenStatistics: _TOKEN_INFORMATION_CLASS = 10; +pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedSids: _TOKEN_INFORMATION_CLASS = 11; +pub const _TOKEN_INFORMATION_CLASS_TokenSessionId: _TOKEN_INFORMATION_CLASS = 12; +pub const _TOKEN_INFORMATION_CLASS_TokenGroupsAndPrivileges: _TOKEN_INFORMATION_CLASS = 13; +pub const _TOKEN_INFORMATION_CLASS_TokenSessionReference: _TOKEN_INFORMATION_CLASS = 14; +pub const _TOKEN_INFORMATION_CLASS_TokenSandBoxInert: _TOKEN_INFORMATION_CLASS = 15; +pub const _TOKEN_INFORMATION_CLASS_TokenAuditPolicy: _TOKEN_INFORMATION_CLASS = 16; +pub const _TOKEN_INFORMATION_CLASS_TokenOrigin: _TOKEN_INFORMATION_CLASS = 17; +pub const _TOKEN_INFORMATION_CLASS_TokenElevationType: _TOKEN_INFORMATION_CLASS = 18; +pub const _TOKEN_INFORMATION_CLASS_TokenLinkedToken: _TOKEN_INFORMATION_CLASS = 19; +pub const _TOKEN_INFORMATION_CLASS_TokenElevation: _TOKEN_INFORMATION_CLASS = 20; +pub const _TOKEN_INFORMATION_CLASS_TokenHasRestrictions: _TOKEN_INFORMATION_CLASS = 21; +pub const _TOKEN_INFORMATION_CLASS_TokenAccessInformation: _TOKEN_INFORMATION_CLASS = 22; +pub const _TOKEN_INFORMATION_CLASS_TokenVirtualizationAllowed: _TOKEN_INFORMATION_CLASS = 23; +pub const _TOKEN_INFORMATION_CLASS_TokenVirtualizationEnabled: _TOKEN_INFORMATION_CLASS = 24; +pub const _TOKEN_INFORMATION_CLASS_TokenIntegrityLevel: _TOKEN_INFORMATION_CLASS = 25; +pub const _TOKEN_INFORMATION_CLASS_TokenUIAccess: _TOKEN_INFORMATION_CLASS = 26; +pub const _TOKEN_INFORMATION_CLASS_TokenMandatoryPolicy: _TOKEN_INFORMATION_CLASS = 27; +pub const _TOKEN_INFORMATION_CLASS_TokenLogonSid: _TOKEN_INFORMATION_CLASS = 28; +pub const _TOKEN_INFORMATION_CLASS_TokenIsAppContainer: _TOKEN_INFORMATION_CLASS = 29; +pub const _TOKEN_INFORMATION_CLASS_TokenCapabilities: _TOKEN_INFORMATION_CLASS = 30; +pub const _TOKEN_INFORMATION_CLASS_TokenAppContainerSid: _TOKEN_INFORMATION_CLASS = 31; +pub const _TOKEN_INFORMATION_CLASS_TokenAppContainerNumber: _TOKEN_INFORMATION_CLASS = 32; +pub const _TOKEN_INFORMATION_CLASS_TokenUserClaimAttributes: _TOKEN_INFORMATION_CLASS = 33; +pub const _TOKEN_INFORMATION_CLASS_TokenDeviceClaimAttributes: _TOKEN_INFORMATION_CLASS = 34; +pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedUserClaimAttributes: _TOKEN_INFORMATION_CLASS = + 35; +pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedDeviceClaimAttributes: _TOKEN_INFORMATION_CLASS = + 36; +pub const _TOKEN_INFORMATION_CLASS_TokenDeviceGroups: _TOKEN_INFORMATION_CLASS = 37; +pub const _TOKEN_INFORMATION_CLASS_TokenRestrictedDeviceGroups: _TOKEN_INFORMATION_CLASS = 38; +pub const _TOKEN_INFORMATION_CLASS_TokenSecurityAttributes: _TOKEN_INFORMATION_CLASS = 39; +pub const _TOKEN_INFORMATION_CLASS_TokenIsRestricted: _TOKEN_INFORMATION_CLASS = 40; +pub const _TOKEN_INFORMATION_CLASS_TokenProcessTrustLevel: _TOKEN_INFORMATION_CLASS = 41; +pub const _TOKEN_INFORMATION_CLASS_TokenPrivateNameSpace: _TOKEN_INFORMATION_CLASS = 42; +pub const _TOKEN_INFORMATION_CLASS_TokenSingletonAttributes: _TOKEN_INFORMATION_CLASS = 43; +pub const _TOKEN_INFORMATION_CLASS_TokenBnoIsolation: _TOKEN_INFORMATION_CLASS = 44; +pub const _TOKEN_INFORMATION_CLASS_TokenChildProcessFlags: _TOKEN_INFORMATION_CLASS = 45; +pub const _TOKEN_INFORMATION_CLASS_TokenIsLessPrivilegedAppContainer: _TOKEN_INFORMATION_CLASS = 46; +pub const _TOKEN_INFORMATION_CLASS_TokenIsSandboxed: _TOKEN_INFORMATION_CLASS = 47; +pub const _TOKEN_INFORMATION_CLASS_TokenOriginatingProcessTrustLevel: _TOKEN_INFORMATION_CLASS = 48; +pub const _TOKEN_INFORMATION_CLASS_MaxTokenInfoClass: _TOKEN_INFORMATION_CLASS = 49; +pub type _TOKEN_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_TOKEN_INFORMATION_CLASS as TOKEN_INFORMATION_CLASS; +pub type PTOKEN_INFORMATION_CLASS = *mut _TOKEN_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_USER { + pub User: SID_AND_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__TOKEN_USER() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_USER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_USER>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_USER)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_USER>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_USER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_USER), + "::", + stringify!(User) + ) + ); +} +pub type TOKEN_USER = _TOKEN_USER; +pub type PTOKEN_USER = *mut _TOKEN_USER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SE_TOKEN_USER { + pub __bindgen_anon_1: _SE_TOKEN_USER__bindgen_ty_1, + pub __bindgen_anon_2: _SE_TOKEN_USER__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SE_TOKEN_USER__bindgen_ty_1 { + pub TokenUser: TOKEN_USER, + pub User: SID_AND_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__SE_TOKEN_USER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SE_TOKEN_USER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_TOKEN_USER__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SE_TOKEN_USER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_TOKEN_USER__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_TOKEN_USER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenUser) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_TOKEN_USER__bindgen_ty_1), + "::", + stringify!(TokenUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_TOKEN_USER__bindgen_ty_1), + "::", + stringify!(User) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SE_TOKEN_USER__bindgen_ty_2 { + pub Sid: SID, + pub Buffer: [BYTE; 68usize], +} +#[test] +fn bindgen_test_layout__SE_TOKEN_USER__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_SE_TOKEN_USER__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_TOKEN_USER__bindgen_ty_2>(), + 68usize, + concat!("Size of: ", stringify!(_SE_TOKEN_USER__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_TOKEN_USER__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_SE_TOKEN_USER__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_TOKEN_USER__bindgen_ty_2), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_TOKEN_USER__bindgen_ty_2), + "::", + stringify!(Buffer) + ) + ); +} +#[test] +fn bindgen_test_layout__SE_TOKEN_USER() { + assert_eq!( + ::std::mem::size_of::<_SE_TOKEN_USER>(), + 88usize, + concat!("Size of: ", stringify!(_SE_TOKEN_USER)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_TOKEN_USER>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_TOKEN_USER)) + ); +} +pub type SE_TOKEN_USER = _SE_TOKEN_USER; +pub type PSE_TOKEN_USER = _SE_TOKEN_USER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_GROUPS { + pub GroupCount: DWORD, + pub Groups: [SID_AND_ATTRIBUTES; 1usize], +} +#[test] +fn bindgen_test_layout__TOKEN_GROUPS() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_GROUPS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_GROUPS>(), + 24usize, + concat!("Size of: ", stringify!(_TOKEN_GROUPS)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_GROUPS>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_GROUPS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS), + "::", + stringify!(GroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Groups) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS), + "::", + stringify!(Groups) + ) + ); +} +pub type TOKEN_GROUPS = _TOKEN_GROUPS; +pub type PTOKEN_GROUPS = *mut _TOKEN_GROUPS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_PRIVILEGES { + pub PrivilegeCount: DWORD, + pub Privileges: [LUID_AND_ATTRIBUTES; 1usize], +} +#[test] +fn bindgen_test_layout__TOKEN_PRIVILEGES() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_PRIVILEGES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_PRIVILEGES>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_PRIVILEGES)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_PRIVILEGES>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_PRIVILEGES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_PRIVILEGES), + "::", + stringify!(PrivilegeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privileges) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_PRIVILEGES), + "::", + stringify!(Privileges) + ) + ); +} +pub type TOKEN_PRIVILEGES = _TOKEN_PRIVILEGES; +pub type PTOKEN_PRIVILEGES = *mut _TOKEN_PRIVILEGES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_OWNER { + pub Owner: PSID, +} +#[test] +fn bindgen_test_layout__TOKEN_OWNER() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_OWNER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_OWNER>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_OWNER)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_OWNER>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_OWNER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Owner) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_OWNER), + "::", + stringify!(Owner) + ) + ); +} +pub type TOKEN_OWNER = _TOKEN_OWNER; +pub type PTOKEN_OWNER = *mut _TOKEN_OWNER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_PRIMARY_GROUP { + pub PrimaryGroup: PSID, +} +#[test] +fn bindgen_test_layout__TOKEN_PRIMARY_GROUP() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_PRIMARY_GROUP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_PRIMARY_GROUP>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_PRIMARY_GROUP)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_PRIMARY_GROUP>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_PRIMARY_GROUP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrimaryGroup) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_PRIMARY_GROUP), + "::", + stringify!(PrimaryGroup) + ) + ); +} +pub type TOKEN_PRIMARY_GROUP = _TOKEN_PRIMARY_GROUP; +pub type PTOKEN_PRIMARY_GROUP = *mut _TOKEN_PRIMARY_GROUP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_DEFAULT_DACL { + pub DefaultDacl: PACL, +} +#[test] +fn bindgen_test_layout__TOKEN_DEFAULT_DACL() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_DEFAULT_DACL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_DEFAULT_DACL>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_DEFAULT_DACL)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_DEFAULT_DACL>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_DEFAULT_DACL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultDacl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_DEFAULT_DACL), + "::", + stringify!(DefaultDacl) + ) + ); +} +pub type TOKEN_DEFAULT_DACL = _TOKEN_DEFAULT_DACL; +pub type PTOKEN_DEFAULT_DACL = *mut _TOKEN_DEFAULT_DACL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_USER_CLAIMS { + pub UserClaims: PCLAIMS_BLOB, +} +#[test] +fn bindgen_test_layout__TOKEN_USER_CLAIMS() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_USER_CLAIMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_USER_CLAIMS>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_USER_CLAIMS)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_USER_CLAIMS>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_USER_CLAIMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserClaims) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_USER_CLAIMS), + "::", + stringify!(UserClaims) + ) + ); +} +pub type TOKEN_USER_CLAIMS = _TOKEN_USER_CLAIMS; +pub type PTOKEN_USER_CLAIMS = *mut _TOKEN_USER_CLAIMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_DEVICE_CLAIMS { + pub DeviceClaims: PCLAIMS_BLOB, +} +#[test] +fn bindgen_test_layout__TOKEN_DEVICE_CLAIMS() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_DEVICE_CLAIMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_DEVICE_CLAIMS>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_DEVICE_CLAIMS)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_DEVICE_CLAIMS>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_DEVICE_CLAIMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceClaims) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_DEVICE_CLAIMS), + "::", + stringify!(DeviceClaims) + ) + ); +} +pub type TOKEN_DEVICE_CLAIMS = _TOKEN_DEVICE_CLAIMS; +pub type PTOKEN_DEVICE_CLAIMS = *mut _TOKEN_DEVICE_CLAIMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_GROUPS_AND_PRIVILEGES { + pub SidCount: DWORD, + pub SidLength: DWORD, + pub Sids: PSID_AND_ATTRIBUTES, + pub RestrictedSidCount: DWORD, + pub RestrictedSidLength: DWORD, + pub RestrictedSids: PSID_AND_ATTRIBUTES, + pub PrivilegeCount: DWORD, + pub PrivilegeLength: DWORD, + pub Privileges: PLUID_AND_ATTRIBUTES, + pub AuthenticationId: LUID, +} +#[test] +fn bindgen_test_layout__TOKEN_GROUPS_AND_PRIVILEGES() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_GROUPS_AND_PRIVILEGES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_GROUPS_AND_PRIVILEGES>(), + 56usize, + concat!("Size of: ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_GROUPS_AND_PRIVILEGES>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_GROUPS_AND_PRIVILEGES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(SidCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(SidLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sids) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(Sids) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSidCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(RestrictedSidCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSidLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(RestrictedSidLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSids) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(RestrictedSids) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(PrivilegeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeLength) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(PrivilegeLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privileges) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(Privileges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_GROUPS_AND_PRIVILEGES), + "::", + stringify!(AuthenticationId) + ) + ); +} +pub type TOKEN_GROUPS_AND_PRIVILEGES = _TOKEN_GROUPS_AND_PRIVILEGES; +pub type PTOKEN_GROUPS_AND_PRIVILEGES = *mut _TOKEN_GROUPS_AND_PRIVILEGES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_LINKED_TOKEN { + pub LinkedToken: HANDLE, +} +#[test] +fn bindgen_test_layout__TOKEN_LINKED_TOKEN() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_LINKED_TOKEN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_LINKED_TOKEN>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_LINKED_TOKEN)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_LINKED_TOKEN>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_LINKED_TOKEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LinkedToken) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_LINKED_TOKEN), + "::", + stringify!(LinkedToken) + ) + ); +} +pub type TOKEN_LINKED_TOKEN = _TOKEN_LINKED_TOKEN; +pub type PTOKEN_LINKED_TOKEN = *mut _TOKEN_LINKED_TOKEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_ELEVATION { + pub TokenIsElevated: DWORD, +} +#[test] +fn bindgen_test_layout__TOKEN_ELEVATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_ELEVATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_ELEVATION>(), + 4usize, + concat!("Size of: ", stringify!(_TOKEN_ELEVATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_ELEVATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_ELEVATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenIsElevated) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ELEVATION), + "::", + stringify!(TokenIsElevated) + ) + ); +} +pub type TOKEN_ELEVATION = _TOKEN_ELEVATION; +pub type PTOKEN_ELEVATION = *mut _TOKEN_ELEVATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_MANDATORY_LABEL { + pub Label: SID_AND_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__TOKEN_MANDATORY_LABEL() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_MANDATORY_LABEL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_MANDATORY_LABEL>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_MANDATORY_LABEL)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_MANDATORY_LABEL>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_MANDATORY_LABEL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Label) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_MANDATORY_LABEL), + "::", + stringify!(Label) + ) + ); +} +pub type TOKEN_MANDATORY_LABEL = _TOKEN_MANDATORY_LABEL; +pub type PTOKEN_MANDATORY_LABEL = *mut _TOKEN_MANDATORY_LABEL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_MANDATORY_POLICY { + pub Policy: DWORD, +} +#[test] +fn bindgen_test_layout__TOKEN_MANDATORY_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_MANDATORY_POLICY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_MANDATORY_POLICY>(), + 4usize, + concat!("Size of: ", stringify!(_TOKEN_MANDATORY_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_MANDATORY_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_MANDATORY_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Policy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_MANDATORY_POLICY), + "::", + stringify!(Policy) + ) + ); +} +pub type TOKEN_MANDATORY_POLICY = _TOKEN_MANDATORY_POLICY; +pub type PTOKEN_MANDATORY_POLICY = *mut _TOKEN_MANDATORY_POLICY; +pub type PSECURITY_ATTRIBUTES_OPAQUE = PVOID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_ACCESS_INFORMATION { + pub SidHash: PSID_AND_ATTRIBUTES_HASH, + pub RestrictedSidHash: PSID_AND_ATTRIBUTES_HASH, + pub Privileges: PTOKEN_PRIVILEGES, + pub AuthenticationId: LUID, + pub TokenType: TOKEN_TYPE, + pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + pub MandatoryPolicy: TOKEN_MANDATORY_POLICY, + pub Flags: DWORD, + pub AppContainerNumber: DWORD, + pub PackageSid: PSID, + pub CapabilitiesHash: PSID_AND_ATTRIBUTES_HASH, + pub TrustLevelSid: PSID, + pub SecurityAttributes: PSECURITY_ATTRIBUTES_OPAQUE, +} +#[test] +fn bindgen_test_layout__TOKEN_ACCESS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_ACCESS_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_ACCESS_INFORMATION>(), + 88usize, + concat!("Size of: ", stringify!(_TOKEN_ACCESS_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_ACCESS_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_ACCESS_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidHash) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(SidHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSidHash) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(RestrictedSidHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privileges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(Privileges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(AuthenticationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(TokenType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationLevel) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(ImpersonationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MandatoryPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(MandatoryPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AppContainerNumber) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(AppContainerNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PackageSid) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(PackageSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CapabilitiesHash) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(CapabilitiesHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustLevelSid) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(TrustLevelSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityAttributes) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ACCESS_INFORMATION), + "::", + stringify!(SecurityAttributes) + ) + ); +} +pub type TOKEN_ACCESS_INFORMATION = _TOKEN_ACCESS_INFORMATION; +pub type PTOKEN_ACCESS_INFORMATION = *mut _TOKEN_ACCESS_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_AUDIT_POLICY { + pub PerUserPolicy: [BYTE; 30usize], +} +#[test] +fn bindgen_test_layout__TOKEN_AUDIT_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_AUDIT_POLICY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_AUDIT_POLICY>(), + 30usize, + concat!("Size of: ", stringify!(_TOKEN_AUDIT_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_AUDIT_POLICY>(), + 1usize, + concat!("Alignment of ", stringify!(_TOKEN_AUDIT_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerUserPolicy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_AUDIT_POLICY), + "::", + stringify!(PerUserPolicy) + ) + ); +} +pub type TOKEN_AUDIT_POLICY = _TOKEN_AUDIT_POLICY; +pub type PTOKEN_AUDIT_POLICY = *mut _TOKEN_AUDIT_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_SOURCE { + pub SourceName: [CHAR; 8usize], + pub SourceIdentifier: LUID, +} +#[test] +fn bindgen_test_layout__TOKEN_SOURCE() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_SOURCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_SOURCE>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_SOURCE)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_SOURCE>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_SOURCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_SOURCE), + "::", + stringify!(SourceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_SOURCE), + "::", + stringify!(SourceIdentifier) + ) + ); +} +pub type TOKEN_SOURCE = _TOKEN_SOURCE; +pub type PTOKEN_SOURCE = *mut _TOKEN_SOURCE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TOKEN_STATISTICS { + pub TokenId: LUID, + pub AuthenticationId: LUID, + pub ExpirationTime: LARGE_INTEGER, + pub TokenType: TOKEN_TYPE, + pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + pub DynamicCharged: DWORD, + pub DynamicAvailable: DWORD, + pub GroupCount: DWORD, + pub PrivilegeCount: DWORD, + pub ModifiedId: LUID, +} +#[test] +fn bindgen_test_layout__TOKEN_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_STATISTICS>(), + 56usize, + concat!("Size of: ", stringify!(_TOKEN_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_STATISTICS>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(TokenId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(AuthenticationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExpirationTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(ExpirationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(TokenType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationLevel) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(ImpersonationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicCharged) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(DynamicCharged) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicAvailable) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(DynamicAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(GroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegeCount) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(PrivilegeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ModifiedId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_STATISTICS), + "::", + stringify!(ModifiedId) + ) + ); +} +pub type TOKEN_STATISTICS = _TOKEN_STATISTICS; +pub type PTOKEN_STATISTICS = *mut _TOKEN_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_CONTROL { + pub TokenId: LUID, + pub AuthenticationId: LUID, + pub ModifiedId: LUID, + pub TokenSource: TOKEN_SOURCE, +} +#[test] +fn bindgen_test_layout__TOKEN_CONTROL() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_CONTROL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_CONTROL>(), + 40usize, + concat!("Size of: ", stringify!(_TOKEN_CONTROL)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_CONTROL>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_CONTROL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_CONTROL), + "::", + stringify!(TokenId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_CONTROL), + "::", + stringify!(AuthenticationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ModifiedId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_CONTROL), + "::", + stringify!(ModifiedId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenSource) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_CONTROL), + "::", + stringify!(TokenSource) + ) + ); +} +pub type TOKEN_CONTROL = _TOKEN_CONTROL; +pub type PTOKEN_CONTROL = *mut _TOKEN_CONTROL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_ORIGIN { + pub OriginatingLogonSession: LUID, +} +#[test] +fn bindgen_test_layout__TOKEN_ORIGIN() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_ORIGIN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_ORIGIN>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_ORIGIN)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_ORIGIN>(), + 4usize, + concat!("Alignment of ", stringify!(_TOKEN_ORIGIN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatingLogonSession) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_ORIGIN), + "::", + stringify!(OriginatingLogonSession) + ) + ); +} +pub type TOKEN_ORIGIN = _TOKEN_ORIGIN; +pub type PTOKEN_ORIGIN = *mut _TOKEN_ORIGIN; +pub const _MANDATORY_LEVEL_MandatoryLevelUntrusted: _MANDATORY_LEVEL = 0; +pub const _MANDATORY_LEVEL_MandatoryLevelLow: _MANDATORY_LEVEL = 1; +pub const _MANDATORY_LEVEL_MandatoryLevelMedium: _MANDATORY_LEVEL = 2; +pub const _MANDATORY_LEVEL_MandatoryLevelHigh: _MANDATORY_LEVEL = 3; +pub const _MANDATORY_LEVEL_MandatoryLevelSystem: _MANDATORY_LEVEL = 4; +pub const _MANDATORY_LEVEL_MandatoryLevelSecureProcess: _MANDATORY_LEVEL = 5; +pub const _MANDATORY_LEVEL_MandatoryLevelCount: _MANDATORY_LEVEL = 6; +pub type _MANDATORY_LEVEL = ::std::os::raw::c_int; +pub use self::_MANDATORY_LEVEL as MANDATORY_LEVEL; +pub type PMANDATORY_LEVEL = *mut _MANDATORY_LEVEL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_APPCONTAINER_INFORMATION { + pub TokenAppContainer: PSID, +} +#[test] +fn bindgen_test_layout__TOKEN_APPCONTAINER_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_APPCONTAINER_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_APPCONTAINER_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_APPCONTAINER_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_APPCONTAINER_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_APPCONTAINER_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenAppContainer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_APPCONTAINER_INFORMATION), + "::", + stringify!(TokenAppContainer) + ) + ); +} +pub type TOKEN_APPCONTAINER_INFORMATION = _TOKEN_APPCONTAINER_INFORMATION; +pub type PTOKEN_APPCONTAINER_INFORMATION = *mut _TOKEN_APPCONTAINER_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_SID_INFORMATION { + pub Sid: PSID, +} +#[test] +fn bindgen_test_layout__TOKEN_SID_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_SID_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_SID_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_TOKEN_SID_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_SID_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TOKEN_SID_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_SID_INFORMATION), + "::", + stringify!(Sid) + ) + ); +} +pub type TOKEN_SID_INFORMATION = _TOKEN_SID_INFORMATION; +pub type PTOKEN_SID_INFORMATION = *mut _TOKEN_SID_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TOKEN_BNO_ISOLATION_INFORMATION { + pub IsolationPrefix: PWSTR, + pub IsolationEnabled: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TOKEN_BNO_ISOLATION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TOKEN_BNO_ISOLATION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TOKEN_BNO_ISOLATION_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_TOKEN_BNO_ISOLATION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TOKEN_BNO_ISOLATION_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TOKEN_BNO_ISOLATION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationPrefix) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_BNO_ISOLATION_INFORMATION), + "::", + stringify!(IsolationPrefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationEnabled) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TOKEN_BNO_ISOLATION_INFORMATION), + "::", + stringify!(IsolationEnabled) + ) + ); +} +pub type TOKEN_BNO_ISOLATION_INFORMATION = _TOKEN_BNO_ISOLATION_INFORMATION; +pub type PTOKEN_BNO_ISOLATION_INFORMATION = *mut _TOKEN_BNO_ISOLATION_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE { + pub Version: DWORD64, + pub Name: PWSTR, +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE), + "::", + stringify!(Name) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE; +pub type PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = *mut _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE { + pub pValue: PVOID, + pub ValueLength: DWORD, +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE), + "::", + stringify!(pValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE), + "::", + stringify!(ValueLength) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; +pub type PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = + *mut _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTE_V1 { + pub Name: PWSTR, + pub ValueType: WORD, + pub Reserved: WORD, + pub Flags: DWORD, + pub ValueCount: DWORD, + pub Values: _CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1 { + pub pInt64: PLONG64, + pub pUint64: PDWORD64, + pub ppString: *mut PWSTR, + pub pFqbn: PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE, + pub pOctetString: PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE, +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pInt64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(pInt64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUint64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(pUint64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(ppString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFqbn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(pFqbn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOctetString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1__bindgen_ty_1), + "::", + stringify!(pOctetString) + ) + ); +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_V1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_V1>(), + 32usize, + concat!("Size of: ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(ValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(ValueCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Values) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_V1), + "::", + stringify!(Values) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTE_V1 = _CLAIM_SECURITY_ATTRIBUTE_V1; +pub type PCLAIM_SECURITY_ATTRIBUTE_V1 = *mut _CLAIM_SECURITY_ATTRIBUTE_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 { + pub Name: DWORD, + pub ValueType: WORD, + pub Reserved: WORD, + pub Flags: DWORD, + pub ValueCount: DWORD, + pub Values: _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1 { + pub pInt64: [DWORD; 1usize], + pub pUint64: [DWORD; 1usize], + pub ppString: [DWORD; 1usize], + pub pFqbn: [DWORD; 1usize], + pub pOctetString: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pInt64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(pInt64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUint64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(pUint64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(ppString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFqbn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(pFqbn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOctetString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1__bindgen_ty_1), + "::", + stringify!(pOctetString) + ) + ); +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>(), + 20usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(ValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValueCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(ValueCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Values) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1), + "::", + stringify!(Values) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1; +pub type PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = *mut _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CLAIM_SECURITY_ATTRIBUTES_INFORMATION { + pub Version: WORD, + pub Reserved: WORD, + pub AttributeCount: DWORD, + pub Attribute: _CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1 { + pub pAttributeV1: PCLAIM_SECURITY_ATTRIBUTE_V1, +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAttributeV1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION__bindgen_ty_1), + "::", + stringify!(pAttributeV1) + ) + ); +} +#[test] +fn bindgen_test_layout__CLAIM_SECURITY_ATTRIBUTES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CLAIM_SECURITY_ATTRIBUTES_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributeCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), + "::", + stringify!(AttributeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attribute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION), + "::", + stringify!(Attribute) + ) + ); +} +pub type CLAIM_SECURITY_ATTRIBUTES_INFORMATION = _CLAIM_SECURITY_ATTRIBUTES_INFORMATION; +pub type PCLAIM_SECURITY_ATTRIBUTES_INFORMATION = *mut _CLAIM_SECURITY_ATTRIBUTES_INFORMATION; +pub type SECURITY_CONTEXT_TRACKING_MODE = BOOLEAN; +pub type PSECURITY_CONTEXT_TRACKING_MODE = *mut BOOLEAN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_QUALITY_OF_SERVICE { + pub Length: DWORD, + pub ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + pub ContextTrackingMode: SECURITY_CONTEXT_TRACKING_MODE, + pub EffectiveOnly: BOOLEAN, +} +#[test] +fn bindgen_test_layout__SECURITY_QUALITY_OF_SERVICE() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_QUALITY_OF_SERVICE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_QUALITY_OF_SERVICE>(), + 12usize, + concat!("Size of: ", stringify!(_SECURITY_QUALITY_OF_SERVICE)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_QUALITY_OF_SERVICE>(), + 4usize, + concat!("Alignment of ", stringify!(_SECURITY_QUALITY_OF_SERVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_QUALITY_OF_SERVICE), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_QUALITY_OF_SERVICE), + "::", + stringify!(ImpersonationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextTrackingMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_QUALITY_OF_SERVICE), + "::", + stringify!(ContextTrackingMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_QUALITY_OF_SERVICE), + "::", + stringify!(EffectiveOnly) + ) + ); +} +pub type SECURITY_QUALITY_OF_SERVICE = _SECURITY_QUALITY_OF_SERVICE; +pub type PSECURITY_QUALITY_OF_SERVICE = *mut _SECURITY_QUALITY_OF_SERVICE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SE_IMPERSONATION_STATE { + pub Token: PACCESS_TOKEN, + pub CopyOnOpen: BOOLEAN, + pub EffectiveOnly: BOOLEAN, + pub Level: SECURITY_IMPERSONATION_LEVEL, +} +#[test] +fn bindgen_test_layout__SE_IMPERSONATION_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_SE_IMPERSONATION_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SE_IMPERSONATION_STATE>(), + 16usize, + concat!("Size of: ", stringify!(_SE_IMPERSONATION_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_SE_IMPERSONATION_STATE>(), + 8usize, + concat!("Alignment of ", stringify!(_SE_IMPERSONATION_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SE_IMPERSONATION_STATE), + "::", + stringify!(Token) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyOnOpen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SE_IMPERSONATION_STATE), + "::", + stringify!(CopyOnOpen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SE_IMPERSONATION_STATE), + "::", + stringify!(EffectiveOnly) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SE_IMPERSONATION_STATE), + "::", + stringify!(Level) + ) + ); +} +pub type SE_IMPERSONATION_STATE = _SE_IMPERSONATION_STATE; +pub type PSE_IMPERSONATION_STATE = *mut _SE_IMPERSONATION_STATE; +pub type SECURITY_INFORMATION = DWORD; +pub type PSECURITY_INFORMATION = *mut DWORD; +pub type SE_SIGNING_LEVEL = BYTE; +pub type PSE_SIGNING_LEVEL = *mut BYTE; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureNone: _SE_IMAGE_SIGNATURE_TYPE = 0; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureEmbedded: _SE_IMAGE_SIGNATURE_TYPE = 1; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCache: _SE_IMAGE_SIGNATURE_TYPE = 2; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCatalogCached: _SE_IMAGE_SIGNATURE_TYPE = 3; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCatalogNotCached: _SE_IMAGE_SIGNATURE_TYPE = 4; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignatureCatalogHint: _SE_IMAGE_SIGNATURE_TYPE = 5; +pub const _SE_IMAGE_SIGNATURE_TYPE_SeImageSignaturePackageCatalog: _SE_IMAGE_SIGNATURE_TYPE = 6; +pub type _SE_IMAGE_SIGNATURE_TYPE = ::std::os::raw::c_int; +pub use self::_SE_IMAGE_SIGNATURE_TYPE as SE_IMAGE_SIGNATURE_TYPE; +pub type PSE_IMAGE_SIGNATURE_TYPE = *mut _SE_IMAGE_SIGNATURE_TYPE; +pub const _SE_LEARNING_MODE_DATA_TYPE_SeLearningModeInvalidType: _SE_LEARNING_MODE_DATA_TYPE = 0; +pub const _SE_LEARNING_MODE_DATA_TYPE_SeLearningModeSettings: _SE_LEARNING_MODE_DATA_TYPE = 1; +pub const _SE_LEARNING_MODE_DATA_TYPE_SeLearningModeMax: _SE_LEARNING_MODE_DATA_TYPE = 2; +pub type _SE_LEARNING_MODE_DATA_TYPE = ::std::os::raw::c_int; +pub use self::_SE_LEARNING_MODE_DATA_TYPE as SE_LEARNING_MODE_DATA_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_CAPABILITIES { + pub AppContainerSid: PSID, + pub Capabilities: PSID_AND_ATTRIBUTES, + pub CapabilityCount: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__SECURITY_CAPABILITIES() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_CAPABILITIES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_CAPABILITIES>(), + 24usize, + concat!("Size of: ", stringify!(_SECURITY_CAPABILITIES)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_CAPABILITIES>(), + 8usize, + concat!("Alignment of ", stringify!(_SECURITY_CAPABILITIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AppContainerSid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_CAPABILITIES), + "::", + stringify!(AppContainerSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_CAPABILITIES), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CapabilityCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_CAPABILITIES), + "::", + stringify!(CapabilityCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_CAPABILITIES), + "::", + stringify!(Reserved) + ) + ); +} +pub type SECURITY_CAPABILITIES = _SECURITY_CAPABILITIES; +pub type PSECURITY_CAPABILITIES = *mut _SECURITY_CAPABILITIES; +pub type LPSECURITY_CAPABILITIES = *mut _SECURITY_CAPABILITIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_SET_ARRAY { + pub JobHandle: HANDLE, + pub MemberLevel: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__JOB_SET_ARRAY() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_SET_ARRAY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_SET_ARRAY>(), + 16usize, + concat!("Size of: ", stringify!(_JOB_SET_ARRAY)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_SET_ARRAY>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_SET_ARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_SET_ARRAY), + "::", + stringify!(JobHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MemberLevel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_SET_ARRAY), + "::", + stringify!(MemberLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_JOB_SET_ARRAY), + "::", + stringify!(Flags) + ) + ); +} +pub type JOB_SET_ARRAY = _JOB_SET_ARRAY; +pub type PJOB_SET_ARRAY = *mut _JOB_SET_ARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_REGISTRATION_RECORD { + pub Next: *mut _EXCEPTION_REGISTRATION_RECORD, + pub Handler: PEXCEPTION_ROUTINE, +} +#[test] +fn bindgen_test_layout__EXCEPTION_REGISTRATION_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_REGISTRATION_RECORD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_REGISTRATION_RECORD>(), + 16usize, + concat!("Size of: ", stringify!(_EXCEPTION_REGISTRATION_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_REGISTRATION_RECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_REGISTRATION_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_REGISTRATION_RECORD), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Handler) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_REGISTRATION_RECORD), + "::", + stringify!(Handler) + ) + ); +} +pub type EXCEPTION_REGISTRATION_RECORD = _EXCEPTION_REGISTRATION_RECORD; +pub type PEXCEPTION_REGISTRATION_RECORD = *mut EXCEPTION_REGISTRATION_RECORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NT_TIB { + pub ExceptionList: *mut _EXCEPTION_REGISTRATION_RECORD, + pub StackBase: PVOID, + pub StackLimit: PVOID, + pub SubSystemTib: PVOID, + pub __bindgen_anon_1: _NT_TIB__bindgen_ty_1, + pub ArbitraryUserPointer: PVOID, + pub Self_: *mut _NT_TIB, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NT_TIB__bindgen_ty_1 { + pub FiberData: PVOID, + pub Version: DWORD, +} +#[test] +fn bindgen_test_layout__NT_TIB__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_NT_TIB__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_NT_TIB__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FiberData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB__bindgen_ty_1), + "::", + stringify!(FiberData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB__bindgen_ty_1), + "::", + stringify!(Version) + ) + ); +} +#[test] +fn bindgen_test_layout__NT_TIB() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB>(), + 56usize, + concat!("Size of: ", stringify!(_NT_TIB)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB>(), + 8usize, + concat!("Alignment of ", stringify!(_NT_TIB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(ExceptionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(StackBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(StackLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemTib) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(SubSystemTib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArbitraryUserPointer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(ArbitraryUserPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Self_) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB), + "::", + stringify!(Self_) + ) + ); +} +pub type NT_TIB = _NT_TIB; +pub type PNT_TIB = *mut NT_TIB; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NT_TIB32 { + pub ExceptionList: DWORD, + pub StackBase: DWORD, + pub StackLimit: DWORD, + pub SubSystemTib: DWORD, + pub __bindgen_anon_1: _NT_TIB32__bindgen_ty_1, + pub ArbitraryUserPointer: DWORD, + pub Self_: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NT_TIB32__bindgen_ty_1 { + pub FiberData: DWORD, + pub Version: DWORD, +} +#[test] +fn bindgen_test_layout__NT_TIB32__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB32__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB32__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_NT_TIB32__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB32__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_NT_TIB32__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FiberData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32__bindgen_ty_1), + "::", + stringify!(FiberData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32__bindgen_ty_1), + "::", + stringify!(Version) + ) + ); +} +#[test] +fn bindgen_test_layout__NT_TIB32() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB32>(), + 28usize, + concat!("Size of: ", stringify!(_NT_TIB32)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB32>(), + 4usize, + concat!("Alignment of ", stringify!(_NT_TIB32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(ExceptionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackBase) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(StackBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(StackLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemTib) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(SubSystemTib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArbitraryUserPointer) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(ArbitraryUserPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Self_) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB32), + "::", + stringify!(Self_) + ) + ); +} +pub type NT_TIB32 = _NT_TIB32; +pub type PNT_TIB32 = *mut _NT_TIB32; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NT_TIB64 { + pub ExceptionList: DWORD64, + pub StackBase: DWORD64, + pub StackLimit: DWORD64, + pub SubSystemTib: DWORD64, + pub __bindgen_anon_1: _NT_TIB64__bindgen_ty_1, + pub ArbitraryUserPointer: DWORD64, + pub Self_: DWORD64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NT_TIB64__bindgen_ty_1 { + pub FiberData: DWORD64, + pub Version: DWORD, +} +#[test] +fn bindgen_test_layout__NT_TIB64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB64__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_NT_TIB64__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB64__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_NT_TIB64__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FiberData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64__bindgen_ty_1), + "::", + stringify!(FiberData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64__bindgen_ty_1), + "::", + stringify!(Version) + ) + ); +} +#[test] +fn bindgen_test_layout__NT_TIB64() { + const UNINIT: ::std::mem::MaybeUninit<_NT_TIB64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NT_TIB64>(), + 56usize, + concat!("Size of: ", stringify!(_NT_TIB64)) + ); + assert_eq!( + ::std::mem::align_of::<_NT_TIB64>(), + 8usize, + concat!("Alignment of ", stringify!(_NT_TIB64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(ExceptionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(StackBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(StackLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubSystemTib) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(SubSystemTib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArbitraryUserPointer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(ArbitraryUserPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Self_) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_NT_TIB64), + "::", + stringify!(Self_) + ) + ); +} +pub type NT_TIB64 = _NT_TIB64; +pub type PNT_TIB64 = *mut _NT_TIB64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UMS_CREATE_THREAD_ATTRIBUTES { + pub UmsVersion: DWORD, + pub UmsContext: PVOID, + pub UmsCompletionList: PVOID, +} +#[test] +fn bindgen_test_layout__UMS_CREATE_THREAD_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_UMS_CREATE_THREAD_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UMS_CREATE_THREAD_ATTRIBUTES>(), + 24usize, + concat!("Size of: ", stringify!(_UMS_CREATE_THREAD_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_CREATE_THREAD_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_UMS_CREATE_THREAD_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UMS_CREATE_THREAD_ATTRIBUTES), + "::", + stringify!(UmsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UMS_CREATE_THREAD_ATTRIBUTES), + "::", + stringify!(UmsContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsCompletionList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_UMS_CREATE_THREAD_ATTRIBUTES), + "::", + stringify!(UmsCompletionList) + ) + ); +} +pub type UMS_CREATE_THREAD_ATTRIBUTES = _UMS_CREATE_THREAD_ATTRIBUTES; +pub type PUMS_CREATE_THREAD_ATTRIBUTES = *mut _UMS_CREATE_THREAD_ATTRIBUTES; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _WOW64_ARCHITECTURE_INFORMATION { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__WOW64_ARCHITECTURE_INFORMATION() { + assert_eq!( + ::std::mem::size_of::<_WOW64_ARCHITECTURE_INFORMATION>(), + 4usize, + concat!("Size of: ", stringify!(_WOW64_ARCHITECTURE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_WOW64_ARCHITECTURE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_WOW64_ARCHITECTURE_INFORMATION)) + ); +} +impl _WOW64_ARCHITECTURE_INFORMATION { + #[inline] + pub fn Machine(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_Machine(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn KernelMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) } + } + #[inline] + pub fn set_KernelMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 1u8, val as u64) + } + } + #[inline] + pub fn UserMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) } + } + #[inline] + pub fn set_UserMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(17usize, 1u8, val as u64) + } + } + #[inline] + pub fn Native(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) } + } + #[inline] + pub fn set_Native(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(18usize, 1u8, val as u64) + } + } + #[inline] + pub fn Process(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) } + } + #[inline] + pub fn set_Process(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedZero0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) } + } + #[inline] + pub fn set_ReservedZero0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 12u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Machine: DWORD, + KernelMode: DWORD, + UserMode: DWORD, + Native: DWORD, + Process: DWORD, + ReservedZero0: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let Machine: u32 = unsafe { ::std::mem::transmute(Machine) }; + Machine as u64 + }); + __bindgen_bitfield_unit.set(16usize, 1u8, { + let KernelMode: u32 = unsafe { ::std::mem::transmute(KernelMode) }; + KernelMode as u64 + }); + __bindgen_bitfield_unit.set(17usize, 1u8, { + let UserMode: u32 = unsafe { ::std::mem::transmute(UserMode) }; + UserMode as u64 + }); + __bindgen_bitfield_unit.set(18usize, 1u8, { + let Native: u32 = unsafe { ::std::mem::transmute(Native) }; + Native as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let Process: u32 = unsafe { ::std::mem::transmute(Process) }; + Process as u64 + }); + __bindgen_bitfield_unit.set(20usize, 12u8, { + let ReservedZero0: u32 = unsafe { ::std::mem::transmute(ReservedZero0) }; + ReservedZero0 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type WOW64_ARCHITECTURE_INFORMATION = _WOW64_ARCHITECTURE_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGET { + pub TargetAddress: ULONG_PTR, + pub Flags: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__PROCESS_DYNAMIC_EH_CONTINUATION_TARGET() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET), + "::", + stringify!(TargetAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGET), + "::", + stringify!(Flags) + ) + ); +} +pub type PROCESS_DYNAMIC_EH_CONTINUATION_TARGET = _PROCESS_DYNAMIC_EH_CONTINUATION_TARGET; +pub type PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET = *mut _PROCESS_DYNAMIC_EH_CONTINUATION_TARGET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION { + pub NumberOfTargets: WORD, + pub Reserved: WORD, + pub Reserved2: DWORD, + pub Targets: PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET, +} +#[test] +fn bindgen_test_layout__PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTargets) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION), + "::", + stringify!(NumberOfTargets) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Targets) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION), + "::", + stringify!(Targets) + ) + ); +} +pub type PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION = + _PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION; +pub type PPROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION = + *mut _PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE { + pub BaseAddress: ULONG_PTR, + pub Size: SIZE_T, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE>(), + 24usize, + concat!( + "Size of: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE), + "::", + stringify!(Flags) + ) + ); +} +pub type PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE = _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE; +pub type PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE = *mut _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION { + pub NumberOfRanges: WORD, + pub Reserved: WORD, + pub Reserved2: DWORD, + pub Ranges: PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE, +} +#[test] +fn bindgen_test_layout__PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRanges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION), + "::", + stringify!(NumberOfRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION), + "::", + stringify!(Ranges) + ) + ); +} +pub type PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION = + _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION; +pub type PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION = + *mut _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _QUOTA_LIMITS { + pub PagedPoolLimit: SIZE_T, + pub NonPagedPoolLimit: SIZE_T, + pub MinimumWorkingSetSize: SIZE_T, + pub MaximumWorkingSetSize: SIZE_T, + pub PagefileLimit: SIZE_T, + pub TimeLimit: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__QUOTA_LIMITS() { + const UNINIT: ::std::mem::MaybeUninit<_QUOTA_LIMITS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUOTA_LIMITS>(), + 48usize, + concat!("Size of: ", stringify!(_QUOTA_LIMITS)) + ); + assert_eq!( + ::std::mem::align_of::<_QUOTA_LIMITS>(), + 8usize, + concat!("Alignment of ", stringify!(_QUOTA_LIMITS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagedPoolLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(PagedPoolLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonPagedPoolLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(NonPagedPoolLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumWorkingSetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(MinimumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumWorkingSetSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(MaximumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagefileLimit) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(PagefileLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeLimit) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS), + "::", + stringify!(TimeLimit) + ) + ); +} +pub type QUOTA_LIMITS = _QUOTA_LIMITS; +pub type PQUOTA_LIMITS = *mut _QUOTA_LIMITS; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RATE_QUOTA_LIMIT { + pub RateData: DWORD, + pub __bindgen_anon_1: _RATE_QUOTA_LIMIT__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _RATE_QUOTA_LIMIT__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__RATE_QUOTA_LIMIT__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_RATE_QUOTA_LIMIT__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_RATE_QUOTA_LIMIT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_RATE_QUOTA_LIMIT__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_RATE_QUOTA_LIMIT__bindgen_ty_1)) + ); +} +impl _RATE_QUOTA_LIMIT__bindgen_ty_1 { + #[inline] + pub fn RatePercent(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) } + } + #[inline] + pub fn set_RatePercent(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 7u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 25u8) as u32) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 25u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + RatePercent: DWORD, + Reserved0: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 7u8, { + let RatePercent: u32 = unsafe { ::std::mem::transmute(RatePercent) }; + RatePercent as u64 + }); + __bindgen_bitfield_unit.set(7usize, 25u8, { + let Reserved0: u32 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__RATE_QUOTA_LIMIT() { + const UNINIT: ::std::mem::MaybeUninit<_RATE_QUOTA_LIMIT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RATE_QUOTA_LIMIT>(), + 4usize, + concat!("Size of: ", stringify!(_RATE_QUOTA_LIMIT)) + ); + assert_eq!( + ::std::mem::align_of::<_RATE_QUOTA_LIMIT>(), + 4usize, + concat!("Alignment of ", stringify!(_RATE_QUOTA_LIMIT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RATE_QUOTA_LIMIT), + "::", + stringify!(RateData) + ) + ); +} +pub type RATE_QUOTA_LIMIT = _RATE_QUOTA_LIMIT; +pub type PRATE_QUOTA_LIMIT = *mut _RATE_QUOTA_LIMIT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _QUOTA_LIMITS_EX { + pub PagedPoolLimit: SIZE_T, + pub NonPagedPoolLimit: SIZE_T, + pub MinimumWorkingSetSize: SIZE_T, + pub MaximumWorkingSetSize: SIZE_T, + pub PagefileLimit: SIZE_T, + pub TimeLimit: LARGE_INTEGER, + pub WorkingSetLimit: SIZE_T, + pub Reserved2: SIZE_T, + pub Reserved3: SIZE_T, + pub Reserved4: SIZE_T, + pub Flags: DWORD, + pub CpuRateLimit: RATE_QUOTA_LIMIT, +} +#[test] +fn bindgen_test_layout__QUOTA_LIMITS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_QUOTA_LIMITS_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUOTA_LIMITS_EX>(), + 88usize, + concat!("Size of: ", stringify!(_QUOTA_LIMITS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_QUOTA_LIMITS_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_QUOTA_LIMITS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagedPoolLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(PagedPoolLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonPagedPoolLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(NonPagedPoolLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumWorkingSetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(MinimumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumWorkingSetSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(MaximumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagefileLimit) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(PagefileLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeLimit) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(TimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WorkingSetLimit) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(WorkingSetLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved4) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(Reserved4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuRateLimit) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_QUOTA_LIMITS_EX), + "::", + stringify!(CpuRateLimit) + ) + ); +} +pub type QUOTA_LIMITS_EX = _QUOTA_LIMITS_EX; +pub type PQUOTA_LIMITS_EX = *mut _QUOTA_LIMITS_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_COUNTERS { + pub ReadOperationCount: ULONGLONG, + pub WriteOperationCount: ULONGLONG, + pub OtherOperationCount: ULONGLONG, + pub ReadTransferCount: ULONGLONG, + pub WriteTransferCount: ULONGLONG, + pub OtherTransferCount: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IO_COUNTERS() { + const UNINIT: ::std::mem::MaybeUninit<_IO_COUNTERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IO_COUNTERS>(), + 48usize, + concat!("Size of: ", stringify!(_IO_COUNTERS)) + ); + assert_eq!( + ::std::mem::align_of::<_IO_COUNTERS>(), + 8usize, + concat!("Alignment of ", stringify!(_IO_COUNTERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadOperationCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(ReadOperationCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteOperationCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(WriteOperationCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OtherOperationCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(OtherOperationCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadTransferCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(ReadTransferCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteTransferCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(WriteTransferCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OtherTransferCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IO_COUNTERS), + "::", + stringify!(OtherTransferCount) + ) + ); +} +pub type IO_COUNTERS = _IO_COUNTERS; +pub type PIO_COUNTERS = *mut IO_COUNTERS; +pub const _HARDWARE_COUNTER_TYPE_PMCCounter: _HARDWARE_COUNTER_TYPE = 0; +pub const _HARDWARE_COUNTER_TYPE_MaxHardwareCounterType: _HARDWARE_COUNTER_TYPE = 1; +pub type _HARDWARE_COUNTER_TYPE = ::std::os::raw::c_int; +pub use self::_HARDWARE_COUNTER_TYPE as HARDWARE_COUNTER_TYPE; +pub type PHARDWARE_COUNTER_TYPE = *mut _HARDWARE_COUNTER_TYPE; +pub const _PROCESS_MITIGATION_POLICY_ProcessDEPPolicy: _PROCESS_MITIGATION_POLICY = 0; +pub const _PROCESS_MITIGATION_POLICY_ProcessASLRPolicy: _PROCESS_MITIGATION_POLICY = 1; +pub const _PROCESS_MITIGATION_POLICY_ProcessDynamicCodePolicy: _PROCESS_MITIGATION_POLICY = 2; +pub const _PROCESS_MITIGATION_POLICY_ProcessStrictHandleCheckPolicy: _PROCESS_MITIGATION_POLICY = 3; +pub const _PROCESS_MITIGATION_POLICY_ProcessSystemCallDisablePolicy: _PROCESS_MITIGATION_POLICY = 4; +pub const _PROCESS_MITIGATION_POLICY_ProcessMitigationOptionsMask: _PROCESS_MITIGATION_POLICY = 5; +pub const _PROCESS_MITIGATION_POLICY_ProcessExtensionPointDisablePolicy: + _PROCESS_MITIGATION_POLICY = 6; +pub const _PROCESS_MITIGATION_POLICY_ProcessControlFlowGuardPolicy: _PROCESS_MITIGATION_POLICY = 7; +pub const _PROCESS_MITIGATION_POLICY_ProcessSignaturePolicy: _PROCESS_MITIGATION_POLICY = 8; +pub const _PROCESS_MITIGATION_POLICY_ProcessFontDisablePolicy: _PROCESS_MITIGATION_POLICY = 9; +pub const _PROCESS_MITIGATION_POLICY_ProcessImageLoadPolicy: _PROCESS_MITIGATION_POLICY = 10; +pub const _PROCESS_MITIGATION_POLICY_ProcessSystemCallFilterPolicy: _PROCESS_MITIGATION_POLICY = 11; +pub const _PROCESS_MITIGATION_POLICY_ProcessPayloadRestrictionPolicy: _PROCESS_MITIGATION_POLICY = + 12; +pub const _PROCESS_MITIGATION_POLICY_ProcessChildProcessPolicy: _PROCESS_MITIGATION_POLICY = 13; +pub const _PROCESS_MITIGATION_POLICY_ProcessSideChannelIsolationPolicy: _PROCESS_MITIGATION_POLICY = + 14; +pub const _PROCESS_MITIGATION_POLICY_ProcessUserShadowStackPolicy: _PROCESS_MITIGATION_POLICY = 15; +pub const _PROCESS_MITIGATION_POLICY_MaxProcessMitigationPolicy: _PROCESS_MITIGATION_POLICY = 16; +pub type _PROCESS_MITIGATION_POLICY = ::std::os::raw::c_int; +pub use self::_PROCESS_MITIGATION_POLICY as PROCESS_MITIGATION_POLICY; +pub type PPROCESS_MITIGATION_POLICY = *mut _PROCESS_MITIGATION_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_ASLR_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn EnableBottomUpRandomization(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableBottomUpRandomization(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableForceRelocateImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableForceRelocateImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableHighEntropy(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableHighEntropy(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn DisallowStrippedImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisallowStrippedImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + EnableBottomUpRandomization: DWORD, + EnableForceRelocateImages: DWORD, + EnableHighEntropy: DWORD, + DisallowStrippedImages: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let EnableBottomUpRandomization: u32 = + unsafe { ::std::mem::transmute(EnableBottomUpRandomization) }; + EnableBottomUpRandomization as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let EnableForceRelocateImages: u32 = + unsafe { ::std::mem::transmute(EnableForceRelocateImages) }; + EnableForceRelocateImages as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let EnableHighEntropy: u32 = unsafe { ::std::mem::transmute(EnableHighEntropy) }; + EnableHighEntropy as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let DisallowStrippedImages: u32 = + unsafe { ::std::mem::transmute(DisallowStrippedImages) }; + DisallowStrippedImages as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_ASLR_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_ASLR_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_ASLR_POLICY>(), + 4usize, + concat!("Size of: ", stringify!(_PROCESS_MITIGATION_ASLR_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_ASLR_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESS_MITIGATION_ASLR_POLICY)) + ); +} +pub type PROCESS_MITIGATION_ASLR_POLICY = _PROCESS_MITIGATION_ASLR_POLICY; +pub type PPROCESS_MITIGATION_ASLR_POLICY = *mut _PROCESS_MITIGATION_ASLR_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_DEP_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1, + pub Permanent: BOOLEAN, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Enable(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_Enable(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn DisableAtlThunkEmulation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisableAtlThunkEmulation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Enable: DWORD, + DisableAtlThunkEmulation: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Enable: u32 = unsafe { ::std::mem::transmute(Enable) }; + Enable as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let DisableAtlThunkEmulation: u32 = + unsafe { ::std::mem::transmute(DisableAtlThunkEmulation) }; + DisableAtlThunkEmulation as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DEP_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_DEP_POLICY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DEP_POLICY>(), + 8usize, + concat!("Size of: ", stringify!(_PROCESS_MITIGATION_DEP_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DEP_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESS_MITIGATION_DEP_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Permanent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_DEP_POLICY), + "::", + stringify!(Permanent) + ) + ); +} +pub type PROCESS_MITIGATION_DEP_POLICY = _PROCESS_MITIGATION_DEP_POLICY; +pub type PPROCESS_MITIGATION_DEP_POLICY = *mut _PROCESS_MITIGATION_DEP_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1() +{ + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn RaiseExceptionOnInvalidHandleReference(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_RaiseExceptionOnInvalidHandleReference(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn HandleExceptionsPermanentlyEnabled(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_HandleExceptionsPermanentlyEnabled(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + RaiseExceptionOnInvalidHandleReference: DWORD, + HandleExceptionsPermanentlyEnabled: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let RaiseExceptionOnInvalidHandleReference: u32 = + unsafe { ::std::mem::transmute(RaiseExceptionOnInvalidHandleReference) }; + RaiseExceptionOnInvalidHandleReference as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let HandleExceptionsPermanentlyEnabled: u32 = + unsafe { ::std::mem::transmute(HandleExceptionsPermanentlyEnabled) }; + HandleExceptionsPermanentlyEnabled as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = + _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY; +pub type PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = + *mut _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1() +{ + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn DisallowWin32kSystemCalls(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisallowWin32kSystemCalls(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditDisallowWin32kSystemCalls(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditDisallowWin32kSystemCalls(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + DisallowWin32kSystemCalls: DWORD, + AuditDisallowWin32kSystemCalls: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let DisallowWin32kSystemCalls: u32 = + unsafe { ::std::mem::transmute(DisallowWin32kSystemCalls) }; + DisallowWin32kSystemCalls as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditDisallowWin32kSystemCalls: u32 = + unsafe { ::std::mem::transmute(AuditDisallowWin32kSystemCalls) }; + AuditDisallowWin32kSystemCalls as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = + _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY; +pub type PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = + *mut _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1( +) { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!( + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!( + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); +} +impl _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn DisableExtensionPoints(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisableExtensionPoints(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + DisableExtensionPoints: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let DisableExtensionPoints: u32 = + unsafe { ::std::mem::transmute(DisableExtensionPoints) }; + DisableExtensionPoints as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = + _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY; +pub type PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = + *mut _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn ProhibitDynamicCode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_ProhibitDynamicCode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllowThreadOptOut(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowThreadOptOut(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllowRemoteDowngrade(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowRemoteDowngrade(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditProhibitDynamicCode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditProhibitDynamicCode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + ProhibitDynamicCode: DWORD, + AllowThreadOptOut: DWORD, + AllowRemoteDowngrade: DWORD, + AuditProhibitDynamicCode: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ProhibitDynamicCode: u32 = unsafe { ::std::mem::transmute(ProhibitDynamicCode) }; + ProhibitDynamicCode as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AllowThreadOptOut: u32 = unsafe { ::std::mem::transmute(AllowThreadOptOut) }; + AllowThreadOptOut as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let AllowRemoteDowngrade: u32 = unsafe { ::std::mem::transmute(AllowRemoteDowngrade) }; + AllowRemoteDowngrade as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditProhibitDynamicCode: u32 = + unsafe { ::std::mem::transmute(AuditProhibitDynamicCode) }; + AuditProhibitDynamicCode as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_DYNAMIC_CODE_POLICY = _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY; +pub type PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY = *mut _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn EnableControlFlowGuard(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableControlFlowGuard(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableExportSuppression(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableExportSuppression(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn StrictMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_StrictMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 29u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + EnableControlFlowGuard: DWORD, + EnableExportSuppression: DWORD, + StrictMode: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let EnableControlFlowGuard: u32 = + unsafe { ::std::mem::transmute(EnableControlFlowGuard) }; + EnableControlFlowGuard as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let EnableExportSuppression: u32 = + unsafe { ::std::mem::transmute(EnableExportSuppression) }; + EnableExportSuppression as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let StrictMode: u32 = unsafe { ::std::mem::transmute(StrictMode) }; + StrictMode as u64 + }); + __bindgen_bitfield_unit.set(3usize, 29u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = + _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY; +pub type PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = + *mut _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn MicrosoftSignedOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_MicrosoftSignedOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn StoreSignedOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_StoreSignedOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn MitigationOptIn(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_MitigationOptIn(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditMicrosoftSignedOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditMicrosoftSignedOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditStoreSignedOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditStoreSignedOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 27u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + MicrosoftSignedOnly: DWORD, + StoreSignedOnly: DWORD, + MitigationOptIn: DWORD, + AuditMicrosoftSignedOnly: DWORD, + AuditStoreSignedOnly: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let MicrosoftSignedOnly: u32 = unsafe { ::std::mem::transmute(MicrosoftSignedOnly) }; + MicrosoftSignedOnly as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let StoreSignedOnly: u32 = unsafe { ::std::mem::transmute(StoreSignedOnly) }; + StoreSignedOnly as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let MitigationOptIn: u32 = unsafe { ::std::mem::transmute(MitigationOptIn) }; + MitigationOptIn as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditMicrosoftSignedOnly: u32 = + unsafe { ::std::mem::transmute(AuditMicrosoftSignedOnly) }; + AuditMicrosoftSignedOnly as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let AuditStoreSignedOnly: u32 = unsafe { ::std::mem::transmute(AuditStoreSignedOnly) }; + AuditStoreSignedOnly as u64 + }); + __bindgen_bitfield_unit.set(5usize, 27u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY; +pub type PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = + *mut _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_FONT_DISABLE_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn DisableNonSystemFonts(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisableNonSystemFonts(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditNonSystemFontLoading(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditNonSystemFontLoading(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + DisableNonSystemFonts: DWORD, + AuditNonSystemFontLoading: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let DisableNonSystemFonts: u32 = + unsafe { ::std::mem::transmute(DisableNonSystemFonts) }; + DisableNonSystemFonts as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditNonSystemFontLoading: u32 = + unsafe { ::std::mem::transmute(AuditNonSystemFontLoading) }; + AuditNonSystemFontLoading as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_FONT_DISABLE_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_FONT_DISABLE_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_FONT_DISABLE_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_FONT_DISABLE_POLICY = _PROCESS_MITIGATION_FONT_DISABLE_POLICY; +pub type PPROCESS_MITIGATION_FONT_DISABLE_POLICY = *mut _PROCESS_MITIGATION_FONT_DISABLE_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn NoRemoteImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_NoRemoteImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn NoLowMandatoryLabelImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_NoLowMandatoryLabelImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn PreferSystem32Images(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_PreferSystem32Images(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditNoRemoteImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditNoRemoteImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditNoLowMandatoryLabelImages(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditNoLowMandatoryLabelImages(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 27u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 27u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + NoRemoteImages: DWORD, + NoLowMandatoryLabelImages: DWORD, + PreferSystem32Images: DWORD, + AuditNoRemoteImages: DWORD, + AuditNoLowMandatoryLabelImages: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let NoRemoteImages: u32 = unsafe { ::std::mem::transmute(NoRemoteImages) }; + NoRemoteImages as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let NoLowMandatoryLabelImages: u32 = + unsafe { ::std::mem::transmute(NoLowMandatoryLabelImages) }; + NoLowMandatoryLabelImages as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let PreferSystem32Images: u32 = unsafe { ::std::mem::transmute(PreferSystem32Images) }; + PreferSystem32Images as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditNoRemoteImages: u32 = unsafe { ::std::mem::transmute(AuditNoRemoteImages) }; + AuditNoRemoteImages as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let AuditNoLowMandatoryLabelImages: u32 = + unsafe { ::std::mem::transmute(AuditNoLowMandatoryLabelImages) }; + AuditNoLowMandatoryLabelImages as u64 + }); + __bindgen_bitfield_unit.set(5usize, 27u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_IMAGE_LOAD_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_IMAGE_LOAD_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_IMAGE_LOAD_POLICY = _PROCESS_MITIGATION_IMAGE_LOAD_POLICY; +pub type PPROCESS_MITIGATION_IMAGE_LOAD_POLICY = *mut _PROCESS_MITIGATION_IMAGE_LOAD_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn FilterId(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) } + } + #[inline] + pub fn set_FilterId(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 4u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + FilterId: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 4u8, { + let FilterId: u32 = unsafe { ::std::mem::transmute(FilterId) }; + FilterId as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY = + _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY; +pub type PPROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY = + *mut _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1() +{ + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn EnableExportAddressFilter(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableExportAddressFilter(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditExportAddressFilter(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditExportAddressFilter(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableExportAddressFilterPlus(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableExportAddressFilterPlus(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditExportAddressFilterPlus(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditExportAddressFilterPlus(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableImportAddressFilter(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableImportAddressFilter(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditImportAddressFilter(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditImportAddressFilter(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableRopStackPivot(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableRopStackPivot(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditRopStackPivot(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditRopStackPivot(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableRopCallerCheck(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableRopCallerCheck(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditRopCallerCheck(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditRopCallerCheck(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableRopSimExec(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableRopSimExec(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditRopSimExec(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditRopSimExec(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 20u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 20u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + EnableExportAddressFilter: DWORD, + AuditExportAddressFilter: DWORD, + EnableExportAddressFilterPlus: DWORD, + AuditExportAddressFilterPlus: DWORD, + EnableImportAddressFilter: DWORD, + AuditImportAddressFilter: DWORD, + EnableRopStackPivot: DWORD, + AuditRopStackPivot: DWORD, + EnableRopCallerCheck: DWORD, + AuditRopCallerCheck: DWORD, + EnableRopSimExec: DWORD, + AuditRopSimExec: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let EnableExportAddressFilter: u32 = + unsafe { ::std::mem::transmute(EnableExportAddressFilter) }; + EnableExportAddressFilter as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditExportAddressFilter: u32 = + unsafe { ::std::mem::transmute(AuditExportAddressFilter) }; + AuditExportAddressFilter as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let EnableExportAddressFilterPlus: u32 = + unsafe { ::std::mem::transmute(EnableExportAddressFilterPlus) }; + EnableExportAddressFilterPlus as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditExportAddressFilterPlus: u32 = + unsafe { ::std::mem::transmute(AuditExportAddressFilterPlus) }; + AuditExportAddressFilterPlus as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let EnableImportAddressFilter: u32 = + unsafe { ::std::mem::transmute(EnableImportAddressFilter) }; + EnableImportAddressFilter as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let AuditImportAddressFilter: u32 = + unsafe { ::std::mem::transmute(AuditImportAddressFilter) }; + AuditImportAddressFilter as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let EnableRopStackPivot: u32 = unsafe { ::std::mem::transmute(EnableRopStackPivot) }; + EnableRopStackPivot as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let AuditRopStackPivot: u32 = unsafe { ::std::mem::transmute(AuditRopStackPivot) }; + AuditRopStackPivot as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let EnableRopCallerCheck: u32 = unsafe { ::std::mem::transmute(EnableRopCallerCheck) }; + EnableRopCallerCheck as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let AuditRopCallerCheck: u32 = unsafe { ::std::mem::transmute(AuditRopCallerCheck) }; + AuditRopCallerCheck as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let EnableRopSimExec: u32 = unsafe { ::std::mem::transmute(EnableRopSimExec) }; + EnableRopSimExec as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let AuditRopSimExec: u32 = unsafe { ::std::mem::transmute(AuditRopSimExec) }; + AuditRopSimExec as u64 + }); + __bindgen_bitfield_unit.set(12usize, 20u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY = + _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY; +pub type PPROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY = + *mut _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_CHILD_PROCESS_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn NoChildProcessCreation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_NoChildProcessCreation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditNoChildProcessCreation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditNoChildProcessCreation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllowSecureProcessCreation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowSecureProcessCreation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 29u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + NoChildProcessCreation: DWORD, + AuditNoChildProcessCreation: DWORD, + AllowSecureProcessCreation: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let NoChildProcessCreation: u32 = + unsafe { ::std::mem::transmute(NoChildProcessCreation) }; + NoChildProcessCreation as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditNoChildProcessCreation: u32 = + unsafe { ::std::mem::transmute(AuditNoChildProcessCreation) }; + AuditNoChildProcessCreation as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let AllowSecureProcessCreation: u32 = + unsafe { ::std::mem::transmute(AllowSecureProcessCreation) }; + AllowSecureProcessCreation as u64 + }); + __bindgen_bitfield_unit.set(3usize, 29u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_CHILD_PROCESS_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_CHILD_PROCESS_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_CHILD_PROCESS_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_CHILD_PROCESS_POLICY = _PROCESS_MITIGATION_CHILD_PROCESS_POLICY; +pub type PPROCESS_MITIGATION_CHILD_PROCESS_POLICY = *mut _PROCESS_MITIGATION_CHILD_PROCESS_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1( +) { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!( + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!( + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); +} +impl _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn SmtBranchTargetIsolation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_SmtBranchTargetIsolation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn IsolateSecurityDomain(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_IsolateSecurityDomain(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn DisablePageCombine(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisablePageCombine(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn SpeculativeStoreBypassDisable(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_SpeculativeStoreBypassDisable(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SmtBranchTargetIsolation: DWORD, + IsolateSecurityDomain: DWORD, + DisablePageCombine: DWORD, + SpeculativeStoreBypassDisable: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let SmtBranchTargetIsolation: u32 = + unsafe { ::std::mem::transmute(SmtBranchTargetIsolation) }; + SmtBranchTargetIsolation as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let IsolateSecurityDomain: u32 = + unsafe { ::std::mem::transmute(IsolateSecurityDomain) }; + IsolateSecurityDomain as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let DisablePageCombine: u32 = unsafe { ::std::mem::transmute(DisablePageCombine) }; + DisablePageCombine as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let SpeculativeStoreBypassDisable: u32 = + unsafe { ::std::mem::transmute(SpeculativeStoreBypassDisable) }; + SpeculativeStoreBypassDisable as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY = + _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY; +pub type PPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY = + *mut _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY { + pub __bindgen_anon_1: _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1 { + pub Flags: DWORD, + pub __bindgen_anon_1: _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::< + _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn EnableUserShadowStack(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableUserShadowStack(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditUserShadowStack(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditUserShadowStack(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn SetContextIpValidation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_SetContextIpValidation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditSetContextIpValidation(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditSetContextIpValidation(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn EnableUserShadowStackStrictMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_EnableUserShadowStackStrictMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn BlockNonCetBinaries(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_BlockNonCetBinaries(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn BlockNonCetBinariesNonEhcont(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_BlockNonCetBinariesNonEhcont(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn AuditBlockNonCetBinaries(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_AuditBlockNonCetBinaries(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn CetDynamicApisOutOfProcOnly(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_CetDynamicApisOutOfProcOnly(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn SetContextIpValidationRelaxedMode(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_SetContextIpValidationRelaxedMode(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 22u8) as u32) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(10usize, 22u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + EnableUserShadowStack: DWORD, + AuditUserShadowStack: DWORD, + SetContextIpValidation: DWORD, + AuditSetContextIpValidation: DWORD, + EnableUserShadowStackStrictMode: DWORD, + BlockNonCetBinaries: DWORD, + BlockNonCetBinariesNonEhcont: DWORD, + AuditBlockNonCetBinaries: DWORD, + CetDynamicApisOutOfProcOnly: DWORD, + SetContextIpValidationRelaxedMode: DWORD, + ReservedFlags: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let EnableUserShadowStack: u32 = + unsafe { ::std::mem::transmute(EnableUserShadowStack) }; + EnableUserShadowStack as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AuditUserShadowStack: u32 = unsafe { ::std::mem::transmute(AuditUserShadowStack) }; + AuditUserShadowStack as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let SetContextIpValidation: u32 = + unsafe { ::std::mem::transmute(SetContextIpValidation) }; + SetContextIpValidation as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let AuditSetContextIpValidation: u32 = + unsafe { ::std::mem::transmute(AuditSetContextIpValidation) }; + AuditSetContextIpValidation as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let EnableUserShadowStackStrictMode: u32 = + unsafe { ::std::mem::transmute(EnableUserShadowStackStrictMode) }; + EnableUserShadowStackStrictMode as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let BlockNonCetBinaries: u32 = unsafe { ::std::mem::transmute(BlockNonCetBinaries) }; + BlockNonCetBinaries as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let BlockNonCetBinariesNonEhcont: u32 = + unsafe { ::std::mem::transmute(BlockNonCetBinariesNonEhcont) }; + BlockNonCetBinariesNonEhcont as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let AuditBlockNonCetBinaries: u32 = + unsafe { ::std::mem::transmute(AuditBlockNonCetBinaries) }; + AuditBlockNonCetBinaries as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let CetDynamicApisOutOfProcOnly: u32 = + unsafe { ::std::mem::transmute(CetDynamicApisOutOfProcOnly) }; + CetDynamicApisOutOfProcOnly as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let SetContextIpValidationRelaxedMode: u32 = + unsafe { ::std::mem::transmute(SetContextIpValidationRelaxedMode) }; + SetContextIpValidationRelaxedMode as u64 + }); + __bindgen_bitfield_unit.set(10usize, 22u8, { + let ReservedFlags: u32 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY() { + assert_eq!( + ::std::mem::size_of::<_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY) + ) + ); +} +pub type PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY = _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY; +pub type PPROCESS_MITIGATION_USER_SHADOW_STACK_POLICY = + *mut _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { + pub TotalUserTime: LARGE_INTEGER, + pub TotalKernelTime: LARGE_INTEGER, + pub ThisPeriodTotalUserTime: LARGE_INTEGER, + pub ThisPeriodTotalKernelTime: LARGE_INTEGER, + pub TotalPageFaultCount: DWORD, + pub TotalProcesses: DWORD, + pub ActiveProcesses: DWORD, + pub TotalTerminatedProcesses: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_ACCOUNTING_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>(), + 48usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalUserTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalUserTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalKernelTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalKernelTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisPeriodTotalUserTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(ThisPeriodTotalUserTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisPeriodTotalKernelTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(ThisPeriodTotalKernelTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPageFaultCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalPageFaultCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalProcesses) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalProcesses) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveProcesses) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(ActiveProcesses) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTerminatedProcesses) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_ACCOUNTING_INFORMATION), + "::", + stringify!(TotalTerminatedProcesses) + ) + ); +} +pub type JOBOBJECT_BASIC_ACCOUNTING_INFORMATION = _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION; +pub type PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION = *mut _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_BASIC_LIMIT_INFORMATION { + pub PerProcessUserTimeLimit: LARGE_INTEGER, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub LimitFlags: DWORD, + pub MinimumWorkingSetSize: SIZE_T, + pub MaximumWorkingSetSize: SIZE_T, + pub ActiveProcessLimit: DWORD, + pub Affinity: ULONG_PTR, + pub PriorityClass: DWORD, + pub SchedulingClass: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_LIMIT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_LIMIT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>(), + 64usize, + concat!("Size of: ", stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_LIMIT_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerProcessUserTimeLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(PerProcessUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(LimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumWorkingSetSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(MinimumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumWorkingSetSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(MaximumWorkingSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveProcessLimit) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(ActiveProcessLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Affinity) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(Affinity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PriorityClass) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(PriorityClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SchedulingClass) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_LIMIT_INFORMATION), + "::", + stringify!(SchedulingClass) + ) + ); +} +pub type JOBOBJECT_BASIC_LIMIT_INFORMATION = _JOBOBJECT_BASIC_LIMIT_INFORMATION; +pub type PJOBOBJECT_BASIC_LIMIT_INFORMATION = *mut _JOBOBJECT_BASIC_LIMIT_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION { + pub BasicLimitInformation: JOBOBJECT_BASIC_LIMIT_INFORMATION, + pub IoInfo: IO_COUNTERS, + pub ProcessMemoryLimit: SIZE_T, + pub JobMemoryLimit: SIZE_T, + pub PeakProcessMemoryUsed: SIZE_T, + pub PeakJobMemoryUsed: SIZE_T, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_EXTENDED_LIMIT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>(), + 144usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_EXTENDED_LIMIT_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BasicLimitInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(BasicLimitInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(IoInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessMemoryLimit) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(ProcessMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(JobMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PeakProcessMemoryUsed) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(PeakProcessMemoryUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PeakJobMemoryUsed) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_EXTENDED_LIMIT_INFORMATION), + "::", + stringify!(PeakJobMemoryUsed) + ) + ); +} +pub type JOBOBJECT_EXTENDED_LIMIT_INFORMATION = _JOBOBJECT_EXTENDED_LIMIT_INFORMATION; +pub type PJOBOBJECT_EXTENDED_LIMIT_INFORMATION = *mut _JOBOBJECT_EXTENDED_LIMIT_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_BASIC_PROCESS_ID_LIST { + pub NumberOfAssignedProcesses: DWORD, + pub NumberOfProcessIdsInList: DWORD, + pub ProcessIdList: [ULONG_PTR; 1usize], +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_PROCESS_ID_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_PROCESS_ID_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_PROCESS_ID_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_PROCESS_ID_LIST>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAssignedProcesses) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST), + "::", + stringify!(NumberOfAssignedProcesses) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProcessIdsInList) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST), + "::", + stringify!(NumberOfProcessIdsInList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessIdList) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_PROCESS_ID_LIST), + "::", + stringify!(ProcessIdList) + ) + ); +} +pub type JOBOBJECT_BASIC_PROCESS_ID_LIST = _JOBOBJECT_BASIC_PROCESS_ID_LIST; +pub type PJOBOBJECT_BASIC_PROCESS_ID_LIST = *mut _JOBOBJECT_BASIC_PROCESS_ID_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_BASIC_UI_RESTRICTIONS { + pub UIRestrictionsClass: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_UI_RESTRICTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_UI_RESTRICTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_UI_RESTRICTIONS>(), + 4usize, + concat!("Size of: ", stringify!(_JOBOBJECT_BASIC_UI_RESTRICTIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_UI_RESTRICTIONS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_UI_RESTRICTIONS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UIRestrictionsClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_UI_RESTRICTIONS), + "::", + stringify!(UIRestrictionsClass) + ) + ); +} +pub type JOBOBJECT_BASIC_UI_RESTRICTIONS = _JOBOBJECT_BASIC_UI_RESTRICTIONS; +pub type PJOBOBJECT_BASIC_UI_RESTRICTIONS = *mut _JOBOBJECT_BASIC_UI_RESTRICTIONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION { + pub SecurityLimitFlags: DWORD, + pub JobToken: HANDLE, + pub SidsToDisable: PTOKEN_GROUPS, + pub PrivilegesToDelete: PTOKEN_PRIVILEGES, + pub RestrictedSids: PTOKEN_GROUPS, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_SECURITY_LIMIT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_SECURITY_LIMIT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_SECURITY_LIMIT_INFORMATION>(), + 40usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_SECURITY_LIMIT_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityLimitFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(SecurityLimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobToken) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(JobToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SidsToDisable) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(SidsToDisable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivilegesToDelete) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(PrivilegesToDelete) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedSids) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_SECURITY_LIMIT_INFORMATION), + "::", + stringify!(RestrictedSids) + ) + ); +} +pub type JOBOBJECT_SECURITY_LIMIT_INFORMATION = _JOBOBJECT_SECURITY_LIMIT_INFORMATION; +pub type PJOBOBJECT_SECURITY_LIMIT_INFORMATION = *mut _JOBOBJECT_SECURITY_LIMIT_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION { + pub EndOfJobTimeAction: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_END_OF_JOB_TIME_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_END_OF_JOB_TIME_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_END_OF_JOB_TIME_INFORMATION>(), + 4usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_END_OF_JOB_TIME_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_END_OF_JOB_TIME_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_END_OF_JOB_TIME_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfJobTimeAction) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_END_OF_JOB_TIME_INFORMATION), + "::", + stringify!(EndOfJobTimeAction) + ) + ); +} +pub type JOBOBJECT_END_OF_JOB_TIME_INFORMATION = _JOBOBJECT_END_OF_JOB_TIME_INFORMATION; +pub type PJOBOBJECT_END_OF_JOB_TIME_INFORMATION = *mut _JOBOBJECT_END_OF_JOB_TIME_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT { + pub CompletionKey: PVOID, + pub CompletionPort: HANDLE, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_ASSOCIATE_COMPLETION_PORT() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_ASSOCIATE_COMPLETION_PORT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_ASSOCIATE_COMPLETION_PORT>(), + 16usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_ASSOCIATE_COMPLETION_PORT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_ASSOCIATE_COMPLETION_PORT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_ASSOCIATE_COMPLETION_PORT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompletionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_ASSOCIATE_COMPLETION_PORT), + "::", + stringify!(CompletionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompletionPort) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_ASSOCIATE_COMPLETION_PORT), + "::", + stringify!(CompletionPort) + ) + ); +} +pub type JOBOBJECT_ASSOCIATE_COMPLETION_PORT = _JOBOBJECT_ASSOCIATE_COMPLETION_PORT; +pub type PJOBOBJECT_ASSOCIATE_COMPLETION_PORT = *mut _JOBOBJECT_ASSOCIATE_COMPLETION_PORT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { + pub BasicInfo: JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, + pub IoInfo: IO_COUNTERS, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION>(), + 96usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BasicInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION), + "::", + stringify!(BasicInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION), + "::", + stringify!(IoInfo) + ) + ); +} +pub type JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = + _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; +pub type PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = + *mut _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_JOBSET_INFORMATION { + pub MemberLevel: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_JOBSET_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_JOBSET_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_JOBSET_INFORMATION>(), + 4usize, + concat!("Size of: ", stringify!(_JOBOBJECT_JOBSET_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_JOBSET_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_JOBOBJECT_JOBSET_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MemberLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_JOBSET_INFORMATION), + "::", + stringify!(MemberLevel) + ) + ); +} +pub type JOBOBJECT_JOBSET_INFORMATION = _JOBOBJECT_JOBSET_INFORMATION; +pub type PJOBOBJECT_JOBSET_INFORMATION = *mut _JOBOBJECT_JOBSET_INFORMATION; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_ToleranceLow: _JOBOBJECT_RATE_CONTROL_TOLERANCE = 1; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_ToleranceMedium: _JOBOBJECT_RATE_CONTROL_TOLERANCE = 2; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_ToleranceHigh: _JOBOBJECT_RATE_CONTROL_TOLERANCE = 3; +pub type _JOBOBJECT_RATE_CONTROL_TOLERANCE = ::std::os::raw::c_int; +pub use self::_JOBOBJECT_RATE_CONTROL_TOLERANCE as JOBOBJECT_RATE_CONTROL_TOLERANCE; +pub type PJOBOBJECT_RATE_CONTROL_TOLERANCE = *mut _JOBOBJECT_RATE_CONTROL_TOLERANCE; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL_ToleranceIntervalShort: + _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 1; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL_ToleranceIntervalMedium: + _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 2; +pub const _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL_ToleranceIntervalLong: + _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = 3; +pub type _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = ::std::os::raw::c_int; +pub use self::_JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL as JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL; +pub type PJOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = + *mut _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION { + pub IoReadBytesLimit: DWORD64, + pub IoWriteBytesLimit: DWORD64, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub JobMemoryLimit: DWORD64, + pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, + pub LimitFlags: DWORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>(), + 48usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytesLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(IoReadBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytesLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(IoWriteBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(JobMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlTolerance) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(RateControlTolerance) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RateControlToleranceInterval) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(RateControlToleranceInterval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION), + "::", + stringify!(LimitFlags) + ) + ); +} +pub type JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION; +pub type PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = *mut _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 { + pub IoReadBytesLimit: DWORD64, + pub IoWriteBytesLimit: DWORD64, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub __bindgen_anon_1: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1, + pub __bindgen_anon_2: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2, + pub __bindgen_anon_3: JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3, + pub LimitFlags: DWORD, + pub IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub JobLowMemoryLimit: DWORD64, + pub IoRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, + pub NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub NetRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1 { + pub JobHighMemoryLimit: DWORD64, + pub JobMemoryLimit: DWORD64, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobHighMemoryLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1), + "::", + stringify!(JobHighMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_1), + "::", + stringify!(JobMemoryLimit) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2 { + pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlTolerance) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2), + "::", + stringify!(RateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuRateControlTolerance) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_2), + "::", + stringify!(CpuRateControlTolerance) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3 { + pub RateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, + pub CpuRateControlToleranceInterval: JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit< + JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RateControlToleranceInterval) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3), + "::", + stringify!(RateControlToleranceInterval) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CpuRateControlToleranceInterval) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2__bindgen_ty_3), + "::", + stringify!(CpuRateControlToleranceInterval) + ) + ); +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytesLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(IoReadBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytesLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(IoWriteBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(LimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoRateControlTolerance) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(IoRateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobLowMemoryLimit) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(JobLowMemoryLimit) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).IoRateControlToleranceInterval) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(IoRateControlToleranceInterval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NetRateControlTolerance) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(NetRateControlTolerance) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NetRateControlToleranceInterval) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2), + "::", + stringify!(NetRateControlToleranceInterval) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_LIMIT_VIOLATION_INFORMATION { + pub LimitFlags: DWORD, + pub ViolationLimitFlags: DWORD, + pub IoReadBytes: DWORD64, + pub IoReadBytesLimit: DWORD64, + pub IoWriteBytes: DWORD64, + pub IoWriteBytesLimit: DWORD64, + pub PerJobUserTime: LARGE_INTEGER, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub JobMemory: DWORD64, + pub JobMemoryLimit: DWORD64, + pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_LIMIT_VIOLATION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>(), + 80usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_LIMIT_VIOLATION_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(LimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ViolationLimitFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(ViolationLimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(IoReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytesLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(IoReadBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(IoWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytesLimit) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(IoWriteBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(PerJobUserTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemory) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(JobMemory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(JobMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlTolerance) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(RateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlToleranceLimit) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_LIMIT_VIOLATION_INFORMATION), + "::", + stringify!(RateControlToleranceLimit) + ) + ); +} +pub type JOBOBJECT_LIMIT_VIOLATION_INFORMATION = _JOBOBJECT_LIMIT_VIOLATION_INFORMATION; +pub type PJOBOBJECT_LIMIT_VIOLATION_INFORMATION = *mut _JOBOBJECT_LIMIT_VIOLATION_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 { + pub LimitFlags: DWORD, + pub ViolationLimitFlags: DWORD, + pub IoReadBytes: DWORD64, + pub IoReadBytesLimit: DWORD64, + pub IoWriteBytes: DWORD64, + pub IoWriteBytesLimit: DWORD64, + pub PerJobUserTime: LARGE_INTEGER, + pub PerJobUserTimeLimit: LARGE_INTEGER, + pub JobMemory: DWORD64, + pub __bindgen_anon_1: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1, + pub __bindgen_anon_2: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2, + pub __bindgen_anon_3: JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3, + pub JobLowMemoryLimit: DWORD64, + pub IoRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub IoRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub NetRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub NetRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1 { + pub JobHighMemoryLimit: DWORD64, + pub JobMemoryLimit: DWORD64, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobHighMemoryLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1), + "::", + stringify!(JobHighMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemoryLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_1), + "::", + stringify!(JobMemoryLimit) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2 { + pub RateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub CpuRateControlTolerance: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlTolerance) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2), + "::", + stringify!(RateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuRateControlTolerance) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_2), + "::", + stringify!(CpuRateControlTolerance) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3 { + pub RateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, + pub CpuRateControlToleranceLimit: JOBOBJECT_RATE_CONTROL_TOLERANCE, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RateControlToleranceLimit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3), + "::", + stringify!(RateControlToleranceLimit) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CpuRateControlToleranceLimit) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2__bindgen_ty_3), + "::", + stringify!(CpuRateControlToleranceLimit) + ) + ); +} +#[test] +fn bindgen_test_layout_JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(LimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ViolationLimitFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(ViolationLimitFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoReadBytesLimit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoReadBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoWriteBytesLimit) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoWriteBytesLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(PerJobUserTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerJobUserTimeLimit) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(PerJobUserTimeLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobMemory) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(JobMemory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobLowMemoryLimit) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(JobLowMemoryLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoRateControlTolerance) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoRateControlTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoRateControlToleranceLimit) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(IoRateControlToleranceLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NetRateControlTolerance) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(NetRateControlTolerance) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NetRateControlToleranceLimit) as usize - ptr as usize + }, + 100usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2), + "::", + stringify!(NetRateControlToleranceLimit) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION { + pub ControlFlags: DWORD, + pub __bindgen_anon_1: _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1 { + pub CpuRate: DWORD, + pub Weight: DWORD, + pub __bindgen_anon_1: _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub MinRate: WORD, + pub MaxRate: WORD, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1>( + ), + 2usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinRate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MinRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxRate) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MaxRate) + ) + ); +} +#[test] +fn bindgen_test_layout__JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuRate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1), + "::", + stringify!(CpuRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Weight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION__bindgen_ty_1), + "::", + stringify!(Weight) + ) + ); +} +#[test] +fn bindgen_test_layout__JOBOBJECT_CPU_RATE_CONTROL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_CPU_RATE_CONTROL_INFORMATION), + "::", + stringify!(ControlFlags) + ) + ); +} +pub type JOBOBJECT_CPU_RATE_CONTROL_INFORMATION = _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION; +pub type PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION = *mut _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION; +pub const JOB_OBJECT_NET_RATE_CONTROL_FLAGS_JOB_OBJECT_NET_RATE_CONTROL_ENABLE: + JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 1; +pub const JOB_OBJECT_NET_RATE_CONTROL_FLAGS_JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH: + JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 2; +pub const JOB_OBJECT_NET_RATE_CONTROL_FLAGS_JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG: + JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 4; +pub const JOB_OBJECT_NET_RATE_CONTROL_FLAGS_JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS: + JOB_OBJECT_NET_RATE_CONTROL_FLAGS = 7; +pub type JOB_OBJECT_NET_RATE_CONTROL_FLAGS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_NET_RATE_CONTROL_INFORMATION { + pub MaxBandwidth: DWORD64, + pub ControlFlags: JOB_OBJECT_NET_RATE_CONTROL_FLAGS, + pub DscpTag: BYTE, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_NET_RATE_CONTROL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DscpTag) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_NET_RATE_CONTROL_INFORMATION), + "::", + stringify!(DscpTag) + ) + ); +} +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_ENABLE: + JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 1; +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME: + JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 2; +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL: + JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 4; +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP : JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 8 ; +pub const JOB_OBJECT_IO_RATE_CONTROL_FLAGS_JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS: + JOB_OBJECT_IO_RATE_CONTROL_FLAGS = 15; +pub type JOB_OBJECT_IO_RATE_CONTROL_FLAGS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE { + pub MaxIops: LONG64, + pub MaxBandwidth: LONG64, + pub ReservationIops: LONG64, + pub VolumeName: PWSTR, + pub BaseIoSize: DWORD, + pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, + pub VolumeNameLength: WORD, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxIops) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(MaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationIops) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(ReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(VolumeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseIoSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(BaseIoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeNameLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE), + "::", + stringify!(VolumeNameLength) + ) + ); +} +pub type JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V1 = + JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 { + pub MaxIops: LONG64, + pub MaxBandwidth: LONG64, + pub ReservationIops: LONG64, + pub VolumeName: PWSTR, + pub BaseIoSize: DWORD, + pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, + pub VolumeNameLength: WORD, + pub CriticalReservationIops: LONG64, + pub ReservationBandwidth: LONG64, + pub CriticalReservationBandwidth: LONG64, + pub MaxTimePercent: LONG64, + pub ReservationTimePercent: LONG64, + pub CriticalReservationTimePercent: LONG64, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxIops) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(MaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationIops) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(ReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(VolumeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseIoSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(BaseIoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeNameLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(VolumeNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalReservationIops) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(CriticalReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationBandwidth) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(ReservationBandwidth) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalReservationBandwidth) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(CriticalReservationBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxTimePercent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(MaxTimePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationTimePercent) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(ReservationTimePercent) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalReservationTimePercent) as usize - ptr as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2), + "::", + stringify!(CriticalReservationTimePercent) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 { + pub MaxIops: LONG64, + pub MaxBandwidth: LONG64, + pub ReservationIops: LONG64, + pub VolumeName: PWSTR, + pub BaseIoSize: DWORD, + pub ControlFlags: JOB_OBJECT_IO_RATE_CONTROL_FLAGS, + pub VolumeNameLength: WORD, + pub CriticalReservationIops: LONG64, + pub ReservationBandwidth: LONG64, + pub CriticalReservationBandwidth: LONG64, + pub MaxTimePercent: LONG64, + pub ReservationTimePercent: LONG64, + pub CriticalReservationTimePercent: LONG64, + pub SoftMaxIops: LONG64, + pub SoftMaxBandwidth: LONG64, + pub SoftMaxTimePercent: LONG64, + pub LimitExcessNotifyIops: LONG64, + pub LimitExcessNotifyBandwidth: LONG64, + pub LimitExcessNotifyTimePercent: LONG64, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxIops) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(MaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationIops) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(ReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(VolumeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseIoSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(BaseIoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeNameLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(VolumeNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalReservationIops) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(CriticalReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationBandwidth) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(ReservationBandwidth) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalReservationBandwidth) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(CriticalReservationBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxTimePercent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(MaxTimePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationTimePercent) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(ReservationTimePercent) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalReservationTimePercent) as usize - ptr as usize + }, + 88usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(CriticalReservationTimePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftMaxIops) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(SoftMaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftMaxBandwidth) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(SoftMaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftMaxTimePercent) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(SoftMaxTimePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitExcessNotifyIops) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(LimitExcessNotifyIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LimitExcessNotifyBandwidth) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(LimitExcessNotifyBandwidth) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).LimitExcessNotifyTimePercent) as usize - ptr as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3), + "::", + stringify!(LimitExcessNotifyTimePercent) + ) + ); +} +pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS_JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE: + JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 1; +pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS_JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE: + JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 2; +pub const JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS_JOBOBJECT_IO_ATTRIBUTION_CONTROL_VALID_FLAGS: + JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = 3; +pub type JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_IO_ATTRIBUTION_STATS { + pub IoCount: ULONG_PTR, + pub TotalNonOverlappedQueueTime: ULONGLONG, + pub TotalNonOverlappedServiceTime: ULONGLONG, + pub TotalSize: ULONGLONG, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_IO_ATTRIBUTION_STATS() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_IO_ATTRIBUTION_STATS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_IO_ATTRIBUTION_STATS>(), + 32usize, + concat!("Size of: ", stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS)) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_IO_ATTRIBUTION_STATS>(), + 8usize, + concat!("Alignment of ", stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), + "::", + stringify!(IoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNonOverlappedQueueTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), + "::", + stringify!(TotalNonOverlappedQueueTime) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).TotalNonOverlappedServiceTime) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), + "::", + stringify!(TotalNonOverlappedServiceTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_STATS), + "::", + stringify!(TotalSize) + ) + ); +} +pub type JOBOBJECT_IO_ATTRIBUTION_STATS = _JOBOBJECT_IO_ATTRIBUTION_STATS; +pub type PJOBOBJECT_IO_ATTRIBUTION_STATS = *mut _JOBOBJECT_IO_ATTRIBUTION_STATS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOBOBJECT_IO_ATTRIBUTION_INFORMATION { + pub ControlFlags: DWORD, + pub ReadStats: JOBOBJECT_IO_ATTRIBUTION_STATS, + pub WriteStats: JOBOBJECT_IO_ATTRIBUTION_STATS, +} +#[test] +fn bindgen_test_layout__JOBOBJECT_IO_ATTRIBUTION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_JOBOBJECT_IO_ATTRIBUTION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOBOBJECT_IO_ATTRIBUTION_INFORMATION>(), + 72usize, + concat!( + "Size of: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_JOBOBJECT_IO_ATTRIBUTION_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION), + "::", + stringify!(ControlFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadStats) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION), + "::", + stringify!(ReadStats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteStats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOBOBJECT_IO_ATTRIBUTION_INFORMATION), + "::", + stringify!(WriteStats) + ) + ); +} +pub type JOBOBJECT_IO_ATTRIBUTION_INFORMATION = _JOBOBJECT_IO_ATTRIBUTION_INFORMATION; +pub type PJOBOBJECT_IO_ATTRIBUTION_INFORMATION = *mut _JOBOBJECT_IO_ATTRIBUTION_INFORMATION; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicAccountingInformation: _JOBOBJECTINFOCLASS = 1; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicLimitInformation: _JOBOBJECTINFOCLASS = 2; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicProcessIdList: _JOBOBJECTINFOCLASS = 3; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicUIRestrictions: _JOBOBJECTINFOCLASS = 4; +pub const _JOBOBJECTINFOCLASS_JobObjectSecurityLimitInformation: _JOBOBJECTINFOCLASS = 5; +pub const _JOBOBJECTINFOCLASS_JobObjectEndOfJobTimeInformation: _JOBOBJECTINFOCLASS = 6; +pub const _JOBOBJECTINFOCLASS_JobObjectAssociateCompletionPortInformation: _JOBOBJECTINFOCLASS = 7; +pub const _JOBOBJECTINFOCLASS_JobObjectBasicAndIoAccountingInformation: _JOBOBJECTINFOCLASS = 8; +pub const _JOBOBJECTINFOCLASS_JobObjectExtendedLimitInformation: _JOBOBJECTINFOCLASS = 9; +pub const _JOBOBJECTINFOCLASS_JobObjectJobSetInformation: _JOBOBJECTINFOCLASS = 10; +pub const _JOBOBJECTINFOCLASS_JobObjectGroupInformation: _JOBOBJECTINFOCLASS = 11; +pub const _JOBOBJECTINFOCLASS_JobObjectNotificationLimitInformation: _JOBOBJECTINFOCLASS = 12; +pub const _JOBOBJECTINFOCLASS_JobObjectLimitViolationInformation: _JOBOBJECTINFOCLASS = 13; +pub const _JOBOBJECTINFOCLASS_JobObjectGroupInformationEx: _JOBOBJECTINFOCLASS = 14; +pub const _JOBOBJECTINFOCLASS_JobObjectCpuRateControlInformation: _JOBOBJECTINFOCLASS = 15; +pub const _JOBOBJECTINFOCLASS_JobObjectCompletionFilter: _JOBOBJECTINFOCLASS = 16; +pub const _JOBOBJECTINFOCLASS_JobObjectCompletionCounter: _JOBOBJECTINFOCLASS = 17; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved1Information: _JOBOBJECTINFOCLASS = 18; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved2Information: _JOBOBJECTINFOCLASS = 19; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved3Information: _JOBOBJECTINFOCLASS = 20; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved4Information: _JOBOBJECTINFOCLASS = 21; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved5Information: _JOBOBJECTINFOCLASS = 22; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved6Information: _JOBOBJECTINFOCLASS = 23; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved7Information: _JOBOBJECTINFOCLASS = 24; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved8Information: _JOBOBJECTINFOCLASS = 25; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved9Information: _JOBOBJECTINFOCLASS = 26; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved10Information: _JOBOBJECTINFOCLASS = 27; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved11Information: _JOBOBJECTINFOCLASS = 28; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved12Information: _JOBOBJECTINFOCLASS = 29; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved13Information: _JOBOBJECTINFOCLASS = 30; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved14Information: _JOBOBJECTINFOCLASS = 31; +pub const _JOBOBJECTINFOCLASS_JobObjectNetRateControlInformation: _JOBOBJECTINFOCLASS = 32; +pub const _JOBOBJECTINFOCLASS_JobObjectNotificationLimitInformation2: _JOBOBJECTINFOCLASS = 33; +pub const _JOBOBJECTINFOCLASS_JobObjectLimitViolationInformation2: _JOBOBJECTINFOCLASS = 34; +pub const _JOBOBJECTINFOCLASS_JobObjectCreateSilo: _JOBOBJECTINFOCLASS = 35; +pub const _JOBOBJECTINFOCLASS_JobObjectSiloBasicInformation: _JOBOBJECTINFOCLASS = 36; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved15Information: _JOBOBJECTINFOCLASS = 37; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved16Information: _JOBOBJECTINFOCLASS = 38; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved17Information: _JOBOBJECTINFOCLASS = 39; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved18Information: _JOBOBJECTINFOCLASS = 40; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved19Information: _JOBOBJECTINFOCLASS = 41; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved20Information: _JOBOBJECTINFOCLASS = 42; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved21Information: _JOBOBJECTINFOCLASS = 43; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved22Information: _JOBOBJECTINFOCLASS = 44; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved23Information: _JOBOBJECTINFOCLASS = 45; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved24Information: _JOBOBJECTINFOCLASS = 46; +pub const _JOBOBJECTINFOCLASS_JobObjectReserved25Information: _JOBOBJECTINFOCLASS = 47; +pub const _JOBOBJECTINFOCLASS_MaxJobObjectInfoClass: _JOBOBJECTINFOCLASS = 48; +pub type _JOBOBJECTINFOCLASS = ::std::os::raw::c_int; +pub use self::_JOBOBJECTINFOCLASS as JOBOBJECTINFOCLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SILOOBJECT_BASIC_INFORMATION { + pub SiloId: DWORD, + pub SiloParentId: DWORD, + pub NumberOfProcesses: DWORD, + pub IsInServerSilo: BOOLEAN, + pub Reserved: [BYTE; 3usize], +} +#[test] +fn bindgen_test_layout__SILOOBJECT_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SILOOBJECT_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SILOOBJECT_BASIC_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_SILOOBJECT_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SILOOBJECT_BASIC_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_SILOOBJECT_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SiloId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(SiloId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SiloParentId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(SiloParentId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProcesses) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(NumberOfProcesses) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsInServerSilo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(IsInServerSilo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_SILOOBJECT_BASIC_INFORMATION), + "::", + stringify!(Reserved) + ) + ); +} +pub type SILOOBJECT_BASIC_INFORMATION = _SILOOBJECT_BASIC_INFORMATION; +pub type PSILOOBJECT_BASIC_INFORMATION = *mut _SILOOBJECT_BASIC_INFORMATION; +pub const _SERVERSILO_STATE_SERVERSILO_INITING: _SERVERSILO_STATE = 0; +pub const _SERVERSILO_STATE_SERVERSILO_STARTED: _SERVERSILO_STATE = 1; +pub const _SERVERSILO_STATE_SERVERSILO_SHUTTING_DOWN: _SERVERSILO_STATE = 2; +pub const _SERVERSILO_STATE_SERVERSILO_TERMINATING: _SERVERSILO_STATE = 3; +pub const _SERVERSILO_STATE_SERVERSILO_TERMINATED: _SERVERSILO_STATE = 4; +pub type _SERVERSILO_STATE = ::std::os::raw::c_int; +pub use self::_SERVERSILO_STATE as SERVERSILO_STATE; +pub type PSERVERSILO_STATE = *mut _SERVERSILO_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVERSILO_BASIC_INFORMATION { + pub ServiceSessionId: DWORD, + pub State: SERVERSILO_STATE, + pub ExitStatus: DWORD, + pub IsDownlevelContainer: BOOLEAN, + pub ApiSetSchema: PVOID, + pub HostApiSetSchema: PVOID, +} +#[test] +fn bindgen_test_layout__SERVERSILO_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SERVERSILO_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVERSILO_BASIC_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_SERVERSILO_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVERSILO_BASIC_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVERSILO_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceSessionId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(ServiceSessionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExitStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(ExitStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDownlevelContainer) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(IsDownlevelContainer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApiSetSchema) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(ApiSetSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HostApiSetSchema) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVERSILO_BASIC_INFORMATION), + "::", + stringify!(HostApiSetSchema) + ) + ); +} +pub type SERVERSILO_BASIC_INFORMATION = _SERVERSILO_BASIC_INFORMATION; +pub type PSERVERSILO_BASIC_INFORMATION = *mut _SERVERSILO_BASIC_INFORMATION; +pub const _FIRMWARE_TYPE_FirmwareTypeUnknown: _FIRMWARE_TYPE = 0; +pub const _FIRMWARE_TYPE_FirmwareTypeBios: _FIRMWARE_TYPE = 1; +pub const _FIRMWARE_TYPE_FirmwareTypeUefi: _FIRMWARE_TYPE = 2; +pub const _FIRMWARE_TYPE_FirmwareTypeMax: _FIRMWARE_TYPE = 3; +pub type _FIRMWARE_TYPE = ::std::os::raw::c_int; +pub use self::_FIRMWARE_TYPE as FIRMWARE_TYPE; +pub type PFIRMWARE_TYPE = *mut _FIRMWARE_TYPE; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationProcessorCore: _LOGICAL_PROCESSOR_RELATIONSHIP = + 0; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationNumaNode: _LOGICAL_PROCESSOR_RELATIONSHIP = 1; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationCache: _LOGICAL_PROCESSOR_RELATIONSHIP = 2; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationProcessorPackage: + _LOGICAL_PROCESSOR_RELATIONSHIP = 3; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationGroup: _LOGICAL_PROCESSOR_RELATIONSHIP = 4; +pub const _LOGICAL_PROCESSOR_RELATIONSHIP_RelationAll: _LOGICAL_PROCESSOR_RELATIONSHIP = 65535; +pub type _LOGICAL_PROCESSOR_RELATIONSHIP = ::std::os::raw::c_int; +pub use self::_LOGICAL_PROCESSOR_RELATIONSHIP as LOGICAL_PROCESSOR_RELATIONSHIP; +pub const _PROCESSOR_CACHE_TYPE_CacheUnified: _PROCESSOR_CACHE_TYPE = 0; +pub const _PROCESSOR_CACHE_TYPE_CacheInstruction: _PROCESSOR_CACHE_TYPE = 1; +pub const _PROCESSOR_CACHE_TYPE_CacheData: _PROCESSOR_CACHE_TYPE = 2; +pub const _PROCESSOR_CACHE_TYPE_CacheTrace: _PROCESSOR_CACHE_TYPE = 3; +pub type _PROCESSOR_CACHE_TYPE = ::std::os::raw::c_int; +pub use self::_PROCESSOR_CACHE_TYPE as PROCESSOR_CACHE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CACHE_DESCRIPTOR { + pub Level: BYTE, + pub Associativity: BYTE, + pub LineSize: WORD, + pub Size: DWORD, + pub Type: PROCESSOR_CACHE_TYPE, +} +#[test] +fn bindgen_test_layout__CACHE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_CACHE_DESCRIPTOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CACHE_DESCRIPTOR>(), + 12usize, + concat!("Size of: ", stringify!(_CACHE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_CACHE_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_CACHE_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(Level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Associativity) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(Associativity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LineSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(LineSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_DESCRIPTOR), + "::", + stringify!(Type) + ) + ); +} +pub type CACHE_DESCRIPTOR = _CACHE_DESCRIPTOR; +pub type PCACHE_DESCRIPTOR = *mut _CACHE_DESCRIPTOR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION { + pub ProcessorMask: ULONG_PTR, + pub Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, + pub __bindgen_anon_1: _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1 { + pub ProcessorCore: _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1, + pub NumaNode: _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2, + pub Cache: CACHE_DESCRIPTOR, + pub Reserved: [ULONGLONG; 2usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub Flags: BYTE, +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2 { + pub NodeNumber: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NodeNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(NodeNumber) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorCore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), + "::", + stringify!(ProcessorCore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), + "::", + stringify!(NumaNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION>(), + 32usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorMask) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION), + "::", + stringify!(ProcessorMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Relationship) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION), + "::", + stringify!(Relationship) + ) + ); +} +pub type SYSTEM_LOGICAL_PROCESSOR_INFORMATION = _SYSTEM_LOGICAL_PROCESSOR_INFORMATION; +pub type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION = *mut _SYSTEM_LOGICAL_PROCESSOR_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESSOR_RELATIONSHIP { + pub Flags: BYTE, + pub EfficiencyClass: BYTE, + pub Reserved: [BYTE; 20usize], + pub GroupCount: WORD, + pub GroupMask: [GROUP_AFFINITY; 1usize], +} +#[test] +fn bindgen_test_layout__PROCESSOR_RELATIONSHIP() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_RELATIONSHIP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESSOR_RELATIONSHIP>(), + 40usize, + concat!("Size of: ", stringify!(_PROCESSOR_RELATIONSHIP)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESSOR_RELATIONSHIP>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESSOR_RELATIONSHIP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EfficiencyClass) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(EfficiencyClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupCount) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(GroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_RELATIONSHIP), + "::", + stringify!(GroupMask) + ) + ); +} +pub type PROCESSOR_RELATIONSHIP = _PROCESSOR_RELATIONSHIP; +pub type PPROCESSOR_RELATIONSHIP = *mut _PROCESSOR_RELATIONSHIP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NUMA_NODE_RELATIONSHIP { + pub NodeNumber: DWORD, + pub Reserved: [BYTE; 20usize], + pub GroupMask: GROUP_AFFINITY, +} +#[test] +fn bindgen_test_layout__NUMA_NODE_RELATIONSHIP() { + const UNINIT: ::std::mem::MaybeUninit<_NUMA_NODE_RELATIONSHIP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NUMA_NODE_RELATIONSHIP>(), + 40usize, + concat!("Size of: ", stringify!(_NUMA_NODE_RELATIONSHIP)) + ); + assert_eq!( + ::std::mem::align_of::<_NUMA_NODE_RELATIONSHIP>(), + 8usize, + concat!("Alignment of ", stringify!(_NUMA_NODE_RELATIONSHIP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NodeNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NUMA_NODE_RELATIONSHIP), + "::", + stringify!(NodeNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NUMA_NODE_RELATIONSHIP), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NUMA_NODE_RELATIONSHIP), + "::", + stringify!(GroupMask) + ) + ); +} +pub type NUMA_NODE_RELATIONSHIP = _NUMA_NODE_RELATIONSHIP; +pub type PNUMA_NODE_RELATIONSHIP = *mut _NUMA_NODE_RELATIONSHIP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CACHE_RELATIONSHIP { + pub Level: BYTE, + pub Associativity: BYTE, + pub LineSize: WORD, + pub CacheSize: DWORD, + pub Type: PROCESSOR_CACHE_TYPE, + pub Reserved: [BYTE; 20usize], + pub GroupMask: GROUP_AFFINITY, +} +#[test] +fn bindgen_test_layout__CACHE_RELATIONSHIP() { + const UNINIT: ::std::mem::MaybeUninit<_CACHE_RELATIONSHIP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CACHE_RELATIONSHIP>(), + 48usize, + concat!("Size of: ", stringify!(_CACHE_RELATIONSHIP)) + ); + assert_eq!( + ::std::mem::align_of::<_CACHE_RELATIONSHIP>(), + 8usize, + concat!("Alignment of ", stringify!(_CACHE_RELATIONSHIP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(Level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Associativity) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(Associativity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LineSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(LineSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(CacheSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupMask) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CACHE_RELATIONSHIP), + "::", + stringify!(GroupMask) + ) + ); +} +pub type CACHE_RELATIONSHIP = _CACHE_RELATIONSHIP; +pub type PCACHE_RELATIONSHIP = *mut _CACHE_RELATIONSHIP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESSOR_GROUP_INFO { + pub MaximumProcessorCount: BYTE, + pub ActiveProcessorCount: BYTE, + pub Reserved: [BYTE; 38usize], + pub ActiveProcessorMask: KAFFINITY, +} +#[test] +fn bindgen_test_layout__PROCESSOR_GROUP_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_GROUP_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESSOR_GROUP_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_PROCESSOR_GROUP_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESSOR_GROUP_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESSOR_GROUP_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumProcessorCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_GROUP_INFO), + "::", + stringify!(MaximumProcessorCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveProcessorCount) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_GROUP_INFO), + "::", + stringify!(ActiveProcessorCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_GROUP_INFO), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveProcessorMask) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_GROUP_INFO), + "::", + stringify!(ActiveProcessorMask) + ) + ); +} +pub type PROCESSOR_GROUP_INFO = _PROCESSOR_GROUP_INFO; +pub type PPROCESSOR_GROUP_INFO = *mut _PROCESSOR_GROUP_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GROUP_RELATIONSHIP { + pub MaximumGroupCount: WORD, + pub ActiveGroupCount: WORD, + pub Reserved: [BYTE; 20usize], + pub GroupInfo: [PROCESSOR_GROUP_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__GROUP_RELATIONSHIP() { + const UNINIT: ::std::mem::MaybeUninit<_GROUP_RELATIONSHIP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GROUP_RELATIONSHIP>(), + 72usize, + concat!("Size of: ", stringify!(_GROUP_RELATIONSHIP)) + ); + assert_eq!( + ::std::mem::align_of::<_GROUP_RELATIONSHIP>(), + 8usize, + concat!("Alignment of ", stringify!(_GROUP_RELATIONSHIP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumGroupCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_RELATIONSHIP), + "::", + stringify!(MaximumGroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveGroupCount) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_RELATIONSHIP), + "::", + stringify!(ActiveGroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_RELATIONSHIP), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GROUP_RELATIONSHIP), + "::", + stringify!(GroupInfo) + ) + ); +} +pub type GROUP_RELATIONSHIP = _GROUP_RELATIONSHIP; +pub type PGROUP_RELATIONSHIP = *mut _GROUP_RELATIONSHIP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX { + pub Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, + pub Size: DWORD, + pub __bindgen_anon_1: _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1 { + pub Processor: PROCESSOR_RELATIONSHIP, + pub NumaNode: NUMA_NODE_RELATIONSHIP, + pub Cache: CACHE_RELATIONSHIP, + pub Group: GROUP_RELATIONSHIP, +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1>(), + 72usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Processor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(NumaNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Group) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX>(), + 80usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Relationship) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX), + "::", + stringify!(Relationship) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX), + "::", + stringify!(Size) + ) + ); +} +pub type SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; +pub type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = *mut _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; +pub const _CPU_SET_INFORMATION_TYPE_CpuSetInformation: _CPU_SET_INFORMATION_TYPE = 0; +pub type _CPU_SET_INFORMATION_TYPE = ::std::os::raw::c_int; +pub use self::_CPU_SET_INFORMATION_TYPE as CPU_SET_INFORMATION_TYPE; +pub type PCPU_SET_INFORMATION_TYPE = *mut _CPU_SET_INFORMATION_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_CPU_SET_INFORMATION { + pub Size: DWORD, + pub Type: CPU_SET_INFORMATION_TYPE, + pub __bindgen_anon_1: _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1 { + pub CpuSet: _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub Id: DWORD, + pub Group: WORD, + pub LogicalProcessorIndex: BYTE, + pub CoreIndex: BYTE, + pub LastLevelCacheIndex: BYTE, + pub NumaNodeIndex: BYTE, + pub EfficiencyClass: BYTE, + pub __bindgen_anon_1: _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + pub AllocationTag: DWORD64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub AllFlags: BYTE, + pub __bindgen_anon_1: + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1( +) { + assert_eq!( + ::std::mem::size_of::< + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >(), + 1usize, + concat!( + "Size of: ", + stringify!( + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!( + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 + ) + ) + ); +} +impl _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Parked(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_Parked(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Allocated(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_Allocated(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllocatedToTargetProcess(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) } + } + #[inline] + pub fn set_AllocatedToTargetProcess(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn RealTime(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) } + } + #[inline] + pub fn set_RealTime(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedFlags(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_ReservedFlags(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Parked: BYTE, + Allocated: BYTE, + AllocatedToTargetProcess: BYTE, + RealTime: BYTE, + ReservedFlags: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Parked: u8 = unsafe { ::std::mem::transmute(Parked) }; + Parked as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let Allocated: u8 = unsafe { ::std::mem::transmute(Allocated) }; + Allocated as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let AllocatedToTargetProcess: u8 = + unsafe { ::std::mem::transmute(AllocatedToTargetProcess) }; + AllocatedToTargetProcess as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let RealTime: u8 = unsafe { ::std::mem::transmute(RealTime) }; + RealTime as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let ReservedFlags: u8 = unsafe { ::std::mem::transmute(ReservedFlags) }; + ReservedFlags as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>( + ), + 1usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>( + ), + 1usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AllFlags) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 { + pub Reserved: DWORD, + pub SchedulingClass: BYTE, +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SchedulingClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(SchedulingClass) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 24usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Group) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogicalProcessorIndex) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LogicalProcessorIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CoreIndex) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(CoreIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastLevelCacheIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LastLevelCacheIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNodeIndex) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(NumaNodeIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EfficiencyClass) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(EfficiencyClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationTag) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AllocationTag) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1>(), + 24usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CpuSet) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION__bindgen_ty_1), + "::", + stringify!(CpuSet) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_CPU_SET_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_CPU_SET_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_CPU_SET_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_SYSTEM_CPU_SET_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_CPU_SET_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_SYSTEM_CPU_SET_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_CPU_SET_INFORMATION), + "::", + stringify!(Type) + ) + ); +} +pub type SYSTEM_CPU_SET_INFORMATION = _SYSTEM_CPU_SET_INFORMATION; +pub type PSYSTEM_CPU_SET_INFORMATION = *mut _SYSTEM_CPU_SET_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_POOL_ZEROING_INFORMATION { + pub PoolZeroingSupportPresent: BOOLEAN, +} +#[test] +fn bindgen_test_layout__SYSTEM_POOL_ZEROING_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_POOL_ZEROING_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_POOL_ZEROING_INFORMATION>(), + 1usize, + concat!("Size of: ", stringify!(_SYSTEM_POOL_ZEROING_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_POOL_ZEROING_INFORMATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_POOL_ZEROING_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PoolZeroingSupportPresent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POOL_ZEROING_INFORMATION), + "::", + stringify!(PoolZeroingSupportPresent) + ) + ); +} +pub type SYSTEM_POOL_ZEROING_INFORMATION = _SYSTEM_POOL_ZEROING_INFORMATION; +pub type PSYSTEM_POOL_ZEROING_INFORMATION = *mut _SYSTEM_POOL_ZEROING_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION { + pub CycleTime: DWORD64, +} +#[test] +fn bindgen_test_layout__SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CycleTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION), + "::", + stringify!(CycleTime) + ) + ); +} +pub type SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; +pub type PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = *mut _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XSTATE_FEATURE { + pub Offset: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__XSTATE_FEATURE() { + const UNINIT: ::std::mem::MaybeUninit<_XSTATE_FEATURE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSTATE_FEATURE>(), + 8usize, + concat!("Size of: ", stringify!(_XSTATE_FEATURE)) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_FEATURE>(), + 4usize, + concat!("Alignment of ", stringify!(_XSTATE_FEATURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_FEATURE), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_FEATURE), + "::", + stringify!(Size) + ) + ); +} +pub type XSTATE_FEATURE = _XSTATE_FEATURE; +pub type PXSTATE_FEATURE = *mut _XSTATE_FEATURE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _XSTATE_CONFIGURATION { + pub EnabledFeatures: DWORD64, + pub EnabledVolatileFeatures: DWORD64, + pub Size: DWORD, + pub __bindgen_anon_1: _XSTATE_CONFIGURATION__bindgen_ty_1, + pub Features: [XSTATE_FEATURE; 64usize], + pub EnabledSupervisorFeatures: DWORD64, + pub AlignedFeatures: DWORD64, + pub AllFeatureSize: DWORD, + pub AllFeatures: [DWORD; 64usize], + pub EnabledUserVisibleSupervisorFeatures: DWORD64, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _XSTATE_CONFIGURATION__bindgen_ty_1 { + pub ControlFlags: DWORD, + pub __bindgen_anon_1: _XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[test] +fn bindgen_test_layout__XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _XSTATE_CONFIGURATION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn OptimizedSave(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_OptimizedSave(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn CompactionEnabled(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_CompactionEnabled(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + OptimizedSave: DWORD, + CompactionEnabled: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let OptimizedSave: u32 = unsafe { ::std::mem::transmute(OptimizedSave) }; + OptimizedSave as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let CompactionEnabled: u32 = unsafe { ::std::mem::transmute(CompactionEnabled) }; + CompactionEnabled as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__XSTATE_CONFIGURATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_XSTATE_CONFIGURATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSTATE_CONFIGURATION__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_CONFIGURATION__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION__bindgen_ty_1), + "::", + stringify!(ControlFlags) + ) + ); +} +#[test] +fn bindgen_test_layout__XSTATE_CONFIGURATION() { + const UNINIT: ::std::mem::MaybeUninit<_XSTATE_CONFIGURATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XSTATE_CONFIGURATION>(), + 824usize, + concat!("Size of: ", stringify!(_XSTATE_CONFIGURATION)) + ); + assert_eq!( + ::std::mem::align_of::<_XSTATE_CONFIGURATION>(), + 8usize, + concat!("Alignment of ", stringify!(_XSTATE_CONFIGURATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnabledFeatures) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(EnabledFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnabledVolatileFeatures) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(EnabledVolatileFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Features) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(Features) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnabledSupervisorFeatures) as usize - ptr as usize }, + 536usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(EnabledSupervisorFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlignedFeatures) as usize - ptr as usize }, + 544usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(AlignedFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllFeatureSize) as usize - ptr as usize }, + 552usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(AllFeatureSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllFeatures) as usize - ptr as usize }, + 556usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(AllFeatures) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).EnabledUserVisibleSupervisorFeatures) as usize + - ptr as usize + }, + 816usize, + concat!( + "Offset of field: ", + stringify!(_XSTATE_CONFIGURATION), + "::", + stringify!(EnabledUserVisibleSupervisorFeatures) + ) + ); +} +pub type XSTATE_CONFIGURATION = _XSTATE_CONFIGURATION; +pub type PXSTATE_CONFIGURATION = *mut _XSTATE_CONFIGURATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_BASIC_INFORMATION { + pub BaseAddress: PVOID, + pub AllocationBase: PVOID, + pub AllocationProtect: DWORD, + pub PartitionId: WORD, + pub RegionSize: SIZE_T, + pub State: DWORD, + pub Protect: DWORD, + pub Type: DWORD, +} +#[test] +fn bindgen_test_layout__MEMORY_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_BASIC_INFORMATION>(), + 48usize, + concat!("Size of: ", stringify!(_MEMORY_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_BASIC_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_MEMORY_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(AllocationBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationProtect) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(AllocationProtect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionId) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(PartitionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(RegionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protect) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(Protect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION), + "::", + stringify!(Type) + ) + ); +} +pub type MEMORY_BASIC_INFORMATION = _MEMORY_BASIC_INFORMATION; +pub type PMEMORY_BASIC_INFORMATION = *mut _MEMORY_BASIC_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_BASIC_INFORMATION32 { + pub BaseAddress: DWORD, + pub AllocationBase: DWORD, + pub AllocationProtect: DWORD, + pub RegionSize: DWORD, + pub State: DWORD, + pub Protect: DWORD, + pub Type: DWORD, +} +#[test] +fn bindgen_test_layout__MEMORY_BASIC_INFORMATION32() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_BASIC_INFORMATION32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_BASIC_INFORMATION32>(), + 28usize, + concat!("Size of: ", stringify!(_MEMORY_BASIC_INFORMATION32)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_BASIC_INFORMATION32>(), + 4usize, + concat!("Alignment of ", stringify!(_MEMORY_BASIC_INFORMATION32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationBase) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(AllocationBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationProtect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(AllocationProtect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(RegionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protect) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(Protect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION32), + "::", + stringify!(Type) + ) + ); +} +pub type MEMORY_BASIC_INFORMATION32 = _MEMORY_BASIC_INFORMATION32; +pub type PMEMORY_BASIC_INFORMATION32 = *mut _MEMORY_BASIC_INFORMATION32; +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_BASIC_INFORMATION64 { + pub BaseAddress: ULONGLONG, + pub AllocationBase: ULONGLONG, + pub AllocationProtect: DWORD, + pub __alignment1: DWORD, + pub RegionSize: ULONGLONG, + pub State: DWORD, + pub Protect: DWORD, + pub Type: DWORD, + pub __alignment2: DWORD, +} +#[test] +fn bindgen_test_layout__MEMORY_BASIC_INFORMATION64() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_BASIC_INFORMATION64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_BASIC_INFORMATION64>(), + 48usize, + concat!("Size of: ", stringify!(_MEMORY_BASIC_INFORMATION64)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_BASIC_INFORMATION64>(), + 16usize, + concat!("Alignment of ", stringify!(_MEMORY_BASIC_INFORMATION64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(AllocationBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationProtect) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(AllocationProtect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__alignment1) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(__alignment1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(RegionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protect) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(Protect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__alignment2) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_BASIC_INFORMATION64), + "::", + stringify!(__alignment2) + ) + ); +} +pub type MEMORY_BASIC_INFORMATION64 = _MEMORY_BASIC_INFORMATION64; +pub type PMEMORY_BASIC_INFORMATION64 = *mut _MEMORY_BASIC_INFORMATION64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CFG_CALL_TARGET_INFO { + pub Offset: ULONG_PTR, + pub Flags: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__CFG_CALL_TARGET_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CFG_CALL_TARGET_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CFG_CALL_TARGET_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CFG_CALL_TARGET_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CFG_CALL_TARGET_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CFG_CALL_TARGET_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CFG_CALL_TARGET_INFO), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CFG_CALL_TARGET_INFO), + "::", + stringify!(Flags) + ) + ); +} +pub type CFG_CALL_TARGET_INFO = _CFG_CALL_TARGET_INFO; +pub type PCFG_CALL_TARGET_INFO = *mut _CFG_CALL_TARGET_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEM_ADDRESS_REQUIREMENTS { + pub LowestStartingAddress: PVOID, + pub HighestEndingAddress: PVOID, + pub Alignment: SIZE_T, +} +#[test] +fn bindgen_test_layout__MEM_ADDRESS_REQUIREMENTS() { + const UNINIT: ::std::mem::MaybeUninit<_MEM_ADDRESS_REQUIREMENTS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEM_ADDRESS_REQUIREMENTS>(), + 24usize, + concat!("Size of: ", stringify!(_MEM_ADDRESS_REQUIREMENTS)) + ); + assert_eq!( + ::std::mem::align_of::<_MEM_ADDRESS_REQUIREMENTS>(), + 8usize, + concat!("Alignment of ", stringify!(_MEM_ADDRESS_REQUIREMENTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestStartingAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEM_ADDRESS_REQUIREMENTS), + "::", + stringify!(LowestStartingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighestEndingAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEM_ADDRESS_REQUIREMENTS), + "::", + stringify!(HighestEndingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEM_ADDRESS_REQUIREMENTS), + "::", + stringify!(Alignment) + ) + ); +} +pub type MEM_ADDRESS_REQUIREMENTS = _MEM_ADDRESS_REQUIREMENTS; +pub type PMEM_ADDRESS_REQUIREMENTS = *mut _MEM_ADDRESS_REQUIREMENTS; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterInvalidType: MEM_EXTENDED_PARAMETER_TYPE = + 0; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterAddressRequirements: + MEM_EXTENDED_PARAMETER_TYPE = 1; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterNumaNode: MEM_EXTENDED_PARAMETER_TYPE = 2; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterPartitionHandle: + MEM_EXTENDED_PARAMETER_TYPE = 3; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterUserPhysicalHandle: + MEM_EXTENDED_PARAMETER_TYPE = 4; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterAttributeFlags: + MEM_EXTENDED_PARAMETER_TYPE = 5; +pub const MEM_EXTENDED_PARAMETER_TYPE_MemExtendedParameterMax: MEM_EXTENDED_PARAMETER_TYPE = 6; +pub type MEM_EXTENDED_PARAMETER_TYPE = ::std::os::raw::c_int; +pub type PMEM_EXTENDED_PARAMETER_TYPE = *mut MEM_EXTENDED_PARAMETER_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct MEM_EXTENDED_PARAMETER { + pub __bindgen_anon_1: MEM_EXTENDED_PARAMETER__bindgen_ty_1, + pub __bindgen_anon_2: MEM_EXTENDED_PARAMETER__bindgen_ty_2, +} +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct MEM_EXTENDED_PARAMETER__bindgen_ty_1 { + pub _bitfield_align_1: [u64; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>, +} +#[test] +fn bindgen_test_layout_MEM_EXTENDED_PARAMETER__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_1) + ) + ); +} +impl MEM_EXTENDED_PARAMETER__bindgen_ty_1 { + #[inline] + pub fn Type(&self) -> DWORD64 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u64) } + } + #[inline] + pub fn set_Type(&mut self, val: DWORD64) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD64 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 56u8) as u64) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD64) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 56u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(Type: DWORD64, Reserved: DWORD64) -> __BindgenBitfieldUnit<[u8; 8usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let Type: u64 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(8usize, 56u8, { + let Reserved: u64 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union MEM_EXTENDED_PARAMETER__bindgen_ty_2 { + pub ULong64: DWORD64, + pub Pointer: PVOID, + pub Size: SIZE_T, + pub Handle: HANDLE, + pub ULong: DWORD, +} +#[test] +fn bindgen_test_layout_MEM_EXTENDED_PARAMETER__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ULong64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(ULong64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pointer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(Pointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Handle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(Handle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ULong) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MEM_EXTENDED_PARAMETER__bindgen_ty_2), + "::", + stringify!(ULong) + ) + ); +} +#[test] +fn bindgen_test_layout_MEM_EXTENDED_PARAMETER() { + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(MEM_EXTENDED_PARAMETER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MEM_EXTENDED_PARAMETER)) + ); +} +pub type PMEM_EXTENDED_PARAMETER = *mut MEM_EXTENDED_PARAMETER; +pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterInvalidType: + MEM_SECTION_EXTENDED_PARAMETER_TYPE = 0; +pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterUserPhysicalFlags: + MEM_SECTION_EXTENDED_PARAMETER_TYPE = 1; +pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterNumaNode: + MEM_SECTION_EXTENDED_PARAMETER_TYPE = 2; +pub const MEM_SECTION_EXTENDED_PARAMETER_TYPE_MemSectionExtendedParameterMax: + MEM_SECTION_EXTENDED_PARAMETER_TYPE = 3; +pub type MEM_SECTION_EXTENDED_PARAMETER_TYPE = ::std::os::raw::c_int; +pub type PMEM_SECTION_EXTENDED_PARAMETER_TYPE = *mut MEM_SECTION_EXTENDED_PARAMETER_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_CREATE_INFO_SGX { + pub Secs: [BYTE; 4096usize], +} +#[test] +fn bindgen_test_layout__ENCLAVE_CREATE_INFO_SGX() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_CREATE_INFO_SGX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_CREATE_INFO_SGX>(), + 4096usize, + concat!("Size of: ", stringify!(_ENCLAVE_CREATE_INFO_SGX)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_CREATE_INFO_SGX>(), + 1usize, + concat!("Alignment of ", stringify!(_ENCLAVE_CREATE_INFO_SGX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Secs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_SGX), + "::", + stringify!(Secs) + ) + ); +} +pub type ENCLAVE_CREATE_INFO_SGX = _ENCLAVE_CREATE_INFO_SGX; +pub type PENCLAVE_CREATE_INFO_SGX = *mut _ENCLAVE_CREATE_INFO_SGX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_INIT_INFO_SGX { + pub SigStruct: [BYTE; 1808usize], + pub Reserved1: [BYTE; 240usize], + pub EInitToken: [BYTE; 304usize], + pub Reserved2: [BYTE; 1744usize], +} +#[test] +fn bindgen_test_layout__ENCLAVE_INIT_INFO_SGX() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_INIT_INFO_SGX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_INIT_INFO_SGX>(), + 4096usize, + concat!("Size of: ", stringify!(_ENCLAVE_INIT_INFO_SGX)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_INIT_INFO_SGX>(), + 1usize, + concat!("Alignment of ", stringify!(_ENCLAVE_INIT_INFO_SGX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SigStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_SGX), + "::", + stringify!(SigStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 1808usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_SGX), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EInitToken) as usize - ptr as usize }, + 2048usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_SGX), + "::", + stringify!(EInitToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 2352usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_SGX), + "::", + stringify!(Reserved2) + ) + ); +} +pub type ENCLAVE_INIT_INFO_SGX = _ENCLAVE_INIT_INFO_SGX; +pub type PENCLAVE_INIT_INFO_SGX = *mut _ENCLAVE_INIT_INFO_SGX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_CREATE_INFO_VBS { + pub Flags: DWORD, + pub OwnerID: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout__ENCLAVE_CREATE_INFO_VBS() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_CREATE_INFO_VBS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_CREATE_INFO_VBS>(), + 36usize, + concat!("Size of: ", stringify!(_ENCLAVE_CREATE_INFO_VBS)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_CREATE_INFO_VBS>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCLAVE_CREATE_INFO_VBS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_VBS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwnerID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_VBS), + "::", + stringify!(OwnerID) + ) + ); +} +pub type ENCLAVE_CREATE_INFO_VBS = _ENCLAVE_CREATE_INFO_VBS; +pub type PENCLAVE_CREATE_INFO_VBS = *mut _ENCLAVE_CREATE_INFO_VBS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_CREATE_INFO_VBS_BASIC { + pub Flags: DWORD, + pub OwnerID: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout__ENCLAVE_CREATE_INFO_VBS_BASIC() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_CREATE_INFO_VBS_BASIC> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_CREATE_INFO_VBS_BASIC>(), + 36usize, + concat!("Size of: ", stringify!(_ENCLAVE_CREATE_INFO_VBS_BASIC)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_CREATE_INFO_VBS_BASIC>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCLAVE_CREATE_INFO_VBS_BASIC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_VBS_BASIC), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwnerID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_CREATE_INFO_VBS_BASIC), + "::", + stringify!(OwnerID) + ) + ); +} +pub type ENCLAVE_CREATE_INFO_VBS_BASIC = _ENCLAVE_CREATE_INFO_VBS_BASIC; +pub type PENCLAVE_CREATE_INFO_VBS_BASIC = *mut _ENCLAVE_CREATE_INFO_VBS_BASIC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_LOAD_DATA_VBS_BASIC { + pub PageType: DWORD, +} +#[test] +fn bindgen_test_layout__ENCLAVE_LOAD_DATA_VBS_BASIC() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_LOAD_DATA_VBS_BASIC> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_LOAD_DATA_VBS_BASIC>(), + 4usize, + concat!("Size of: ", stringify!(_ENCLAVE_LOAD_DATA_VBS_BASIC)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_LOAD_DATA_VBS_BASIC>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCLAVE_LOAD_DATA_VBS_BASIC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PageType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_LOAD_DATA_VBS_BASIC), + "::", + stringify!(PageType) + ) + ); +} +pub type ENCLAVE_LOAD_DATA_VBS_BASIC = _ENCLAVE_LOAD_DATA_VBS_BASIC; +pub type PENCLAVE_LOAD_DATA_VBS_BASIC = *mut _ENCLAVE_LOAD_DATA_VBS_BASIC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _ENCLAVE_INIT_INFO_VBS_BASIC { + pub FamilyId: [BYTE; 16usize], + pub ImageId: [BYTE; 16usize], + pub EnclaveSize: ULONGLONG, + pub EnclaveSvn: DWORD, + pub Reserved: DWORD, + pub __bindgen_anon_1: _ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1 { + pub SignatureInfoHandle: HANDLE, + pub Unused: ULONGLONG, +} +#[test] +fn bindgen_test_layout__ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureInfoHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1), + "::", + stringify!(SignatureInfoHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC__bindgen_ty_1), + "::", + stringify!(Unused) + ) + ); +} +#[test] +fn bindgen_test_layout__ENCLAVE_INIT_INFO_VBS_BASIC() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_INIT_INFO_VBS_BASIC> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_INIT_INFO_VBS_BASIC>(), + 56usize, + concat!("Size of: ", stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_INIT_INFO_VBS_BASIC>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FamilyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(FamilyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(ImageId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(EnclaveSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveSvn) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(EnclaveSvn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS_BASIC), + "::", + stringify!(Reserved) + ) + ); +} +pub type ENCLAVE_INIT_INFO_VBS_BASIC = _ENCLAVE_INIT_INFO_VBS_BASIC; +pub type PENCLAVE_INIT_INFO_VBS_BASIC = *mut _ENCLAVE_INIT_INFO_VBS_BASIC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCLAVE_INIT_INFO_VBS { + pub Length: DWORD, + pub ThreadCount: DWORD, +} +#[test] +fn bindgen_test_layout__ENCLAVE_INIT_INFO_VBS() { + const UNINIT: ::std::mem::MaybeUninit<_ENCLAVE_INIT_INFO_VBS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCLAVE_INIT_INFO_VBS>(), + 8usize, + concat!("Size of: ", stringify!(_ENCLAVE_INIT_INFO_VBS)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCLAVE_INIT_INFO_VBS>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCLAVE_INIT_INFO_VBS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThreadCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCLAVE_INIT_INFO_VBS), + "::", + stringify!(ThreadCount) + ) + ); +} +pub type ENCLAVE_INIT_INFO_VBS = _ENCLAVE_INIT_INFO_VBS; +pub type PENCLAVE_INIT_INFO_VBS = *mut _ENCLAVE_INIT_INFO_VBS; +pub type ENCLAVE_TARGET_FUNCTION = + ::std::option::Option PVOID>; +pub type PENCLAVE_TARGET_FUNCTION = ENCLAVE_TARGET_FUNCTION; +pub type LPENCLAVE_TARGET_FUNCTION = PENCLAVE_TARGET_FUNCTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_ID_128 { + pub Identifier: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__FILE_ID_128() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ID_128> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ID_128>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_ID_128)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ID_128>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_ID_128)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Identifier) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_128), + "::", + stringify!(Identifier) + ) + ); +} +pub type FILE_ID_128 = _FILE_ID_128; +pub type PFILE_ID_128 = *mut _FILE_ID_128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_NOTIFY_INFORMATION { + pub NextEntryOffset: DWORD, + pub Action: DWORD, + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_NOTIFY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_NOTIFY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_NOTIFY_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_NOTIFY_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_NOTIFY_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_NOTIFY_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_INFORMATION), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_INFORMATION), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_INFORMATION), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_INFORMATION), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_NOTIFY_INFORMATION = _FILE_NOTIFY_INFORMATION; +pub type PFILE_NOTIFY_INFORMATION = *mut _FILE_NOTIFY_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_NOTIFY_EXTENDED_INFORMATION { + pub NextEntryOffset: DWORD, + pub Action: DWORD, + pub CreationTime: LARGE_INTEGER, + pub LastModificationTime: LARGE_INTEGER, + pub LastChangeTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub AllocatedLength: LARGE_INTEGER, + pub FileSize: LARGE_INTEGER, + pub FileAttributes: DWORD, + pub ReparsePointTag: DWORD, + pub FileId: LARGE_INTEGER, + pub ParentFileId: LARGE_INTEGER, + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_NOTIFY_EXTENDED_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_NOTIFY_EXTENDED_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_NOTIFY_EXTENDED_INFORMATION>(), + 88usize, + concat!("Size of: ", stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_NOTIFY_EXTENDED_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastModificationTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(LastModificationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastChangeTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(LastChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocatedLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(AllocatedLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparsePointTag) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(ReparsePointTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(ParentFileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NOTIFY_EXTENDED_INFORMATION), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_NOTIFY_EXTENDED_INFORMATION = _FILE_NOTIFY_EXTENDED_INFORMATION; +pub type PFILE_NOTIFY_EXTENDED_INFORMATION = *mut _FILE_NOTIFY_EXTENDED_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _FILE_SEGMENT_ELEMENT { + pub Buffer: *mut ::std::os::raw::c_void, + pub Alignment: ULONGLONG, +} +#[test] +fn bindgen_test_layout__FILE_SEGMENT_ELEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_SEGMENT_ELEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_SEGMENT_ELEMENT>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_SEGMENT_ELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_SEGMENT_ELEMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_SEGMENT_ELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SEGMENT_ELEMENT), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SEGMENT_ELEMENT), + "::", + stringify!(Alignment) + ) + ); +} +pub type FILE_SEGMENT_ELEMENT = _FILE_SEGMENT_ELEMENT; +pub type PFILE_SEGMENT_ELEMENT = *mut _FILE_SEGMENT_ELEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REPARSE_GUID_DATA_BUFFER { + pub ReparseTag: DWORD, + pub ReparseDataLength: WORD, + pub Reserved: WORD, + pub ReparseGuid: GUID, + pub GenericReparseBuffer: _REPARSE_GUID_DATA_BUFFER__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REPARSE_GUID_DATA_BUFFER__bindgen_ty_1 { + pub DataBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__REPARSE_GUID_DATA_BUFFER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1>(), + 1usize, + concat!( + "Size of: ", + stringify!(_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBuffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER__bindgen_ty_1), + "::", + stringify!(DataBuffer) + ) + ); +} +#[test] +fn bindgen_test_layout__REPARSE_GUID_DATA_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_REPARSE_GUID_DATA_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REPARSE_GUID_DATA_BUFFER>(), + 28usize, + concat!("Size of: ", stringify!(_REPARSE_GUID_DATA_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_REPARSE_GUID_DATA_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_REPARSE_GUID_DATA_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseTag) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(ReparseTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseDataLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(ReparseDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(ReparseGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericReparseBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REPARSE_GUID_DATA_BUFFER), + "::", + stringify!(GenericReparseBuffer) + ) + ); +} +pub type REPARSE_GUID_DATA_BUFFER = _REPARSE_GUID_DATA_BUFFER; +pub type PREPARSE_GUID_DATA_BUFFER = *mut _REPARSE_GUID_DATA_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCRUB_DATA_INPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub MaximumIos: DWORD, + pub ObjectId: [DWORD; 4usize], + pub Reserved: [DWORD; 25usize], + pub ResumeContext: [BYTE; 816usize], +} +#[test] +fn bindgen_test_layout__SCRUB_DATA_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCRUB_DATA_INPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCRUB_DATA_INPUT>(), + 944usize, + concat!("Size of: ", stringify!(_SCRUB_DATA_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCRUB_DATA_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SCRUB_DATA_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumIos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(MaximumIos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(ObjectId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeContext) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_INPUT), + "::", + stringify!(ResumeContext) + ) + ); +} +pub type SCRUB_DATA_INPUT = _SCRUB_DATA_INPUT; +pub type PSCRUB_DATA_INPUT = *mut _SCRUB_DATA_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCRUB_PARITY_EXTENT { + pub Offset: LONGLONG, + pub Length: ULONGLONG, +} +#[test] +fn bindgen_test_layout__SCRUB_PARITY_EXTENT() { + const UNINIT: ::std::mem::MaybeUninit<_SCRUB_PARITY_EXTENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCRUB_PARITY_EXTENT>(), + 16usize, + concat!("Size of: ", stringify!(_SCRUB_PARITY_EXTENT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCRUB_PARITY_EXTENT>(), + 8usize, + concat!("Alignment of ", stringify!(_SCRUB_PARITY_EXTENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT), + "::", + stringify!(Length) + ) + ); +} +pub type SCRUB_PARITY_EXTENT = _SCRUB_PARITY_EXTENT; +pub type PSCRUB_PARITY_EXTENT = *mut _SCRUB_PARITY_EXTENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCRUB_PARITY_EXTENT_DATA { + pub Size: WORD, + pub Flags: WORD, + pub NumberOfParityExtents: WORD, + pub MaximumNumberOfParityExtents: WORD, + pub ParityExtents: [SCRUB_PARITY_EXTENT; 1usize], +} +#[test] +fn bindgen_test_layout__SCRUB_PARITY_EXTENT_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_SCRUB_PARITY_EXTENT_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCRUB_PARITY_EXTENT_DATA>(), + 24usize, + concat!("Size of: ", stringify!(_SCRUB_PARITY_EXTENT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_SCRUB_PARITY_EXTENT_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_SCRUB_PARITY_EXTENT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfParityExtents) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(NumberOfParityExtents) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MaximumNumberOfParityExtents) as usize - ptr as usize + }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(MaximumNumberOfParityExtents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParityExtents) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_PARITY_EXTENT_DATA), + "::", + stringify!(ParityExtents) + ) + ); +} +pub type SCRUB_PARITY_EXTENT_DATA = _SCRUB_PARITY_EXTENT_DATA; +pub type PSCRUB_PARITY_EXTENT_DATA = *mut _SCRUB_PARITY_EXTENT_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCRUB_DATA_OUTPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub Status: DWORD, + pub ErrorFileOffset: ULONGLONG, + pub ErrorLength: ULONGLONG, + pub NumberOfBytesRepaired: ULONGLONG, + pub NumberOfBytesFailed: ULONGLONG, + pub InternalFileReference: ULONGLONG, + pub ResumeContextLength: WORD, + pub ParityExtentDataOffset: WORD, + pub Reserved: [DWORD; 9usize], + pub NumberOfMetadataBytesProcessed: ULONGLONG, + pub NumberOfDataBytesProcessed: ULONGLONG, + pub TotalNumberOfMetadataBytesInUse: ULONGLONG, + pub TotalNumberOfDataBytesInUse: ULONGLONG, + pub ResumeContext: [BYTE; 816usize], +} +#[test] +fn bindgen_test_layout__SCRUB_DATA_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCRUB_DATA_OUTPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCRUB_DATA_OUTPUT>(), + 944usize, + concat!("Size of: ", stringify!(_SCRUB_DATA_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCRUB_DATA_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SCRUB_DATA_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ErrorFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ErrorLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBytesRepaired) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(NumberOfBytesRepaired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBytesFailed) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(NumberOfBytesFailed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InternalFileReference) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(InternalFileReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeContextLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ResumeContextLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParityExtentDataOffset) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ParityExtentDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NumberOfMetadataBytesProcessed) as usize - ptr as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(NumberOfMetadataBytesProcessed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDataBytesProcessed) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(NumberOfDataBytesProcessed) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).TotalNumberOfMetadataBytesInUse) as usize - ptr as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(TotalNumberOfMetadataBytesInUse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfDataBytesInUse) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(TotalNumberOfDataBytesInUse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeContext) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_SCRUB_DATA_OUTPUT), + "::", + stringify!(ResumeContext) + ) + ); +} +pub type SCRUB_DATA_OUTPUT = _SCRUB_DATA_OUTPUT; +pub type PSCRUB_DATA_OUTPUT = *mut _SCRUB_DATA_OUTPUT; +pub const _SharedVirtualDiskSupportType_SharedVirtualDisksUnsupported: + _SharedVirtualDiskSupportType = 0; +pub const _SharedVirtualDiskSupportType_SharedVirtualDisksSupported: _SharedVirtualDiskSupportType = + 1; +pub const _SharedVirtualDiskSupportType_SharedVirtualDiskSnapshotsSupported: + _SharedVirtualDiskSupportType = 3; +pub const _SharedVirtualDiskSupportType_SharedVirtualDiskCDPSnapshotsSupported: + _SharedVirtualDiskSupportType = 7; +pub type _SharedVirtualDiskSupportType = ::std::os::raw::c_int; +pub use self::_SharedVirtualDiskSupportType as SharedVirtualDiskSupportType; +pub const _SharedVirtualDiskHandleState_SharedVirtualDiskHandleStateNone: + _SharedVirtualDiskHandleState = 0; +pub const _SharedVirtualDiskHandleState_SharedVirtualDiskHandleStateFileShared: + _SharedVirtualDiskHandleState = 1; +pub const _SharedVirtualDiskHandleState_SharedVirtualDiskHandleStateHandleShared: + _SharedVirtualDiskHandleState = 3; +pub type _SharedVirtualDiskHandleState = ::std::os::raw::c_int; +pub use self::_SharedVirtualDiskHandleState as SharedVirtualDiskHandleState; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHARED_VIRTUAL_DISK_SUPPORT { + pub SharedVirtualDiskSupport: SharedVirtualDiskSupportType, + pub HandleState: SharedVirtualDiskHandleState, +} +#[test] +fn bindgen_test_layout__SHARED_VIRTUAL_DISK_SUPPORT() { + const UNINIT: ::std::mem::MaybeUninit<_SHARED_VIRTUAL_DISK_SUPPORT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHARED_VIRTUAL_DISK_SUPPORT>(), + 8usize, + concat!("Size of: ", stringify!(_SHARED_VIRTUAL_DISK_SUPPORT)) + ); + assert_eq!( + ::std::mem::align_of::<_SHARED_VIRTUAL_DISK_SUPPORT>(), + 4usize, + concat!("Alignment of ", stringify!(_SHARED_VIRTUAL_DISK_SUPPORT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SharedVirtualDiskSupport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHARED_VIRTUAL_DISK_SUPPORT), + "::", + stringify!(SharedVirtualDiskSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SHARED_VIRTUAL_DISK_SUPPORT), + "::", + stringify!(HandleState) + ) + ); +} +pub type SHARED_VIRTUAL_DISK_SUPPORT = _SHARED_VIRTUAL_DISK_SUPPORT; +pub type PSHARED_VIRTUAL_DISK_SUPPORT = *mut _SHARED_VIRTUAL_DISK_SUPPORT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REARRANGE_FILE_DATA { + pub SourceStartingOffset: ULONGLONG, + pub TargetOffset: ULONGLONG, + pub SourceFileHandle: HANDLE, + pub Length: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__REARRANGE_FILE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_REARRANGE_FILE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REARRANGE_FILE_DATA>(), + 32usize, + concat!("Size of: ", stringify!(_REARRANGE_FILE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_REARRANGE_FILE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_REARRANGE_FILE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceStartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(SourceStartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(TargetOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(SourceFileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA), + "::", + stringify!(Flags) + ) + ); +} +pub type REARRANGE_FILE_DATA = _REARRANGE_FILE_DATA; +pub type PREARRANGE_FILE_DATA = *mut _REARRANGE_FILE_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REARRANGE_FILE_DATA32 { + pub SourceStartingOffset: ULONGLONG, + pub TargetOffset: ULONGLONG, + pub SourceFileHandle: UINT32, + pub Length: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__REARRANGE_FILE_DATA32() { + const UNINIT: ::std::mem::MaybeUninit<_REARRANGE_FILE_DATA32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REARRANGE_FILE_DATA32>(), + 32usize, + concat!("Size of: ", stringify!(_REARRANGE_FILE_DATA32)) + ); + assert_eq!( + ::std::mem::align_of::<_REARRANGE_FILE_DATA32>(), + 8usize, + concat!("Alignment of ", stringify!(_REARRANGE_FILE_DATA32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceStartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(SourceStartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(TargetOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(SourceFileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REARRANGE_FILE_DATA32), + "::", + stringify!(Flags) + ) + ); +} +pub type REARRANGE_FILE_DATA32 = _REARRANGE_FILE_DATA32; +pub type PREARRANGE_FILE_DATA32 = *mut _REARRANGE_FILE_DATA32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHUFFLE_FILE_DATA { + pub StartingOffset: LONGLONG, + pub Length: LONGLONG, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__SHUFFLE_FILE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_SHUFFLE_FILE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHUFFLE_FILE_DATA>(), + 24usize, + concat!("Size of: ", stringify!(_SHUFFLE_FILE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHUFFLE_FILE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHUFFLE_FILE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHUFFLE_FILE_DATA), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHUFFLE_FILE_DATA), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHUFFLE_FILE_DATA), + "::", + stringify!(Flags) + ) + ); +} +pub type SHUFFLE_FILE_DATA = _SHUFFLE_FILE_DATA; +pub type PSHUFFLE_FILE_DATA = *mut _SHUFFLE_FILE_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETWORK_APP_INSTANCE_EA { + pub AppInstanceID: GUID, + pub CsvFlags: DWORD, +} +#[test] +fn bindgen_test_layout__NETWORK_APP_INSTANCE_EA() { + const UNINIT: ::std::mem::MaybeUninit<_NETWORK_APP_INSTANCE_EA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETWORK_APP_INSTANCE_EA>(), + 20usize, + concat!("Size of: ", stringify!(_NETWORK_APP_INSTANCE_EA)) + ); + assert_eq!( + ::std::mem::align_of::<_NETWORK_APP_INSTANCE_EA>(), + 4usize, + concat!("Alignment of ", stringify!(_NETWORK_APP_INSTANCE_EA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AppInstanceID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETWORK_APP_INSTANCE_EA), + "::", + stringify!(AppInstanceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CsvFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETWORK_APP_INSTANCE_EA), + "::", + stringify!(CsvFlags) + ) + ); +} +pub type NETWORK_APP_INSTANCE_EA = _NETWORK_APP_INSTANCE_EA; +pub type PNETWORK_APP_INSTANCE_EA = *mut _NETWORK_APP_INSTANCE_EA; +extern "C" { + pub static GUID_MAX_POWER_SAVINGS: GUID; +} +extern "C" { + pub static GUID_MIN_POWER_SAVINGS: GUID; +} +extern "C" { + pub static GUID_TYPICAL_POWER_SAVINGS: GUID; +} +extern "C" { + pub static NO_SUBGROUP_GUID: GUID; +} +extern "C" { + pub static ALL_POWERSCHEMES_GUID: GUID; +} +extern "C" { + pub static GUID_POWERSCHEME_PERSONALITY: GUID; +} +extern "C" { + pub static GUID_ACTIVE_POWERSCHEME: GUID; +} +extern "C" { + pub static GUID_IDLE_RESILIENCY_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_IDLE_RESILIENCY_PERIOD: GUID; +} +extern "C" { + pub static GUID_DEEP_SLEEP_ENABLED: GUID; +} +extern "C" { + pub static GUID_DEEP_SLEEP_PLATFORM_STATE: GUID; +} +extern "C" { + pub static GUID_DISK_COALESCING_POWERDOWN_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_VIDEO_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_VIDEO_POWERDOWN_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_VIDEO_ANNOYANCE_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE: GUID; +} +extern "C" { + pub static GUID_VIDEO_DIM_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_VIDEO_ADAPTIVE_POWERDOWN: GUID; +} +extern "C" { + pub static GUID_MONITOR_POWER_ON: GUID; +} +extern "C" { + pub static GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_VIDEO_ADAPTIVE_DISPLAY_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_CONSOLE_DISPLAY_STATE: GUID; +} +extern "C" { + pub static GUID_ALLOW_DISPLAY_REQUIRED: GUID; +} +extern "C" { + pub static GUID_VIDEO_CONSOLE_LOCK_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_ADVANCED_COLOR_QUALITY_BIAS: GUID; +} +extern "C" { + pub static GUID_ADAPTIVE_POWER_BEHAVIOR_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_NON_ADAPTIVE_INPUT_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_ADAPTIVE_INPUT_CONTROLLER_STATE: GUID; +} +extern "C" { + pub static GUID_DISK_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_DISK_MAX_POWER: GUID; +} +extern "C" { + pub static GUID_DISK_POWERDOWN_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_DISK_IDLE_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_DISK_BURST_IGNORE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_DISK_ADAPTIVE_POWERDOWN: GUID; +} +extern "C" { + pub static GUID_DISK_NVME_NOPPME: GUID; +} +extern "C" { + pub static GUID_SLEEP_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_SLEEP_IDLE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_STANDBY_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_UNATTEND_SLEEP_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_HIBERNATE_TIMEOUT: GUID; +} +extern "C" { + pub static GUID_HIBERNATE_FASTS4_POLICY: GUID; +} +extern "C" { + pub static GUID_CRITICAL_POWER_TRANSITION: GUID; +} +extern "C" { + pub static GUID_SYSTEM_AWAYMODE: GUID; +} +extern "C" { + pub static GUID_ALLOW_AWAYMODE: GUID; +} +extern "C" { + pub static GUID_USER_PRESENCE_PREDICTION: GUID; +} +extern "C" { + pub static GUID_STANDBY_BUDGET_GRACE_PERIOD: GUID; +} +extern "C" { + pub static GUID_STANDBY_BUDGET_PERCENT: GUID; +} +extern "C" { + pub static GUID_STANDBY_RESERVE_GRACE_PERIOD: GUID; +} +extern "C" { + pub static GUID_STANDBY_RESERVE_TIME: GUID; +} +extern "C" { + pub static GUID_STANDBY_RESET_PERCENT: GUID; +} +extern "C" { + pub static GUID_ALLOW_STANDBY_STATES: GUID; +} +extern "C" { + pub static GUID_ALLOW_RTC_WAKE: GUID; +} +extern "C" { + pub static GUID_LEGACY_RTC_MITIGATION: GUID; +} +extern "C" { + pub static GUID_ALLOW_SYSTEM_REQUIRED: GUID; +} +extern "C" { + pub static GUID_POWER_SAVING_STATUS: GUID; +} +extern "C" { + pub static GUID_ENERGY_SAVER_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_ENERGY_SAVER_BATTERY_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_ENERGY_SAVER_BRIGHTNESS: GUID; +} +extern "C" { + pub static GUID_ENERGY_SAVER_POLICY: GUID; +} +extern "C" { + pub static GUID_SYSTEM_BUTTON_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_POWERBUTTON_ACTION: GUID; +} +extern "C" { + pub static GUID_SLEEPBUTTON_ACTION: GUID; +} +extern "C" { + pub static GUID_USERINTERFACEBUTTON_ACTION: GUID; +} +extern "C" { + pub static GUID_LIDCLOSE_ACTION: GUID; +} +extern "C" { + pub static GUID_LIDOPEN_POWERSTATE: GUID; +} +extern "C" { + pub static GUID_BATTERY_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_ACTION_0: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_LEVEL_0: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_FLAGS_0: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_ACTION_1: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_LEVEL_1: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_FLAGS_1: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_ACTION_2: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_LEVEL_2: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_FLAGS_2: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_ACTION_3: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_LEVEL_3: GUID; +} +extern "C" { + pub static GUID_BATTERY_DISCHARGE_FLAGS_3: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_SETTINGS_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_MAXIMUM: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_MAXIMUM_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_MINIMUM: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THROTTLE_MINIMUM_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_FREQUENCY_LIMIT: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_FREQUENCY_LIMIT_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_ALLOW_THROTTLING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLESTATE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERFSTATE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_THRESHOLD_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_THRESHOLD_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_POLICY_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_POLICY_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_TIME_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_TIME_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_TIME_CHECK: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_BOOST_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_BOOST_MODE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_AUTONOMOUS_MODE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_AUTONOMOUS_ACTIVITY_WINDOW: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_DUTY_CYCLING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_ALLOW_SCALING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_DISABLE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_STATE_MAXIMUM: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_TIME_CHECK: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_MAX_CORES: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_MAX_CORES_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_MIN_CORES: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_MIN_CORES_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_INCREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_DECREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_DECREASE_FACTOR: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_AFFINITY_WEIGHTING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_DECREASE_FACTOR: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_WEIGHTING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_CORE_OVERRIDE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_PERF_STATE: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_PERF_STATE_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_CONCURRENCY_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_HEADROOM_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PARKING_DISTRIBUTION_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_SOFT_PARKING_LATENCY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_HISTORY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_HISTORY_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_INCREASE_HISTORY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_DECREASE_HISTORY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_CORE_PARKING_HISTORY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_LATENCY_HINT: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_LATENCY_HINT_PERF: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_PERF_LATENCY_HINT_PERF_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_DISTRIBUTE_UTILITY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETEROGENEOUS_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETERO_DECREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETERO_INCREASE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETERO_DECREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_HETERO_INCREASE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CLASS0_FLOOR_PERF: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_CLASS1_INITIAL_PERF: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_THREAD_SCHEDULING_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_SHORT_THREAD_SCHEDULING_POLICY: GUID; +} +extern "C" { + pub static GUID_SYSTEM_COOLING_POLICY: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_THRESHOLD_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_THRESHOLD: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_THRESHOLD_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_DISABLE_TIME_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_TIME: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_ENABLE_TIME_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_EPP_CEILING: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_EPP_CEILING_1: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_PERF_FLOOR: GUID; +} +extern "C" { + pub static GUID_PROCESSOR_RESPONSIVENESS_PERF_FLOOR_1: GUID; +} +extern "C" { + pub static GUID_LOCK_CONSOLE_ON_WAKE: GUID; +} +extern "C" { + pub static GUID_DEVICE_IDLE_POLICY: GUID; +} +extern "C" { + pub static GUID_CONNECTIVITY_IN_STANDBY: GUID; +} +extern "C" { + pub static GUID_DISCONNECTED_STANDBY_MODE: GUID; +} +extern "C" { + pub static GUID_ACDC_POWER_SOURCE: GUID; +} +extern "C" { + pub static GUID_LIDSWITCH_STATE_CHANGE: GUID; +} +extern "C" { + pub static GUID_BATTERY_PERCENTAGE_REMAINING: GUID; +} +extern "C" { + pub static GUID_BATTERY_COUNT: GUID; +} +extern "C" { + pub static GUID_GLOBAL_USER_PRESENCE: GUID; +} +extern "C" { + pub static GUID_SESSION_DISPLAY_STATUS: GUID; +} +extern "C" { + pub static GUID_SESSION_USER_PRESENCE: GUID; +} +extern "C" { + pub static GUID_IDLE_BACKGROUND_TASK: GUID; +} +extern "C" { + pub static GUID_BACKGROUND_TASK_NOTIFICATION: GUID; +} +extern "C" { + pub static GUID_APPLAUNCH_BUTTON: GUID; +} +extern "C" { + pub static GUID_PCIEXPRESS_SETTINGS_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_PCIEXPRESS_ASPM_POLICY: GUID; +} +extern "C" { + pub static GUID_ENABLE_SWITCH_FORCED_SHUTDOWN: GUID; +} +extern "C" { + pub static GUID_INTSTEER_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_INTSTEER_MODE: GUID; +} +extern "C" { + pub static GUID_INTSTEER_LOAD_PER_PROC_TRIGGER: GUID; +} +extern "C" { + pub static GUID_INTSTEER_TIME_UNPARK_TRIGGER: GUID; +} +extern "C" { + pub static GUID_GRAPHICS_SUBGROUP: GUID; +} +extern "C" { + pub static GUID_GPU_PREFERENCE_POLICY: GUID; +} +extern "C" { + pub static GUID_MIXED_REALITY_MODE: GUID; +} +extern "C" { + pub static GUID_SPR_ACTIVE_SESSION_CHANGE: GUID; +} +pub const _SYSTEM_POWER_STATE_PowerSystemUnspecified: _SYSTEM_POWER_STATE = 0; +pub const _SYSTEM_POWER_STATE_PowerSystemWorking: _SYSTEM_POWER_STATE = 1; +pub const _SYSTEM_POWER_STATE_PowerSystemSleeping1: _SYSTEM_POWER_STATE = 2; +pub const _SYSTEM_POWER_STATE_PowerSystemSleeping2: _SYSTEM_POWER_STATE = 3; +pub const _SYSTEM_POWER_STATE_PowerSystemSleeping3: _SYSTEM_POWER_STATE = 4; +pub const _SYSTEM_POWER_STATE_PowerSystemHibernate: _SYSTEM_POWER_STATE = 5; +pub const _SYSTEM_POWER_STATE_PowerSystemShutdown: _SYSTEM_POWER_STATE = 6; +pub const _SYSTEM_POWER_STATE_PowerSystemMaximum: _SYSTEM_POWER_STATE = 7; +pub type _SYSTEM_POWER_STATE = ::std::os::raw::c_int; +pub use self::_SYSTEM_POWER_STATE as SYSTEM_POWER_STATE; +pub type PSYSTEM_POWER_STATE = *mut _SYSTEM_POWER_STATE; +pub const POWER_ACTION_PowerActionNone: POWER_ACTION = 0; +pub const POWER_ACTION_PowerActionReserved: POWER_ACTION = 1; +pub const POWER_ACTION_PowerActionSleep: POWER_ACTION = 2; +pub const POWER_ACTION_PowerActionHibernate: POWER_ACTION = 3; +pub const POWER_ACTION_PowerActionShutdown: POWER_ACTION = 4; +pub const POWER_ACTION_PowerActionShutdownReset: POWER_ACTION = 5; +pub const POWER_ACTION_PowerActionShutdownOff: POWER_ACTION = 6; +pub const POWER_ACTION_PowerActionWarmEject: POWER_ACTION = 7; +pub const POWER_ACTION_PowerActionDisplayOff: POWER_ACTION = 8; +pub type POWER_ACTION = ::std::os::raw::c_int; +pub type PPOWER_ACTION = *mut POWER_ACTION; +pub const _DEVICE_POWER_STATE_PowerDeviceUnspecified: _DEVICE_POWER_STATE = 0; +pub const _DEVICE_POWER_STATE_PowerDeviceD0: _DEVICE_POWER_STATE = 1; +pub const _DEVICE_POWER_STATE_PowerDeviceD1: _DEVICE_POWER_STATE = 2; +pub const _DEVICE_POWER_STATE_PowerDeviceD2: _DEVICE_POWER_STATE = 3; +pub const _DEVICE_POWER_STATE_PowerDeviceD3: _DEVICE_POWER_STATE = 4; +pub const _DEVICE_POWER_STATE_PowerDeviceMaximum: _DEVICE_POWER_STATE = 5; +pub type _DEVICE_POWER_STATE = ::std::os::raw::c_int; +pub use self::_DEVICE_POWER_STATE as DEVICE_POWER_STATE; +pub type PDEVICE_POWER_STATE = *mut _DEVICE_POWER_STATE; +pub const _MONITOR_DISPLAY_STATE_PowerMonitorOff: _MONITOR_DISPLAY_STATE = 0; +pub const _MONITOR_DISPLAY_STATE_PowerMonitorOn: _MONITOR_DISPLAY_STATE = 1; +pub const _MONITOR_DISPLAY_STATE_PowerMonitorDim: _MONITOR_DISPLAY_STATE = 2; +pub type _MONITOR_DISPLAY_STATE = ::std::os::raw::c_int; +pub use self::_MONITOR_DISPLAY_STATE as MONITOR_DISPLAY_STATE; +pub type PMONITOR_DISPLAY_STATE = *mut _MONITOR_DISPLAY_STATE; +pub const _USER_ACTIVITY_PRESENCE_PowerUserPresent: _USER_ACTIVITY_PRESENCE = 0; +pub const _USER_ACTIVITY_PRESENCE_PowerUserNotPresent: _USER_ACTIVITY_PRESENCE = 1; +pub const _USER_ACTIVITY_PRESENCE_PowerUserInactive: _USER_ACTIVITY_PRESENCE = 2; +pub const _USER_ACTIVITY_PRESENCE_PowerUserMaximum: _USER_ACTIVITY_PRESENCE = 3; +pub const _USER_ACTIVITY_PRESENCE_PowerUserInvalid: _USER_ACTIVITY_PRESENCE = 3; +pub type _USER_ACTIVITY_PRESENCE = ::std::os::raw::c_int; +pub use self::_USER_ACTIVITY_PRESENCE as USER_ACTIVITY_PRESENCE; +pub type PUSER_ACTIVITY_PRESENCE = *mut _USER_ACTIVITY_PRESENCE; +pub type EXECUTION_STATE = DWORD; +pub type PEXECUTION_STATE = *mut DWORD; +pub const LATENCY_TIME_LT_DONT_CARE: LATENCY_TIME = 0; +pub const LATENCY_TIME_LT_LOWEST_LATENCY: LATENCY_TIME = 1; +pub type LATENCY_TIME = ::std::os::raw::c_int; +pub const _POWER_REQUEST_TYPE_PowerRequestDisplayRequired: _POWER_REQUEST_TYPE = 0; +pub const _POWER_REQUEST_TYPE_PowerRequestSystemRequired: _POWER_REQUEST_TYPE = 1; +pub const _POWER_REQUEST_TYPE_PowerRequestAwayModeRequired: _POWER_REQUEST_TYPE = 2; +pub const _POWER_REQUEST_TYPE_PowerRequestExecutionRequired: _POWER_REQUEST_TYPE = 3; +pub type _POWER_REQUEST_TYPE = ::std::os::raw::c_int; +pub use self::_POWER_REQUEST_TYPE as POWER_REQUEST_TYPE; +pub type PPOWER_REQUEST_TYPE = *mut _POWER_REQUEST_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CM_Power_Data_s { + pub PD_Size: DWORD, + pub PD_MostRecentPowerState: DEVICE_POWER_STATE, + pub PD_Capabilities: DWORD, + pub PD_D1Latency: DWORD, + pub PD_D2Latency: DWORD, + pub PD_D3Latency: DWORD, + pub PD_PowerStateMapping: [DEVICE_POWER_STATE; 7usize], + pub PD_DeepestSystemWake: SYSTEM_POWER_STATE, +} +#[test] +fn bindgen_test_layout_CM_Power_Data_s() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(CM_Power_Data_s)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(CM_Power_Data_s)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_MostRecentPowerState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_MostRecentPowerState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_Capabilities) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_D1Latency) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_D1Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_D2Latency) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_D2Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_D3Latency) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_D3Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_PowerStateMapping) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_PowerStateMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PD_DeepestSystemWake) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(CM_Power_Data_s), + "::", + stringify!(PD_DeepestSystemWake) + ) + ); +} +pub type CM_POWER_DATA = CM_Power_Data_s; +pub type PCM_POWER_DATA = *mut CM_Power_Data_s; +pub const POWER_INFORMATION_LEVEL_SystemPowerPolicyAc: POWER_INFORMATION_LEVEL = 0; +pub const POWER_INFORMATION_LEVEL_SystemPowerPolicyDc: POWER_INFORMATION_LEVEL = 1; +pub const POWER_INFORMATION_LEVEL_VerifySystemPolicyAc: POWER_INFORMATION_LEVEL = 2; +pub const POWER_INFORMATION_LEVEL_VerifySystemPolicyDc: POWER_INFORMATION_LEVEL = 3; +pub const POWER_INFORMATION_LEVEL_SystemPowerCapabilities: POWER_INFORMATION_LEVEL = 4; +pub const POWER_INFORMATION_LEVEL_SystemBatteryState: POWER_INFORMATION_LEVEL = 5; +pub const POWER_INFORMATION_LEVEL_SystemPowerStateHandler: POWER_INFORMATION_LEVEL = 6; +pub const POWER_INFORMATION_LEVEL_ProcessorStateHandler: POWER_INFORMATION_LEVEL = 7; +pub const POWER_INFORMATION_LEVEL_SystemPowerPolicyCurrent: POWER_INFORMATION_LEVEL = 8; +pub const POWER_INFORMATION_LEVEL_AdministratorPowerPolicy: POWER_INFORMATION_LEVEL = 9; +pub const POWER_INFORMATION_LEVEL_SystemReserveHiberFile: POWER_INFORMATION_LEVEL = 10; +pub const POWER_INFORMATION_LEVEL_ProcessorInformation: POWER_INFORMATION_LEVEL = 11; +pub const POWER_INFORMATION_LEVEL_SystemPowerInformation: POWER_INFORMATION_LEVEL = 12; +pub const POWER_INFORMATION_LEVEL_ProcessorStateHandler2: POWER_INFORMATION_LEVEL = 13; +pub const POWER_INFORMATION_LEVEL_LastWakeTime: POWER_INFORMATION_LEVEL = 14; +pub const POWER_INFORMATION_LEVEL_LastSleepTime: POWER_INFORMATION_LEVEL = 15; +pub const POWER_INFORMATION_LEVEL_SystemExecutionState: POWER_INFORMATION_LEVEL = 16; +pub const POWER_INFORMATION_LEVEL_SystemPowerStateNotifyHandler: POWER_INFORMATION_LEVEL = 17; +pub const POWER_INFORMATION_LEVEL_ProcessorPowerPolicyAc: POWER_INFORMATION_LEVEL = 18; +pub const POWER_INFORMATION_LEVEL_ProcessorPowerPolicyDc: POWER_INFORMATION_LEVEL = 19; +pub const POWER_INFORMATION_LEVEL_VerifyProcessorPowerPolicyAc: POWER_INFORMATION_LEVEL = 20; +pub const POWER_INFORMATION_LEVEL_VerifyProcessorPowerPolicyDc: POWER_INFORMATION_LEVEL = 21; +pub const POWER_INFORMATION_LEVEL_ProcessorPowerPolicyCurrent: POWER_INFORMATION_LEVEL = 22; +pub const POWER_INFORMATION_LEVEL_SystemPowerStateLogging: POWER_INFORMATION_LEVEL = 23; +pub const POWER_INFORMATION_LEVEL_SystemPowerLoggingEntry: POWER_INFORMATION_LEVEL = 24; +pub const POWER_INFORMATION_LEVEL_SetPowerSettingValue: POWER_INFORMATION_LEVEL = 25; +pub const POWER_INFORMATION_LEVEL_NotifyUserPowerSetting: POWER_INFORMATION_LEVEL = 26; +pub const POWER_INFORMATION_LEVEL_PowerInformationLevelUnused0: POWER_INFORMATION_LEVEL = 27; +pub const POWER_INFORMATION_LEVEL_SystemMonitorHiberBootPowerOff: POWER_INFORMATION_LEVEL = 28; +pub const POWER_INFORMATION_LEVEL_SystemVideoState: POWER_INFORMATION_LEVEL = 29; +pub const POWER_INFORMATION_LEVEL_TraceApplicationPowerMessage: POWER_INFORMATION_LEVEL = 30; +pub const POWER_INFORMATION_LEVEL_TraceApplicationPowerMessageEnd: POWER_INFORMATION_LEVEL = 31; +pub const POWER_INFORMATION_LEVEL_ProcessorPerfStates: POWER_INFORMATION_LEVEL = 32; +pub const POWER_INFORMATION_LEVEL_ProcessorIdleStates: POWER_INFORMATION_LEVEL = 33; +pub const POWER_INFORMATION_LEVEL_ProcessorCap: POWER_INFORMATION_LEVEL = 34; +pub const POWER_INFORMATION_LEVEL_SystemWakeSource: POWER_INFORMATION_LEVEL = 35; +pub const POWER_INFORMATION_LEVEL_SystemHiberFileInformation: POWER_INFORMATION_LEVEL = 36; +pub const POWER_INFORMATION_LEVEL_TraceServicePowerMessage: POWER_INFORMATION_LEVEL = 37; +pub const POWER_INFORMATION_LEVEL_ProcessorLoad: POWER_INFORMATION_LEVEL = 38; +pub const POWER_INFORMATION_LEVEL_PowerShutdownNotification: POWER_INFORMATION_LEVEL = 39; +pub const POWER_INFORMATION_LEVEL_MonitorCapabilities: POWER_INFORMATION_LEVEL = 40; +pub const POWER_INFORMATION_LEVEL_SessionPowerInit: POWER_INFORMATION_LEVEL = 41; +pub const POWER_INFORMATION_LEVEL_SessionDisplayState: POWER_INFORMATION_LEVEL = 42; +pub const POWER_INFORMATION_LEVEL_PowerRequestCreate: POWER_INFORMATION_LEVEL = 43; +pub const POWER_INFORMATION_LEVEL_PowerRequestAction: POWER_INFORMATION_LEVEL = 44; +pub const POWER_INFORMATION_LEVEL_GetPowerRequestList: POWER_INFORMATION_LEVEL = 45; +pub const POWER_INFORMATION_LEVEL_ProcessorInformationEx: POWER_INFORMATION_LEVEL = 46; +pub const POWER_INFORMATION_LEVEL_NotifyUserModeLegacyPowerEvent: POWER_INFORMATION_LEVEL = 47; +pub const POWER_INFORMATION_LEVEL_GroupPark: POWER_INFORMATION_LEVEL = 48; +pub const POWER_INFORMATION_LEVEL_ProcessorIdleDomains: POWER_INFORMATION_LEVEL = 49; +pub const POWER_INFORMATION_LEVEL_WakeTimerList: POWER_INFORMATION_LEVEL = 50; +pub const POWER_INFORMATION_LEVEL_SystemHiberFileSize: POWER_INFORMATION_LEVEL = 51; +pub const POWER_INFORMATION_LEVEL_ProcessorIdleStatesHv: POWER_INFORMATION_LEVEL = 52; +pub const POWER_INFORMATION_LEVEL_ProcessorPerfStatesHv: POWER_INFORMATION_LEVEL = 53; +pub const POWER_INFORMATION_LEVEL_ProcessorPerfCapHv: POWER_INFORMATION_LEVEL = 54; +pub const POWER_INFORMATION_LEVEL_ProcessorSetIdle: POWER_INFORMATION_LEVEL = 55; +pub const POWER_INFORMATION_LEVEL_LogicalProcessorIdling: POWER_INFORMATION_LEVEL = 56; +pub const POWER_INFORMATION_LEVEL_UserPresence: POWER_INFORMATION_LEVEL = 57; +pub const POWER_INFORMATION_LEVEL_PowerSettingNotificationName: POWER_INFORMATION_LEVEL = 58; +pub const POWER_INFORMATION_LEVEL_GetPowerSettingValue: POWER_INFORMATION_LEVEL = 59; +pub const POWER_INFORMATION_LEVEL_IdleResiliency: POWER_INFORMATION_LEVEL = 60; +pub const POWER_INFORMATION_LEVEL_SessionRITState: POWER_INFORMATION_LEVEL = 61; +pub const POWER_INFORMATION_LEVEL_SessionConnectNotification: POWER_INFORMATION_LEVEL = 62; +pub const POWER_INFORMATION_LEVEL_SessionPowerCleanup: POWER_INFORMATION_LEVEL = 63; +pub const POWER_INFORMATION_LEVEL_SessionLockState: POWER_INFORMATION_LEVEL = 64; +pub const POWER_INFORMATION_LEVEL_SystemHiberbootState: POWER_INFORMATION_LEVEL = 65; +pub const POWER_INFORMATION_LEVEL_PlatformInformation: POWER_INFORMATION_LEVEL = 66; +pub const POWER_INFORMATION_LEVEL_PdcInvocation: POWER_INFORMATION_LEVEL = 67; +pub const POWER_INFORMATION_LEVEL_MonitorInvocation: POWER_INFORMATION_LEVEL = 68; +pub const POWER_INFORMATION_LEVEL_FirmwareTableInformationRegistered: POWER_INFORMATION_LEVEL = 69; +pub const POWER_INFORMATION_LEVEL_SetShutdownSelectedTime: POWER_INFORMATION_LEVEL = 70; +pub const POWER_INFORMATION_LEVEL_SuspendResumeInvocation: POWER_INFORMATION_LEVEL = 71; +pub const POWER_INFORMATION_LEVEL_PlmPowerRequestCreate: POWER_INFORMATION_LEVEL = 72; +pub const POWER_INFORMATION_LEVEL_ScreenOff: POWER_INFORMATION_LEVEL = 73; +pub const POWER_INFORMATION_LEVEL_CsDeviceNotification: POWER_INFORMATION_LEVEL = 74; +pub const POWER_INFORMATION_LEVEL_PlatformRole: POWER_INFORMATION_LEVEL = 75; +pub const POWER_INFORMATION_LEVEL_LastResumePerformance: POWER_INFORMATION_LEVEL = 76; +pub const POWER_INFORMATION_LEVEL_DisplayBurst: POWER_INFORMATION_LEVEL = 77; +pub const POWER_INFORMATION_LEVEL_ExitLatencySamplingPercentage: POWER_INFORMATION_LEVEL = 78; +pub const POWER_INFORMATION_LEVEL_RegisterSpmPowerSettings: POWER_INFORMATION_LEVEL = 79; +pub const POWER_INFORMATION_LEVEL_PlatformIdleStates: POWER_INFORMATION_LEVEL = 80; +pub const POWER_INFORMATION_LEVEL_ProcessorIdleVeto: POWER_INFORMATION_LEVEL = 81; +pub const POWER_INFORMATION_LEVEL_PlatformIdleVeto: POWER_INFORMATION_LEVEL = 82; +pub const POWER_INFORMATION_LEVEL_SystemBatteryStatePrecise: POWER_INFORMATION_LEVEL = 83; +pub const POWER_INFORMATION_LEVEL_ThermalEvent: POWER_INFORMATION_LEVEL = 84; +pub const POWER_INFORMATION_LEVEL_PowerRequestActionInternal: POWER_INFORMATION_LEVEL = 85; +pub const POWER_INFORMATION_LEVEL_BatteryDeviceState: POWER_INFORMATION_LEVEL = 86; +pub const POWER_INFORMATION_LEVEL_PowerInformationInternal: POWER_INFORMATION_LEVEL = 87; +pub const POWER_INFORMATION_LEVEL_ThermalStandby: POWER_INFORMATION_LEVEL = 88; +pub const POWER_INFORMATION_LEVEL_SystemHiberFileType: POWER_INFORMATION_LEVEL = 89; +pub const POWER_INFORMATION_LEVEL_PhysicalPowerButtonPress: POWER_INFORMATION_LEVEL = 90; +pub const POWER_INFORMATION_LEVEL_QueryPotentialDripsConstraint: POWER_INFORMATION_LEVEL = 91; +pub const POWER_INFORMATION_LEVEL_EnergyTrackerCreate: POWER_INFORMATION_LEVEL = 92; +pub const POWER_INFORMATION_LEVEL_EnergyTrackerQuery: POWER_INFORMATION_LEVEL = 93; +pub const POWER_INFORMATION_LEVEL_UpdateBlackBoxRecorder: POWER_INFORMATION_LEVEL = 94; +pub const POWER_INFORMATION_LEVEL_SessionAllowExternalDmaDevices: POWER_INFORMATION_LEVEL = 95; +pub const POWER_INFORMATION_LEVEL_PowerInformationLevelMaximum: POWER_INFORMATION_LEVEL = 96; +pub type POWER_INFORMATION_LEVEL = ::std::os::raw::c_int; +pub const POWER_USER_PRESENCE_TYPE_UserNotPresent: POWER_USER_PRESENCE_TYPE = 0; +pub const POWER_USER_PRESENCE_TYPE_UserPresent: POWER_USER_PRESENCE_TYPE = 1; +pub const POWER_USER_PRESENCE_TYPE_UserUnknown: POWER_USER_PRESENCE_TYPE = 255; +pub type POWER_USER_PRESENCE_TYPE = ::std::os::raw::c_int; +pub type PPOWER_USER_PRESENCE_TYPE = *mut POWER_USER_PRESENCE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_USER_PRESENCE { + pub UserPresence: POWER_USER_PRESENCE_TYPE, +} +#[test] +fn bindgen_test_layout__POWER_USER_PRESENCE() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_USER_PRESENCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_USER_PRESENCE>(), + 4usize, + concat!("Size of: ", stringify!(_POWER_USER_PRESENCE)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_USER_PRESENCE>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_USER_PRESENCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserPresence) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_USER_PRESENCE), + "::", + stringify!(UserPresence) + ) + ); +} +pub type POWER_USER_PRESENCE = _POWER_USER_PRESENCE; +pub type PPOWER_USER_PRESENCE = *mut _POWER_USER_PRESENCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_CONNECT { + pub Connected: BOOLEAN, + pub Console: BOOLEAN, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_CONNECT() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_CONNECT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_CONNECT>(), + 2usize, + concat!("Size of: ", stringify!(_POWER_SESSION_CONNECT)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_CONNECT>(), + 1usize, + concat!("Alignment of ", stringify!(_POWER_SESSION_CONNECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Connected) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_CONNECT), + "::", + stringify!(Connected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Console) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_CONNECT), + "::", + stringify!(Console) + ) + ); +} +pub type POWER_SESSION_CONNECT = _POWER_SESSION_CONNECT; +pub type PPOWER_SESSION_CONNECT = *mut _POWER_SESSION_CONNECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_TIMEOUTS { + pub InputTimeout: DWORD, + pub DisplayTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_TIMEOUTS() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_TIMEOUTS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_TIMEOUTS>(), + 8usize, + concat!("Size of: ", stringify!(_POWER_SESSION_TIMEOUTS)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_TIMEOUTS>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_SESSION_TIMEOUTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InputTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_TIMEOUTS), + "::", + stringify!(InputTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisplayTimeout) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_TIMEOUTS), + "::", + stringify!(DisplayTimeout) + ) + ); +} +pub type POWER_SESSION_TIMEOUTS = _POWER_SESSION_TIMEOUTS; +pub type PPOWER_SESSION_TIMEOUTS = *mut _POWER_SESSION_TIMEOUTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_RIT_STATE { + pub Active: BOOLEAN, + pub LastInputTime: DWORD, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_RIT_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_RIT_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_RIT_STATE>(), + 8usize, + concat!("Size of: ", stringify!(_POWER_SESSION_RIT_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_RIT_STATE>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_SESSION_RIT_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Active) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_RIT_STATE), + "::", + stringify!(Active) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastInputTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_RIT_STATE), + "::", + stringify!(LastInputTime) + ) + ); +} +pub type POWER_SESSION_RIT_STATE = _POWER_SESSION_RIT_STATE; +pub type PPOWER_SESSION_RIT_STATE = *mut _POWER_SESSION_RIT_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_WINLOGON { + pub SessionId: DWORD, + pub Console: BOOLEAN, + pub Locked: BOOLEAN, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_WINLOGON() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_WINLOGON> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_WINLOGON>(), + 8usize, + concat!("Size of: ", stringify!(_POWER_SESSION_WINLOGON)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_WINLOGON>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_SESSION_WINLOGON)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_WINLOGON), + "::", + stringify!(SessionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Console) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_WINLOGON), + "::", + stringify!(Console) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Locked) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_WINLOGON), + "::", + stringify!(Locked) + ) + ); +} +pub type POWER_SESSION_WINLOGON = _POWER_SESSION_WINLOGON; +pub type PPOWER_SESSION_WINLOGON = *mut _POWER_SESSION_WINLOGON; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES { + pub IsAllowed: BOOLEAN, +} +#[test] +fn bindgen_test_layout__POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES>(), + 1usize, + concat!( + "Size of: ", + stringify!(_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES) + ) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsAllowed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES), + "::", + stringify!(IsAllowed) + ) + ); +} +pub type POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES = _POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES; +pub type PPOWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES = *mut _POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_IDLE_RESILIENCY { + pub CoalescingTimeout: DWORD, + pub IdleResiliencyPeriod: DWORD, +} +#[test] +fn bindgen_test_layout__POWER_IDLE_RESILIENCY() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_IDLE_RESILIENCY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_IDLE_RESILIENCY>(), + 8usize, + concat!("Size of: ", stringify!(_POWER_IDLE_RESILIENCY)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_IDLE_RESILIENCY>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_IDLE_RESILIENCY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CoalescingTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_IDLE_RESILIENCY), + "::", + stringify!(CoalescingTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleResiliencyPeriod) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POWER_IDLE_RESILIENCY), + "::", + stringify!(IdleResiliencyPeriod) + ) + ); +} +pub type POWER_IDLE_RESILIENCY = _POWER_IDLE_RESILIENCY; +pub type PPOWER_IDLE_RESILIENCY = *mut _POWER_IDLE_RESILIENCY; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUnknown: POWER_MONITOR_REQUEST_REASON = + 0; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPowerButton: + POWER_MONITOR_REQUEST_REASON = 1; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonRemoteConnection: + POWER_MONITOR_REQUEST_REASON = 2; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonScMonitorpower: + POWER_MONITOR_REQUEST_REASON = 3; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInput: POWER_MONITOR_REQUEST_REASON = + 4; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonAcDcDisplayBurst: + POWER_MONITOR_REQUEST_REASON = 5; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserDisplayBurst: + POWER_MONITOR_REQUEST_REASON = 6; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPoSetSystemState: + POWER_MONITOR_REQUEST_REASON = 7; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSetThreadExecutionState: + POWER_MONITOR_REQUEST_REASON = 8; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonFullWake: POWER_MONITOR_REQUEST_REASON = + 9; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSessionUnlock: + POWER_MONITOR_REQUEST_REASON = 10; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonScreenOffRequest: + POWER_MONITOR_REQUEST_REASON = 11; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonIdleTimeout: + POWER_MONITOR_REQUEST_REASON = 12; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPolicyChange: + POWER_MONITOR_REQUEST_REASON = 13; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSleepButton: + POWER_MONITOR_REQUEST_REASON = 14; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonLid: POWER_MONITOR_REQUEST_REASON = 15; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonBatteryCountChange: + POWER_MONITOR_REQUEST_REASON = 16; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonGracePeriod: + POWER_MONITOR_REQUEST_REASON = 17; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPnP: POWER_MONITOR_REQUEST_REASON = 18; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDP: POWER_MONITOR_REQUEST_REASON = 19; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSxTransition: + POWER_MONITOR_REQUEST_REASON = 20; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSystemIdle: + POWER_MONITOR_REQUEST_REASON = 21; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonNearProximity: + POWER_MONITOR_REQUEST_REASON = 22; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonThermalStandby: + POWER_MONITOR_REQUEST_REASON = 23; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonResumePdc: POWER_MONITOR_REQUEST_REASON = + 24; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonResumeS4: POWER_MONITOR_REQUEST_REASON = + 25; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonTerminal: POWER_MONITOR_REQUEST_REASON = + 26; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignal: POWER_MONITOR_REQUEST_REASON = + 27; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonAcDcDisplayBurstSuppressed: + POWER_MONITOR_REQUEST_REASON = 28; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonSystemStateEntered: + POWER_MONITOR_REQUEST_REASON = 29; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonWinrt: POWER_MONITOR_REQUEST_REASON = 30; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputKeyboard: + POWER_MONITOR_REQUEST_REASON = 31; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputMouse: + POWER_MONITOR_REQUEST_REASON = 32; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputTouch: + POWER_MONITOR_REQUEST_REASON = 33; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputPen: + POWER_MONITOR_REQUEST_REASON = 34; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputAccelerometer: + POWER_MONITOR_REQUEST_REASON = 35; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputHid: + POWER_MONITOR_REQUEST_REASON = 36; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputPoUserPresent: + POWER_MONITOR_REQUEST_REASON = 37; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputSessionSwitch: + POWER_MONITOR_REQUEST_REASON = 38; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonUserInputInitialization: + POWER_MONITOR_REQUEST_REASON = 39; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalWindowsMobilePwrNotif: + POWER_MONITOR_REQUEST_REASON = 40; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalWindowsMobileShell: + POWER_MONITOR_REQUEST_REASON = 41; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalHeyCortana: + POWER_MONITOR_REQUEST_REASON = 42; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalHolographicShell: + POWER_MONITOR_REQUEST_REASON = 43; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonPdcSignalFingerprint: + POWER_MONITOR_REQUEST_REASON = 44; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDirectedDrips: + POWER_MONITOR_REQUEST_REASON = 45; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDim: POWER_MONITOR_REQUEST_REASON = 46; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonBuiltinPanel: + POWER_MONITOR_REQUEST_REASON = 47; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonDisplayRequiredUnDim: + POWER_MONITOR_REQUEST_REASON = 48; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonBatteryCountChangeSuppressed: + POWER_MONITOR_REQUEST_REASON = 49; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonResumeModernStandby: + POWER_MONITOR_REQUEST_REASON = 50; +pub const POWER_MONITOR_REQUEST_REASON_MonitorRequestReasonMax: POWER_MONITOR_REQUEST_REASON = 51; +pub type POWER_MONITOR_REQUEST_REASON = ::std::os::raw::c_int; +pub const _POWER_MONITOR_REQUEST_TYPE_MonitorRequestTypeOff: _POWER_MONITOR_REQUEST_TYPE = 0; +pub const _POWER_MONITOR_REQUEST_TYPE_MonitorRequestTypeOnAndPresent: _POWER_MONITOR_REQUEST_TYPE = + 1; +pub const _POWER_MONITOR_REQUEST_TYPE_MonitorRequestTypeToggleOn: _POWER_MONITOR_REQUEST_TYPE = 2; +pub type _POWER_MONITOR_REQUEST_TYPE = ::std::os::raw::c_int; +pub use self::_POWER_MONITOR_REQUEST_TYPE as POWER_MONITOR_REQUEST_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_MONITOR_INVOCATION { + pub Console: BOOLEAN, + pub RequestReason: POWER_MONITOR_REQUEST_REASON, +} +#[test] +fn bindgen_test_layout__POWER_MONITOR_INVOCATION() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_MONITOR_INVOCATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_MONITOR_INVOCATION>(), + 8usize, + concat!("Size of: ", stringify!(_POWER_MONITOR_INVOCATION)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_MONITOR_INVOCATION>(), + 4usize, + concat!("Alignment of ", stringify!(_POWER_MONITOR_INVOCATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Console) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_MONITOR_INVOCATION), + "::", + stringify!(Console) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestReason) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POWER_MONITOR_INVOCATION), + "::", + stringify!(RequestReason) + ) + ); +} +pub type POWER_MONITOR_INVOCATION = _POWER_MONITOR_INVOCATION; +pub type PPOWER_MONITOR_INVOCATION = *mut _POWER_MONITOR_INVOCATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RESUME_PERFORMANCE { + pub PostTimeMs: DWORD, + pub TotalResumeTimeMs: ULONGLONG, + pub ResumeCompleteTimestamp: ULONGLONG, +} +#[test] +fn bindgen_test_layout__RESUME_PERFORMANCE() { + const UNINIT: ::std::mem::MaybeUninit<_RESUME_PERFORMANCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RESUME_PERFORMANCE>(), + 24usize, + concat!("Size of: ", stringify!(_RESUME_PERFORMANCE)) + ); + assert_eq!( + ::std::mem::align_of::<_RESUME_PERFORMANCE>(), + 8usize, + concat!("Alignment of ", stringify!(_RESUME_PERFORMANCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostTimeMs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RESUME_PERFORMANCE), + "::", + stringify!(PostTimeMs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalResumeTimeMs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RESUME_PERFORMANCE), + "::", + stringify!(TotalResumeTimeMs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeCompleteTimestamp) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RESUME_PERFORMANCE), + "::", + stringify!(ResumeCompleteTimestamp) + ) + ); +} +pub type RESUME_PERFORMANCE = _RESUME_PERFORMANCE; +pub type PRESUME_PERFORMANCE = *mut _RESUME_PERFORMANCE; +pub const SYSTEM_POWER_CONDITION_PoAc: SYSTEM_POWER_CONDITION = 0; +pub const SYSTEM_POWER_CONDITION_PoDc: SYSTEM_POWER_CONDITION = 1; +pub const SYSTEM_POWER_CONDITION_PoHot: SYSTEM_POWER_CONDITION = 2; +pub const SYSTEM_POWER_CONDITION_PoConditionMaximum: SYSTEM_POWER_CONDITION = 3; +pub type SYSTEM_POWER_CONDITION = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SET_POWER_SETTING_VALUE { + pub Version: DWORD, + pub Guid: GUID, + pub PowerCondition: SYSTEM_POWER_CONDITION, + pub DataLength: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_SET_POWER_SETTING_VALUE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(SET_POWER_SETTING_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SET_POWER_SETTING_VALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Guid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(Guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerCondition) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(PowerCondition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(DataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(SET_POWER_SETTING_VALUE), + "::", + stringify!(Data) + ) + ); +} +pub type PSET_POWER_SETTING_VALUE = *mut SET_POWER_SETTING_VALUE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NOTIFY_USER_POWER_SETTING { + pub Guid: GUID, +} +#[test] +fn bindgen_test_layout_NOTIFY_USER_POWER_SETTING() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(NOTIFY_USER_POWER_SETTING)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(NOTIFY_USER_POWER_SETTING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NOTIFY_USER_POWER_SETTING), + "::", + stringify!(Guid) + ) + ); +} +pub type PNOTIFY_USER_POWER_SETTING = *mut NOTIFY_USER_POWER_SETTING; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _APPLICATIONLAUNCH_SETTING_VALUE { + pub ActivationTime: LARGE_INTEGER, + pub Flags: DWORD, + pub ButtonInstanceID: DWORD, +} +#[test] +fn bindgen_test_layout__APPLICATIONLAUNCH_SETTING_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_APPLICATIONLAUNCH_SETTING_VALUE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_APPLICATIONLAUNCH_SETTING_VALUE>(), + 16usize, + concat!("Size of: ", stringify!(_APPLICATIONLAUNCH_SETTING_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::<_APPLICATIONLAUNCH_SETTING_VALUE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_APPLICATIONLAUNCH_SETTING_VALUE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActivationTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_APPLICATIONLAUNCH_SETTING_VALUE), + "::", + stringify!(ActivationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_APPLICATIONLAUNCH_SETTING_VALUE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ButtonInstanceID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_APPLICATIONLAUNCH_SETTING_VALUE), + "::", + stringify!(ButtonInstanceID) + ) + ); +} +pub type APPLICATIONLAUNCH_SETTING_VALUE = _APPLICATIONLAUNCH_SETTING_VALUE; +pub type PAPPLICATIONLAUNCH_SETTING_VALUE = *mut _APPLICATIONLAUNCH_SETTING_VALUE; +pub const _POWER_PLATFORM_ROLE_PlatformRoleUnspecified: _POWER_PLATFORM_ROLE = 0; +pub const _POWER_PLATFORM_ROLE_PlatformRoleDesktop: _POWER_PLATFORM_ROLE = 1; +pub const _POWER_PLATFORM_ROLE_PlatformRoleMobile: _POWER_PLATFORM_ROLE = 2; +pub const _POWER_PLATFORM_ROLE_PlatformRoleWorkstation: _POWER_PLATFORM_ROLE = 3; +pub const _POWER_PLATFORM_ROLE_PlatformRoleEnterpriseServer: _POWER_PLATFORM_ROLE = 4; +pub const _POWER_PLATFORM_ROLE_PlatformRoleSOHOServer: _POWER_PLATFORM_ROLE = 5; +pub const _POWER_PLATFORM_ROLE_PlatformRoleAppliancePC: _POWER_PLATFORM_ROLE = 6; +pub const _POWER_PLATFORM_ROLE_PlatformRolePerformanceServer: _POWER_PLATFORM_ROLE = 7; +pub const _POWER_PLATFORM_ROLE_PlatformRoleSlate: _POWER_PLATFORM_ROLE = 8; +pub const _POWER_PLATFORM_ROLE_PlatformRoleMaximum: _POWER_PLATFORM_ROLE = 9; +pub type _POWER_PLATFORM_ROLE = ::std::os::raw::c_int; +pub use self::_POWER_PLATFORM_ROLE as POWER_PLATFORM_ROLE; +pub type PPOWER_PLATFORM_ROLE = *mut _POWER_PLATFORM_ROLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POWER_PLATFORM_INFORMATION { + pub AoAc: BOOLEAN, +} +#[test] +fn bindgen_test_layout__POWER_PLATFORM_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_POWER_PLATFORM_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POWER_PLATFORM_INFORMATION>(), + 1usize, + concat!("Size of: ", stringify!(_POWER_PLATFORM_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_POWER_PLATFORM_INFORMATION>(), + 1usize, + concat!("Alignment of ", stringify!(_POWER_PLATFORM_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AoAc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POWER_PLATFORM_INFORMATION), + "::", + stringify!(AoAc) + ) + ); +} +pub type POWER_PLATFORM_INFORMATION = _POWER_PLATFORM_INFORMATION; +pub type PPOWER_PLATFORM_INFORMATION = *mut _POWER_PLATFORM_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BATTERY_REPORTING_SCALE { + pub Granularity: DWORD, + pub Capacity: DWORD, +} +#[test] +fn bindgen_test_layout_BATTERY_REPORTING_SCALE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(BATTERY_REPORTING_SCALE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(BATTERY_REPORTING_SCALE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Granularity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BATTERY_REPORTING_SCALE), + "::", + stringify!(Granularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capacity) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(BATTERY_REPORTING_SCALE), + "::", + stringify!(Capacity) + ) + ); +} +pub type PBATTERY_REPORTING_SCALE = *mut BATTERY_REPORTING_SCALE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_LEGACY_PERFSTATE { + pub Frequency: DWORD, + pub Flags: DWORD, + pub PercentFrequency: DWORD, +} +#[test] +fn bindgen_test_layout_PPM_WMI_LEGACY_PERFSTATE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(PPM_WMI_LEGACY_PERFSTATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PPM_WMI_LEGACY_PERFSTATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Frequency) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_LEGACY_PERFSTATE), + "::", + stringify!(Frequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_LEGACY_PERFSTATE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PercentFrequency) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_LEGACY_PERFSTATE), + "::", + stringify!(PercentFrequency) + ) + ); +} +pub type PPPM_WMI_LEGACY_PERFSTATE = *mut PPM_WMI_LEGACY_PERFSTATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_IDLE_STATE { + pub Latency: DWORD, + pub Power: DWORD, + pub TimeCheck: DWORD, + pub PromotePercent: BYTE, + pub DemotePercent: BYTE, + pub StateType: BYTE, + pub Reserved: BYTE, + pub StateFlags: DWORD, + pub Context: DWORD, + pub IdleHandler: DWORD, + pub Reserved1: DWORD, +} +#[test] +fn bindgen_test_layout_PPM_WMI_IDLE_STATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(PPM_WMI_IDLE_STATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PPM_WMI_IDLE_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Latency) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Power) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Power) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeCheck) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(TimeCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromotePercent) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(PromotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DemotePercent) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(DemotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateType) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(StateType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(StateFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Context) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleHandler) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(IdleHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATE), + "::", + stringify!(Reserved1) + ) + ); +} +pub type PPPM_WMI_IDLE_STATE = *mut PPM_WMI_IDLE_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_IDLE_STATES { + pub Type: DWORD, + pub Count: DWORD, + pub TargetState: DWORD, + pub OldState: DWORD, + pub TargetProcessors: DWORD64, + pub State: [PPM_WMI_IDLE_STATE; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_WMI_IDLE_STATES() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(PPM_WMI_IDLE_STATES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_IDLE_STATES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(TargetState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(OldState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetProcessors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(TargetProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_WMI_IDLE_STATES = *mut PPM_WMI_IDLE_STATES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_IDLE_STATES_EX { + pub Type: DWORD, + pub Count: DWORD, + pub TargetState: DWORD, + pub OldState: DWORD, + pub TargetProcessors: PVOID, + pub State: [PPM_WMI_IDLE_STATE; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_WMI_IDLE_STATES_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(PPM_WMI_IDLE_STATES_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_IDLE_STATES_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(TargetState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(OldState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetProcessors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(TargetProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_IDLE_STATES_EX), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_WMI_IDLE_STATES_EX = *mut PPM_WMI_IDLE_STATES_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_PERF_STATE { + pub Frequency: DWORD, + pub Power: DWORD, + pub PercentFrequency: BYTE, + pub IncreaseLevel: BYTE, + pub DecreaseLevel: BYTE, + pub Type: BYTE, + pub IncreaseTime: DWORD, + pub DecreaseTime: DWORD, + pub Control: DWORD64, + pub Status: DWORD64, + pub HitCount: DWORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD64, + pub Reserved3: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_WMI_PERF_STATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(PPM_WMI_PERF_STATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_PERF_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Frequency) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Frequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Power) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Power) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PercentFrequency) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(PercentFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncreaseLevel) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(IncreaseLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecreaseLevel) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(DecreaseLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncreaseTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(IncreaseTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecreaseTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(DecreaseTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HitCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(HitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATE), + "::", + stringify!(Reserved3) + ) + ); +} +pub type PPPM_WMI_PERF_STATE = *mut PPM_WMI_PERF_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_PERF_STATES { + pub Count: DWORD, + pub MaxFrequency: DWORD, + pub CurrentState: DWORD, + pub MaxPerfState: DWORD, + pub MinPerfState: DWORD, + pub LowestPerfState: DWORD, + pub ThermalConstraint: DWORD, + pub BusyAdjThreshold: BYTE, + pub PolicyType: BYTE, + pub Type: BYTE, + pub Reserved: BYTE, + pub TimerInterval: DWORD, + pub TargetProcessors: DWORD64, + pub PStateHandler: DWORD, + pub PStateContext: DWORD, + pub TStateHandler: DWORD, + pub TStateContext: DWORD, + pub FeedbackHandler: DWORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD64, + pub State: [PPM_WMI_PERF_STATE; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_WMI_PERF_STATES() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(PPM_WMI_PERF_STATES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_PERF_STATES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxFrequency) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(MaxFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(CurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPerfState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(MaxPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinPerfState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(MinPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestPerfState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(LowestPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThermalConstraint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(ThermalConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusyAdjThreshold) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(BusyAdjThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyType) as usize - ptr as usize }, + 29usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(PolicyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 31usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimerInterval) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(TimerInterval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetProcessors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(TargetProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PStateHandler) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(PStateHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PStateContext) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(PStateContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TStateHandler) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(TStateHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TStateContext) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(TStateContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FeedbackHandler) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(FeedbackHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_WMI_PERF_STATES = *mut PPM_WMI_PERF_STATES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_WMI_PERF_STATES_EX { + pub Count: DWORD, + pub MaxFrequency: DWORD, + pub CurrentState: DWORD, + pub MaxPerfState: DWORD, + pub MinPerfState: DWORD, + pub LowestPerfState: DWORD, + pub ThermalConstraint: DWORD, + pub BusyAdjThreshold: BYTE, + pub PolicyType: BYTE, + pub Type: BYTE, + pub Reserved: BYTE, + pub TimerInterval: DWORD, + pub TargetProcessors: PVOID, + pub PStateHandler: DWORD, + pub PStateContext: DWORD, + pub TStateHandler: DWORD, + pub TStateContext: DWORD, + pub FeedbackHandler: DWORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD64, + pub State: [PPM_WMI_PERF_STATE; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_WMI_PERF_STATES_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(PPM_WMI_PERF_STATES_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_WMI_PERF_STATES_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxFrequency) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(MaxFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(CurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPerfState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(MaxPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinPerfState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(MinPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestPerfState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(LowestPerfState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThermalConstraint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(ThermalConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusyAdjThreshold) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(BusyAdjThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyType) as usize - ptr as usize }, + 29usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(PolicyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 31usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimerInterval) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(TimerInterval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetProcessors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(TargetProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PStateHandler) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(PStateHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PStateContext) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(PStateContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TStateHandler) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(TStateHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TStateContext) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(TStateContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FeedbackHandler) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(FeedbackHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(PPM_WMI_PERF_STATES_EX), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_WMI_PERF_STATES_EX = *mut PPM_WMI_PERF_STATES_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_STATE_ACCOUNTING { + pub IdleTransitions: DWORD, + pub FailedTransitions: DWORD, + pub InvalidBucketIndex: DWORD, + pub TotalTime: DWORD64, + pub IdleTimeBuckets: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_PPM_IDLE_STATE_ACCOUNTING() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(PPM_IDLE_STATE_ACCOUNTING)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_STATE_ACCOUNTING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTransitions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(IdleTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailedTransitions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(FailedTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InvalidBucketIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(InvalidBucketIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(TotalTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTimeBuckets) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING), + "::", + stringify!(IdleTimeBuckets) + ) + ); +} +pub type PPPM_IDLE_STATE_ACCOUNTING = *mut PPM_IDLE_STATE_ACCOUNTING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_ACCOUNTING { + pub StateCount: DWORD, + pub TotalTransitions: DWORD, + pub ResetCount: DWORD, + pub StartTime: DWORD64, + pub State: [PPM_IDLE_STATE_ACCOUNTING; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_IDLE_ACCOUNTING() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(PPM_IDLE_ACCOUNTING)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_ACCOUNTING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(StateCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTransitions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(TotalTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResetCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(ResetCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_IDLE_ACCOUNTING = *mut PPM_IDLE_ACCOUNTING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_STATE_BUCKET_EX { + pub TotalTimeUs: DWORD64, + pub MinTimeUs: DWORD, + pub MaxTimeUs: DWORD, + pub Count: DWORD, +} +#[test] +fn bindgen_test_layout_PPM_IDLE_STATE_BUCKET_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(PPM_IDLE_STATE_BUCKET_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_STATE_BUCKET_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTimeUs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_BUCKET_EX), + "::", + stringify!(TotalTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinTimeUs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_BUCKET_EX), + "::", + stringify!(MinTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxTimeUs) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_BUCKET_EX), + "::", + stringify!(MaxTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_BUCKET_EX), + "::", + stringify!(Count) + ) + ); +} +pub type PPPM_IDLE_STATE_BUCKET_EX = *mut PPM_IDLE_STATE_BUCKET_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_STATE_ACCOUNTING_EX { + pub TotalTime: DWORD64, + pub IdleTransitions: DWORD, + pub FailedTransitions: DWORD, + pub InvalidBucketIndex: DWORD, + pub MinTimeUs: DWORD, + pub MaxTimeUs: DWORD, + pub CancelledTransitions: DWORD, + pub IdleTimeBuckets: [PPM_IDLE_STATE_BUCKET_EX; 16usize], +} +#[test] +fn bindgen_test_layout_PPM_IDLE_STATE_ACCOUNTING_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_STATE_ACCOUNTING_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(TotalTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTransitions) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(IdleTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailedTransitions) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(FailedTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InvalidBucketIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(InvalidBucketIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinTimeUs) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(MinTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxTimeUs) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(MaxTimeUs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CancelledTransitions) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(CancelledTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTimeBuckets) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_STATE_ACCOUNTING_EX), + "::", + stringify!(IdleTimeBuckets) + ) + ); +} +pub type PPPM_IDLE_STATE_ACCOUNTING_EX = *mut PPM_IDLE_STATE_ACCOUNTING_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLE_ACCOUNTING_EX { + pub StateCount: DWORD, + pub TotalTransitions: DWORD, + pub ResetCount: DWORD, + pub AbortCount: DWORD, + pub StartTime: DWORD64, + pub State: [PPM_IDLE_STATE_ACCOUNTING_EX; 1usize], +} +#[test] +fn bindgen_test_layout_PPM_IDLE_ACCOUNTING_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 440usize, + concat!("Size of: ", stringify!(PPM_IDLE_ACCOUNTING_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLE_ACCOUNTING_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(StateCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalTransitions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(TotalTransitions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResetCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(ResetCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AbortCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(AbortCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLE_ACCOUNTING_EX), + "::", + stringify!(State) + ) + ); +} +pub type PPPM_IDLE_ACCOUNTING_EX = *mut PPM_IDLE_ACCOUNTING_EX; +extern "C" { + pub static PPM_PERFSTATE_CHANGE_GUID: GUID; +} +extern "C" { + pub static PPM_PERFSTATE_DOMAIN_CHANGE_GUID: GUID; +} +extern "C" { + pub static PPM_IDLESTATE_CHANGE_GUID: GUID; +} +extern "C" { + pub static PPM_PERFSTATES_DATA_GUID: GUID; +} +extern "C" { + pub static PPM_IDLESTATES_DATA_GUID: GUID; +} +extern "C" { + pub static PPM_IDLE_ACCOUNTING_GUID: GUID; +} +extern "C" { + pub static PPM_IDLE_ACCOUNTING_EX_GUID: GUID; +} +extern "C" { + pub static PPM_THERMALCONSTRAINT_GUID: GUID; +} +extern "C" { + pub static PPM_PERFMON_PERFSTATE_GUID: GUID; +} +extern "C" { + pub static PPM_THERMAL_POLICY_CHANGE_GUID: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_PERFSTATE_EVENT { + pub State: DWORD, + pub Status: DWORD, + pub Latency: DWORD, + pub Speed: DWORD, + pub Processor: DWORD, +} +#[test] +fn bindgen_test_layout_PPM_PERFSTATE_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(PPM_PERFSTATE_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PPM_PERFSTATE_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Latency) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Speed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(Speed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_EVENT), + "::", + stringify!(Processor) + ) + ); +} +pub type PPPM_PERFSTATE_EVENT = *mut PPM_PERFSTATE_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_PERFSTATE_DOMAIN_EVENT { + pub State: DWORD, + pub Latency: DWORD, + pub Speed: DWORD, + pub Processors: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_PERFSTATE_DOMAIN_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(PPM_PERFSTATE_DOMAIN_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_PERFSTATE_DOMAIN_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_DOMAIN_EVENT), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Latency) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_DOMAIN_EVENT), + "::", + stringify!(Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Speed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_DOMAIN_EVENT), + "::", + stringify!(Speed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PPM_PERFSTATE_DOMAIN_EVENT), + "::", + stringify!(Processors) + ) + ); +} +pub type PPPM_PERFSTATE_DOMAIN_EVENT = *mut PPM_PERFSTATE_DOMAIN_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_IDLESTATE_EVENT { + pub NewState: DWORD, + pub OldState: DWORD, + pub Processors: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_IDLESTATE_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PPM_IDLESTATE_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_IDLESTATE_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewState) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLESTATE_EVENT), + "::", + stringify!(NewState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLESTATE_EVENT), + "::", + stringify!(OldState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_IDLESTATE_EVENT), + "::", + stringify!(Processors) + ) + ); +} +pub type PPPM_IDLESTATE_EVENT = *mut PPM_IDLESTATE_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_THERMALCHANGE_EVENT { + pub ThermalConstraint: DWORD, + pub Processors: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_THERMALCHANGE_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PPM_THERMALCHANGE_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_THERMALCHANGE_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThermalConstraint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_THERMALCHANGE_EVENT), + "::", + stringify!(ThermalConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_THERMALCHANGE_EVENT), + "::", + stringify!(Processors) + ) + ); +} +pub type PPPM_THERMALCHANGE_EVENT = *mut PPM_THERMALCHANGE_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PPM_THERMAL_POLICY_EVENT { + pub Mode: BYTE, + pub Processors: DWORD64, +} +#[test] +fn bindgen_test_layout_PPM_THERMAL_POLICY_EVENT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PPM_THERMAL_POLICY_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PPM_THERMAL_POLICY_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PPM_THERMAL_POLICY_EVENT), + "::", + stringify!(Mode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PPM_THERMAL_POLICY_EVENT), + "::", + stringify!(Processors) + ) + ); +} +pub type PPPM_THERMAL_POLICY_EVENT = *mut PPM_THERMAL_POLICY_EVENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct POWER_ACTION_POLICY { + pub Action: POWER_ACTION, + pub Flags: DWORD, + pub EventCode: DWORD, +} +#[test] +fn bindgen_test_layout_POWER_ACTION_POLICY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(POWER_ACTION_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(POWER_ACTION_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(POWER_ACTION_POLICY), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(POWER_ACTION_POLICY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(POWER_ACTION_POLICY), + "::", + stringify!(EventCode) + ) + ); +} +pub type PPOWER_ACTION_POLICY = *mut POWER_ACTION_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SYSTEM_POWER_LEVEL { + pub Enable: BOOLEAN, + pub Spare: [BYTE; 3usize], + pub BatteryLevel: DWORD, + pub PowerPolicy: POWER_ACTION_POLICY, + pub MinSystemState: SYSTEM_POWER_STATE, +} +#[test] +fn bindgen_test_layout_SYSTEM_POWER_LEVEL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(SYSTEM_POWER_LEVEL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SYSTEM_POWER_LEVEL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enable) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(Enable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(Spare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(BatteryLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerPolicy) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(PowerPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSystemState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_LEVEL), + "::", + stringify!(MinSystemState) + ) + ); +} +pub type PSYSTEM_POWER_LEVEL = *mut SYSTEM_POWER_LEVEL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_POWER_POLICY { + pub Revision: DWORD, + pub PowerButton: POWER_ACTION_POLICY, + pub SleepButton: POWER_ACTION_POLICY, + pub LidClose: POWER_ACTION_POLICY, + pub LidOpenWake: SYSTEM_POWER_STATE, + pub Reserved: DWORD, + pub Idle: POWER_ACTION_POLICY, + pub IdleTimeout: DWORD, + pub IdleSensitivity: BYTE, + pub DynamicThrottle: BYTE, + pub Spare2: [BYTE; 2usize], + pub MinSleep: SYSTEM_POWER_STATE, + pub MaxSleep: SYSTEM_POWER_STATE, + pub ReducedLatencySleep: SYSTEM_POWER_STATE, + pub WinLogonFlags: DWORD, + pub Spare3: DWORD, + pub DozeS4Timeout: DWORD, + pub BroadcastCapacityResolution: DWORD, + pub DischargePolicy: [SYSTEM_POWER_LEVEL; 4usize], + pub VideoTimeout: DWORD, + pub VideoDimDisplay: BOOLEAN, + pub VideoReserved: [DWORD; 3usize], + pub SpindownTimeout: DWORD, + pub OptimizeForPower: BOOLEAN, + pub FanThrottleTolerance: BYTE, + pub ForcedThrottle: BYTE, + pub MinThrottle: BYTE, + pub OverThrottled: POWER_ACTION_POLICY, +} +#[test] +fn bindgen_test_layout__SYSTEM_POWER_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_POWER_POLICY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_POWER_POLICY>(), + 232usize, + concat!("Size of: ", stringify!(_SYSTEM_POWER_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_POWER_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_POWER_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerButton) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(PowerButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SleepButton) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(SleepButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LidClose) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(LidClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LidOpenWake) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(LidOpenWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Idle) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Idle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTimeout) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(IdleTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleSensitivity) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(IdleSensitivity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicThrottle) as usize - ptr as usize }, + 65usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(DynamicThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare2) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Spare2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSleep) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(MinSleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSleep) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(MaxSleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReducedLatencySleep) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(ReducedLatencySleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WinLogonFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(WinLogonFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare3) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(Spare3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DozeS4Timeout) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(DozeS4Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BroadcastCapacityResolution) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(BroadcastCapacityResolution) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DischargePolicy) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(DischargePolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VideoTimeout) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(VideoTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VideoDimDisplay) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(VideoDimDisplay) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VideoReserved) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(VideoReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpindownTimeout) as usize - ptr as usize }, + 212usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(SpindownTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimizeForPower) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(OptimizeForPower) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FanThrottleTolerance) as usize - ptr as usize }, + 217usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(FanThrottleTolerance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ForcedThrottle) as usize - ptr as usize }, + 218usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(ForcedThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinThrottle) as usize - ptr as usize }, + 219usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(MinThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OverThrottled) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_POLICY), + "::", + stringify!(OverThrottled) + ) + ); +} +pub type SYSTEM_POWER_POLICY = _SYSTEM_POWER_POLICY; +pub type PSYSTEM_POWER_POLICY = *mut _SYSTEM_POWER_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PROCESSOR_IDLESTATE_INFO { + pub TimeCheck: DWORD, + pub DemotePercent: BYTE, + pub PromotePercent: BYTE, + pub Spare: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout_PROCESSOR_IDLESTATE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(PROCESSOR_IDLESTATE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PROCESSOR_IDLESTATE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeCheck) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_INFO), + "::", + stringify!(TimeCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DemotePercent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_INFO), + "::", + stringify!(DemotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromotePercent) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_INFO), + "::", + stringify!(PromotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_INFO), + "::", + stringify!(Spare) + ) + ); +} +pub type PPROCESSOR_IDLESTATE_INFO = *mut PROCESSOR_IDLESTATE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct PROCESSOR_IDLESTATE_POLICY { + pub Revision: WORD, + pub Flags: PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1, + pub PolicyCount: DWORD, + pub Policy: [PROCESSOR_IDLESTATE_INFO; 3usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1 { + pub AsWORD: WORD, + pub __bindgen_anon_1: PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(2))] +#[derive(Debug, Copy, Clone)] +pub struct PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout_PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn AllowScaling(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u16) } + } + #[inline] + pub fn set_AllowScaling(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Disabled(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u16) } + } + #[inline] + pub fn set_Disabled(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 14u8) as u16) } + } + #[inline] + pub fn set_Reserved(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 14u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AllowScaling: WORD, + Disabled: WORD, + Reserved: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AllowScaling: u16 = unsafe { ::std::mem::transmute(AllowScaling) }; + AllowScaling as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let Disabled: u16 = unsafe { ::std::mem::transmute(Disabled) }; + Disabled as u64 + }); + __bindgen_bitfield_unit.set(2usize, 14u8, { + let Reserved: u16 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsWORD) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY__bindgen_ty_1), + "::", + stringify!(AsWORD) + ) + ); +} +#[test] +fn bindgen_test_layout_PROCESSOR_IDLESTATE_POLICY() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(PROCESSOR_IDLESTATE_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PROCESSOR_IDLESTATE_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY), + "::", + stringify!(PolicyCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Policy) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_IDLESTATE_POLICY), + "::", + stringify!(Policy) + ) + ); +} +pub type PPROCESSOR_IDLESTATE_POLICY = *mut PROCESSOR_IDLESTATE_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESSOR_POWER_POLICY_INFO { + pub TimeCheck: DWORD, + pub DemoteLimit: DWORD, + pub PromoteLimit: DWORD, + pub DemotePercent: BYTE, + pub PromotePercent: BYTE, + pub Spare: [BYTE; 2usize], + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__PROCESSOR_POWER_POLICY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_POWER_POLICY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESSOR_POWER_POLICY_INFO>(), + 20usize, + concat!("Size of: ", stringify!(_PROCESSOR_POWER_POLICY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESSOR_POWER_POLICY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESSOR_POWER_POLICY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeCheck) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(TimeCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DemoteLimit) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(DemoteLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromoteLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(PromoteLimit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DemotePercent) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(DemotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromotePercent) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(PromotePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY_INFO), + "::", + stringify!(Spare) + ) + ); +} +impl _PROCESSOR_POWER_POLICY_INFO { + #[inline] + pub fn AllowDemotion(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowDemotion(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AllowPromotion(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowPromotion(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AllowDemotion: DWORD, + AllowPromotion: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AllowDemotion: u32 = unsafe { ::std::mem::transmute(AllowDemotion) }; + AllowDemotion as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let AllowPromotion: u32 = unsafe { ::std::mem::transmute(AllowPromotion) }; + AllowPromotion as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type PROCESSOR_POWER_POLICY_INFO = _PROCESSOR_POWER_POLICY_INFO; +pub type PPROCESSOR_POWER_POLICY_INFO = *mut _PROCESSOR_POWER_POLICY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESSOR_POWER_POLICY { + pub Revision: DWORD, + pub DynamicThrottle: BYTE, + pub Spare: [BYTE; 3usize], + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub PolicyCount: DWORD, + pub Policy: [PROCESSOR_POWER_POLICY_INFO; 3usize], +} +#[test] +fn bindgen_test_layout__PROCESSOR_POWER_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESSOR_POWER_POLICY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESSOR_POWER_POLICY>(), + 76usize, + concat!("Size of: ", stringify!(_PROCESSOR_POWER_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESSOR_POWER_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESSOR_POWER_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicThrottle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(DynamicThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(Spare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(PolicyCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Policy) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROCESSOR_POWER_POLICY), + "::", + stringify!(Policy) + ) + ); +} +impl _PROCESSOR_POWER_POLICY { + #[inline] + pub fn DisableCStates(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_DisableCStates(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + DisableCStates: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let DisableCStates: u32 = unsafe { ::std::mem::transmute(DisableCStates) }; + DisableCStates as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type PROCESSOR_POWER_POLICY = _PROCESSOR_POWER_POLICY; +pub type PPROCESSOR_POWER_POLICY = *mut _PROCESSOR_POWER_POLICY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct PROCESSOR_PERFSTATE_POLICY { + pub Revision: DWORD, + pub MaxThrottle: BYTE, + pub MinThrottle: BYTE, + pub BusyAdjThreshold: BYTE, + pub __bindgen_anon_1: PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1, + pub TimeCheck: DWORD, + pub IncreaseTime: DWORD, + pub DecreaseTime: DWORD, + pub IncreasePercent: DWORD, + pub DecreasePercent: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1 { + pub Spare: BYTE, + pub Flags: PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1 { + pub AsBYTE: BYTE, + pub __bindgen_anon_1: PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, +} +#[test] +fn bindgen_test_layout_PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::( + ), + 1usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::( + ), + 1usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn NoDomainAccounting(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_NoDomainAccounting(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn IncreasePolicy(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 2u8) as u8) } + } + #[inline] + pub fn set_IncreasePolicy(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 2u8, val as u64) + } + } + #[inline] + pub fn DecreasePolicy(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 2u8) as u8) } + } + #[inline] + pub fn set_DecreasePolicy(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 2u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 3u8) as u8) } + } + #[inline] + pub fn set_Reserved(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 3u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + NoDomainAccounting: BYTE, + IncreasePolicy: BYTE, + DecreasePolicy: BYTE, + Reserved: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let NoDomainAccounting: u8 = unsafe { ::std::mem::transmute(NoDomainAccounting) }; + NoDomainAccounting as u64 + }); + __bindgen_bitfield_unit.set(1usize, 2u8, { + let IncreasePolicy: u8 = unsafe { ::std::mem::transmute(IncreasePolicy) }; + IncreasePolicy as u64 + }); + __bindgen_bitfield_unit.set(3usize, 2u8, { + let DecreasePolicy: u8 = unsafe { ::std::mem::transmute(DecreasePolicy) }; + DecreasePolicy as u64 + }); + __bindgen_bitfield_unit.set(5usize, 3u8, { + let Reserved: u8 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsBYTE) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AsBYTE) + ) + ); +} +#[test] +fn bindgen_test_layout_PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1usize, + concat!( + "Size of: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1), + "::", + stringify!(Spare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout_PROCESSOR_PERFSTATE_POLICY() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(PROCESSOR_PERFSTATE_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PROCESSOR_PERFSTATE_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxThrottle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(MaxThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinThrottle) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(MinThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusyAdjThreshold) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(BusyAdjThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeCheck) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(TimeCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncreaseTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(IncreaseTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecreaseTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(DecreaseTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncreasePercent) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(IncreasePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecreasePercent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(PROCESSOR_PERFSTATE_POLICY), + "::", + stringify!(DecreasePercent) + ) + ); +} +pub type PPROCESSOR_PERFSTATE_POLICY = *mut PROCESSOR_PERFSTATE_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ADMINISTRATOR_POWER_POLICY { + pub MinSleep: SYSTEM_POWER_STATE, + pub MaxSleep: SYSTEM_POWER_STATE, + pub MinVideoTimeout: DWORD, + pub MaxVideoTimeout: DWORD, + pub MinSpindownTimeout: DWORD, + pub MaxSpindownTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__ADMINISTRATOR_POWER_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_ADMINISTRATOR_POWER_POLICY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ADMINISTRATOR_POWER_POLICY>(), + 24usize, + concat!("Size of: ", stringify!(_ADMINISTRATOR_POWER_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_ADMINISTRATOR_POWER_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_ADMINISTRATOR_POWER_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSleep) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MinSleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSleep) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MaxSleep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinVideoTimeout) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MinVideoTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVideoTimeout) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MaxVideoTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSpindownTimeout) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MinSpindownTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSpindownTimeout) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_ADMINISTRATOR_POWER_POLICY), + "::", + stringify!(MaxSpindownTimeout) + ) + ); +} +pub type ADMINISTRATOR_POWER_POLICY = _ADMINISTRATOR_POWER_POLICY; +pub type PADMINISTRATOR_POWER_POLICY = *mut _ADMINISTRATOR_POWER_POLICY; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket1GB: _HIBERFILE_BUCKET_SIZE = 0; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket2GB: _HIBERFILE_BUCKET_SIZE = 1; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket4GB: _HIBERFILE_BUCKET_SIZE = 2; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket8GB: _HIBERFILE_BUCKET_SIZE = 3; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket16GB: _HIBERFILE_BUCKET_SIZE = 4; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucket32GB: _HIBERFILE_BUCKET_SIZE = 5; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucketUnlimited: _HIBERFILE_BUCKET_SIZE = 6; +pub const _HIBERFILE_BUCKET_SIZE_HiberFileBucketMax: _HIBERFILE_BUCKET_SIZE = 7; +pub type _HIBERFILE_BUCKET_SIZE = ::std::os::raw::c_int; +pub use self::_HIBERFILE_BUCKET_SIZE as HIBERFILE_BUCKET_SIZE; +pub type PHIBERFILE_BUCKET_SIZE = *mut _HIBERFILE_BUCKET_SIZE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HIBERFILE_BUCKET { + pub MaxPhysicalMemory: DWORD64, + pub PhysicalMemoryPercent: [DWORD; 3usize], +} +#[test] +fn bindgen_test_layout__HIBERFILE_BUCKET() { + const UNINIT: ::std::mem::MaybeUninit<_HIBERFILE_BUCKET> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HIBERFILE_BUCKET>(), + 24usize, + concat!("Size of: ", stringify!(_HIBERFILE_BUCKET)) + ); + assert_eq!( + ::std::mem::align_of::<_HIBERFILE_BUCKET>(), + 8usize, + concat!("Alignment of ", stringify!(_HIBERFILE_BUCKET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPhysicalMemory) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HIBERFILE_BUCKET), + "::", + stringify!(MaxPhysicalMemory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalMemoryPercent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HIBERFILE_BUCKET), + "::", + stringify!(PhysicalMemoryPercent) + ) + ); +} +pub type HIBERFILE_BUCKET = _HIBERFILE_BUCKET; +pub type PHIBERFILE_BUCKET = *mut _HIBERFILE_BUCKET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SYSTEM_POWER_CAPABILITIES { + pub PowerButtonPresent: BOOLEAN, + pub SleepButtonPresent: BOOLEAN, + pub LidPresent: BOOLEAN, + pub SystemS1: BOOLEAN, + pub SystemS2: BOOLEAN, + pub SystemS3: BOOLEAN, + pub SystemS4: BOOLEAN, + pub SystemS5: BOOLEAN, + pub HiberFilePresent: BOOLEAN, + pub FullWake: BOOLEAN, + pub VideoDimPresent: BOOLEAN, + pub ApmPresent: BOOLEAN, + pub UpsPresent: BOOLEAN, + pub ThermalControl: BOOLEAN, + pub ProcessorThrottle: BOOLEAN, + pub ProcessorMinThrottle: BYTE, + pub ProcessorMaxThrottle: BYTE, + pub FastSystemS4: BOOLEAN, + pub Hiberboot: BOOLEAN, + pub WakeAlarmPresent: BOOLEAN, + pub AoAc: BOOLEAN, + pub DiskSpinDown: BOOLEAN, + pub HiberFileType: BYTE, + pub AoAcConnectivitySupported: BOOLEAN, + pub spare3: [BYTE; 6usize], + pub SystemBatteriesPresent: BOOLEAN, + pub BatteriesAreShortTerm: BOOLEAN, + pub BatteryScale: [BATTERY_REPORTING_SCALE; 3usize], + pub AcOnLineWake: SYSTEM_POWER_STATE, + pub SoftLidWake: SYSTEM_POWER_STATE, + pub RtcWake: SYSTEM_POWER_STATE, + pub MinDeviceWakeState: SYSTEM_POWER_STATE, + pub DefaultLowLatencyWake: SYSTEM_POWER_STATE, +} +#[test] +fn bindgen_test_layout_SYSTEM_POWER_CAPABILITIES() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(SYSTEM_POWER_CAPABILITIES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SYSTEM_POWER_CAPABILITIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerButtonPresent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(PowerButtonPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SleepButtonPresent) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SleepButtonPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LidPresent) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(LidPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS1) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS3) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS4) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemS5) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemS5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HiberFilePresent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(HiberFilePresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FullWake) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(FullWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VideoDimPresent) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(VideoDimPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApmPresent) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ApmPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UpsPresent) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(UpsPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThermalControl) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ThermalControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorThrottle) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ProcessorThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorMinThrottle) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ProcessorMinThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessorMaxThrottle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(ProcessorMaxThrottle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FastSystemS4) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(FastSystemS4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hiberboot) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(Hiberboot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WakeAlarmPresent) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(WakeAlarmPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AoAc) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(AoAc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskSpinDown) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(DiskSpinDown) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HiberFileType) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(HiberFileType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AoAcConnectivitySupported) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(AoAcConnectivitySupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).spare3) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(spare3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemBatteriesPresent) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SystemBatteriesPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteriesAreShortTerm) as usize - ptr as usize }, + 31usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(BatteriesAreShortTerm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryScale) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(BatteryScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AcOnLineWake) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(AcOnLineWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftLidWake) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(SoftLidWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RtcWake) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(RtcWake) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinDeviceWakeState) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(MinDeviceWakeState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultLowLatencyWake) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_POWER_CAPABILITIES), + "::", + stringify!(DefaultLowLatencyWake) + ) + ); +} +pub type PSYSTEM_POWER_CAPABILITIES = *mut SYSTEM_POWER_CAPABILITIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SYSTEM_BATTERY_STATE { + pub AcOnLine: BOOLEAN, + pub BatteryPresent: BOOLEAN, + pub Charging: BOOLEAN, + pub Discharging: BOOLEAN, + pub Spare1: [BOOLEAN; 3usize], + pub Tag: BYTE, + pub MaxCapacity: DWORD, + pub RemainingCapacity: DWORD, + pub Rate: DWORD, + pub EstimatedTime: DWORD, + pub DefaultAlert1: DWORD, + pub DefaultAlert2: DWORD, +} +#[test] +fn bindgen_test_layout_SYSTEM_BATTERY_STATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(SYSTEM_BATTERY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SYSTEM_BATTERY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AcOnLine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(AcOnLine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryPresent) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(BatteryPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Charging) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Charging) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Discharging) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Discharging) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Spare1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Spare1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Tag) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Tag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCapacity) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(MaxCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemainingCapacity) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(RemainingCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Rate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(Rate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EstimatedTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(EstimatedTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultAlert1) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(DefaultAlert1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultAlert2) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(SYSTEM_BATTERY_STATE), + "::", + stringify!(DefaultAlert2) + ) + ); +} +pub type PSYSTEM_BATTERY_STATE = *mut SYSTEM_BATTERY_STATE; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DOS_HEADER { + pub e_magic: WORD, + pub e_cblp: WORD, + pub e_cp: WORD, + pub e_crlc: WORD, + pub e_cparhdr: WORD, + pub e_minalloc: WORD, + pub e_maxalloc: WORD, + pub e_ss: WORD, + pub e_sp: WORD, + pub e_csum: WORD, + pub e_ip: WORD, + pub e_cs: WORD, + pub e_lfarlc: WORD, + pub e_ovno: WORD, + pub e_res: [WORD; 4usize], + pub e_oemid: WORD, + pub e_oeminfo: WORD, + pub e_res2: [WORD; 10usize], + pub e_lfanew: LONG, +} +#[test] +fn bindgen_test_layout__IMAGE_DOS_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DOS_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DOS_HEADER>(), + 64usize, + concat!("Size of: ", stringify!(_IMAGE_DOS_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DOS_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_DOS_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_cblp) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_cblp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_cp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_cp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_crlc) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_crlc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_cparhdr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_cparhdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_minalloc) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_minalloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_maxalloc) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_maxalloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_ss) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_ss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_sp) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_sp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_csum) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_csum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_ip) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_ip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_cs) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_cs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_lfarlc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_lfarlc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_ovno) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_ovno) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_res) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_res) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_oemid) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_oemid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_oeminfo) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_oeminfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_res2) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_res2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e_lfanew) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DOS_HEADER), + "::", + stringify!(e_lfanew) + ) + ); +} +pub type IMAGE_DOS_HEADER = _IMAGE_DOS_HEADER; +pub type PIMAGE_DOS_HEADER = *mut _IMAGE_DOS_HEADER; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_OS2_HEADER { + pub ne_magic: WORD, + pub ne_ver: CHAR, + pub ne_rev: CHAR, + pub ne_enttab: WORD, + pub ne_cbenttab: WORD, + pub ne_crc: LONG, + pub ne_flags: WORD, + pub ne_autodata: WORD, + pub ne_heap: WORD, + pub ne_stack: WORD, + pub ne_csip: LONG, + pub ne_sssp: LONG, + pub ne_cseg: WORD, + pub ne_cmod: WORD, + pub ne_cbnrestab: WORD, + pub ne_segtab: WORD, + pub ne_rsrctab: WORD, + pub ne_restab: WORD, + pub ne_modtab: WORD, + pub ne_imptab: WORD, + pub ne_nrestab: LONG, + pub ne_cmovent: WORD, + pub ne_align: WORD, + pub ne_cres: WORD, + pub ne_exetyp: BYTE, + pub ne_flagsothers: BYTE, + pub ne_pretthunks: WORD, + pub ne_psegrefbytes: WORD, + pub ne_swaparea: WORD, + pub ne_expver: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_OS2_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_OS2_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_OS2_HEADER>(), + 64usize, + concat!("Size of: ", stringify!(_IMAGE_OS2_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_OS2_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_OS2_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_ver) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_ver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_rev) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_rev) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_enttab) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_enttab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cbenttab) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cbenttab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_crc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_crc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_autodata) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_autodata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_heap) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_heap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_stack) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_stack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_csip) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_csip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_sssp) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_sssp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cseg) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cseg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cmod) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cmod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cbnrestab) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cbnrestab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_segtab) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_segtab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_rsrctab) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_rsrctab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_restab) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_restab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_modtab) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_modtab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_imptab) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_imptab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_nrestab) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_nrestab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cmovent) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cmovent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_align) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_align) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_cres) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_cres) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_exetyp) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_exetyp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_flagsothers) as usize - ptr as usize }, + 55usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_flagsothers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_pretthunks) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_pretthunks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_psegrefbytes) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_psegrefbytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_swaparea) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_swaparea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ne_expver) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OS2_HEADER), + "::", + stringify!(ne_expver) + ) + ); +} +pub type IMAGE_OS2_HEADER = _IMAGE_OS2_HEADER; +pub type PIMAGE_OS2_HEADER = *mut _IMAGE_OS2_HEADER; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_VXD_HEADER { + pub e32_magic: WORD, + pub e32_border: BYTE, + pub e32_worder: BYTE, + pub e32_level: DWORD, + pub e32_cpu: WORD, + pub e32_os: WORD, + pub e32_ver: DWORD, + pub e32_mflags: DWORD, + pub e32_mpages: DWORD, + pub e32_startobj: DWORD, + pub e32_eip: DWORD, + pub e32_stackobj: DWORD, + pub e32_esp: DWORD, + pub e32_pagesize: DWORD, + pub e32_lastpagesize: DWORD, + pub e32_fixupsize: DWORD, + pub e32_fixupsum: DWORD, + pub e32_ldrsize: DWORD, + pub e32_ldrsum: DWORD, + pub e32_objtab: DWORD, + pub e32_objcnt: DWORD, + pub e32_objmap: DWORD, + pub e32_itermap: DWORD, + pub e32_rsrctab: DWORD, + pub e32_rsrccnt: DWORD, + pub e32_restab: DWORD, + pub e32_enttab: DWORD, + pub e32_dirtab: DWORD, + pub e32_dircnt: DWORD, + pub e32_fpagetab: DWORD, + pub e32_frectab: DWORD, + pub e32_impmod: DWORD, + pub e32_impmodcnt: DWORD, + pub e32_impproc: DWORD, + pub e32_pagesum: DWORD, + pub e32_datapage: DWORD, + pub e32_preload: DWORD, + pub e32_nrestab: DWORD, + pub e32_cbnrestab: DWORD, + pub e32_nressum: DWORD, + pub e32_autodata: DWORD, + pub e32_debuginfo: DWORD, + pub e32_debuglen: DWORD, + pub e32_instpreload: DWORD, + pub e32_instdemand: DWORD, + pub e32_heapsize: DWORD, + pub e32_res3: [BYTE; 12usize], + pub e32_winresoff: DWORD, + pub e32_winreslen: DWORD, + pub e32_devid: WORD, + pub e32_ddkver: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_VXD_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_VXD_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_VXD_HEADER>(), + 196usize, + concat!("Size of: ", stringify!(_IMAGE_VXD_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_VXD_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_VXD_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_border) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_border) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_worder) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_worder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_level) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_cpu) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_cpu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_os) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_os) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_ver) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_ver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_mflags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_mflags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_mpages) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_mpages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_startobj) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_startobj) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_eip) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_eip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_stackobj) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_stackobj) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_esp) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_esp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_pagesize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_pagesize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_lastpagesize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_lastpagesize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_fixupsize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_fixupsize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_fixupsum) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_fixupsum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_ldrsize) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_ldrsize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_ldrsum) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_ldrsum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_objtab) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_objtab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_objcnt) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_objcnt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_objmap) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_objmap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_itermap) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_itermap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_rsrctab) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_rsrctab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_rsrccnt) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_rsrccnt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_restab) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_restab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_enttab) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_enttab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_dirtab) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_dirtab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_dircnt) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_dircnt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_fpagetab) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_fpagetab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_frectab) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_frectab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_impmod) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_impmod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_impmodcnt) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_impmodcnt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_impproc) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_impproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_pagesum) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_pagesum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_datapage) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_datapage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_preload) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_preload) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_nrestab) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_nrestab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_cbnrestab) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_cbnrestab) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_nressum) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_nressum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_autodata) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_autodata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_debuginfo) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_debuginfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_debuglen) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_debuglen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_instpreload) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_instpreload) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_instdemand) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_instdemand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_heapsize) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_heapsize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_res3) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_res3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_winresoff) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_winresoff) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_winreslen) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_winreslen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_devid) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_devid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).e32_ddkver) as usize - ptr as usize }, + 194usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_VXD_HEADER), + "::", + stringify!(e32_ddkver) + ) + ); +} +pub type IMAGE_VXD_HEADER = _IMAGE_VXD_HEADER; +pub type PIMAGE_VXD_HEADER = *mut _IMAGE_VXD_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_FILE_HEADER { + pub Machine: WORD, + pub NumberOfSections: WORD, + pub TimeDateStamp: DWORD, + pub PointerToSymbolTable: DWORD, + pub NumberOfSymbols: DWORD, + pub SizeOfOptionalHeader: WORD, + pub Characteristics: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_FILE_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_FILE_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_FILE_HEADER>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_FILE_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_FILE_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_FILE_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSections) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(NumberOfSections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToSymbolTable) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(PointerToSymbolTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSymbols) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(NumberOfSymbols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfOptionalHeader) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(SizeOfOptionalHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FILE_HEADER), + "::", + stringify!(Characteristics) + ) + ); +} +pub type IMAGE_FILE_HEADER = _IMAGE_FILE_HEADER; +pub type PIMAGE_FILE_HEADER = *mut _IMAGE_FILE_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DATA_DIRECTORY { + pub VirtualAddress: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DATA_DIRECTORY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DATA_DIRECTORY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DATA_DIRECTORY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_DATA_DIRECTORY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DATA_DIRECTORY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DATA_DIRECTORY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DATA_DIRECTORY), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DATA_DIRECTORY), + "::", + stringify!(Size) + ) + ); +} +pub type IMAGE_DATA_DIRECTORY = _IMAGE_DATA_DIRECTORY; +pub type PIMAGE_DATA_DIRECTORY = *mut _IMAGE_DATA_DIRECTORY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_OPTIONAL_HEADER { + pub Magic: WORD, + pub MajorLinkerVersion: BYTE, + pub MinorLinkerVersion: BYTE, + pub SizeOfCode: DWORD, + pub SizeOfInitializedData: DWORD, + pub SizeOfUninitializedData: DWORD, + pub AddressOfEntryPoint: DWORD, + pub BaseOfCode: DWORD, + pub BaseOfData: DWORD, + pub ImageBase: DWORD, + pub SectionAlignment: DWORD, + pub FileAlignment: DWORD, + pub MajorOperatingSystemVersion: WORD, + pub MinorOperatingSystemVersion: WORD, + pub MajorImageVersion: WORD, + pub MinorImageVersion: WORD, + pub MajorSubsystemVersion: WORD, + pub MinorSubsystemVersion: WORD, + pub Win32VersionValue: DWORD, + pub SizeOfImage: DWORD, + pub SizeOfHeaders: DWORD, + pub CheckSum: DWORD, + pub Subsystem: WORD, + pub DllCharacteristics: WORD, + pub SizeOfStackReserve: DWORD, + pub SizeOfStackCommit: DWORD, + pub SizeOfHeapReserve: DWORD, + pub SizeOfHeapCommit: DWORD, + pub LoaderFlags: DWORD, + pub NumberOfRvaAndSizes: DWORD, + pub DataDirectory: [IMAGE_DATA_DIRECTORY; 16usize], +} +#[test] +fn bindgen_test_layout__IMAGE_OPTIONAL_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_OPTIONAL_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_OPTIONAL_HEADER>(), + 224usize, + concat!("Size of: ", stringify!(_IMAGE_OPTIONAL_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_OPTIONAL_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_OPTIONAL_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorLinkerVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MajorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorLinkerVersion) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MinorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfInitializedData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfInitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfUninitializedData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfUninitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfEntryPoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(AddressOfEntryPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(BaseOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(BaseOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionAlignment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SectionAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAlignment) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(FileAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorOperatingSystemVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MajorOperatingSystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorOperatingSystemVersion) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MinorOperatingSystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorImageVersion) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MajorImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorImageVersion) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MinorImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorSubsystemVersion) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MajorSubsystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorSubsystemVersion) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(MinorSubsystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Win32VersionValue) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(Win32VersionValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfImage) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeaders) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfHeaders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subsystem) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(Subsystem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DllCharacteristics) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(DllCharacteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfStackReserve) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfStackReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfStackCommit) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfStackCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeapReserve) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfHeapReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeapCommit) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(SizeOfHeapCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoaderFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(LoaderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRvaAndSizes) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(NumberOfRvaAndSizes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataDirectory) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER), + "::", + stringify!(DataDirectory) + ) + ); +} +pub type IMAGE_OPTIONAL_HEADER32 = _IMAGE_OPTIONAL_HEADER; +pub type PIMAGE_OPTIONAL_HEADER32 = *mut _IMAGE_OPTIONAL_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ROM_OPTIONAL_HEADER { + pub Magic: WORD, + pub MajorLinkerVersion: BYTE, + pub MinorLinkerVersion: BYTE, + pub SizeOfCode: DWORD, + pub SizeOfInitializedData: DWORD, + pub SizeOfUninitializedData: DWORD, + pub AddressOfEntryPoint: DWORD, + pub BaseOfCode: DWORD, + pub BaseOfData: DWORD, + pub BaseOfBss: DWORD, + pub GprMask: DWORD, + pub CprMask: [DWORD; 4usize], + pub GpValue: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ROM_OPTIONAL_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ROM_OPTIONAL_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ROM_OPTIONAL_HEADER>(), + 56usize, + concat!("Size of: ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ROM_OPTIONAL_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ROM_OPTIONAL_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorLinkerVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(MajorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorLinkerVersion) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(MinorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(SizeOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfInitializedData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(SizeOfInitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfUninitializedData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(SizeOfUninitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfEntryPoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(AddressOfEntryPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(BaseOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(BaseOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfBss) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(BaseOfBss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GprMask) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(GprMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CprMask) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(CprMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GpValue) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_OPTIONAL_HEADER), + "::", + stringify!(GpValue) + ) + ); +} +pub type IMAGE_ROM_OPTIONAL_HEADER = _IMAGE_ROM_OPTIONAL_HEADER; +pub type PIMAGE_ROM_OPTIONAL_HEADER = *mut _IMAGE_ROM_OPTIONAL_HEADER; +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_OPTIONAL_HEADER64 { + pub Magic: WORD, + pub MajorLinkerVersion: BYTE, + pub MinorLinkerVersion: BYTE, + pub SizeOfCode: DWORD, + pub SizeOfInitializedData: DWORD, + pub SizeOfUninitializedData: DWORD, + pub AddressOfEntryPoint: DWORD, + pub BaseOfCode: DWORD, + pub ImageBase: ULONGLONG, + pub SectionAlignment: DWORD, + pub FileAlignment: DWORD, + pub MajorOperatingSystemVersion: WORD, + pub MinorOperatingSystemVersion: WORD, + pub MajorImageVersion: WORD, + pub MinorImageVersion: WORD, + pub MajorSubsystemVersion: WORD, + pub MinorSubsystemVersion: WORD, + pub Win32VersionValue: DWORD, + pub SizeOfImage: DWORD, + pub SizeOfHeaders: DWORD, + pub CheckSum: DWORD, + pub Subsystem: WORD, + pub DllCharacteristics: WORD, + pub SizeOfStackReserve: ULONGLONG, + pub SizeOfStackCommit: ULONGLONG, + pub SizeOfHeapReserve: ULONGLONG, + pub SizeOfHeapCommit: ULONGLONG, + pub LoaderFlags: DWORD, + pub NumberOfRvaAndSizes: DWORD, + pub DataDirectory: [IMAGE_DATA_DIRECTORY; 16usize], +} +#[test] +fn bindgen_test_layout__IMAGE_OPTIONAL_HEADER64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_OPTIONAL_HEADER64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_OPTIONAL_HEADER64>(), + 240usize, + concat!("Size of: ", stringify!(_IMAGE_OPTIONAL_HEADER64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_OPTIONAL_HEADER64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_OPTIONAL_HEADER64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorLinkerVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MajorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorLinkerVersion) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MinorLinkerVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfInitializedData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfInitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfUninitializedData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfUninitializedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfEntryPoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(AddressOfEntryPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseOfCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(BaseOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionAlignment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SectionAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAlignment) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(FileAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorOperatingSystemVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MajorOperatingSystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorOperatingSystemVersion) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MinorOperatingSystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorImageVersion) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MajorImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorImageVersion) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MinorImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorSubsystemVersion) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MajorSubsystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorSubsystemVersion) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(MinorSubsystemVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Win32VersionValue) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(Win32VersionValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfImage) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeaders) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfHeaders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subsystem) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(Subsystem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DllCharacteristics) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(DllCharacteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfStackReserve) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfStackReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfStackCommit) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfStackCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeapReserve) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfHeapReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfHeapCommit) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(SizeOfHeapCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoaderFlags) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(LoaderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRvaAndSizes) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(NumberOfRvaAndSizes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataDirectory) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_OPTIONAL_HEADER64), + "::", + stringify!(DataDirectory) + ) + ); +} +pub type IMAGE_OPTIONAL_HEADER64 = _IMAGE_OPTIONAL_HEADER64; +pub type PIMAGE_OPTIONAL_HEADER64 = *mut _IMAGE_OPTIONAL_HEADER64; +pub type IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER64; +pub type PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_NT_HEADERS64 { + pub Signature: DWORD, + pub FileHeader: IMAGE_FILE_HEADER, + pub OptionalHeader: IMAGE_OPTIONAL_HEADER64, +} +#[test] +fn bindgen_test_layout__IMAGE_NT_HEADERS64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_NT_HEADERS64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_NT_HEADERS64>(), + 264usize, + concat!("Size of: ", stringify!(_IMAGE_NT_HEADERS64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_NT_HEADERS64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_NT_HEADERS64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS64), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHeader) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS64), + "::", + stringify!(FileHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptionalHeader) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS64), + "::", + stringify!(OptionalHeader) + ) + ); +} +pub type IMAGE_NT_HEADERS64 = _IMAGE_NT_HEADERS64; +pub type PIMAGE_NT_HEADERS64 = *mut _IMAGE_NT_HEADERS64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_NT_HEADERS { + pub Signature: DWORD, + pub FileHeader: IMAGE_FILE_HEADER, + pub OptionalHeader: IMAGE_OPTIONAL_HEADER32, +} +#[test] +fn bindgen_test_layout__IMAGE_NT_HEADERS() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_NT_HEADERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_NT_HEADERS>(), + 248usize, + concat!("Size of: ", stringify!(_IMAGE_NT_HEADERS)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_NT_HEADERS>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_NT_HEADERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHeader) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS), + "::", + stringify!(FileHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptionalHeader) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_NT_HEADERS), + "::", + stringify!(OptionalHeader) + ) + ); +} +pub type IMAGE_NT_HEADERS32 = _IMAGE_NT_HEADERS; +pub type PIMAGE_NT_HEADERS32 = *mut _IMAGE_NT_HEADERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ROM_HEADERS { + pub FileHeader: IMAGE_FILE_HEADER, + pub OptionalHeader: IMAGE_ROM_OPTIONAL_HEADER, +} +#[test] +fn bindgen_test_layout__IMAGE_ROM_HEADERS() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ROM_HEADERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ROM_HEADERS>(), + 76usize, + concat!("Size of: ", stringify!(_IMAGE_ROM_HEADERS)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ROM_HEADERS>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ROM_HEADERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_HEADERS), + "::", + stringify!(FileHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptionalHeader) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ROM_HEADERS), + "::", + stringify!(OptionalHeader) + ) + ); +} +pub type IMAGE_ROM_HEADERS = _IMAGE_ROM_HEADERS; +pub type PIMAGE_ROM_HEADERS = *mut _IMAGE_ROM_HEADERS; +pub type IMAGE_NT_HEADERS = IMAGE_NT_HEADERS64; +pub type PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ANON_OBJECT_HEADER { + pub Sig1: WORD, + pub Sig2: WORD, + pub Version: WORD, + pub Machine: WORD, + pub TimeDateStamp: DWORD, + pub ClassID: CLSID, + pub SizeOfData: DWORD, +} +#[test] +fn bindgen_test_layout_ANON_OBJECT_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ANON_OBJECT_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ANON_OBJECT_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(Sig1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(Sig2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClassID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(ClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER), + "::", + stringify!(SizeOfData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ANON_OBJECT_HEADER_V2 { + pub Sig1: WORD, + pub Sig2: WORD, + pub Version: WORD, + pub Machine: WORD, + pub TimeDateStamp: DWORD, + pub ClassID: CLSID, + pub SizeOfData: DWORD, + pub Flags: DWORD, + pub MetaDataSize: DWORD, + pub MetaDataOffset: DWORD, +} +#[test] +fn bindgen_test_layout_ANON_OBJECT_HEADER_V2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(ANON_OBJECT_HEADER_V2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ANON_OBJECT_HEADER_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Sig1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Sig2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClassID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(ClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(SizeOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(MetaDataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataOffset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_V2), + "::", + stringify!(MetaDataOffset) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ANON_OBJECT_HEADER_BIGOBJ { + pub Sig1: WORD, + pub Sig2: WORD, + pub Version: WORD, + pub Machine: WORD, + pub TimeDateStamp: DWORD, + pub ClassID: CLSID, + pub SizeOfData: DWORD, + pub Flags: DWORD, + pub MetaDataSize: DWORD, + pub MetaDataOffset: DWORD, + pub NumberOfSections: DWORD, + pub PointerToSymbolTable: DWORD, + pub NumberOfSymbols: DWORD, +} +#[test] +fn bindgen_test_layout_ANON_OBJECT_HEADER_BIGOBJ() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(ANON_OBJECT_HEADER_BIGOBJ)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ANON_OBJECT_HEADER_BIGOBJ)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Sig1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Sig2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClassID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(ClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(SizeOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(MetaDataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataOffset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(MetaDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSections) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(NumberOfSections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToSymbolTable) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(PointerToSymbolTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSymbols) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(ANON_OBJECT_HEADER_BIGOBJ), + "::", + stringify!(NumberOfSymbols) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_SECTION_HEADER { + pub Name: [BYTE; 8usize], + pub Misc: _IMAGE_SECTION_HEADER__bindgen_ty_1, + pub VirtualAddress: DWORD, + pub SizeOfRawData: DWORD, + pub PointerToRawData: DWORD, + pub PointerToRelocations: DWORD, + pub PointerToLinenumbers: DWORD, + pub NumberOfRelocations: WORD, + pub NumberOfLinenumbers: WORD, + pub Characteristics: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_SECTION_HEADER__bindgen_ty_1 { + pub PhysicalAddress: DWORD, + pub VirtualSize: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_SECTION_HEADER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SECTION_HEADER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SECTION_HEADER__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SECTION_HEADER__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1), + "::", + stringify!(PhysicalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER__bindgen_ty_1), + "::", + stringify!(VirtualSize) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SECTION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SECTION_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SECTION_HEADER>(), + 40usize, + concat!("Size of: ", stringify!(_IMAGE_SECTION_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SECTION_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_SECTION_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Misc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(Misc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfRawData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(SizeOfRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToRawData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(PointerToRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToRelocations) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(PointerToRelocations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToLinenumbers) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(PointerToLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRelocations) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(NumberOfRelocations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinenumbers) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(NumberOfLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SECTION_HEADER), + "::", + stringify!(Characteristics) + ) + ); +} +pub type IMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER; +pub type PIMAGE_SECTION_HEADER = *mut _IMAGE_SECTION_HEADER; +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub struct _IMAGE_SYMBOL { + pub N: _IMAGE_SYMBOL__bindgen_ty_1, + pub Value: DWORD, + pub SectionNumber: SHORT, + pub Type: WORD, + pub StorageClass: BYTE, + pub NumberOfAuxSymbols: BYTE, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_SYMBOL__bindgen_ty_1 { + pub ShortName: [BYTE; 8usize], + pub Name: _IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1, + pub LongName: [DWORD; 2usize], +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1 { + pub Short: DWORD, + pub Long: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Short) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Short) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Long) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Long) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_SYMBOL__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_SYMBOL__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShortName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1), + "::", + stringify!(ShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LongName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL__bindgen_ty_1), + "::", + stringify!(LongName) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_SYMBOL)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_SYMBOL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(N) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(SectionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageClass) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(StorageClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuxSymbols) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL), + "::", + stringify!(NumberOfAuxSymbols) + ) + ); +} +pub type IMAGE_SYMBOL = _IMAGE_SYMBOL; +pub type PIMAGE_SYMBOL = *mut IMAGE_SYMBOL; +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub struct _IMAGE_SYMBOL_EX { + pub N: _IMAGE_SYMBOL_EX__bindgen_ty_1, + pub Value: DWORD, + pub SectionNumber: LONG, + pub Type: WORD, + pub StorageClass: BYTE, + pub NumberOfAuxSymbols: BYTE, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_SYMBOL_EX__bindgen_ty_1 { + pub ShortName: [BYTE; 8usize], + pub Name: _IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1, + pub LongName: [DWORD; 2usize], +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1 { + pub Short: DWORD, + pub Long: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Short) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Short) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Long) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Long) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL_EX__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL_EX__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShortName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(ShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LongName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(LongName) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_SYMBOL_EX() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SYMBOL_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SYMBOL_EX>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_SYMBOL_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SYMBOL_EX>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_SYMBOL_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(N) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(SectionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageClass) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(StorageClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuxSymbols) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SYMBOL_EX), + "::", + stringify!(NumberOfAuxSymbols) + ) + ); +} +pub type IMAGE_SYMBOL_EX = _IMAGE_SYMBOL_EX; +pub type PIMAGE_SYMBOL_EX = *mut IMAGE_SYMBOL_EX; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct IMAGE_AUX_SYMBOL_TOKEN_DEF { + pub bAuxType: BYTE, + pub bReserved: BYTE, + pub SymbolTableIndex: DWORD, + pub rgbReserved: [BYTE; 12usize], +} +#[test] +fn bindgen_test_layout_IMAGE_AUX_SYMBOL_TOKEN_DEF() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bAuxType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), + "::", + stringify!(bAuxType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolTableIndex) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), + "::", + stringify!(SymbolTableIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_AUX_SYMBOL_TOKEN_DEF), + "::", + stringify!(rgbReserved) + ) + ); +} +pub type PIMAGE_AUX_SYMBOL_TOKEN_DEF = *mut IMAGE_AUX_SYMBOL_TOKEN_DEF; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_AUX_SYMBOL { + pub Sym: _IMAGE_AUX_SYMBOL__bindgen_ty_1, + pub File: _IMAGE_AUX_SYMBOL__bindgen_ty_2, + pub Section: _IMAGE_AUX_SYMBOL__bindgen_ty_3, + pub TokenDef: IMAGE_AUX_SYMBOL_TOKEN_DEF, + pub CRC: _IMAGE_AUX_SYMBOL__bindgen_ty_4, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_1 { + pub TagIndex: DWORD, + pub Misc: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1, + pub FcnAry: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2, + pub TvIndex: WORD, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1 { + pub LnSz: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub TotalSize: DWORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub Linenumber: WORD, + pub Size: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Linenumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Linenumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Size) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LnSz) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LnSz) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(TotalSize) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2 { + pub Function: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + pub Array: _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2, +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 { + pub PointerToLinenumber: DWORD, + pub PointerToNextFunction: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToLinenumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(PointerToLinenumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToNextFunction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(PointerToNextFunction) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2 { + pub Dimension: [WORD; 4usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dimension) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2__bindgen_ty_2), + "::", + stringify!(Dimension) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Function) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Function) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Array) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Array) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TagIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), + "::", + stringify!(TagIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Misc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), + "::", + stringify!(Misc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FcnAry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), + "::", + stringify!(FcnAry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TvIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_1), + "::", + stringify!(TvIndex) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_2 { + pub Name: [BYTE; 18usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_2>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_2>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_2), + "::", + stringify!(Name) + ) + ); +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_3 { + pub Length: DWORD, + pub NumberOfRelocations: WORD, + pub NumberOfLinenumbers: WORD, + pub CheckSum: DWORD, + pub Number: SHORT, + pub Selection: BYTE, + pub bReserved: BYTE, + pub HighNumber: SHORT, +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_3>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRelocations) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(NumberOfRelocations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinenumbers) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(NumberOfLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Number) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(Number) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Selection) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(Selection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_3), + "::", + stringify!(HighNumber) + ) + ); +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL__bindgen_ty_4 { + pub crc: DWORD, + pub rgbReserved: [BYTE; 14usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_4>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL__bindgen_ty_4>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4), + "::", + stringify!(crc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL__bindgen_ty_4), + "::", + stringify!(rgbReserved) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL>(), + 18usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sym) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(Sym) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).File) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(File) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Section) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(Section) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenDef) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(TokenDef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CRC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL), + "::", + stringify!(CRC) + ) + ); +} +pub type IMAGE_AUX_SYMBOL = _IMAGE_AUX_SYMBOL; +pub type PIMAGE_AUX_SYMBOL = *mut IMAGE_AUX_SYMBOL; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_AUX_SYMBOL_EX { + pub Sym: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_1, + pub File: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_2, + pub Section: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_3, + pub __bindgen_anon_1: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_4, + pub CRC: _IMAGE_AUX_SYMBOL_EX__bindgen_ty_5, +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_1 { + pub WeakDefaultSymIndex: DWORD, + pub WeakSearchType: DWORD, + pub rgbReserved: [BYTE; 12usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WeakDefaultSymIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(WeakDefaultSymIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WeakSearchType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(WeakSearchType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_1), + "::", + stringify!(rgbReserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_2 { + pub Name: [BYTE; 20usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_2), + "::", + stringify!(Name) + ) + ); +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_3 { + pub Length: DWORD, + pub NumberOfRelocations: WORD, + pub NumberOfLinenumbers: WORD, + pub CheckSum: DWORD, + pub Number: SHORT, + pub Selection: BYTE, + pub bReserved: BYTE, + pub HighNumber: SHORT, + pub rgbReserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRelocations) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(NumberOfRelocations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinenumbers) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(NumberOfLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Number) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(Number) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Selection) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(Selection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(HighNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_3), + "::", + stringify!(rgbReserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_4 { + pub TokenDef: IMAGE_AUX_SYMBOL_TOKEN_DEF, + pub rgbReserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenDef) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4), + "::", + stringify!(TokenDef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_4), + "::", + stringify!(rgbReserved) + ) + ); +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_AUX_SYMBOL_EX__bindgen_ty_5 { + pub crc: DWORD, + pub rgbReserved: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5), + "::", + stringify!(crc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX__bindgen_ty_5), + "::", + stringify!(rgbReserved) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_AUX_SYMBOL_EX() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_AUX_SYMBOL_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_AUX_SYMBOL_EX>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_AUX_SYMBOL_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_AUX_SYMBOL_EX>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_AUX_SYMBOL_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sym) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX), + "::", + stringify!(Sym) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).File) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX), + "::", + stringify!(File) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Section) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX), + "::", + stringify!(Section) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CRC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_AUX_SYMBOL_EX), + "::", + stringify!(CRC) + ) + ); +} +pub type IMAGE_AUX_SYMBOL_EX = _IMAGE_AUX_SYMBOL_EX; +pub type PIMAGE_AUX_SYMBOL_EX = *mut IMAGE_AUX_SYMBOL_EX; +pub const IMAGE_AUX_SYMBOL_TYPE_IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF: IMAGE_AUX_SYMBOL_TYPE = 1; +pub type IMAGE_AUX_SYMBOL_TYPE = ::std::os::raw::c_int; +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub struct _IMAGE_RELOCATION { + pub __bindgen_anon_1: _IMAGE_RELOCATION__bindgen_ty_1, + pub SymbolTableIndex: DWORD, + pub Type: WORD, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_RELOCATION__bindgen_ty_1 { + pub VirtualAddress: DWORD, + pub RelocCount: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_RELOCATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RELOCATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RELOCATION__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_RELOCATION__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RELOCATION__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_RELOCATION__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RELOCATION__bindgen_ty_1), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RelocCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RELOCATION__bindgen_ty_1), + "::", + stringify!(RelocCount) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_RELOCATION() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RELOCATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RELOCATION>(), + 10usize, + concat!("Size of: ", stringify!(_IMAGE_RELOCATION)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RELOCATION>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_RELOCATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolTableIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RELOCATION), + "::", + stringify!(SymbolTableIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RELOCATION), + "::", + stringify!(Type) + ) + ); +} +pub type IMAGE_RELOCATION = _IMAGE_RELOCATION; +pub type PIMAGE_RELOCATION = *mut IMAGE_RELOCATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_LINENUMBER { + pub Type: _IMAGE_LINENUMBER__bindgen_ty_1, + pub Linenumber: WORD, +} +#[repr(C, packed(2))] +#[derive(Copy, Clone)] +pub union _IMAGE_LINENUMBER__bindgen_ty_1 { + pub SymbolTableIndex: DWORD, + pub VirtualAddress: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_LINENUMBER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LINENUMBER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LINENUMBER__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_LINENUMBER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LINENUMBER__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_LINENUMBER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolTableIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LINENUMBER__bindgen_ty_1), + "::", + stringify!(SymbolTableIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LINENUMBER__bindgen_ty_1), + "::", + stringify!(VirtualAddress) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_LINENUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LINENUMBER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LINENUMBER>(), + 6usize, + concat!("Size of: ", stringify!(_IMAGE_LINENUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LINENUMBER>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_LINENUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LINENUMBER), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Linenumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LINENUMBER), + "::", + stringify!(Linenumber) + ) + ); +} +pub type IMAGE_LINENUMBER = _IMAGE_LINENUMBER; +pub type PIMAGE_LINENUMBER = *mut IMAGE_LINENUMBER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_BASE_RELOCATION { + pub VirtualAddress: DWORD, + pub SizeOfBlock: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_BASE_RELOCATION() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_BASE_RELOCATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_BASE_RELOCATION>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_BASE_RELOCATION)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_BASE_RELOCATION>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_BASE_RELOCATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BASE_RELOCATION), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfBlock) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BASE_RELOCATION), + "::", + stringify!(SizeOfBlock) + ) + ); +} +pub type IMAGE_BASE_RELOCATION = _IMAGE_BASE_RELOCATION; +pub type PIMAGE_BASE_RELOCATION = *mut IMAGE_BASE_RELOCATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ARCHIVE_MEMBER_HEADER { + pub Name: [BYTE; 16usize], + pub Date: [BYTE; 12usize], + pub UserID: [BYTE; 6usize], + pub GroupID: [BYTE; 6usize], + pub Mode: [BYTE; 8usize], + pub Size: [BYTE; 10usize], + pub EndHeader: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__IMAGE_ARCHIVE_MEMBER_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARCHIVE_MEMBER_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARCHIVE_MEMBER_HEADER>(), + 60usize, + concat!("Size of: ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARCHIVE_MEMBER_HEADER>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserID) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(UserID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupID) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(GroupID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mode) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(Mode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndHeader) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARCHIVE_MEMBER_HEADER), + "::", + stringify!(EndHeader) + ) + ); +} +pub type IMAGE_ARCHIVE_MEMBER_HEADER = _IMAGE_ARCHIVE_MEMBER_HEADER; +pub type PIMAGE_ARCHIVE_MEMBER_HEADER = *mut _IMAGE_ARCHIVE_MEMBER_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_EXPORT_DIRECTORY { + pub Characteristics: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub Name: DWORD, + pub Base: DWORD, + pub NumberOfFunctions: DWORD, + pub NumberOfNames: DWORD, + pub AddressOfFunctions: DWORD, + pub AddressOfNames: DWORD, + pub AddressOfNameOrdinals: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_EXPORT_DIRECTORY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_EXPORT_DIRECTORY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_EXPORT_DIRECTORY>(), + 40usize, + concat!("Size of: ", stringify!(_IMAGE_EXPORT_DIRECTORY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_EXPORT_DIRECTORY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_EXPORT_DIRECTORY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Base) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(Base) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfFunctions) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(NumberOfFunctions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(NumberOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfFunctions) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(AddressOfFunctions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfNames) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(AddressOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfNameOrdinals) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EXPORT_DIRECTORY), + "::", + stringify!(AddressOfNameOrdinals) + ) + ); +} +pub type IMAGE_EXPORT_DIRECTORY = _IMAGE_EXPORT_DIRECTORY; +pub type PIMAGE_EXPORT_DIRECTORY = *mut _IMAGE_EXPORT_DIRECTORY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_IMPORT_BY_NAME { + pub Hint: WORD, + pub Name: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout__IMAGE_IMPORT_BY_NAME() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_IMPORT_BY_NAME> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_IMPORT_BY_NAME>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_IMPORT_BY_NAME)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_IMPORT_BY_NAME>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_IMPORT_BY_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_BY_NAME), + "::", + stringify!(Hint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_BY_NAME), + "::", + stringify!(Name) + ) + ); +} +pub type IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME; +pub type PIMAGE_IMPORT_BY_NAME = *mut _IMAGE_IMPORT_BY_NAME; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_THUNK_DATA64 { + pub u1: _IMAGE_THUNK_DATA64__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_THUNK_DATA64__bindgen_ty_1 { + pub ForwarderString: ULONGLONG, + pub Function: ULONGLONG, + pub Ordinal: ULONGLONG, + pub AddressOfData: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IMAGE_THUNK_DATA64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_THUNK_DATA64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_THUNK_DATA64__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_THUNK_DATA64__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ForwarderString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), + "::", + stringify!(ForwarderString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Function) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), + "::", + stringify!(Function) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ordinal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), + "::", + stringify!(Ordinal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64__bindgen_ty_1), + "::", + stringify!(AddressOfData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_THUNK_DATA64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_THUNK_DATA64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_THUNK_DATA64>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_THUNK_DATA64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_THUNK_DATA64>(), + 8usize, + concat!("Alignment of ", stringify!(_IMAGE_THUNK_DATA64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA64), + "::", + stringify!(u1) + ) + ); +} +pub type IMAGE_THUNK_DATA64 = _IMAGE_THUNK_DATA64; +pub type PIMAGE_THUNK_DATA64 = *mut IMAGE_THUNK_DATA64; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_THUNK_DATA32 { + pub u1: _IMAGE_THUNK_DATA32__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_THUNK_DATA32__bindgen_ty_1 { + pub ForwarderString: DWORD, + pub Function: DWORD, + pub Ordinal: DWORD, + pub AddressOfData: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_THUNK_DATA32__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_THUNK_DATA32__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_THUNK_DATA32__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_THUNK_DATA32__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ForwarderString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), + "::", + stringify!(ForwarderString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Function) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), + "::", + stringify!(Function) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ordinal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), + "::", + stringify!(Ordinal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32__bindgen_ty_1), + "::", + stringify!(AddressOfData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_THUNK_DATA32() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_THUNK_DATA32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_THUNK_DATA32>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_THUNK_DATA32)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_THUNK_DATA32>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_THUNK_DATA32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_THUNK_DATA32), + "::", + stringify!(u1) + ) + ); +} +pub type IMAGE_THUNK_DATA32 = _IMAGE_THUNK_DATA32; +pub type PIMAGE_THUNK_DATA32 = *mut IMAGE_THUNK_DATA32; +pub type PIMAGE_TLS_CALLBACK = + ::std::option::Option; +#[repr(C, packed(4))] +#[derive(Copy, Clone)] +pub struct _IMAGE_TLS_DIRECTORY64 { + pub StartAddressOfRawData: ULONGLONG, + pub EndAddressOfRawData: ULONGLONG, + pub AddressOfIndex: ULONGLONG, + pub AddressOfCallBacks: ULONGLONG, + pub SizeOfZeroFill: DWORD, + pub __bindgen_anon_1: _IMAGE_TLS_DIRECTORY64__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_TLS_DIRECTORY64__bindgen_ty_1 { + pub Characteristics: DWORD, + pub __bindgen_anon_1: _IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_TLS_DIRECTORY64__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Reserved0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 20u8, val as u64) + } + } + #[inline] + pub fn Alignment(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u32) } + } + #[inline] + pub fn set_Alignment(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 4u8, val as u64) + } + } + #[inline] + pub fn Reserved1(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_Reserved1(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Reserved0: DWORD, + Alignment: DWORD, + Reserved1: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 20u8, { + let Reserved0: u32 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit.set(20usize, 4u8, { + let Alignment: u32 = unsafe { ::std::mem::transmute(Alignment) }; + Alignment as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let Reserved1: u32 = unsafe { ::std::mem::transmute(Reserved1) }; + Reserved1 as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_TLS_DIRECTORY64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY64__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY64__bindgen_ty_1), + "::", + stringify!(Characteristics) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_TLS_DIRECTORY64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_TLS_DIRECTORY64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY64>(), + 40usize, + concat!("Size of: ", stringify!(_IMAGE_TLS_DIRECTORY64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_TLS_DIRECTORY64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartAddressOfRawData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY64), + "::", + stringify!(StartAddressOfRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddressOfRawData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY64), + "::", + stringify!(EndAddressOfRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY64), + "::", + stringify!(AddressOfIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfCallBacks) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY64), + "::", + stringify!(AddressOfCallBacks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfZeroFill) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY64), + "::", + stringify!(SizeOfZeroFill) + ) + ); +} +pub type IMAGE_TLS_DIRECTORY64 = _IMAGE_TLS_DIRECTORY64; +pub type PIMAGE_TLS_DIRECTORY64 = *mut IMAGE_TLS_DIRECTORY64; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_TLS_DIRECTORY32 { + pub StartAddressOfRawData: DWORD, + pub EndAddressOfRawData: DWORD, + pub AddressOfIndex: DWORD, + pub AddressOfCallBacks: DWORD, + pub SizeOfZeroFill: DWORD, + pub __bindgen_anon_1: _IMAGE_TLS_DIRECTORY32__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_TLS_DIRECTORY32__bindgen_ty_1 { + pub Characteristics: DWORD, + pub __bindgen_anon_1: _IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_TLS_DIRECTORY32__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Reserved0(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 20u8) as u32) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 20u8, val as u64) + } + } + #[inline] + pub fn Alignment(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 4u8) as u32) } + } + #[inline] + pub fn set_Alignment(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 4u8, val as u64) + } + } + #[inline] + pub fn Reserved1(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u32) } + } + #[inline] + pub fn set_Reserved1(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(24usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Reserved0: DWORD, + Alignment: DWORD, + Reserved1: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 20u8, { + let Reserved0: u32 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit.set(20usize, 4u8, { + let Alignment: u32 = unsafe { ::std::mem::transmute(Alignment) }; + Alignment as u64 + }); + __bindgen_bitfield_unit.set(24usize, 8u8, { + let Reserved1: u32 = unsafe { ::std::mem::transmute(Reserved1) }; + Reserved1 as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_TLS_DIRECTORY32__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY32__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY32__bindgen_ty_1), + "::", + stringify!(Characteristics) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_TLS_DIRECTORY32() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_TLS_DIRECTORY32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_TLS_DIRECTORY32>(), + 24usize, + concat!("Size of: ", stringify!(_IMAGE_TLS_DIRECTORY32)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_TLS_DIRECTORY32>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_TLS_DIRECTORY32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartAddressOfRawData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY32), + "::", + stringify!(StartAddressOfRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddressOfRawData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY32), + "::", + stringify!(EndAddressOfRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY32), + "::", + stringify!(AddressOfIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfCallBacks) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY32), + "::", + stringify!(AddressOfCallBacks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfZeroFill) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_TLS_DIRECTORY32), + "::", + stringify!(SizeOfZeroFill) + ) + ); +} +pub type IMAGE_TLS_DIRECTORY32 = _IMAGE_TLS_DIRECTORY32; +pub type PIMAGE_TLS_DIRECTORY32 = *mut IMAGE_TLS_DIRECTORY32; +pub type IMAGE_THUNK_DATA = IMAGE_THUNK_DATA64; +pub type PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA64; +pub type IMAGE_TLS_DIRECTORY = IMAGE_TLS_DIRECTORY64; +pub type PIMAGE_TLS_DIRECTORY = PIMAGE_TLS_DIRECTORY64; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_IMPORT_DESCRIPTOR { + pub __bindgen_anon_1: _IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1, + pub TimeDateStamp: DWORD, + pub ForwarderChain: DWORD, + pub Name: DWORD, + pub FirstThunk: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1 { + pub Characteristics: DWORD, + pub OriginalFirstThunk: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginalFirstThunk) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(OriginalFirstThunk) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_IMPORT_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_IMPORT_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_IMPORT_DESCRIPTOR>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_IMPORT_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_IMPORT_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_IMPORT_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ForwarderChain) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR), + "::", + stringify!(ForwarderChain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstThunk) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_IMPORT_DESCRIPTOR), + "::", + stringify!(FirstThunk) + ) + ); +} +pub type IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR; +pub type PIMAGE_IMPORT_DESCRIPTOR = *mut IMAGE_IMPORT_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { + pub TimeDateStamp: DWORD, + pub OffsetModuleName: WORD, + pub NumberOfModuleForwarderRefs: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_BOUND_IMPORT_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_BOUND_IMPORT_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_BOUND_IMPORT_DESCRIPTOR>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_BOUND_IMPORT_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetModuleName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR), + "::", + stringify!(OffsetModuleName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfModuleForwarderRefs) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_IMPORT_DESCRIPTOR), + "::", + stringify!(NumberOfModuleForwarderRefs) + ) + ); +} +pub type IMAGE_BOUND_IMPORT_DESCRIPTOR = _IMAGE_BOUND_IMPORT_DESCRIPTOR; +pub type PIMAGE_BOUND_IMPORT_DESCRIPTOR = *mut _IMAGE_BOUND_IMPORT_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_BOUND_FORWARDER_REF { + pub TimeDateStamp: DWORD, + pub OffsetModuleName: WORD, + pub Reserved: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_BOUND_FORWARDER_REF() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_BOUND_FORWARDER_REF> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_BOUND_FORWARDER_REF>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_BOUND_FORWARDER_REF)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_BOUND_FORWARDER_REF>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_BOUND_FORWARDER_REF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_FORWARDER_REF), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetModuleName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_FORWARDER_REF), + "::", + stringify!(OffsetModuleName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_BOUND_FORWARDER_REF), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_BOUND_FORWARDER_REF = _IMAGE_BOUND_FORWARDER_REF; +pub type PIMAGE_BOUND_FORWARDER_REF = *mut _IMAGE_BOUND_FORWARDER_REF; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_DELAYLOAD_DESCRIPTOR { + pub Attributes: _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1, + pub DllNameRVA: DWORD, + pub ModuleHandleRVA: DWORD, + pub ImportAddressTableRVA: DWORD, + pub ImportNameTableRVA: DWORD, + pub BoundImportAddressTableRVA: DWORD, + pub UnloadInformationTableRVA: DWORD, + pub TimeDateStamp: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1 { + pub AllAttributes: DWORD, + pub __bindgen_anon_1: _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn RvaBased(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_RvaBased(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn ReservedAttributes(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_ReservedAttributes(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + RvaBased: DWORD, + ReservedAttributes: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let RvaBased: u32 = unsafe { ::std::mem::transmute(RvaBased) }; + RvaBased as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let ReservedAttributes: u32 = unsafe { ::std::mem::transmute(ReservedAttributes) }; + ReservedAttributes as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(AllAttributes) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_DELAYLOAD_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DELAYLOAD_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DELAYLOAD_DESCRIPTOR>(), + 32usize, + concat!("Size of: ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DELAYLOAD_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DllNameRVA) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(DllNameRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ModuleHandleRVA) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(ModuleHandleRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportAddressTableRVA) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(ImportAddressTableRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportNameTableRVA) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(ImportNameTableRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BoundImportAddressTableRVA) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(BoundImportAddressTableRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnloadInformationTableRVA) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(UnloadInformationTableRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DELAYLOAD_DESCRIPTOR), + "::", + stringify!(TimeDateStamp) + ) + ); +} +pub type IMAGE_DELAYLOAD_DESCRIPTOR = _IMAGE_DELAYLOAD_DESCRIPTOR; +pub type PIMAGE_DELAYLOAD_DESCRIPTOR = *mut _IMAGE_DELAYLOAD_DESCRIPTOR; +pub type PCIMAGE_DELAYLOAD_DESCRIPTOR = *const IMAGE_DELAYLOAD_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY { + pub Characteristics: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub NumberOfNamedEntries: WORD, + pub NumberOfIdEntries: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIRECTORY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DIRECTORY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_RESOURCE_DIRECTORY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfNamedEntries) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(NumberOfNamedEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfIdEntries) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY), + "::", + stringify!(NumberOfIdEntries) + ) + ); +} +pub type IMAGE_RESOURCE_DIRECTORY = _IMAGE_RESOURCE_DIRECTORY; +pub type PIMAGE_RESOURCE_DIRECTORY = *mut _IMAGE_RESOURCE_DIRECTORY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { + pub __bindgen_anon_1: _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1, + pub __bindgen_anon_2: _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1 { + pub __bindgen_anon_1: _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1, + pub Name: DWORD, + pub Id: WORD, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn NameOffset(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 31u8) as u32) } + } + #[inline] + pub fn set_NameOffset(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 31u8, val as u64) + } + } + #[inline] + pub fn NameIsString(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_NameIsString(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + NameOffset: DWORD, + NameIsString: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 31u8, { + let NameOffset: u32 = unsafe { ::std::mem::transmute(NameOffset) }; + NameOffset as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let NameIsString: u32 = unsafe { ::std::mem::transmute(NameIsString) }; + NameIsString as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_1), + "::", + stringify!(Id) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2 { + pub OffsetToData: DWORD, + pub __bindgen_anon_1: _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1) + ) + ); +} +impl _IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2__bindgen_ty_1 { + #[inline] + pub fn OffsetToDirectory(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 31u8) as u32) } + } + #[inline] + pub fn set_OffsetToDirectory(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 31u8, val as u64) + } + } + #[inline] + pub fn DataIsDirectory(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_DataIsDirectory(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + OffsetToDirectory: DWORD, + DataIsDirectory: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 31u8, { + let OffsetToDirectory: u32 = unsafe { ::std::mem::transmute(OffsetToDirectory) }; + OffsetToDirectory as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let DataIsDirectory: u32 = unsafe { ::std::mem::transmute(DataIsDirectory) }; + DataIsDirectory as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetToData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY__bindgen_ty_2), + "::", + stringify!(OffsetToData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_ENTRY() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_RESOURCE_DIRECTORY_ENTRY)) + ); +} +pub type IMAGE_RESOURCE_DIRECTORY_ENTRY = _IMAGE_RESOURCE_DIRECTORY_ENTRY; +pub type PIMAGE_RESOURCE_DIRECTORY_ENTRY = *mut _IMAGE_RESOURCE_DIRECTORY_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIRECTORY_STRING { + pub Length: WORD, + pub NameString: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIRECTORY_STRING() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIRECTORY_STRING> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIRECTORY_STRING>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DIRECTORY_STRING)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIRECTORY_STRING>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_STRING) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_STRING), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameString) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIRECTORY_STRING), + "::", + stringify!(NameString) + ) + ); +} +pub type IMAGE_RESOURCE_DIRECTORY_STRING = _IMAGE_RESOURCE_DIRECTORY_STRING; +pub type PIMAGE_RESOURCE_DIRECTORY_STRING = *mut _IMAGE_RESOURCE_DIRECTORY_STRING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DIR_STRING_U { + pub Length: WORD, + pub NameString: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DIR_STRING_U() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DIR_STRING_U> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DIR_STRING_U>(), + 4usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DIR_STRING_U)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DIR_STRING_U>(), + 2usize, + concat!("Alignment of ", stringify!(_IMAGE_RESOURCE_DIR_STRING_U)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIR_STRING_U), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameString) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DIR_STRING_U), + "::", + stringify!(NameString) + ) + ); +} +pub type IMAGE_RESOURCE_DIR_STRING_U = _IMAGE_RESOURCE_DIR_STRING_U; +pub type PIMAGE_RESOURCE_DIR_STRING_U = *mut _IMAGE_RESOURCE_DIR_STRING_U; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_RESOURCE_DATA_ENTRY { + pub OffsetToData: DWORD, + pub Size: DWORD, + pub CodePage: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_RESOURCE_DATA_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RESOURCE_DATA_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RESOURCE_DATA_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_RESOURCE_DATA_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RESOURCE_DATA_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_RESOURCE_DATA_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetToData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DATA_ENTRY), + "::", + stringify!(OffsetToData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DATA_ENTRY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DATA_ENTRY), + "::", + stringify!(CodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RESOURCE_DATA_ENTRY), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_RESOURCE_DATA_ENTRY = _IMAGE_RESOURCE_DATA_ENTRY; +pub type PIMAGE_RESOURCE_DATA_ENTRY = *mut _IMAGE_RESOURCE_DATA_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_LOAD_CONFIG_CODE_INTEGRITY { + pub Flags: WORD, + pub Catalog: WORD, + pub CatalogOffset: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_LOAD_CONFIG_CODE_INTEGRITY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY>(), + 12usize, + concat!("Size of: ", stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LOAD_CONFIG_CODE_INTEGRITY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Catalog) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), + "::", + stringify!(Catalog) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CatalogOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), + "::", + stringify!(CatalogOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_LOAD_CONFIG_CODE_INTEGRITY = _IMAGE_LOAD_CONFIG_CODE_INTEGRITY; +pub type PIMAGE_LOAD_CONFIG_CODE_INTEGRITY = *mut _IMAGE_LOAD_CONFIG_CODE_INTEGRITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION_TABLE { + pub Version: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION_TABLE() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION_TABLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION_TABLE>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION_TABLE)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION_TABLE>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION_TABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION_TABLE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION_TABLE), + "::", + stringify!(Size) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION_TABLE = _IMAGE_DYNAMIC_RELOCATION_TABLE; +pub type PIMAGE_DYNAMIC_RELOCATION_TABLE = *mut _IMAGE_DYNAMIC_RELOCATION_TABLE; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION32 { + pub Symbol: DWORD, + pub BaseRelocSize: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION32() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION32>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION32)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION32>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Symbol) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32), + "::", + stringify!(Symbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseRelocSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32), + "::", + stringify!(BaseRelocSize) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION32 = _IMAGE_DYNAMIC_RELOCATION32; +pub type PIMAGE_DYNAMIC_RELOCATION32 = *mut _IMAGE_DYNAMIC_RELOCATION32; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION64 { + pub Symbol: ULONGLONG, + pub BaseRelocSize: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION64>(), + 12usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION64>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Symbol) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64), + "::", + stringify!(Symbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseRelocSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64), + "::", + stringify!(BaseRelocSize) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION64 = _IMAGE_DYNAMIC_RELOCATION64; +pub type PIMAGE_DYNAMIC_RELOCATION64 = *mut _IMAGE_DYNAMIC_RELOCATION64; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION32_V2 { + pub HeaderSize: DWORD, + pub FixupInfoSize: DWORD, + pub Symbol: DWORD, + pub SymbolGroup: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION32_V2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION32_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION32_V2>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION32_V2>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixupInfoSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(FixupInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Symbol) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(Symbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolGroup) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(SymbolGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION32_V2), + "::", + stringify!(Flags) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION32_V2 = _IMAGE_DYNAMIC_RELOCATION32_V2; +pub type PIMAGE_DYNAMIC_RELOCATION32_V2 = *mut _IMAGE_DYNAMIC_RELOCATION32_V2; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DYNAMIC_RELOCATION64_V2 { + pub HeaderSize: DWORD, + pub FixupInfoSize: DWORD, + pub Symbol: ULONGLONG, + pub SymbolGroup: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DYNAMIC_RELOCATION64_V2() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DYNAMIC_RELOCATION64_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DYNAMIC_RELOCATION64_V2>(), + 24usize, + concat!("Size of: ", stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DYNAMIC_RELOCATION64_V2>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixupInfoSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(FixupInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Symbol) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(Symbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolGroup) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(SymbolGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DYNAMIC_RELOCATION64_V2), + "::", + stringify!(Flags) + ) + ); +} +pub type IMAGE_DYNAMIC_RELOCATION64_V2 = _IMAGE_DYNAMIC_RELOCATION64_V2; +pub type PIMAGE_DYNAMIC_RELOCATION64_V2 = *mut _IMAGE_DYNAMIC_RELOCATION64_V2; +pub type IMAGE_DYNAMIC_RELOCATION = IMAGE_DYNAMIC_RELOCATION64; +pub type PIMAGE_DYNAMIC_RELOCATION = PIMAGE_DYNAMIC_RELOCATION64; +pub type IMAGE_DYNAMIC_RELOCATION_V2 = IMAGE_DYNAMIC_RELOCATION64_V2; +pub type PIMAGE_DYNAMIC_RELOCATION_V2 = PIMAGE_DYNAMIC_RELOCATION64_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER { + pub PrologueByteCount: BYTE, +} +#[test] +fn bindgen_test_layout__IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER>(), + 1usize, + concat!( + "Size of: ", + stringify!(_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrologueByteCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(PrologueByteCount) + ) + ); +} +pub type IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER = _IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER; +pub type PIMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER = *mut IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER { + pub EpilogueCount: DWORD, + pub EpilogueByteCount: BYTE, + pub BranchDescriptorElementSize: BYTE, + pub BranchDescriptorCount: WORD, +} +#[test] +fn bindgen_test_layout__IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EpilogueCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(EpilogueCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EpilogueByteCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(EpilogueByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BranchDescriptorElementSize) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(BranchDescriptorElementSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BranchDescriptorCount) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER), + "::", + stringify!(BranchDescriptorCount) + ) + ); +} +pub type IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER = _IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER; +pub type PIMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER = *mut IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION) + ) + ); +} +impl _IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION { + #[inline] + pub fn PageRelativeOffset(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u32) } + } + #[inline] + pub fn set_PageRelativeOffset(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn IndirectCall(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_IndirectCall(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn IATIndex(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 19u8) as u32) } + } + #[inline] + pub fn set_IATIndex(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 19u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PageRelativeOffset: DWORD, + IndirectCall: DWORD, + IATIndex: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let PageRelativeOffset: u32 = unsafe { ::std::mem::transmute(PageRelativeOffset) }; + PageRelativeOffset as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let IndirectCall: u32 = unsafe { ::std::mem::transmute(IndirectCall) }; + IndirectCall as u64 + }); + __bindgen_bitfield_unit.set(13usize, 19u8, { + let IATIndex: u32 = unsafe { ::std::mem::transmute(IATIndex) }; + IATIndex as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION = + _IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION; +pub type PIMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION = + *mut IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION>(), + 2usize, + concat!( + "Size of: ", + stringify!(_IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION) + ) + ); +} +impl _IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION { + #[inline] + pub fn PageRelativeOffset(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u16) } + } + #[inline] + pub fn set_PageRelativeOffset(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn IndirectCall(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_IndirectCall(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn RexWPrefix(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_RexWPrefix(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn CfgCheck(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_CfgCheck(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_Reserved(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PageRelativeOffset: WORD, + IndirectCall: WORD, + RexWPrefix: WORD, + CfgCheck: WORD, + Reserved: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let PageRelativeOffset: u16 = unsafe { ::std::mem::transmute(PageRelativeOffset) }; + PageRelativeOffset as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let IndirectCall: u16 = unsafe { ::std::mem::transmute(IndirectCall) }; + IndirectCall as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let RexWPrefix: u16 = unsafe { ::std::mem::transmute(RexWPrefix) }; + RexWPrefix as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let CfgCheck: u16 = unsafe { ::std::mem::transmute(CfgCheck) }; + CfgCheck as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let Reserved: u16 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION = + _IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION; +pub type PIMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION = + *mut IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION>(), + 2usize, + concat!( + "Size of: ", + stringify!(_IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION) + ) + ); +} +impl _IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION { + #[inline] + pub fn PageRelativeOffset(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u16) } + } + #[inline] + pub fn set_PageRelativeOffset(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn RegisterNumber(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u16) } + } + #[inline] + pub fn set_RegisterNumber(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PageRelativeOffset: WORD, + RegisterNumber: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let PageRelativeOffset: u16 = unsafe { ::std::mem::transmute(PageRelativeOffset) }; + PageRelativeOffset as u64 + }); + __bindgen_bitfield_unit.set(12usize, 4u8, { + let RegisterNumber: u16 = unsafe { ::std::mem::transmute(RegisterNumber) }; + RegisterNumber as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION = _IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION; +pub type PIMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION = + *mut IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_LOAD_CONFIG_DIRECTORY32 { + pub Size: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub GlobalFlagsClear: DWORD, + pub GlobalFlagsSet: DWORD, + pub CriticalSectionDefaultTimeout: DWORD, + pub DeCommitFreeBlockThreshold: DWORD, + pub DeCommitTotalFreeThreshold: DWORD, + pub LockPrefixTable: DWORD, + pub MaximumAllocationSize: DWORD, + pub VirtualMemoryThreshold: DWORD, + pub ProcessHeapFlags: DWORD, + pub ProcessAffinityMask: DWORD, + pub CSDVersion: WORD, + pub DependentLoadFlags: WORD, + pub EditList: DWORD, + pub SecurityCookie: DWORD, + pub SEHandlerTable: DWORD, + pub SEHandlerCount: DWORD, + pub GuardCFCheckFunctionPointer: DWORD, + pub GuardCFDispatchFunctionPointer: DWORD, + pub GuardCFFunctionTable: DWORD, + pub GuardCFFunctionCount: DWORD, + pub GuardFlags: DWORD, + pub CodeIntegrity: IMAGE_LOAD_CONFIG_CODE_INTEGRITY, + pub GuardAddressTakenIatEntryTable: DWORD, + pub GuardAddressTakenIatEntryCount: DWORD, + pub GuardLongJumpTargetTable: DWORD, + pub GuardLongJumpTargetCount: DWORD, + pub DynamicValueRelocTable: DWORD, + pub CHPEMetadataPointer: DWORD, + pub GuardRFFailureRoutine: DWORD, + pub GuardRFFailureRoutineFunctionPointer: DWORD, + pub DynamicValueRelocTableOffset: DWORD, + pub DynamicValueRelocTableSection: WORD, + pub Reserved2: WORD, + pub GuardRFVerifyStackPointerFunctionPointer: DWORD, + pub HotPatchTableOffset: DWORD, + pub Reserved3: DWORD, + pub EnclaveConfigurationPointer: DWORD, + pub VolatileMetadataPointer: DWORD, + pub GuardEHContinuationTable: DWORD, + pub GuardEHContinuationCount: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_LOAD_CONFIG_DIRECTORY32() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LOAD_CONFIG_DIRECTORY32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LOAD_CONFIG_DIRECTORY32>(), + 172usize, + concat!("Size of: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LOAD_CONFIG_DIRECTORY32>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalFlagsClear) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GlobalFlagsClear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalFlagsSet) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GlobalFlagsSet) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalSectionDefaultTimeout) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(CriticalSectionDefaultTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeCommitFreeBlockThreshold) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DeCommitFreeBlockThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeCommitTotalFreeThreshold) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DeCommitTotalFreeThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockPrefixTable) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(LockPrefixTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumAllocationSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(MaximumAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualMemoryThreshold) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(VirtualMemoryThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessHeapFlags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(ProcessHeapFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessAffinityMask) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(ProcessAffinityMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CSDVersion) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(CSDVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentLoadFlags) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DependentLoadFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EditList) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(EditList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityCookie) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(SecurityCookie) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SEHandlerTable) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(SEHandlerTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SEHandlerCount) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(SEHandlerCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFCheckFunctionPointer) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardCFCheckFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardCFDispatchFunctionPointer) as usize - ptr as usize + }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardCFDispatchFunctionPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFFunctionTable) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardCFFunctionTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFFunctionCount) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardCFFunctionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeIntegrity) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(CodeIntegrity) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardAddressTakenIatEntryTable) as usize - ptr as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardAddressTakenIatEntryTable) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardAddressTakenIatEntryCount) as usize - ptr as usize + }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardAddressTakenIatEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardLongJumpTargetTable) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardLongJumpTargetTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardLongJumpTargetCount) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardLongJumpTargetCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicValueRelocTable) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DynamicValueRelocTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CHPEMetadataPointer) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(CHPEMetadataPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardRFFailureRoutine) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardRFFailureRoutine) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardRFFailureRoutineFunctionPointer) as usize + - ptr as usize + }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardRFFailureRoutineFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DynamicValueRelocTableOffset) as usize - ptr as usize + }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DynamicValueRelocTableOffset) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DynamicValueRelocTableSection) as usize - ptr as usize + }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(DynamicValueRelocTableSection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 142usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardRFVerifyStackPointerFunctionPointer) as usize + - ptr as usize + }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardRFVerifyStackPointerFunctionPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HotPatchTableOffset) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(HotPatchTableOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveConfigurationPointer) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(EnclaveConfigurationPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolatileMetadataPointer) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(VolatileMetadataPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardEHContinuationTable) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardEHContinuationTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardEHContinuationCount) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY32), + "::", + stringify!(GuardEHContinuationCount) + ) + ); +} +pub type IMAGE_LOAD_CONFIG_DIRECTORY32 = _IMAGE_LOAD_CONFIG_DIRECTORY32; +pub type PIMAGE_LOAD_CONFIG_DIRECTORY32 = *mut _IMAGE_LOAD_CONFIG_DIRECTORY32; +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_LOAD_CONFIG_DIRECTORY64 { + pub Size: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub GlobalFlagsClear: DWORD, + pub GlobalFlagsSet: DWORD, + pub CriticalSectionDefaultTimeout: DWORD, + pub DeCommitFreeBlockThreshold: ULONGLONG, + pub DeCommitTotalFreeThreshold: ULONGLONG, + pub LockPrefixTable: ULONGLONG, + pub MaximumAllocationSize: ULONGLONG, + pub VirtualMemoryThreshold: ULONGLONG, + pub ProcessAffinityMask: ULONGLONG, + pub ProcessHeapFlags: DWORD, + pub CSDVersion: WORD, + pub DependentLoadFlags: WORD, + pub EditList: ULONGLONG, + pub SecurityCookie: ULONGLONG, + pub SEHandlerTable: ULONGLONG, + pub SEHandlerCount: ULONGLONG, + pub GuardCFCheckFunctionPointer: ULONGLONG, + pub GuardCFDispatchFunctionPointer: ULONGLONG, + pub GuardCFFunctionTable: ULONGLONG, + pub GuardCFFunctionCount: ULONGLONG, + pub GuardFlags: DWORD, + pub CodeIntegrity: IMAGE_LOAD_CONFIG_CODE_INTEGRITY, + pub GuardAddressTakenIatEntryTable: ULONGLONG, + pub GuardAddressTakenIatEntryCount: ULONGLONG, + pub GuardLongJumpTargetTable: ULONGLONG, + pub GuardLongJumpTargetCount: ULONGLONG, + pub DynamicValueRelocTable: ULONGLONG, + pub CHPEMetadataPointer: ULONGLONG, + pub GuardRFFailureRoutine: ULONGLONG, + pub GuardRFFailureRoutineFunctionPointer: ULONGLONG, + pub DynamicValueRelocTableOffset: DWORD, + pub DynamicValueRelocTableSection: WORD, + pub Reserved2: WORD, + pub GuardRFVerifyStackPointerFunctionPointer: ULONGLONG, + pub HotPatchTableOffset: DWORD, + pub Reserved3: DWORD, + pub EnclaveConfigurationPointer: ULONGLONG, + pub VolatileMetadataPointer: ULONGLONG, + pub GuardEHContinuationTable: ULONGLONG, + pub GuardEHContinuationCount: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IMAGE_LOAD_CONFIG_DIRECTORY64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_LOAD_CONFIG_DIRECTORY64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_LOAD_CONFIG_DIRECTORY64>(), + 280usize, + concat!("Size of: ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_LOAD_CONFIG_DIRECTORY64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalFlagsClear) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GlobalFlagsClear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GlobalFlagsSet) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GlobalFlagsSet) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CriticalSectionDefaultTimeout) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(CriticalSectionDefaultTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeCommitFreeBlockThreshold) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DeCommitFreeBlockThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeCommitTotalFreeThreshold) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DeCommitTotalFreeThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockPrefixTable) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(LockPrefixTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumAllocationSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(MaximumAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualMemoryThreshold) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(VirtualMemoryThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessAffinityMask) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(ProcessAffinityMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessHeapFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(ProcessHeapFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CSDVersion) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(CSDVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentLoadFlags) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DependentLoadFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EditList) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(EditList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityCookie) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(SecurityCookie) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SEHandlerTable) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(SEHandlerTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SEHandlerCount) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(SEHandlerCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFCheckFunctionPointer) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardCFCheckFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardCFDispatchFunctionPointer) as usize - ptr as usize + }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardCFDispatchFunctionPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFFunctionTable) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardCFFunctionTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardCFFunctionCount) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardCFFunctionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardFlags) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeIntegrity) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(CodeIntegrity) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardAddressTakenIatEntryTable) as usize - ptr as usize + }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardAddressTakenIatEntryTable) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardAddressTakenIatEntryCount) as usize - ptr as usize + }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardAddressTakenIatEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardLongJumpTargetTable) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardLongJumpTargetTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardLongJumpTargetCount) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardLongJumpTargetCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicValueRelocTable) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DynamicValueRelocTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CHPEMetadataPointer) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(CHPEMetadataPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardRFFailureRoutine) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardRFFailureRoutine) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardRFFailureRoutineFunctionPointer) as usize + - ptr as usize + }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardRFFailureRoutineFunctionPointer) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DynamicValueRelocTableOffset) as usize - ptr as usize + }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DynamicValueRelocTableOffset) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DynamicValueRelocTableSection) as usize - ptr as usize + }, + 228usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(DynamicValueRelocTableSection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 230usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GuardRFVerifyStackPointerFunctionPointer) as usize + - ptr as usize + }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardRFVerifyStackPointerFunctionPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HotPatchTableOffset) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(HotPatchTableOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 244usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveConfigurationPointer) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(EnclaveConfigurationPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolatileMetadataPointer) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(VolatileMetadataPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardEHContinuationTable) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardEHContinuationTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GuardEHContinuationCount) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_LOAD_CONFIG_DIRECTORY64), + "::", + stringify!(GuardEHContinuationCount) + ) + ); +} +pub type IMAGE_LOAD_CONFIG_DIRECTORY64 = _IMAGE_LOAD_CONFIG_DIRECTORY64; +pub type PIMAGE_LOAD_CONFIG_DIRECTORY64 = *mut _IMAGE_LOAD_CONFIG_DIRECTORY64; +pub type IMAGE_LOAD_CONFIG_DIRECTORY = IMAGE_LOAD_CONFIG_DIRECTORY64; +pub type PIMAGE_LOAD_CONFIG_DIRECTORY = PIMAGE_LOAD_CONFIG_DIRECTORY64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_HOT_PATCH_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub SequenceNumber: DWORD, + pub BaseImageList: DWORD, + pub BaseImageCount: DWORD, + pub BufferOffset: DWORD, + pub ExtraPatchSize: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_HOT_PATCH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_HOT_PATCH_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_HOT_PATCH_INFO>(), + 28usize, + concat!("Size of: ", stringify!(_IMAGE_HOT_PATCH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_HOT_PATCH_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_HOT_PATCH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(SequenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseImageList) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(BaseImageList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseImageCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(BaseImageCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(BufferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraPatchSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_INFO), + "::", + stringify!(ExtraPatchSize) + ) + ); +} +pub type IMAGE_HOT_PATCH_INFO = _IMAGE_HOT_PATCH_INFO; +pub type PIMAGE_HOT_PATCH_INFO = *mut _IMAGE_HOT_PATCH_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_HOT_PATCH_BASE { + pub SequenceNumber: DWORD, + pub Flags: DWORD, + pub OriginalTimeDateStamp: DWORD, + pub OriginalCheckSum: DWORD, + pub CodeIntegrityInfo: DWORD, + pub CodeIntegritySize: DWORD, + pub PatchTable: DWORD, + pub BufferOffset: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_HOT_PATCH_BASE() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_HOT_PATCH_BASE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_HOT_PATCH_BASE>(), + 32usize, + concat!("Size of: ", stringify!(_IMAGE_HOT_PATCH_BASE)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_HOT_PATCH_BASE>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_HOT_PATCH_BASE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(SequenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginalTimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(OriginalTimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginalCheckSum) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(OriginalCheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeIntegrityInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(CodeIntegrityInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeIntegritySize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(CodeIntegritySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PatchTable) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(PatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferOffset) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_BASE), + "::", + stringify!(BufferOffset) + ) + ); +} +pub type IMAGE_HOT_PATCH_BASE = _IMAGE_HOT_PATCH_BASE; +pub type PIMAGE_HOT_PATCH_BASE = *mut _IMAGE_HOT_PATCH_BASE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_HOT_PATCH_HASHES { + pub SHA256: [BYTE; 32usize], + pub SHA1: [BYTE; 20usize], +} +#[test] +fn bindgen_test_layout__IMAGE_HOT_PATCH_HASHES() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_HOT_PATCH_HASHES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_HOT_PATCH_HASHES>(), + 52usize, + concat!("Size of: ", stringify!(_IMAGE_HOT_PATCH_HASHES)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_HOT_PATCH_HASHES>(), + 1usize, + concat!("Alignment of ", stringify!(_IMAGE_HOT_PATCH_HASHES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SHA256) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_HASHES), + "::", + stringify!(SHA256) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SHA1) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_HOT_PATCH_HASHES), + "::", + stringify!(SHA1) + ) + ); +} +pub type IMAGE_HOT_PATCH_HASHES = _IMAGE_HOT_PATCH_HASHES; +pub type PIMAGE_HOT_PATCH_HASHES = *mut _IMAGE_HOT_PATCH_HASHES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { + pub FuncStart: DWORD, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_CE_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_CE_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_CE_RUNTIME_FUNCTION_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_CE_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_CE_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_CE_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FuncStart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_CE_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(FuncStart) + ) + ); +} +impl _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { + #[inline] + pub fn PrologLen(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) } + } + #[inline] + pub fn set_PrologLen(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn FuncLen(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 22u8) as u32) } + } + #[inline] + pub fn set_FuncLen(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 22u8, val as u64) + } + } + #[inline] + pub fn ThirtyTwoBit(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u32) } + } + #[inline] + pub fn set_ThirtyTwoBit(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(30usize, 1u8, val as u64) + } + } + #[inline] + pub fn ExceptionFlag(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) } + } + #[inline] + pub fn set_ExceptionFlag(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(31usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PrologLen: DWORD, + FuncLen: DWORD, + ThirtyTwoBit: DWORD, + ExceptionFlag: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let PrologLen: u32 = unsafe { ::std::mem::transmute(PrologLen) }; + PrologLen as u64 + }); + __bindgen_bitfield_unit.set(8usize, 22u8, { + let FuncLen: u32 = unsafe { ::std::mem::transmute(FuncLen) }; + FuncLen as u64 + }); + __bindgen_bitfield_unit.set(30usize, 1u8, { + let ThirtyTwoBit: u32 = unsafe { ::std::mem::transmute(ThirtyTwoBit) }; + ThirtyTwoBit as u64 + }); + __bindgen_bitfield_unit.set(31usize, 1u8, { + let ExceptionFlag: u32 = unsafe { ::std::mem::transmute(ExceptionFlag) }; + ExceptionFlag as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_CE_RUNTIME_FUNCTION_ENTRY = _IMAGE_CE_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_CE_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_CE_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: DWORD, + pub __bindgen_anon_1: _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1 { + pub UnwindData: DWORD, + pub __bindgen_anon_1: _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Flag(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + } + #[inline] + pub fn set_Flag(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn FunctionLength(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 11u8) as u32) } + } + #[inline] + pub fn set_FunctionLength(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 11u8, val as u64) + } + } + #[inline] + pub fn Ret(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 2u8) as u32) } + } + #[inline] + pub fn set_Ret(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 2u8, val as u64) + } + } + #[inline] + pub fn H(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) } + } + #[inline] + pub fn set_H(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reg(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 3u8) as u32) } + } + #[inline] + pub fn set_Reg(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 3u8, val as u64) + } + } + #[inline] + pub fn R(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) } + } + #[inline] + pub fn set_R(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(19usize, 1u8, val as u64) + } + } + #[inline] + pub fn L(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_L(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn C(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_C(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn StackAdjust(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 10u8) as u32) } + } + #[inline] + pub fn set_StackAdjust(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 10u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Flag: DWORD, + FunctionLength: DWORD, + Ret: DWORD, + H: DWORD, + Reg: DWORD, + R: DWORD, + L: DWORD, + C: DWORD, + StackAdjust: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let Flag: u32 = unsafe { ::std::mem::transmute(Flag) }; + Flag as u64 + }); + __bindgen_bitfield_unit.set(2usize, 11u8, { + let FunctionLength: u32 = unsafe { ::std::mem::transmute(FunctionLength) }; + FunctionLength as u64 + }); + __bindgen_bitfield_unit.set(13usize, 2u8, { + let Ret: u32 = unsafe { ::std::mem::transmute(Ret) }; + Ret as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let H: u32 = unsafe { ::std::mem::transmute(H) }; + H as u64 + }); + __bindgen_bitfield_unit.set(16usize, 3u8, { + let Reg: u32 = unsafe { ::std::mem::transmute(Reg) }; + Reg as u64 + }); + __bindgen_bitfield_unit.set(19usize, 1u8, { + let R: u32 = unsafe { ::std::mem::transmute(R) }; + R as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let L: u32 = unsafe { ::std::mem::transmute(L) }; + L as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let C: u32 = unsafe { ::std::mem::transmute(C) }; + C as u64 + }); + __bindgen_bitfield_unit.set(22usize, 10u8, { + let StackAdjust: u32 = unsafe { ::std::mem::transmute(StackAdjust) }; + StackAdjust as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1), + "::", + stringify!(UnwindData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_ARM_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARM_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); +} +pub type IMAGE_ARM_RUNTIME_FUNCTION_ENTRY = _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY; +pub const ARM64_FNPDATA_FLAGS_PdataRefToFullXdata: ARM64_FNPDATA_FLAGS = 0; +pub const ARM64_FNPDATA_FLAGS_PdataPackedUnwindFunction: ARM64_FNPDATA_FLAGS = 1; +pub const ARM64_FNPDATA_FLAGS_PdataPackedUnwindFragment: ARM64_FNPDATA_FLAGS = 2; +pub type ARM64_FNPDATA_FLAGS = ::std::os::raw::c_int; +pub const ARM64_FNPDATA_CR_PdataCrUnchained: ARM64_FNPDATA_CR = 0; +pub const ARM64_FNPDATA_CR_PdataCrUnchainedSavedLr: ARM64_FNPDATA_CR = 1; +pub const ARM64_FNPDATA_CR_PdataCrChainedWithPac: ARM64_FNPDATA_CR = 2; +pub const ARM64_FNPDATA_CR_PdataCrChained: ARM64_FNPDATA_CR = 3; +pub type ARM64_FNPDATA_CR = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: DWORD, + pub __bindgen_anon_1: _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1 { + pub UnwindData: DWORD, + pub __bindgen_anon_1: _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Flag(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) } + } + #[inline] + pub fn set_Flag(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn FunctionLength(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 11u8) as u32) } + } + #[inline] + pub fn set_FunctionLength(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 11u8, val as u64) + } + } + #[inline] + pub fn RegF(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 3u8) as u32) } + } + #[inline] + pub fn set_RegF(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 3u8, val as u64) + } + } + #[inline] + pub fn RegI(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u32) } + } + #[inline] + pub fn set_RegI(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 4u8, val as u64) + } + } + #[inline] + pub fn H(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_H(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn CR(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 2u8) as u32) } + } + #[inline] + pub fn set_CR(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 2u8, val as u64) + } + } + #[inline] + pub fn FrameSize(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 9u8) as u32) } + } + #[inline] + pub fn set_FrameSize(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(23usize, 9u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Flag: DWORD, + FunctionLength: DWORD, + RegF: DWORD, + RegI: DWORD, + H: DWORD, + CR: DWORD, + FrameSize: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let Flag: u32 = unsafe { ::std::mem::transmute(Flag) }; + Flag as u64 + }); + __bindgen_bitfield_unit.set(2usize, 11u8, { + let FunctionLength: u32 = unsafe { ::std::mem::transmute(FunctionLength) }; + FunctionLength as u64 + }); + __bindgen_bitfield_unit.set(13usize, 3u8, { + let RegF: u32 = unsafe { ::std::mem::transmute(RegF) }; + RegF as u64 + }); + __bindgen_bitfield_unit.set(16usize, 4u8, { + let RegI: u32 = unsafe { ::std::mem::transmute(RegI) }; + RegI as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let H: u32 = unsafe { ::std::mem::transmute(H) }; + H as u64 + }); + __bindgen_bitfield_unit.set(21usize, 2u8, { + let CR: u32 = unsafe { ::std::mem::transmute(CR) }; + CR as u64 + }); + __bindgen_bitfield_unit.set(23usize, 9u8, { + let FrameSize: u32 = unsafe { ::std::mem::transmute(FrameSize) }; + FrameSize as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1), + "::", + stringify!(UnwindData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); +} +pub type IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub union IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA { + pub HeaderData: DWORD, + pub __bindgen_anon_1: IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1) + ) + ); +} +impl IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA__bindgen_ty_1 { + #[inline] + pub fn FunctionLength(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 18u8) as u32) } + } + #[inline] + pub fn set_FunctionLength(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 18u8, val as u64) + } + } + #[inline] + pub fn Version(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 2u8) as u32) } + } + #[inline] + pub fn set_Version(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(18usize, 2u8, val as u64) + } + } + #[inline] + pub fn ExceptionDataPresent(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) } + } + #[inline] + pub fn set_ExceptionDataPresent(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(20usize, 1u8, val as u64) + } + } + #[inline] + pub fn EpilogInHeader(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) } + } + #[inline] + pub fn set_EpilogInHeader(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(21usize, 1u8, val as u64) + } + } + #[inline] + pub fn EpilogCount(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 5u8) as u32) } + } + #[inline] + pub fn set_EpilogCount(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 5u8, val as u64) + } + } + #[inline] + pub fn CodeWords(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(27usize, 5u8) as u32) } + } + #[inline] + pub fn set_CodeWords(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(27usize, 5u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + FunctionLength: DWORD, + Version: DWORD, + ExceptionDataPresent: DWORD, + EpilogInHeader: DWORD, + EpilogCount: DWORD, + CodeWords: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 18u8, { + let FunctionLength: u32 = unsafe { ::std::mem::transmute(FunctionLength) }; + FunctionLength as u64 + }); + __bindgen_bitfield_unit.set(18usize, 2u8, { + let Version: u32 = unsafe { ::std::mem::transmute(Version) }; + Version as u64 + }); + __bindgen_bitfield_unit.set(20usize, 1u8, { + let ExceptionDataPresent: u32 = unsafe { ::std::mem::transmute(ExceptionDataPresent) }; + ExceptionDataPresent as u64 + }); + __bindgen_bitfield_unit.set(21usize, 1u8, { + let EpilogInHeader: u32 = unsafe { ::std::mem::transmute(EpilogInHeader) }; + EpilogInHeader as u64 + }); + __bindgen_bitfield_unit.set(22usize, 5u8, { + let EpilogCount: u32 = unsafe { ::std::mem::transmute(EpilogCount) }; + EpilogCount as u64 + }); + __bindgen_bitfield_unit.set(27usize, 5u8, { + let CodeWords: u32 = unsafe { ::std::mem::transmute(CodeWords) }; + CodeWords as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA), + "::", + stringify!(HeaderData) + ) + ); +} +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: ULONGLONG, + pub EndAddress: ULONGLONG, + pub ExceptionHandler: ULONGLONG, + pub HandlerData: ULONGLONG, + pub PrologEndAddress: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY>(), + 40usize, + concat!( + "Size of: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionHandler) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(ExceptionHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(HandlerData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrologEndAddress) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(PrologEndAddress) + ) + ); +} +pub type IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub ExceptionHandler: DWORD, + pub HandlerData: DWORD, + pub PrologEndAddress: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY>(), + 20usize, + concat!("Size of: ", stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(EndAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionHandler) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(ExceptionHandler) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandlerData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(HandlerData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrologEndAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(PrologEndAddress) + ) + ); +} +pub type IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_RUNTIME_FUNCTION_ENTRY { + pub BeginAddress: DWORD, + pub EndAddress: DWORD, + pub __bindgen_anon_1: _IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1 { + pub UnwindInfoAddress: DWORD, + pub UnwindData: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindInfoAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1), + "::", + stringify!(UnwindInfoAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY__bindgen_ty_1), + "::", + stringify!(UnwindData) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_RUNTIME_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_RUNTIME_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_RUNTIME_FUNCTION_ENTRY>(), + 12usize, + concat!("Size of: ", stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_RUNTIME_FUNCTION_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(BeginAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_RUNTIME_FUNCTION_ENTRY), + "::", + stringify!(EndAddress) + ) + ); +} +pub type _PIMAGE_RUNTIME_FUNCTION_ENTRY = *mut _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type IMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY; +pub type IMAGE_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type PIMAGE_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ENCLAVE_CONFIG32 { + pub Size: DWORD, + pub MinimumRequiredConfigSize: DWORD, + pub PolicyFlags: DWORD, + pub NumberOfImports: DWORD, + pub ImportList: DWORD, + pub ImportEntrySize: DWORD, + pub FamilyID: [BYTE; 16usize], + pub ImageID: [BYTE; 16usize], + pub ImageVersion: DWORD, + pub SecurityVersion: DWORD, + pub EnclaveSize: DWORD, + pub NumberOfThreads: DWORD, + pub EnclaveFlags: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ENCLAVE_CONFIG32() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ENCLAVE_CONFIG32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ENCLAVE_CONFIG32>(), + 76usize, + concat!("Size of: ", stringify!(_IMAGE_ENCLAVE_CONFIG32)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ENCLAVE_CONFIG32>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ENCLAVE_CONFIG32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumRequiredConfigSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(MinimumRequiredConfigSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(PolicyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfImports) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(NumberOfImports) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(ImportList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportEntrySize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(ImportEntrySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FamilyID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(FamilyID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageID) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(ImageID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(ImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityVersion) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(SecurityVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(EnclaveSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfThreads) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(NumberOfThreads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG32), + "::", + stringify!(EnclaveFlags) + ) + ); +} +pub type IMAGE_ENCLAVE_CONFIG32 = _IMAGE_ENCLAVE_CONFIG32; +pub type PIMAGE_ENCLAVE_CONFIG32 = *mut _IMAGE_ENCLAVE_CONFIG32; +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ENCLAVE_CONFIG64 { + pub Size: DWORD, + pub MinimumRequiredConfigSize: DWORD, + pub PolicyFlags: DWORD, + pub NumberOfImports: DWORD, + pub ImportList: DWORD, + pub ImportEntrySize: DWORD, + pub FamilyID: [BYTE; 16usize], + pub ImageID: [BYTE; 16usize], + pub ImageVersion: DWORD, + pub SecurityVersion: DWORD, + pub EnclaveSize: ULONGLONG, + pub NumberOfThreads: DWORD, + pub EnclaveFlags: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ENCLAVE_CONFIG64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ENCLAVE_CONFIG64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ENCLAVE_CONFIG64>(), + 80usize, + concat!("Size of: ", stringify!(_IMAGE_ENCLAVE_CONFIG64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ENCLAVE_CONFIG64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ENCLAVE_CONFIG64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumRequiredConfigSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(MinimumRequiredConfigSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(PolicyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfImports) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(NumberOfImports) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(ImportList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportEntrySize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(ImportEntrySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FamilyID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(FamilyID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageID) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(ImageID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(ImageVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityVersion) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(SecurityVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(EnclaveSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfThreads) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(NumberOfThreads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnclaveFlags) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_CONFIG64), + "::", + stringify!(EnclaveFlags) + ) + ); +} +pub type IMAGE_ENCLAVE_CONFIG64 = _IMAGE_ENCLAVE_CONFIG64; +pub type PIMAGE_ENCLAVE_CONFIG64 = *mut _IMAGE_ENCLAVE_CONFIG64; +pub type IMAGE_ENCLAVE_CONFIG = IMAGE_ENCLAVE_CONFIG64; +pub type PIMAGE_ENCLAVE_CONFIG = PIMAGE_ENCLAVE_CONFIG64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_ENCLAVE_IMPORT { + pub MatchType: DWORD, + pub MinimumSecurityVersion: DWORD, + pub UniqueOrAuthorID: [BYTE; 32usize], + pub FamilyID: [BYTE; 16usize], + pub ImageID: [BYTE; 16usize], + pub ImportName: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_ENCLAVE_IMPORT() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_ENCLAVE_IMPORT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_ENCLAVE_IMPORT>(), + 80usize, + concat!("Size of: ", stringify!(_IMAGE_ENCLAVE_IMPORT)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_ENCLAVE_IMPORT>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_ENCLAVE_IMPORT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MatchType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(MatchType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumSecurityVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(MinimumSecurityVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UniqueOrAuthorID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(UniqueOrAuthorID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FamilyID) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(FamilyID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageID) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(ImageID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(ImportName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_ENCLAVE_IMPORT), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_ENCLAVE_IMPORT = _IMAGE_ENCLAVE_IMPORT; +pub type PIMAGE_ENCLAVE_IMPORT = *mut _IMAGE_ENCLAVE_IMPORT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DEBUG_DIRECTORY { + pub Characteristics: DWORD, + pub TimeDateStamp: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub Type: DWORD, + pub SizeOfData: DWORD, + pub AddressOfRawData: DWORD, + pub PointerToRawData: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_DEBUG_DIRECTORY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DEBUG_DIRECTORY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DEBUG_DIRECTORY>(), + 28usize, + concat!("Size of: ", stringify!(_IMAGE_DEBUG_DIRECTORY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DEBUG_DIRECTORY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DEBUG_DIRECTORY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(SizeOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfRawData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(AddressOfRawData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToRawData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_DIRECTORY), + "::", + stringify!(PointerToRawData) + ) + ); +} +pub type IMAGE_DEBUG_DIRECTORY = _IMAGE_DEBUG_DIRECTORY; +pub type PIMAGE_DEBUG_DIRECTORY = *mut _IMAGE_DEBUG_DIRECTORY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_COFF_SYMBOLS_HEADER { + pub NumberOfSymbols: DWORD, + pub LvaToFirstSymbol: DWORD, + pub NumberOfLinenumbers: DWORD, + pub LvaToFirstLinenumber: DWORD, + pub RvaToFirstByteOfCode: DWORD, + pub RvaToLastByteOfCode: DWORD, + pub RvaToFirstByteOfData: DWORD, + pub RvaToLastByteOfData: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_COFF_SYMBOLS_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_COFF_SYMBOLS_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_COFF_SYMBOLS_HEADER>(), + 32usize, + concat!("Size of: ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_COFF_SYMBOLS_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_COFF_SYMBOLS_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSymbols) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(NumberOfSymbols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LvaToFirstSymbol) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(LvaToFirstSymbol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinenumbers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(NumberOfLinenumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LvaToFirstLinenumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(LvaToFirstLinenumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RvaToFirstByteOfCode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(RvaToFirstByteOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RvaToLastByteOfCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(RvaToLastByteOfCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RvaToFirstByteOfData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(RvaToFirstByteOfData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RvaToLastByteOfData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_COFF_SYMBOLS_HEADER), + "::", + stringify!(RvaToLastByteOfData) + ) + ); +} +pub type IMAGE_COFF_SYMBOLS_HEADER = _IMAGE_COFF_SYMBOLS_HEADER; +pub type PIMAGE_COFF_SYMBOLS_HEADER = *mut _IMAGE_COFF_SYMBOLS_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FPO_DATA { + pub ulOffStart: DWORD, + pub cbProcSize: DWORD, + pub cdwLocals: DWORD, + pub cdwParams: WORD, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout__FPO_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_FPO_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FPO_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_FPO_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_FPO_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_FPO_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulOffStart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FPO_DATA), + "::", + stringify!(ulOffStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbProcSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FPO_DATA), + "::", + stringify!(cbProcSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cdwLocals) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FPO_DATA), + "::", + stringify!(cdwLocals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cdwParams) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FPO_DATA), + "::", + stringify!(cdwParams) + ) + ); +} +impl _FPO_DATA { + #[inline] + pub fn cbProlog(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u16) } + } + #[inline] + pub fn set_cbProlog(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn cbRegs(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 3u8) as u16) } + } + #[inline] + pub fn set_cbRegs(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 3u8, val as u64) + } + } + #[inline] + pub fn fHasSEH(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u16) } + } + #[inline] + pub fn set_fHasSEH(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn fUseBP(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_fUseBP(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_reserved(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn cbFrame(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 2u8) as u16) } + } + #[inline] + pub fn set_cbFrame(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 2u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + cbProlog: WORD, + cbRegs: WORD, + fHasSEH: WORD, + fUseBP: WORD, + reserved: WORD, + cbFrame: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let cbProlog: u16 = unsafe { ::std::mem::transmute(cbProlog) }; + cbProlog as u64 + }); + __bindgen_bitfield_unit.set(8usize, 3u8, { + let cbRegs: u16 = unsafe { ::std::mem::transmute(cbRegs) }; + cbRegs as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let fHasSEH: u16 = unsafe { ::std::mem::transmute(fHasSEH) }; + fHasSEH as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let fUseBP: u16 = unsafe { ::std::mem::transmute(fUseBP) }; + fUseBP as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let reserved: u16 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(14usize, 2u8, { + let cbFrame: u16 = unsafe { ::std::mem::transmute(cbFrame) }; + cbFrame as u64 + }); + __bindgen_bitfield_unit + } +} +pub type FPO_DATA = _FPO_DATA; +pub type PFPO_DATA = *mut _FPO_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_DEBUG_MISC { + pub DataType: DWORD, + pub Length: DWORD, + pub Unicode: BOOLEAN, + pub Reserved: [BYTE; 3usize], + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__IMAGE_DEBUG_MISC() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_DEBUG_MISC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_DEBUG_MISC>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_DEBUG_MISC)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_DEBUG_MISC>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_DEBUG_MISC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(DataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unicode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(Unicode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_DEBUG_MISC), + "::", + stringify!(Data) + ) + ); +} +pub type IMAGE_DEBUG_MISC = _IMAGE_DEBUG_MISC; +pub type PIMAGE_DEBUG_MISC = *mut _IMAGE_DEBUG_MISC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_FUNCTION_ENTRY { + pub StartingAddress: DWORD, + pub EndingAddress: DWORD, + pub EndOfPrologue: DWORD, +} +#[test] +fn bindgen_test_layout__IMAGE_FUNCTION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_FUNCTION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_FUNCTION_ENTRY>(), + 12usize, + concat!("Size of: ", stringify!(_IMAGE_FUNCTION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_FUNCTION_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_FUNCTION_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY), + "::", + stringify!(StartingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndingAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY), + "::", + stringify!(EndingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfPrologue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY), + "::", + stringify!(EndOfPrologue) + ) + ); +} +pub type IMAGE_FUNCTION_ENTRY = _IMAGE_FUNCTION_ENTRY; +pub type PIMAGE_FUNCTION_ENTRY = *mut _IMAGE_FUNCTION_ENTRY; +#[repr(C, packed(4))] +#[derive(Copy, Clone)] +pub struct _IMAGE_FUNCTION_ENTRY64 { + pub StartingAddress: ULONGLONG, + pub EndingAddress: ULONGLONG, + pub __bindgen_anon_1: _IMAGE_FUNCTION_ENTRY64__bindgen_ty_1, +} +#[repr(C, packed(4))] +#[derive(Copy, Clone)] +pub union _IMAGE_FUNCTION_ENTRY64__bindgen_ty_1 { + pub EndOfPrologue: ULONGLONG, + pub UnwindInfoAddress: ULONGLONG, +} +#[test] +fn bindgen_test_layout__IMAGE_FUNCTION_ENTRY64__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfPrologue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1), + "::", + stringify!(EndOfPrologue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnwindInfoAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY64__bindgen_ty_1), + "::", + stringify!(UnwindInfoAddress) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_FUNCTION_ENTRY64() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_FUNCTION_ENTRY64> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_FUNCTION_ENTRY64>(), + 24usize, + concat!("Size of: ", stringify!(_IMAGE_FUNCTION_ENTRY64)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_FUNCTION_ENTRY64>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_FUNCTION_ENTRY64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY64), + "::", + stringify!(StartingAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndingAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_FUNCTION_ENTRY64), + "::", + stringify!(EndingAddress) + ) + ); +} +pub type IMAGE_FUNCTION_ENTRY64 = _IMAGE_FUNCTION_ENTRY64; +pub type PIMAGE_FUNCTION_ENTRY64 = *mut _IMAGE_FUNCTION_ENTRY64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IMAGE_SEPARATE_DEBUG_HEADER { + pub Signature: WORD, + pub Flags: WORD, + pub Machine: WORD, + pub Characteristics: WORD, + pub TimeDateStamp: DWORD, + pub CheckSum: DWORD, + pub ImageBase: DWORD, + pub SizeOfImage: DWORD, + pub NumberOfSections: DWORD, + pub ExportedNamesSize: DWORD, + pub DebugDirectorySize: DWORD, + pub SectionAlignment: DWORD, + pub Reserved: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__IMAGE_SEPARATE_DEBUG_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_SEPARATE_DEBUG_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_SEPARATE_DEBUG_HEADER>(), + 48usize, + concat!("Size of: ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_SEPARATE_DEBUG_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_IMAGE_SEPARATE_DEBUG_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(ImageBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(SizeOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfSections) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(NumberOfSections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExportedNamesSize) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(ExportedNamesSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugDirectorySize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(DebugDirectorySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionAlignment) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(SectionAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_SEPARATE_DEBUG_HEADER), + "::", + stringify!(Reserved) + ) + ); +} +pub type IMAGE_SEPARATE_DEBUG_HEADER = _IMAGE_SEPARATE_DEBUG_HEADER; +pub type PIMAGE_SEPARATE_DEBUG_HEADER = *mut _IMAGE_SEPARATE_DEBUG_HEADER; +#[repr(C, packed(4))] +#[derive(Debug, Copy, Clone)] +pub struct _NON_PAGED_DEBUG_INFO { + pub Signature: WORD, + pub Flags: WORD, + pub Size: DWORD, + pub Machine: WORD, + pub Characteristics: WORD, + pub TimeDateStamp: DWORD, + pub CheckSum: DWORD, + pub SizeOfImage: DWORD, + pub ImageBase: ULONGLONG, +} +#[test] +fn bindgen_test_layout__NON_PAGED_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NON_PAGED_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NON_PAGED_DEBUG_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_NON_PAGED_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_NON_PAGED_DEBUG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_NON_PAGED_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Characteristics) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(Characteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(CheckSum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(SizeOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBase) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NON_PAGED_DEBUG_INFO), + "::", + stringify!(ImageBase) + ) + ); +} +pub type NON_PAGED_DEBUG_INFO = _NON_PAGED_DEBUG_INFO; +pub type PNON_PAGED_DEBUG_INFO = *mut _NON_PAGED_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ImageArchitectureHeader { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub FirstEntryRVA: DWORD, +} +#[test] +fn bindgen_test_layout__ImageArchitectureHeader() { + const UNINIT: ::std::mem::MaybeUninit<_ImageArchitectureHeader> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ImageArchitectureHeader>(), + 8usize, + concat!("Size of: ", stringify!(_ImageArchitectureHeader)) + ); + assert_eq!( + ::std::mem::align_of::<_ImageArchitectureHeader>(), + 4usize, + concat!("Alignment of ", stringify!(_ImageArchitectureHeader)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstEntryRVA) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ImageArchitectureHeader), + "::", + stringify!(FirstEntryRVA) + ) + ); +} +impl _ImageArchitectureHeader { + #[inline] + pub fn AmaskValue(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_AmaskValue(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn AmaskShift(&self) -> ::std::os::raw::c_uint { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) } + } + #[inline] + pub fn set_AmaskShift(&mut self, val: ::std::os::raw::c_uint) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 8u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AmaskValue: ::std::os::raw::c_uint, + AmaskShift: ::std::os::raw::c_uint, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AmaskValue: u32 = unsafe { ::std::mem::transmute(AmaskValue) }; + AmaskValue as u64 + }); + __bindgen_bitfield_unit.set(8usize, 8u8, { + let AmaskShift: u32 = unsafe { ::std::mem::transmute(AmaskShift) }; + AmaskShift as u64 + }); + __bindgen_bitfield_unit + } +} +pub type IMAGE_ARCHITECTURE_HEADER = _ImageArchitectureHeader; +pub type PIMAGE_ARCHITECTURE_HEADER = *mut _ImageArchitectureHeader; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ImageArchitectureEntry { + pub FixupInstRVA: DWORD, + pub NewInst: DWORD, +} +#[test] +fn bindgen_test_layout__ImageArchitectureEntry() { + const UNINIT: ::std::mem::MaybeUninit<_ImageArchitectureEntry> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ImageArchitectureEntry>(), + 8usize, + concat!("Size of: ", stringify!(_ImageArchitectureEntry)) + ); + assert_eq!( + ::std::mem::align_of::<_ImageArchitectureEntry>(), + 4usize, + concat!("Alignment of ", stringify!(_ImageArchitectureEntry)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixupInstRVA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ImageArchitectureEntry), + "::", + stringify!(FixupInstRVA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewInst) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ImageArchitectureEntry), + "::", + stringify!(NewInst) + ) + ); +} +pub type IMAGE_ARCHITECTURE_ENTRY = _ImageArchitectureEntry; +pub type PIMAGE_ARCHITECTURE_ENTRY = *mut _ImageArchitectureEntry; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct IMPORT_OBJECT_HEADER { + pub Sig1: WORD, + pub Sig2: WORD, + pub Version: WORD, + pub Machine: WORD, + pub TimeDateStamp: DWORD, + pub SizeOfData: DWORD, + pub __bindgen_anon_1: IMPORT_OBJECT_HEADER__bindgen_ty_1, + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union IMPORT_OBJECT_HEADER__bindgen_ty_1 { + pub Ordinal: WORD, + pub Hint: WORD, +} +#[test] +fn bindgen_test_layout_IMPORT_OBJECT_HEADER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!("Size of: ", stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ordinal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1), + "::", + stringify!(Ordinal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER__bindgen_ty_1), + "::", + stringify!(Hint) + ) + ); +} +#[test] +fn bindgen_test_layout_IMPORT_OBJECT_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(IMPORT_OBJECT_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(IMPORT_OBJECT_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(Sig1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sig2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(Sig2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Machine) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(Machine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeDateStamp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(TimeDateStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(IMPORT_OBJECT_HEADER), + "::", + stringify!(SizeOfData) + ) + ); +} +impl IMPORT_OBJECT_HEADER { + #[inline] + pub fn Type(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u16) } + } + #[inline] + pub fn set_Type(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn NameType(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 3u8) as u16) } + } + #[inline] + pub fn set_NameType(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 3u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> WORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 11u8) as u16) } + } + #[inline] + pub fn set_Reserved(&mut self, val: WORD) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 11u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Type: WORD, + NameType: WORD, + Reserved: WORD, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let Type: u16 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(2usize, 3u8, { + let NameType: u16 = unsafe { ::std::mem::transmute(NameType) }; + NameType as u64 + }); + __bindgen_bitfield_unit.set(5usize, 11u8, { + let Reserved: u16 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub const IMPORT_OBJECT_TYPE_IMPORT_OBJECT_CODE: IMPORT_OBJECT_TYPE = 0; +pub const IMPORT_OBJECT_TYPE_IMPORT_OBJECT_DATA: IMPORT_OBJECT_TYPE = 1; +pub const IMPORT_OBJECT_TYPE_IMPORT_OBJECT_CONST: IMPORT_OBJECT_TYPE = 2; +pub type IMPORT_OBJECT_TYPE = ::std::os::raw::c_int; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_ORDINAL: IMPORT_OBJECT_NAME_TYPE = 0; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_NAME: IMPORT_OBJECT_NAME_TYPE = 1; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_NAME_NO_PREFIX: IMPORT_OBJECT_NAME_TYPE = 2; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_NAME_UNDECORATE: IMPORT_OBJECT_NAME_TYPE = 3; +pub const IMPORT_OBJECT_NAME_TYPE_IMPORT_OBJECT_NAME_EXPORTAS: IMPORT_OBJECT_NAME_TYPE = 4; +pub type IMPORT_OBJECT_NAME_TYPE = ::std::os::raw::c_int; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_ILONLY: ReplacesCorHdrNumericDefines = 1; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_32BITREQUIRED: ReplacesCorHdrNumericDefines = + 2; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_IL_LIBRARY: ReplacesCorHdrNumericDefines = 4; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_STRONGNAMESIGNED: + ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_NATIVE_ENTRYPOINT: + ReplacesCorHdrNumericDefines = 16; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_TRACKDEBUGDATA: ReplacesCorHdrNumericDefines = + 65536; +pub const ReplacesCorHdrNumericDefines_COMIMAGE_FLAGS_32BITPREFERRED: ReplacesCorHdrNumericDefines = + 131072; +pub const ReplacesCorHdrNumericDefines_COR_VERSION_MAJOR_V2: ReplacesCorHdrNumericDefines = 2; +pub const ReplacesCorHdrNumericDefines_COR_VERSION_MAJOR: ReplacesCorHdrNumericDefines = 2; +pub const ReplacesCorHdrNumericDefines_COR_VERSION_MINOR: ReplacesCorHdrNumericDefines = 5; +pub const ReplacesCorHdrNumericDefines_COR_DELETED_NAME_LENGTH: ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_COR_VTABLEGAP_NAME_LENGTH: ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_NATIVE_TYPE_MAX_CB: ReplacesCorHdrNumericDefines = 1; +pub const ReplacesCorHdrNumericDefines_COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE: + ReplacesCorHdrNumericDefines = 255; +pub const ReplacesCorHdrNumericDefines_IMAGE_COR_MIH_METHODRVA: ReplacesCorHdrNumericDefines = 1; +pub const ReplacesCorHdrNumericDefines_IMAGE_COR_MIH_EHRVA: ReplacesCorHdrNumericDefines = 2; +pub const ReplacesCorHdrNumericDefines_IMAGE_COR_MIH_BASICBLOCK: ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_32BIT: ReplacesCorHdrNumericDefines = 1; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_64BIT: ReplacesCorHdrNumericDefines = 2; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_FROM_UNMANAGED: ReplacesCorHdrNumericDefines = 4; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN: + ReplacesCorHdrNumericDefines = 8; +pub const ReplacesCorHdrNumericDefines_COR_VTABLE_CALL_MOST_DERIVED: ReplacesCorHdrNumericDefines = + 16; +pub const ReplacesCorHdrNumericDefines_IMAGE_COR_EATJ_THUNK_SIZE: ReplacesCorHdrNumericDefines = 32; +pub const ReplacesCorHdrNumericDefines_MAX_CLASS_NAME: ReplacesCorHdrNumericDefines = 1024; +pub const ReplacesCorHdrNumericDefines_MAX_PACKAGE_NAME: ReplacesCorHdrNumericDefines = 1024; +pub type ReplacesCorHdrNumericDefines = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct IMAGE_COR20_HEADER { + pub cb: DWORD, + pub MajorRuntimeVersion: WORD, + pub MinorRuntimeVersion: WORD, + pub MetaData: IMAGE_DATA_DIRECTORY, + pub Flags: DWORD, + pub __bindgen_anon_1: IMAGE_COR20_HEADER__bindgen_ty_1, + pub Resources: IMAGE_DATA_DIRECTORY, + pub StrongNameSignature: IMAGE_DATA_DIRECTORY, + pub CodeManagerTable: IMAGE_DATA_DIRECTORY, + pub VTableFixups: IMAGE_DATA_DIRECTORY, + pub ExportAddressTableJumps: IMAGE_DATA_DIRECTORY, + pub ManagedNativeHeader: IMAGE_DATA_DIRECTORY, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union IMAGE_COR20_HEADER__bindgen_ty_1 { + pub EntryPointToken: DWORD, + pub EntryPointRVA: DWORD, +} +#[test] +fn bindgen_test_layout_IMAGE_COR20_HEADER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(IMAGE_COR20_HEADER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(IMAGE_COR20_HEADER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryPointToken) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER__bindgen_ty_1), + "::", + stringify!(EntryPointToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryPointRVA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER__bindgen_ty_1), + "::", + stringify!(EntryPointRVA) + ) + ); +} +#[test] +fn bindgen_test_layout_IMAGE_COR20_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IMAGE_COR20_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(IMAGE_COR20_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorRuntimeVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(MajorRuntimeVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorRuntimeVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(MinorRuntimeVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(MetaData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resources) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(Resources) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StrongNameSignature) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(StrongNameSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeManagerTable) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(CodeManagerTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VTableFixups) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(VTableFixups) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExportAddressTableJumps) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(ExportAddressTableJumps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManagedNativeHeader) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMAGE_COR20_HEADER), + "::", + stringify!(ManagedNativeHeader) + ) + ); +} +pub type PIMAGE_COR20_HEADER = *mut IMAGE_COR20_HEADER; +extern "C" { + pub fn RtlCaptureStackBackTrace( + FramesToSkip: DWORD, + FramesToCapture: DWORD, + BackTrace: *mut PVOID, + BackTraceHash: PDWORD, + ) -> WORD; +} +extern "C" { + pub fn RtlCaptureContext(ContextRecord: PCONTEXT); +} +extern "C" { + pub fn RtlCaptureContext2(ContextRecord: PCONTEXT); +} +extern "C" { + pub fn RtlUnwind( + TargetFrame: PVOID, + TargetIp: PVOID, + ExceptionRecord: PEXCEPTION_RECORD, + ReturnValue: PVOID, + ); +} +extern "C" { + pub fn RtlAddFunctionTable( + FunctionTable: PRUNTIME_FUNCTION, + EntryCount: DWORD, + BaseAddress: DWORD64, + ) -> BOOLEAN; +} +extern "C" { + pub fn RtlDeleteFunctionTable(FunctionTable: PRUNTIME_FUNCTION) -> BOOLEAN; +} +extern "C" { + pub fn RtlInstallFunctionTableCallback( + TableIdentifier: DWORD64, + BaseAddress: DWORD64, + Length: DWORD, + Callback: PGET_RUNTIME_FUNCTION_CALLBACK, + Context: PVOID, + OutOfProcessCallbackDll: PCWSTR, + ) -> BOOLEAN; +} +extern "C" { + pub fn RtlAddGrowableFunctionTable( + DynamicTable: *mut PVOID, + FunctionTable: PRUNTIME_FUNCTION, + EntryCount: DWORD, + MaximumEntryCount: DWORD, + RangeBase: ULONG_PTR, + RangeEnd: ULONG_PTR, + ) -> DWORD; +} +extern "C" { + pub fn RtlGrowFunctionTable(DynamicTable: PVOID, NewEntryCount: DWORD); +} +extern "C" { + pub fn RtlDeleteGrowableFunctionTable(DynamicTable: PVOID); +} +extern "C" { + pub fn RtlLookupFunctionEntry( + ControlPc: DWORD64, + ImageBase: PDWORD64, + HistoryTable: PUNWIND_HISTORY_TABLE, + ) -> PRUNTIME_FUNCTION; +} +extern "C" { + pub fn RtlRestoreContext(ContextRecord: PCONTEXT, ExceptionRecord: *mut _EXCEPTION_RECORD); +} +extern "C" { + pub fn RtlUnwindEx( + TargetFrame: PVOID, + TargetIp: PVOID, + ExceptionRecord: PEXCEPTION_RECORD, + ReturnValue: PVOID, + ContextRecord: PCONTEXT, + HistoryTable: PUNWIND_HISTORY_TABLE, + ); +} +extern "C" { + pub fn RtlVirtualUnwind( + HandlerType: DWORD, + ImageBase: DWORD64, + ControlPc: DWORD64, + FunctionEntry: PRUNTIME_FUNCTION, + ContextRecord: PCONTEXT, + HandlerData: *mut PVOID, + EstablisherFrame: PDWORD64, + ContextPointers: PKNONVOLATILE_CONTEXT_POINTERS, + ) -> PEXCEPTION_ROUTINE; +} +extern "C" { + pub fn RtlRaiseException(ExceptionRecord: PEXCEPTION_RECORD); +} +extern "C" { + pub fn RtlPcToFileHeader(PcValue: PVOID, BaseOfImage: *mut PVOID) -> PVOID; +} +extern "C" { + pub fn RtlCompareMemory( + Source1: *const ::std::os::raw::c_void, + Source2: *const ::std::os::raw::c_void, + Length: SIZE_T, + ) -> SIZE_T; +} +#[repr(C)] +#[repr(align(16))] +#[derive(Debug, Copy, Clone)] +pub struct _SLIST_ENTRY { + pub Next: *mut _SLIST_ENTRY, +} +#[test] +fn bindgen_test_layout__SLIST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_SLIST_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SLIST_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_SLIST_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_SLIST_ENTRY>(), + 16usize, + concat!("Alignment of ", stringify!(_SLIST_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SLIST_ENTRY), + "::", + stringify!(Next) + ) + ); +} +pub type SLIST_ENTRY = _SLIST_ENTRY; +pub type PSLIST_ENTRY = *mut _SLIST_ENTRY; +#[repr(C)] +#[repr(align(16))] +#[derive(Copy, Clone)] +pub union _SLIST_HEADER { + pub __bindgen_anon_1: _SLIST_HEADER__bindgen_ty_1, + pub HeaderX64: _SLIST_HEADER__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SLIST_HEADER__bindgen_ty_1 { + pub Alignment: ULONGLONG, + pub Region: ULONGLONG, +} +#[test] +fn bindgen_test_layout__SLIST_HEADER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SLIST_HEADER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SLIST_HEADER__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_SLIST_HEADER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SLIST_HEADER__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_SLIST_HEADER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SLIST_HEADER__bindgen_ty_1), + "::", + stringify!(Alignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Region) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SLIST_HEADER__bindgen_ty_1), + "::", + stringify!(Region) + ) + ); +} +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct _SLIST_HEADER__bindgen_ty_2 { + pub _bitfield_align_1: [u64; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>, +} +#[test] +fn bindgen_test_layout__SLIST_HEADER__bindgen_ty_2() { + assert_eq!( + ::std::mem::size_of::<_SLIST_HEADER__bindgen_ty_2>(), + 16usize, + concat!("Size of: ", stringify!(_SLIST_HEADER__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_SLIST_HEADER__bindgen_ty_2>(), + 8usize, + concat!("Alignment of ", stringify!(_SLIST_HEADER__bindgen_ty_2)) + ); +} +impl _SLIST_HEADER__bindgen_ty_2 { + #[inline] + pub fn Depth(&self) -> ULONGLONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u64) } + } + #[inline] + pub fn set_Depth(&mut self, val: ULONGLONG) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn Sequence(&self) -> ULONGLONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 48u8) as u64) } + } + #[inline] + pub fn set_Sequence(&mut self, val: ULONGLONG) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 48u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> ULONGLONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(64usize, 4u8) as u64) } + } + #[inline] + pub fn set_Reserved(&mut self, val: ULONGLONG) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(64usize, 4u8, val as u64) + } + } + #[inline] + pub fn NextEntry(&self) -> ULONGLONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(68usize, 60u8) as u64) } + } + #[inline] + pub fn set_NextEntry(&mut self, val: ULONGLONG) { + unsafe { + let val: u64 = ::std::mem::transmute(val); + self._bitfield_1.set(68usize, 60u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Depth: ULONGLONG, + Sequence: ULONGLONG, + Reserved: ULONGLONG, + NextEntry: ULONGLONG, + ) -> __BindgenBitfieldUnit<[u8; 16usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let Depth: u64 = unsafe { ::std::mem::transmute(Depth) }; + Depth as u64 + }); + __bindgen_bitfield_unit.set(16usize, 48u8, { + let Sequence: u64 = unsafe { ::std::mem::transmute(Sequence) }; + Sequence as u64 + }); + __bindgen_bitfield_unit.set(64usize, 4u8, { + let Reserved: u64 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit.set(68usize, 60u8, { + let NextEntry: u64 = unsafe { ::std::mem::transmute(NextEntry) }; + NextEntry as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__SLIST_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_SLIST_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SLIST_HEADER>(), + 16usize, + concat!("Size of: ", stringify!(_SLIST_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_SLIST_HEADER>(), + 16usize, + concat!("Alignment of ", stringify!(_SLIST_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderX64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SLIST_HEADER), + "::", + stringify!(HeaderX64) + ) + ); +} +pub type SLIST_HEADER = _SLIST_HEADER; +pub type PSLIST_HEADER = *mut _SLIST_HEADER; +extern "C" { + pub fn RtlInitializeSListHead(ListHead: PSLIST_HEADER); +} +extern "C" { + pub fn RtlFirstEntrySList(ListHead: *const SLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlInterlockedPopEntrySList(ListHead: PSLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlInterlockedPushEntrySList( + ListHead: PSLIST_HEADER, + ListEntry: PSLIST_ENTRY, + ) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlInterlockedPushListSListEx( + ListHead: PSLIST_HEADER, + List: PSLIST_ENTRY, + ListEnd: PSLIST_ENTRY, + Count: DWORD, + ) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlInterlockedFlushSList(ListHead: PSLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn RtlQueryDepthSList(ListHead: PSLIST_HEADER) -> WORD; +} +extern "C" { + pub fn RtlGetReturnAddressHijackTarget() -> ULONG_PTR; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RTL_RUN_ONCE { + pub Ptr: PVOID, +} +#[test] +fn bindgen_test_layout__RTL_RUN_ONCE() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_RUN_ONCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_RUN_ONCE>(), + 8usize, + concat!("Size of: ", stringify!(_RTL_RUN_ONCE)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_RUN_ONCE>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_RUN_ONCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ptr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_RUN_ONCE), + "::", + stringify!(Ptr) + ) + ); +} +pub type RTL_RUN_ONCE = _RTL_RUN_ONCE; +pub type PRTL_RUN_ONCE = *mut _RTL_RUN_ONCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_BARRIER { + pub Reserved1: DWORD, + pub Reserved2: DWORD, + pub Reserved3: [ULONG_PTR; 2usize], + pub Reserved4: DWORD, + pub Reserved5: DWORD, +} +#[test] +fn bindgen_test_layout__RTL_BARRIER() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_BARRIER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_BARRIER>(), + 32usize, + concat!("Size of: ", stringify!(_RTL_BARRIER)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_BARRIER>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_BARRIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved4) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved5) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_RTL_BARRIER), + "::", + stringify!(Reserved5) + ) + ); +} +pub type RTL_BARRIER = _RTL_BARRIER; +pub type PRTL_BARRIER = *mut _RTL_BARRIER; +extern "C" { + pub fn __fastfail(Code: ::std::os::raw::c_uint) -> !; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MESSAGE_RESOURCE_ENTRY { + pub Length: WORD, + pub Flags: WORD, + pub Text: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__MESSAGE_RESOURCE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_MESSAGE_RESOURCE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MESSAGE_RESOURCE_ENTRY>(), + 6usize, + concat!("Size of: ", stringify!(_MESSAGE_RESOURCE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_MESSAGE_RESOURCE_ENTRY>(), + 2usize, + concat!("Alignment of ", stringify!(_MESSAGE_RESOURCE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_ENTRY), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Text) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_ENTRY), + "::", + stringify!(Text) + ) + ); +} +pub type MESSAGE_RESOURCE_ENTRY = _MESSAGE_RESOURCE_ENTRY; +pub type PMESSAGE_RESOURCE_ENTRY = *mut _MESSAGE_RESOURCE_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MESSAGE_RESOURCE_BLOCK { + pub LowId: DWORD, + pub HighId: DWORD, + pub OffsetToEntries: DWORD, +} +#[test] +fn bindgen_test_layout__MESSAGE_RESOURCE_BLOCK() { + const UNINIT: ::std::mem::MaybeUninit<_MESSAGE_RESOURCE_BLOCK> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MESSAGE_RESOURCE_BLOCK>(), + 12usize, + concat!("Size of: ", stringify!(_MESSAGE_RESOURCE_BLOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_MESSAGE_RESOURCE_BLOCK>(), + 4usize, + concat!("Alignment of ", stringify!(_MESSAGE_RESOURCE_BLOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_BLOCK), + "::", + stringify!(LowId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_BLOCK), + "::", + stringify!(HighId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetToEntries) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_BLOCK), + "::", + stringify!(OffsetToEntries) + ) + ); +} +pub type MESSAGE_RESOURCE_BLOCK = _MESSAGE_RESOURCE_BLOCK; +pub type PMESSAGE_RESOURCE_BLOCK = *mut _MESSAGE_RESOURCE_BLOCK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MESSAGE_RESOURCE_DATA { + pub NumberOfBlocks: DWORD, + pub Blocks: [MESSAGE_RESOURCE_BLOCK; 1usize], +} +#[test] +fn bindgen_test_layout__MESSAGE_RESOURCE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_MESSAGE_RESOURCE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MESSAGE_RESOURCE_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_MESSAGE_RESOURCE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_MESSAGE_RESOURCE_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_MESSAGE_RESOURCE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBlocks) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_DATA), + "::", + stringify!(NumberOfBlocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Blocks) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MESSAGE_RESOURCE_DATA), + "::", + stringify!(Blocks) + ) + ); +} +pub type MESSAGE_RESOURCE_DATA = _MESSAGE_RESOURCE_DATA; +pub type PMESSAGE_RESOURCE_DATA = *mut _MESSAGE_RESOURCE_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OSVERSIONINFOA { + pub dwOSVersionInfoSize: DWORD, + pub dwMajorVersion: DWORD, + pub dwMinorVersion: DWORD, + pub dwBuildNumber: DWORD, + pub dwPlatformId: DWORD, + pub szCSDVersion: [CHAR; 128usize], +} +#[test] +fn bindgen_test_layout__OSVERSIONINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_OSVERSIONINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OSVERSIONINFOA>(), + 148usize, + concat!("Size of: ", stringify!(_OSVERSIONINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_OSVERSIONINFOA>(), + 4usize, + concat!("Alignment of ", stringify!(_OSVERSIONINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwOSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBuildNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwBuildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCSDVersion) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOA), + "::", + stringify!(szCSDVersion) + ) + ); +} +pub type OSVERSIONINFOA = _OSVERSIONINFOA; +pub type POSVERSIONINFOA = *mut _OSVERSIONINFOA; +pub type LPOSVERSIONINFOA = *mut _OSVERSIONINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OSVERSIONINFOW { + pub dwOSVersionInfoSize: DWORD, + pub dwMajorVersion: DWORD, + pub dwMinorVersion: DWORD, + pub dwBuildNumber: DWORD, + pub dwPlatformId: DWORD, + pub szCSDVersion: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout__OSVERSIONINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_OSVERSIONINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OSVERSIONINFOW>(), + 276usize, + concat!("Size of: ", stringify!(_OSVERSIONINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_OSVERSIONINFOW>(), + 4usize, + concat!("Alignment of ", stringify!(_OSVERSIONINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwOSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBuildNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwBuildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCSDVersion) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOW), + "::", + stringify!(szCSDVersion) + ) + ); +} +pub type OSVERSIONINFOW = _OSVERSIONINFOW; +pub type POSVERSIONINFOW = *mut _OSVERSIONINFOW; +pub type LPOSVERSIONINFOW = *mut _OSVERSIONINFOW; +pub type RTL_OSVERSIONINFOW = _OSVERSIONINFOW; +pub type PRTL_OSVERSIONINFOW = *mut _OSVERSIONINFOW; +pub type OSVERSIONINFO = OSVERSIONINFOA; +pub type POSVERSIONINFO = POSVERSIONINFOA; +pub type LPOSVERSIONINFO = LPOSVERSIONINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OSVERSIONINFOEXA { + pub dwOSVersionInfoSize: DWORD, + pub dwMajorVersion: DWORD, + pub dwMinorVersion: DWORD, + pub dwBuildNumber: DWORD, + pub dwPlatformId: DWORD, + pub szCSDVersion: [CHAR; 128usize], + pub wServicePackMajor: WORD, + pub wServicePackMinor: WORD, + pub wSuiteMask: WORD, + pub wProductType: BYTE, + pub wReserved: BYTE, +} +#[test] +fn bindgen_test_layout__OSVERSIONINFOEXA() { + const UNINIT: ::std::mem::MaybeUninit<_OSVERSIONINFOEXA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OSVERSIONINFOEXA>(), + 156usize, + concat!("Size of: ", stringify!(_OSVERSIONINFOEXA)) + ); + assert_eq!( + ::std::mem::align_of::<_OSVERSIONINFOEXA>(), + 4usize, + concat!("Alignment of ", stringify!(_OSVERSIONINFOEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwOSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBuildNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwBuildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCSDVersion) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(szCSDVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wServicePackMajor) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wServicePackMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wServicePackMinor) as usize - ptr as usize }, + 150usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wServicePackMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSuiteMask) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wSuiteMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProductType) as usize - ptr as usize }, + 154usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wProductType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 155usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXA), + "::", + stringify!(wReserved) + ) + ); +} +pub type OSVERSIONINFOEXA = _OSVERSIONINFOEXA; +pub type POSVERSIONINFOEXA = *mut _OSVERSIONINFOEXA; +pub type LPOSVERSIONINFOEXA = *mut _OSVERSIONINFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OSVERSIONINFOEXW { + pub dwOSVersionInfoSize: DWORD, + pub dwMajorVersion: DWORD, + pub dwMinorVersion: DWORD, + pub dwBuildNumber: DWORD, + pub dwPlatformId: DWORD, + pub szCSDVersion: [WCHAR; 128usize], + pub wServicePackMajor: WORD, + pub wServicePackMinor: WORD, + pub wSuiteMask: WORD, + pub wProductType: BYTE, + pub wReserved: BYTE, +} +#[test] +fn bindgen_test_layout__OSVERSIONINFOEXW() { + const UNINIT: ::std::mem::MaybeUninit<_OSVERSIONINFOEXW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OSVERSIONINFOEXW>(), + 284usize, + concat!("Size of: ", stringify!(_OSVERSIONINFOEXW)) + ); + assert_eq!( + ::std::mem::align_of::<_OSVERSIONINFOEXW>(), + 4usize, + concat!("Alignment of ", stringify!(_OSVERSIONINFOEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwOSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBuildNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwBuildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCSDVersion) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(szCSDVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wServicePackMajor) as usize - ptr as usize }, + 276usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wServicePackMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wServicePackMinor) as usize - ptr as usize }, + 278usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wServicePackMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSuiteMask) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wSuiteMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProductType) as usize - ptr as usize }, + 282usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wProductType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 283usize, + concat!( + "Offset of field: ", + stringify!(_OSVERSIONINFOEXW), + "::", + stringify!(wReserved) + ) + ); +} +pub type OSVERSIONINFOEXW = _OSVERSIONINFOEXW; +pub type POSVERSIONINFOEXW = *mut _OSVERSIONINFOEXW; +pub type LPOSVERSIONINFOEXW = *mut _OSVERSIONINFOEXW; +pub type RTL_OSVERSIONINFOEXW = _OSVERSIONINFOEXW; +pub type PRTL_OSVERSIONINFOEXW = *mut _OSVERSIONINFOEXW; +pub type OSVERSIONINFOEX = OSVERSIONINFOEXA; +pub type POSVERSIONINFOEX = POSVERSIONINFOEXA; +pub type LPOSVERSIONINFOEX = LPOSVERSIONINFOEXA; +extern "C" { + pub fn VerSetConditionMask( + ConditionMask: ULONGLONG, + TypeMask: DWORD, + Condition: BYTE, + ) -> ULONGLONG; +} +extern "C" { + pub fn RtlGetProductInfo( + OSMajorVersion: DWORD, + OSMinorVersion: DWORD, + SpMajorVersion: DWORD, + SpMinorVersion: DWORD, + ReturnedProductType: PDWORD, + ) -> BOOLEAN; +} +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadInvalidInfoClass: _RTL_UMS_THREAD_INFO_CLASS = 0; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadUserContext: _RTL_UMS_THREAD_INFO_CLASS = 1; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadPriority: _RTL_UMS_THREAD_INFO_CLASS = 2; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadAffinity: _RTL_UMS_THREAD_INFO_CLASS = 3; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadTeb: _RTL_UMS_THREAD_INFO_CLASS = 4; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadIsSuspended: _RTL_UMS_THREAD_INFO_CLASS = 5; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadIsTerminated: _RTL_UMS_THREAD_INFO_CLASS = 6; +pub const _RTL_UMS_THREAD_INFO_CLASS_UmsThreadMaxInfoClass: _RTL_UMS_THREAD_INFO_CLASS = 7; +pub type _RTL_UMS_THREAD_INFO_CLASS = ::std::os::raw::c_int; +pub use self::_RTL_UMS_THREAD_INFO_CLASS as RTL_UMS_THREAD_INFO_CLASS; +pub type PRTL_UMS_THREAD_INFO_CLASS = *mut _RTL_UMS_THREAD_INFO_CLASS; +pub const _RTL_UMS_SCHEDULER_REASON_UmsSchedulerStartup: _RTL_UMS_SCHEDULER_REASON = 0; +pub const _RTL_UMS_SCHEDULER_REASON_UmsSchedulerThreadBlocked: _RTL_UMS_SCHEDULER_REASON = 1; +pub const _RTL_UMS_SCHEDULER_REASON_UmsSchedulerThreadYield: _RTL_UMS_SCHEDULER_REASON = 2; +pub type _RTL_UMS_SCHEDULER_REASON = ::std::os::raw::c_int; +pub use self::_RTL_UMS_SCHEDULER_REASON as RTL_UMS_SCHEDULER_REASON; +pub type PRTL_UMS_SCHEDULER_REASON = *mut _RTL_UMS_SCHEDULER_REASON; +pub type PRTL_UMS_SCHEDULER_ENTRY_POINT = ::std::option::Option< + unsafe extern "C" fn(arg1: RTL_UMS_SCHEDULER_REASON, arg2: ULONG_PTR, arg3: PVOID), +>; +extern "C" { + pub fn RtlCrc32(Buffer: *const ::std::os::raw::c_void, Size: usize, InitialCrc: DWORD) + -> DWORD; +} +extern "C" { + pub fn RtlCrc64( + Buffer: *const ::std::os::raw::c_void, + Size: usize, + InitialCrc: ULONGLONG, + ) -> ULONGLONG; +} +pub const _OS_DEPLOYEMENT_STATE_VALUES_OS_DEPLOYMENT_STANDARD: _OS_DEPLOYEMENT_STATE_VALUES = 1; +pub const _OS_DEPLOYEMENT_STATE_VALUES_OS_DEPLOYMENT_COMPACT: _OS_DEPLOYEMENT_STATE_VALUES = 2; +pub type _OS_DEPLOYEMENT_STATE_VALUES = ::std::os::raw::c_int; +pub use self::_OS_DEPLOYEMENT_STATE_VALUES as OS_DEPLOYEMENT_STATE_VALUES; +extern "C" { + pub fn RtlOsDeploymentState(Flags: DWORD) -> OS_DEPLOYEMENT_STATE_VALUES; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NV_MEMORY_RANGE { + pub BaseAddress: *mut ::std::os::raw::c_void, + pub Length: SIZE_T, +} +#[test] +fn bindgen_test_layout__NV_MEMORY_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_NV_MEMORY_RANGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NV_MEMORY_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_NV_MEMORY_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_NV_MEMORY_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_NV_MEMORY_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NV_MEMORY_RANGE), + "::", + stringify!(BaseAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NV_MEMORY_RANGE), + "::", + stringify!(Length) + ) + ); +} +pub type NV_MEMORY_RANGE = _NV_MEMORY_RANGE; +pub type PNV_MEMORY_RANGE = *mut _NV_MEMORY_RANGE; +extern "C" { + pub fn RtlGetNonVolatileToken(NvBuffer: PVOID, Size: SIZE_T, NvToken: *mut PVOID) -> DWORD; +} +extern "C" { + pub fn RtlFreeNonVolatileToken(NvToken: PVOID) -> DWORD; +} +extern "C" { + pub fn RtlFlushNonVolatileMemory( + NvToken: PVOID, + NvBuffer: PVOID, + Size: SIZE_T, + Flags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn RtlDrainNonVolatileFlush(NvToken: PVOID) -> DWORD; +} +extern "C" { + pub fn RtlWriteNonVolatileMemory( + NvToken: PVOID, + NvDestination: *mut ::std::os::raw::c_void, + Source: *const ::std::os::raw::c_void, + Size: SIZE_T, + Flags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn RtlFillNonVolatileMemory( + NvToken: PVOID, + NvDestination: *mut ::std::os::raw::c_void, + Size: SIZE_T, + Value: BYTE, + Flags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn RtlFlushNonVolatileMemoryRanges( + NvToken: PVOID, + NvRanges: PNV_MEMORY_RANGE, + NumRanges: SIZE_T, + Flags: DWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CORRELATION_VECTOR { + pub Version: CHAR, + pub Vector: [CHAR; 129usize], +} +#[test] +fn bindgen_test_layout_CORRELATION_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 130usize, + concat!("Size of: ", stringify!(CORRELATION_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(CORRELATION_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CORRELATION_VECTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vector) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(CORRELATION_VECTOR), + "::", + stringify!(Vector) + ) + ); +} +pub type PCORRELATION_VECTOR = *mut CORRELATION_VECTOR; +extern "C" { + pub fn RtlInitializeCorrelationVector( + CorrelationVector: PCORRELATION_VECTOR, + Version: ::std::os::raw::c_int, + Guid: *const GUID, + ) -> DWORD; +} +extern "C" { + pub fn RtlIncrementCorrelationVector(CorrelationVector: PCORRELATION_VECTOR) -> DWORD; +} +extern "C" { + pub fn RtlExtendCorrelationVector(CorrelationVector: PCORRELATION_VECTOR) -> DWORD; +} +extern "C" { + pub fn RtlValidateCorrelationVector(Vector: PCORRELATION_VECTOR) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG { + pub Size: DWORD, + pub TriggerId: PCWSTR, +} +#[test] +fn bindgen_test_layout__CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG>(), + 16usize, + concat!("Size of: ", stringify!(_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TriggerId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG), + "::", + stringify!(TriggerId) + ) + ); +} +pub type CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG = _CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG; +pub type PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG = *mut _CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG; +extern "C" { + pub fn RtlRaiseCustomSystemEventTrigger( + TriggerConfig: PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG, + ) -> DWORD; +} +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeNone: _IMAGE_POLICY_ENTRY_TYPE = 0; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeBool: _IMAGE_POLICY_ENTRY_TYPE = 1; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeInt8: _IMAGE_POLICY_ENTRY_TYPE = 2; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUInt8: _IMAGE_POLICY_ENTRY_TYPE = 3; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeInt16: _IMAGE_POLICY_ENTRY_TYPE = 4; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUInt16: _IMAGE_POLICY_ENTRY_TYPE = 5; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeInt32: _IMAGE_POLICY_ENTRY_TYPE = 6; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUInt32: _IMAGE_POLICY_ENTRY_TYPE = 7; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeInt64: _IMAGE_POLICY_ENTRY_TYPE = 8; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUInt64: _IMAGE_POLICY_ENTRY_TYPE = 9; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeAnsiString: _IMAGE_POLICY_ENTRY_TYPE = 10; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeUnicodeString: _IMAGE_POLICY_ENTRY_TYPE = 11; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeOverride: _IMAGE_POLICY_ENTRY_TYPE = 12; +pub const _IMAGE_POLICY_ENTRY_TYPE_ImagePolicyEntryTypeMaximum: _IMAGE_POLICY_ENTRY_TYPE = 13; +pub type _IMAGE_POLICY_ENTRY_TYPE = ::std::os::raw::c_int; +pub use self::_IMAGE_POLICY_ENTRY_TYPE as IMAGE_POLICY_ENTRY_TYPE; +pub const _IMAGE_POLICY_ID_ImagePolicyIdNone: _IMAGE_POLICY_ID = 0; +pub const _IMAGE_POLICY_ID_ImagePolicyIdEtw: _IMAGE_POLICY_ID = 1; +pub const _IMAGE_POLICY_ID_ImagePolicyIdDebug: _IMAGE_POLICY_ID = 2; +pub const _IMAGE_POLICY_ID_ImagePolicyIdCrashDump: _IMAGE_POLICY_ID = 3; +pub const _IMAGE_POLICY_ID_ImagePolicyIdCrashDumpKey: _IMAGE_POLICY_ID = 4; +pub const _IMAGE_POLICY_ID_ImagePolicyIdCrashDumpKeyGuid: _IMAGE_POLICY_ID = 5; +pub const _IMAGE_POLICY_ID_ImagePolicyIdParentSd: _IMAGE_POLICY_ID = 6; +pub const _IMAGE_POLICY_ID_ImagePolicyIdParentSdRev: _IMAGE_POLICY_ID = 7; +pub const _IMAGE_POLICY_ID_ImagePolicyIdSvn: _IMAGE_POLICY_ID = 8; +pub const _IMAGE_POLICY_ID_ImagePolicyIdDeviceId: _IMAGE_POLICY_ID = 9; +pub const _IMAGE_POLICY_ID_ImagePolicyIdCapability: _IMAGE_POLICY_ID = 10; +pub const _IMAGE_POLICY_ID_ImagePolicyIdScenarioId: _IMAGE_POLICY_ID = 11; +pub const _IMAGE_POLICY_ID_ImagePolicyIdMaximum: _IMAGE_POLICY_ID = 12; +pub type _IMAGE_POLICY_ID = ::std::os::raw::c_int; +pub use self::_IMAGE_POLICY_ID as IMAGE_POLICY_ID; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _IMAGE_POLICY_ENTRY { + pub Type: IMAGE_POLICY_ENTRY_TYPE, + pub PolicyId: IMAGE_POLICY_ID, + pub u: _IMAGE_POLICY_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _IMAGE_POLICY_ENTRY__bindgen_ty_1 { + pub None: *const ::std::os::raw::c_void, + pub BoolValue: BOOLEAN, + pub Int8Value: INT8, + pub UInt8Value: UINT8, + pub Int16Value: INT16, + pub UInt16Value: UINT16, + pub Int32Value: INT32, + pub UInt32Value: UINT32, + pub Int64Value: INT64, + pub UInt64Value: UINT64, + pub AnsiStringValue: PCSTR, + pub UnicodeStringValue: PCWSTR, +} +#[test] +fn bindgen_test_layout__IMAGE_POLICY_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_POLICY_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_POLICY_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).None) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(None) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BoolValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(BoolValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int8Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(Int8Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UInt8Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UInt8Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int16Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(Int16Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UInt16Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UInt16Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int32Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(Int32Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UInt32Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UInt32Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int64Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(Int64Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UInt64Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UInt64Value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AnsiStringValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(AnsiStringValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeStringValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY__bindgen_ty_1), + "::", + stringify!(UnicodeStringValue) + ) + ); +} +#[test] +fn bindgen_test_layout__IMAGE_POLICY_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_POLICY_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_POLICY_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_POLICY_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_POLICY_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_IMAGE_POLICY_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PolicyId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY), + "::", + stringify!(PolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_ENTRY), + "::", + stringify!(u) + ) + ); +} +pub type IMAGE_POLICY_ENTRY = _IMAGE_POLICY_ENTRY; +pub type PCIMAGE_POLICY_ENTRY = *const IMAGE_POLICY_ENTRY; +#[repr(C)] +pub struct _IMAGE_POLICY_METADATA { + pub Version: BYTE, + pub Reserved0: [BYTE; 7usize], + pub ApplicationId: ULONGLONG, + pub Policies: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__IMAGE_POLICY_METADATA() { + const UNINIT: ::std::mem::MaybeUninit<_IMAGE_POLICY_METADATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IMAGE_POLICY_METADATA>(), + 16usize, + concat!("Size of: ", stringify!(_IMAGE_POLICY_METADATA)) + ); + assert_eq!( + ::std::mem::align_of::<_IMAGE_POLICY_METADATA>(), + 8usize, + concat!("Alignment of ", stringify!(_IMAGE_POLICY_METADATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_METADATA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_METADATA), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApplicationId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_METADATA), + "::", + stringify!(ApplicationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Policies) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_IMAGE_POLICY_METADATA), + "::", + stringify!(Policies) + ) + ); +} +pub type IMAGE_POLICY_METADATA = _IMAGE_POLICY_METADATA; +pub type PCIMAGE_POLICY_METADATA = *const IMAGE_POLICY_METADATA; +extern "C" { + pub fn RtlIsZeroMemory(Buffer: PVOID, Length: SIZE_T) -> BOOLEAN; +} +extern "C" { + pub fn RtlNormalizeSecurityDescriptor( + SecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + SecurityDescriptorLength: DWORD, + NewSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + NewSecurityDescriptorLength: PDWORD, + CheckOnly: BOOLEAN, + ) -> BOOLEAN; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_CRITICAL_SECTION_DEBUG { + pub Type: WORD, + pub CreatorBackTraceIndex: WORD, + pub CriticalSection: *mut _RTL_CRITICAL_SECTION, + pub ProcessLocksList: LIST_ENTRY, + pub EntryCount: DWORD, + pub ContentionCount: DWORD, + pub Flags: DWORD, + pub CreatorBackTraceIndexHigh: WORD, + pub SpareWORD: WORD, +} +#[test] +fn bindgen_test_layout__RTL_CRITICAL_SECTION_DEBUG() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_CRITICAL_SECTION_DEBUG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_CRITICAL_SECTION_DEBUG>(), + 48usize, + concat!("Size of: ", stringify!(_RTL_CRITICAL_SECTION_DEBUG)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_CRITICAL_SECTION_DEBUG>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_CRITICAL_SECTION_DEBUG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreatorBackTraceIndex) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(CreatorBackTraceIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalSection) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(CriticalSection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessLocksList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(ProcessLocksList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(EntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentionCount) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(ContentionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreatorBackTraceIndexHigh) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(CreatorBackTraceIndexHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpareWORD) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION_DEBUG), + "::", + stringify!(SpareWORD) + ) + ); +} +pub type RTL_CRITICAL_SECTION_DEBUG = _RTL_CRITICAL_SECTION_DEBUG; +pub type PRTL_CRITICAL_SECTION_DEBUG = *mut _RTL_CRITICAL_SECTION_DEBUG; +pub type RTL_RESOURCE_DEBUG = _RTL_CRITICAL_SECTION_DEBUG; +pub type PRTL_RESOURCE_DEBUG = *mut _RTL_CRITICAL_SECTION_DEBUG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_CRITICAL_SECTION { + pub DebugInfo: PRTL_CRITICAL_SECTION_DEBUG, + pub LockCount: LONG, + pub RecursionCount: LONG, + pub OwningThread: HANDLE, + pub LockSemaphore: HANDLE, + pub SpinCount: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__RTL_CRITICAL_SECTION() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_CRITICAL_SECTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_CRITICAL_SECTION>(), + 40usize, + concat!("Size of: ", stringify!(_RTL_CRITICAL_SECTION)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_CRITICAL_SECTION>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_CRITICAL_SECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(DebugInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(LockCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecursionCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(RecursionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwningThread) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(OwningThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockSemaphore) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(LockSemaphore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpinCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CRITICAL_SECTION), + "::", + stringify!(SpinCount) + ) + ); +} +pub type RTL_CRITICAL_SECTION = _RTL_CRITICAL_SECTION; +pub type PRTL_CRITICAL_SECTION = *mut _RTL_CRITICAL_SECTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_SRWLOCK { + pub Ptr: PVOID, +} +#[test] +fn bindgen_test_layout__RTL_SRWLOCK() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_SRWLOCK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_SRWLOCK>(), + 8usize, + concat!("Size of: ", stringify!(_RTL_SRWLOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_SRWLOCK>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_SRWLOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ptr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_SRWLOCK), + "::", + stringify!(Ptr) + ) + ); +} +pub type RTL_SRWLOCK = _RTL_SRWLOCK; +pub type PRTL_SRWLOCK = *mut _RTL_SRWLOCK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RTL_CONDITION_VARIABLE { + pub Ptr: PVOID, +} +#[test] +fn bindgen_test_layout__RTL_CONDITION_VARIABLE() { + const UNINIT: ::std::mem::MaybeUninit<_RTL_CONDITION_VARIABLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RTL_CONDITION_VARIABLE>(), + 8usize, + concat!("Size of: ", stringify!(_RTL_CONDITION_VARIABLE)) + ); + assert_eq!( + ::std::mem::align_of::<_RTL_CONDITION_VARIABLE>(), + 8usize, + concat!("Alignment of ", stringify!(_RTL_CONDITION_VARIABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ptr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RTL_CONDITION_VARIABLE), + "::", + stringify!(Ptr) + ) + ); +} +pub type RTL_CONDITION_VARIABLE = _RTL_CONDITION_VARIABLE; +pub type PRTL_CONDITION_VARIABLE = *mut _RTL_CONDITION_VARIABLE; +pub type PAPCFUNC = ::std::option::Option; +pub type PVECTORED_EXCEPTION_HANDLER = + ::std::option::Option LONG>; +pub const _HEAP_INFORMATION_CLASS_HeapCompatibilityInformation: _HEAP_INFORMATION_CLASS = 0; +pub const _HEAP_INFORMATION_CLASS_HeapEnableTerminationOnCorruption: _HEAP_INFORMATION_CLASS = 1; +pub const _HEAP_INFORMATION_CLASS_HeapOptimizeResources: _HEAP_INFORMATION_CLASS = 3; +pub type _HEAP_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_HEAP_INFORMATION_CLASS as HEAP_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HEAP_OPTIMIZE_RESOURCES_INFORMATION { + pub Version: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__HEAP_OPTIMIZE_RESOURCES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_HEAP_OPTIMIZE_RESOURCES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HEAP_OPTIMIZE_RESOURCES_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_HEAP_OPTIMIZE_RESOURCES_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_HEAP_OPTIMIZE_RESOURCES_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_HEAP_OPTIMIZE_RESOURCES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_OPTIMIZE_RESOURCES_INFORMATION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_OPTIMIZE_RESOURCES_INFORMATION), + "::", + stringify!(Flags) + ) + ); +} +pub type HEAP_OPTIMIZE_RESOURCES_INFORMATION = _HEAP_OPTIMIZE_RESOURCES_INFORMATION; +pub type PHEAP_OPTIMIZE_RESOURCES_INFORMATION = *mut _HEAP_OPTIMIZE_RESOURCES_INFORMATION; +pub type WAITORTIMERCALLBACKFUNC = + ::std::option::Option; +pub type WORKERCALLBACKFUNC = ::std::option::Option; +pub type APC_CALLBACK_FUNCTION = + ::std::option::Option; +pub type WAITORTIMERCALLBACK = WAITORTIMERCALLBACKFUNC; +pub type PFLS_CALLBACK_FUNCTION = ::std::option::Option; +pub type PSECURE_MEMORY_CACHE_CALLBACK = + ::std::option::Option BOOLEAN>; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_ActivationContextBasicInformation: + _ACTIVATION_CONTEXT_INFO_CLASS = 1; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_ActivationContextDetailedInformation: + _ACTIVATION_CONTEXT_INFO_CLASS = 2; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_AssemblyDetailedInformationInActivationContext: + _ACTIVATION_CONTEXT_INFO_CLASS = 3; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_FileInformationInAssemblyOfAssemblyInActivationContext: + _ACTIVATION_CONTEXT_INFO_CLASS = 4; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_RunlevelInformationInActivationContext: + _ACTIVATION_CONTEXT_INFO_CLASS = 5; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_CompatibilityInformationInActivationContext: + _ACTIVATION_CONTEXT_INFO_CLASS = 6; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_ActivationContextManifestResourceName: + _ACTIVATION_CONTEXT_INFO_CLASS = 7; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_MaxActivationContextInfoClass: + _ACTIVATION_CONTEXT_INFO_CLASS = 8; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_AssemblyDetailedInformationInActivationContxt: + _ACTIVATION_CONTEXT_INFO_CLASS = 3; +pub const _ACTIVATION_CONTEXT_INFO_CLASS_FileInformationInAssemblyOfAssemblyInActivationContxt: + _ACTIVATION_CONTEXT_INFO_CLASS = 4; +pub type _ACTIVATION_CONTEXT_INFO_CLASS = ::std::os::raw::c_int; +pub use self::_ACTIVATION_CONTEXT_INFO_CLASS as ACTIVATION_CONTEXT_INFO_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_QUERY_INDEX { + pub ulAssemblyIndex: DWORD, + pub ulFileIndexInAssembly: DWORD, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_QUERY_INDEX() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_QUERY_INDEX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_QUERY_INDEX>(), + 8usize, + concat!("Size of: ", stringify!(_ACTIVATION_CONTEXT_QUERY_INDEX)) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_QUERY_INDEX>(), + 4usize, + concat!("Alignment of ", stringify!(_ACTIVATION_CONTEXT_QUERY_INDEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAssemblyIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_QUERY_INDEX), + "::", + stringify!(ulAssemblyIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFileIndexInAssembly) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_QUERY_INDEX), + "::", + stringify!(ulFileIndexInAssembly) + ) + ); +} +pub type ACTIVATION_CONTEXT_QUERY_INDEX = _ACTIVATION_CONTEXT_QUERY_INDEX; +pub type PACTIVATION_CONTEXT_QUERY_INDEX = *mut _ACTIVATION_CONTEXT_QUERY_INDEX; +pub type PCACTIVATION_CONTEXT_QUERY_INDEX = *const _ACTIVATION_CONTEXT_QUERY_INDEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ASSEMBLY_FILE_DETAILED_INFORMATION { + pub ulFlags: DWORD, + pub ulFilenameLength: DWORD, + pub ulPathLength: DWORD, + pub lpFileName: PCWSTR, + pub lpFilePath: PCWSTR, +} +#[test] +fn bindgen_test_layout__ASSEMBLY_FILE_DETAILED_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ASSEMBLY_FILE_DETAILED_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ASSEMBLY_FILE_DETAILED_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ASSEMBLY_FILE_DETAILED_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(ulFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFilenameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(ulFilenameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPathLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(ulPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFileName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(lpFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFilePath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ASSEMBLY_FILE_DETAILED_INFORMATION), + "::", + stringify!(lpFilePath) + ) + ); +} +pub type ASSEMBLY_FILE_DETAILED_INFORMATION = _ASSEMBLY_FILE_DETAILED_INFORMATION; +pub type PASSEMBLY_FILE_DETAILED_INFORMATION = *mut _ASSEMBLY_FILE_DETAILED_INFORMATION; +pub type PCASSEMBLY_FILE_DETAILED_INFORMATION = *const ASSEMBLY_FILE_DETAILED_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { + pub ulFlags: DWORD, + pub ulEncodedAssemblyIdentityLength: DWORD, + pub ulManifestPathType: DWORD, + pub ulManifestPathLength: DWORD, + pub liManifestLastWriteTime: LARGE_INTEGER, + pub ulPolicyPathType: DWORD, + pub ulPolicyPathLength: DWORD, + pub liPolicyLastWriteTime: LARGE_INTEGER, + pub ulMetadataSatelliteRosterIndex: DWORD, + pub ulManifestVersionMajor: DWORD, + pub ulManifestVersionMinor: DWORD, + pub ulPolicyVersionMajor: DWORD, + pub ulPolicyVersionMinor: DWORD, + pub ulAssemblyDirectoryNameLength: DWORD, + pub lpAssemblyEncodedAssemblyIdentity: PCWSTR, + pub lpAssemblyManifestPath: PCWSTR, + pub lpAssemblyPolicyPath: PCWSTR, + pub lpAssemblyDirectoryName: PCWSTR, + pub ulFileCount: DWORD, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>(), + 104usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulFlags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ulEncodedAssemblyIdentityLength) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulEncodedAssemblyIdentityLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulManifestPathType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulManifestPathType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulManifestPathLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulManifestPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).liManifestLastWriteTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(liManifestLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPolicyPathType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulPolicyPathType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPolicyPathLength) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulPolicyPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).liPolicyLastWriteTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(liPolicyLastWriteTime) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ulMetadataSatelliteRosterIndex) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulMetadataSatelliteRosterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulManifestVersionMajor) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulManifestVersionMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulManifestVersionMinor) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulManifestVersionMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPolicyVersionMajor) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulPolicyVersionMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulPolicyVersionMinor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulPolicyVersionMinor) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ulAssemblyDirectoryNameLength) as usize - ptr as usize + }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulAssemblyDirectoryNameLength) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).lpAssemblyEncodedAssemblyIdentity) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(lpAssemblyEncodedAssemblyIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyManifestPath) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(lpAssemblyManifestPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyPolicyPath) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(lpAssemblyPolicyPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyDirectoryName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(lpAssemblyDirectoryName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFileCount) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION), + "::", + stringify!(ulFileCount) + ) + ); +} +pub type ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = + _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; +pub type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = + *mut _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; +pub type PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = + *const _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_UNSPECIFIED: ACTCTX_REQUESTED_RUN_LEVEL = 0; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_AS_INVOKER: ACTCTX_REQUESTED_RUN_LEVEL = 1; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE: + ACTCTX_REQUESTED_RUN_LEVEL = 2; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_REQUIRE_ADMIN: ACTCTX_REQUESTED_RUN_LEVEL = 3; +pub const ACTCTX_REQUESTED_RUN_LEVEL_ACTCTX_RUN_LEVEL_NUMBERS: ACTCTX_REQUESTED_RUN_LEVEL = 4; +pub type ACTCTX_REQUESTED_RUN_LEVEL = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION { + pub ulFlags: DWORD, + pub RunLevel: ACTCTX_REQUESTED_RUN_LEVEL, + pub UiAccess: DWORD, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION>(), + 12usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION), + "::", + stringify!(ulFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION), + "::", + stringify!(RunLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UiAccess) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION), + "::", + stringify!(UiAccess) + ) + ); +} +pub type ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; +pub type PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = *mut _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; +pub type PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = + *const _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; +pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN: + ACTCTX_COMPATIBILITY_ELEMENT_TYPE = 0; +pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS: + ACTCTX_COMPATIBILITY_ELEMENT_TYPE = 1; +pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION: + ACTCTX_COMPATIBILITY_ELEMENT_TYPE = 2; +pub const ACTCTX_COMPATIBILITY_ELEMENT_TYPE_ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MAXVERSIONTESTED: + ACTCTX_COMPATIBILITY_ELEMENT_TYPE = 3; +pub type ACTCTX_COMPATIBILITY_ELEMENT_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMPATIBILITY_CONTEXT_ELEMENT { + pub Id: GUID, + pub Type: ACTCTX_COMPATIBILITY_ELEMENT_TYPE, + pub MaxVersionTested: ULONGLONG, +} +#[test] +fn bindgen_test_layout__COMPATIBILITY_CONTEXT_ELEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_COMPATIBILITY_CONTEXT_ELEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMPATIBILITY_CONTEXT_ELEMENT>(), + 32usize, + concat!("Size of: ", stringify!(_COMPATIBILITY_CONTEXT_ELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_COMPATIBILITY_CONTEXT_ELEMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_COMPATIBILITY_CONTEXT_ELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMPATIBILITY_CONTEXT_ELEMENT), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COMPATIBILITY_CONTEXT_ELEMENT), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVersionTested) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COMPATIBILITY_CONTEXT_ELEMENT), + "::", + stringify!(MaxVersionTested) + ) + ); +} +pub type COMPATIBILITY_CONTEXT_ELEMENT = _COMPATIBILITY_CONTEXT_ELEMENT; +pub type PCOMPATIBILITY_CONTEXT_ELEMENT = *mut _COMPATIBILITY_CONTEXT_ELEMENT; +pub type PCCOMPATIBILITY_CONTEXT_ELEMENT = *const _COMPATIBILITY_CONTEXT_ELEMENT; +#[repr(C)] +#[derive(Debug)] +pub struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION { + pub ElementCount: DWORD, + pub Elements: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION), + "::", + stringify!(ElementCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Elements) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION), + "::", + stringify!(Elements) + ) + ); +} +pub type ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = + _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; +pub type PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = + *mut _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; +pub type PCACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = + *const _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SUPPORTED_OS_INFO { + pub MajorVersion: WORD, + pub MinorVersion: WORD, +} +#[test] +fn bindgen_test_layout__SUPPORTED_OS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SUPPORTED_OS_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SUPPORTED_OS_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SUPPORTED_OS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SUPPORTED_OS_INFO>(), + 2usize, + concat!("Alignment of ", stringify!(_SUPPORTED_OS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SUPPORTED_OS_INFO), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SUPPORTED_OS_INFO), + "::", + stringify!(MinorVersion) + ) + ); +} +pub type SUPPORTED_OS_INFO = _SUPPORTED_OS_INFO; +pub type PSUPPORTED_OS_INFO = *mut _SUPPORTED_OS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MAXVERSIONTESTED_INFO { + pub MaxVersionTested: ULONGLONG, +} +#[test] +fn bindgen_test_layout__MAXVERSIONTESTED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MAXVERSIONTESTED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MAXVERSIONTESTED_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_MAXVERSIONTESTED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MAXVERSIONTESTED_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_MAXVERSIONTESTED_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVersionTested) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MAXVERSIONTESTED_INFO), + "::", + stringify!(MaxVersionTested) + ) + ); +} +pub type MAXVERSIONTESTED_INFO = _MAXVERSIONTESTED_INFO; +pub type PMAXVERSIONTESTED_INFO = *mut _MAXVERSIONTESTED_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION { + pub dwFlags: DWORD, + pub ulFormatVersion: DWORD, + pub ulAssemblyCount: DWORD, + pub ulRootManifestPathType: DWORD, + pub ulRootManifestPathChars: DWORD, + pub ulRootConfigurationPathType: DWORD, + pub ulRootConfigurationPathChars: DWORD, + pub ulAppDirPathType: DWORD, + pub ulAppDirPathChars: DWORD, + pub lpRootManifestPath: PCWSTR, + pub lpRootConfigurationPath: PCWSTR, + pub lpAppDirPath: PCWSTR, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_DETAILED_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_DETAILED_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>(), + 64usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_DETAILED_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFormatVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulFormatVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAssemblyCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulAssemblyCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulRootManifestPathType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulRootManifestPathType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulRootManifestPathChars) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulRootManifestPathChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulRootConfigurationPathType) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulRootConfigurationPathType) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ulRootConfigurationPathChars) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulRootConfigurationPathChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAppDirPathType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulAppDirPathType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAppDirPathChars) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(ulAppDirPathChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRootManifestPath) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(lpRootManifestPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRootConfigurationPath) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(lpRootConfigurationPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAppDirPath) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_DETAILED_INFORMATION), + "::", + stringify!(lpAppDirPath) + ) + ); +} +pub type ACTIVATION_CONTEXT_DETAILED_INFORMATION = _ACTIVATION_CONTEXT_DETAILED_INFORMATION; +pub type PACTIVATION_CONTEXT_DETAILED_INFORMATION = *mut _ACTIVATION_CONTEXT_DETAILED_INFORMATION; +pub type PCACTIVATION_CONTEXT_DETAILED_INFORMATION = + *const _ACTIVATION_CONTEXT_DETAILED_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HARDWARE_COUNTER_DATA { + pub Type: HARDWARE_COUNTER_TYPE, + pub Reserved: DWORD, + pub Value: DWORD64, +} +#[test] +fn bindgen_test_layout__HARDWARE_COUNTER_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_HARDWARE_COUNTER_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HARDWARE_COUNTER_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_HARDWARE_COUNTER_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_HARDWARE_COUNTER_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_HARDWARE_COUNTER_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HARDWARE_COUNTER_DATA), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_HARDWARE_COUNTER_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HARDWARE_COUNTER_DATA), + "::", + stringify!(Value) + ) + ); +} +pub type HARDWARE_COUNTER_DATA = _HARDWARE_COUNTER_DATA; +pub type PHARDWARE_COUNTER_DATA = *mut _HARDWARE_COUNTER_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERFORMANCE_DATA { + pub Size: WORD, + pub Version: BYTE, + pub HwCountersCount: BYTE, + pub ContextSwitchCount: DWORD, + pub WaitReasonBitMap: DWORD64, + pub CycleTime: DWORD64, + pub RetryCount: DWORD, + pub Reserved: DWORD, + pub HwCounters: [HARDWARE_COUNTER_DATA; 16usize], +} +#[test] +fn bindgen_test_layout__PERFORMANCE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_PERFORMANCE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERFORMANCE_DATA>(), + 288usize, + concat!("Size of: ", stringify!(_PERFORMANCE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_PERFORMANCE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_PERFORMANCE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HwCountersCount) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(HwCountersCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSwitchCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(ContextSwitchCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WaitReasonBitMap) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(WaitReasonBitMap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CycleTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(CycleTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RetryCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(RetryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HwCounters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PERFORMANCE_DATA), + "::", + stringify!(HwCounters) + ) + ); +} +pub type PERFORMANCE_DATA = _PERFORMANCE_DATA; +pub type PPERFORMANCE_DATA = *mut _PERFORMANCE_DATA; +extern "C" { + pub fn RtlGetDeviceFamilyInfoEnum( + pullUAPInfo: *mut ULONGLONG, + pulDeviceFamily: *mut DWORD, + pulDeviceForm: *mut DWORD, + ); +} +extern "C" { + pub fn RtlConvertDeviceFamilyInfoToString( + pulDeviceFamilyBufferSize: PDWORD, + pulDeviceFormBufferSize: PDWORD, + DeviceFamily: PWSTR, + DeviceForm: PWSTR, + ) -> DWORD; +} +extern "C" { + pub fn RtlSwitchedVVI( + VersionInfo: PRTL_OSVERSIONINFOEXW, + TypeMask: DWORD, + ConditionMask: ULONGLONG, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EVENTLOGRECORD { + pub Length: DWORD, + pub Reserved: DWORD, + pub RecordNumber: DWORD, + pub TimeGenerated: DWORD, + pub TimeWritten: DWORD, + pub EventID: DWORD, + pub EventType: WORD, + pub NumStrings: WORD, + pub EventCategory: WORD, + pub ReservedFlags: WORD, + pub ClosingRecordNumber: DWORD, + pub StringOffset: DWORD, + pub UserSidLength: DWORD, + pub UserSidOffset: DWORD, + pub DataLength: DWORD, + pub DataOffset: DWORD, +} +#[test] +fn bindgen_test_layout__EVENTLOGRECORD() { + const UNINIT: ::std::mem::MaybeUninit<_EVENTLOGRECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EVENTLOGRECORD>(), + 56usize, + concat!("Size of: ", stringify!(_EVENTLOGRECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_EVENTLOGRECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_EVENTLOGRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(RecordNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeGenerated) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(TimeGenerated) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeWritten) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(TimeWritten) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventID) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(EventID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(EventType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumStrings) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(NumStrings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventCategory) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(EventCategory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservedFlags) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(ReservedFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClosingRecordNumber) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(ClosingRecordNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringOffset) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(StringOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserSidLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(UserSidLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserSidOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(UserSidOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataLength) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(DataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOGRECORD), + "::", + stringify!(DataOffset) + ) + ); +} +pub type EVENTLOGRECORD = _EVENTLOGRECORD; +pub type PEVENTLOGRECORD = *mut _EVENTLOGRECORD; +pub type EVENTSFORLOGFILE = _EVENTSFORLOGFILE; +pub type PEVENTSFORLOGFILE = *mut _EVENTSFORLOGFILE; +pub type PACKEDEVENTINFO = _PACKEDEVENTINFO; +pub type PPACKEDEVENTINFO = *mut _PACKEDEVENTINFO; +#[repr(C)] +#[derive(Debug)] +pub struct _EVENTSFORLOGFILE { + pub ulSize: DWORD, + pub szLogicalLogFile: [WCHAR; 256usize], + pub ulNumRecords: DWORD, + pub pEventLogRecords: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__EVENTSFORLOGFILE() { + const UNINIT: ::std::mem::MaybeUninit<_EVENTSFORLOGFILE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EVENTSFORLOGFILE>(), + 520usize, + concat!("Size of: ", stringify!(_EVENTSFORLOGFILE)) + ); + assert_eq!( + ::std::mem::align_of::<_EVENTSFORLOGFILE>(), + 4usize, + concat!("Alignment of ", stringify!(_EVENTSFORLOGFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EVENTSFORLOGFILE), + "::", + stringify!(ulSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szLogicalLogFile) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EVENTSFORLOGFILE), + "::", + stringify!(szLogicalLogFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulNumRecords) as usize - ptr as usize }, + 516usize, + concat!( + "Offset of field: ", + stringify!(_EVENTSFORLOGFILE), + "::", + stringify!(ulNumRecords) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEventLogRecords) as usize - ptr as usize }, + 520usize, + concat!( + "Offset of field: ", + stringify!(_EVENTSFORLOGFILE), + "::", + stringify!(pEventLogRecords) + ) + ); +} +#[repr(C)] +#[derive(Debug)] +pub struct _PACKEDEVENTINFO { + pub ulSize: DWORD, + pub ulNumEventsForLogFile: DWORD, + pub ulOffsets: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__PACKEDEVENTINFO() { + const UNINIT: ::std::mem::MaybeUninit<_PACKEDEVENTINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PACKEDEVENTINFO>(), + 8usize, + concat!("Size of: ", stringify!(_PACKEDEVENTINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PACKEDEVENTINFO>(), + 4usize, + concat!("Alignment of ", stringify!(_PACKEDEVENTINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PACKEDEVENTINFO), + "::", + stringify!(ulSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulNumEventsForLogFile) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PACKEDEVENTINFO), + "::", + stringify!(ulNumEventsForLogFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulOffsets) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PACKEDEVENTINFO), + "::", + stringify!(ulOffsets) + ) + ); +} +pub const _CM_SERVICE_NODE_TYPE_DriverType: _CM_SERVICE_NODE_TYPE = 1; +pub const _CM_SERVICE_NODE_TYPE_FileSystemType: _CM_SERVICE_NODE_TYPE = 2; +pub const _CM_SERVICE_NODE_TYPE_Win32ServiceOwnProcess: _CM_SERVICE_NODE_TYPE = 16; +pub const _CM_SERVICE_NODE_TYPE_Win32ServiceShareProcess: _CM_SERVICE_NODE_TYPE = 32; +pub const _CM_SERVICE_NODE_TYPE_AdapterType: _CM_SERVICE_NODE_TYPE = 4; +pub const _CM_SERVICE_NODE_TYPE_RecognizerType: _CM_SERVICE_NODE_TYPE = 8; +pub type _CM_SERVICE_NODE_TYPE = ::std::os::raw::c_int; +pub use self::_CM_SERVICE_NODE_TYPE as SERVICE_NODE_TYPE; +pub const _CM_SERVICE_LOAD_TYPE_BootLoad: _CM_SERVICE_LOAD_TYPE = 0; +pub const _CM_SERVICE_LOAD_TYPE_SystemLoad: _CM_SERVICE_LOAD_TYPE = 1; +pub const _CM_SERVICE_LOAD_TYPE_AutoLoad: _CM_SERVICE_LOAD_TYPE = 2; +pub const _CM_SERVICE_LOAD_TYPE_DemandLoad: _CM_SERVICE_LOAD_TYPE = 3; +pub const _CM_SERVICE_LOAD_TYPE_DisableLoad: _CM_SERVICE_LOAD_TYPE = 4; +pub type _CM_SERVICE_LOAD_TYPE = ::std::os::raw::c_int; +pub use self::_CM_SERVICE_LOAD_TYPE as SERVICE_LOAD_TYPE; +pub const _CM_ERROR_CONTROL_TYPE_IgnoreError: _CM_ERROR_CONTROL_TYPE = 0; +pub const _CM_ERROR_CONTROL_TYPE_NormalError: _CM_ERROR_CONTROL_TYPE = 1; +pub const _CM_ERROR_CONTROL_TYPE_SevereError: _CM_ERROR_CONTROL_TYPE = 2; +pub const _CM_ERROR_CONTROL_TYPE_CriticalError: _CM_ERROR_CONTROL_TYPE = 3; +pub type _CM_ERROR_CONTROL_TYPE = ::std::os::raw::c_int; +pub use self::_CM_ERROR_CONTROL_TYPE as SERVICE_ERROR_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_ERASE { + pub Type: DWORD, + pub Immediate: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_ERASE() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_ERASE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_ERASE>(), + 8usize, + concat!("Size of: ", stringify!(_TAPE_ERASE)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_ERASE>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_ERASE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_ERASE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Immediate) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_ERASE), + "::", + stringify!(Immediate) + ) + ); +} +pub type TAPE_ERASE = _TAPE_ERASE; +pub type PTAPE_ERASE = *mut _TAPE_ERASE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_PREPARE { + pub Operation: DWORD, + pub Immediate: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_PREPARE() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_PREPARE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_PREPARE>(), + 8usize, + concat!("Size of: ", stringify!(_TAPE_PREPARE)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_PREPARE>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_PREPARE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Operation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_PREPARE), + "::", + stringify!(Operation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Immediate) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_PREPARE), + "::", + stringify!(Immediate) + ) + ); +} +pub type TAPE_PREPARE = _TAPE_PREPARE; +pub type PTAPE_PREPARE = *mut _TAPE_PREPARE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_WRITE_MARKS { + pub Type: DWORD, + pub Count: DWORD, + pub Immediate: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_WRITE_MARKS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_WRITE_MARKS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_WRITE_MARKS>(), + 12usize, + concat!("Size of: ", stringify!(_TAPE_WRITE_MARKS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_WRITE_MARKS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_WRITE_MARKS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WRITE_MARKS), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WRITE_MARKS), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Immediate) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WRITE_MARKS), + "::", + stringify!(Immediate) + ) + ); +} +pub type TAPE_WRITE_MARKS = _TAPE_WRITE_MARKS; +pub type PTAPE_WRITE_MARKS = *mut _TAPE_WRITE_MARKS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TAPE_GET_POSITION { + pub Type: DWORD, + pub Partition: DWORD, + pub Offset: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__TAPE_GET_POSITION() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_GET_POSITION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_GET_POSITION>(), + 16usize, + concat!("Size of: ", stringify!(_TAPE_GET_POSITION)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_GET_POSITION>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_GET_POSITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_POSITION), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Partition) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_POSITION), + "::", + stringify!(Partition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_POSITION), + "::", + stringify!(Offset) + ) + ); +} +pub type TAPE_GET_POSITION = _TAPE_GET_POSITION; +pub type PTAPE_GET_POSITION = *mut _TAPE_GET_POSITION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TAPE_SET_POSITION { + pub Method: DWORD, + pub Partition: DWORD, + pub Offset: LARGE_INTEGER, + pub Immediate: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_SET_POSITION() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_SET_POSITION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_SET_POSITION>(), + 24usize, + concat!("Size of: ", stringify!(_TAPE_SET_POSITION)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_SET_POSITION>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_SET_POSITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Method) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_POSITION), + "::", + stringify!(Method) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Partition) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_POSITION), + "::", + stringify!(Partition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_POSITION), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Immediate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_POSITION), + "::", + stringify!(Immediate) + ) + ); +} +pub type TAPE_SET_POSITION = _TAPE_SET_POSITION; +pub type PTAPE_SET_POSITION = *mut _TAPE_SET_POSITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_GET_DRIVE_PARAMETERS { + pub ECC: BOOLEAN, + pub Compression: BOOLEAN, + pub DataPadding: BOOLEAN, + pub ReportSetmarks: BOOLEAN, + pub DefaultBlockSize: DWORD, + pub MaximumBlockSize: DWORD, + pub MinimumBlockSize: DWORD, + pub MaximumPartitionCount: DWORD, + pub FeaturesLow: DWORD, + pub FeaturesHigh: DWORD, + pub EOTWarningZoneSize: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_GET_DRIVE_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_GET_DRIVE_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_GET_DRIVE_PARAMETERS>(), + 32usize, + concat!("Size of: ", stringify!(_TAPE_GET_DRIVE_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_GET_DRIVE_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_GET_DRIVE_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ECC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(ECC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Compression) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(Compression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataPadding) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(DataPadding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportSetmarks) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(ReportSetmarks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultBlockSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(DefaultBlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumBlockSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(MaximumBlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumBlockSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(MinimumBlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumPartitionCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(MaximumPartitionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FeaturesLow) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(FeaturesLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FeaturesHigh) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(FeaturesHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EOTWarningZoneSize) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_DRIVE_PARAMETERS), + "::", + stringify!(EOTWarningZoneSize) + ) + ); +} +pub type TAPE_GET_DRIVE_PARAMETERS = _TAPE_GET_DRIVE_PARAMETERS; +pub type PTAPE_GET_DRIVE_PARAMETERS = *mut _TAPE_GET_DRIVE_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_SET_DRIVE_PARAMETERS { + pub ECC: BOOLEAN, + pub Compression: BOOLEAN, + pub DataPadding: BOOLEAN, + pub ReportSetmarks: BOOLEAN, + pub EOTWarningZoneSize: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_SET_DRIVE_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_SET_DRIVE_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_SET_DRIVE_PARAMETERS>(), + 8usize, + concat!("Size of: ", stringify!(_TAPE_SET_DRIVE_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_SET_DRIVE_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_SET_DRIVE_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ECC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(ECC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Compression) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(Compression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataPadding) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(DataPadding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportSetmarks) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(ReportSetmarks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EOTWarningZoneSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_DRIVE_PARAMETERS), + "::", + stringify!(EOTWarningZoneSize) + ) + ); +} +pub type TAPE_SET_DRIVE_PARAMETERS = _TAPE_SET_DRIVE_PARAMETERS; +pub type PTAPE_SET_DRIVE_PARAMETERS = *mut _TAPE_SET_DRIVE_PARAMETERS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TAPE_GET_MEDIA_PARAMETERS { + pub Capacity: LARGE_INTEGER, + pub Remaining: LARGE_INTEGER, + pub BlockSize: DWORD, + pub PartitionCount: DWORD, + pub WriteProtected: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TAPE_GET_MEDIA_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_GET_MEDIA_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_GET_MEDIA_PARAMETERS>(), + 32usize, + concat!("Size of: ", stringify!(_TAPE_GET_MEDIA_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_GET_MEDIA_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_GET_MEDIA_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capacity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(Capacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remaining) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(Remaining) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(BlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionCount) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(PartitionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteProtected) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_MEDIA_PARAMETERS), + "::", + stringify!(WriteProtected) + ) + ); +} +pub type TAPE_GET_MEDIA_PARAMETERS = _TAPE_GET_MEDIA_PARAMETERS; +pub type PTAPE_GET_MEDIA_PARAMETERS = *mut _TAPE_GET_MEDIA_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_SET_MEDIA_PARAMETERS { + pub BlockSize: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_SET_MEDIA_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_SET_MEDIA_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_SET_MEDIA_PARAMETERS>(), + 4usize, + concat!("Size of: ", stringify!(_TAPE_SET_MEDIA_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_SET_MEDIA_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_SET_MEDIA_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_SET_MEDIA_PARAMETERS), + "::", + stringify!(BlockSize) + ) + ); +} +pub type TAPE_SET_MEDIA_PARAMETERS = _TAPE_SET_MEDIA_PARAMETERS; +pub type PTAPE_SET_MEDIA_PARAMETERS = *mut _TAPE_SET_MEDIA_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_CREATE_PARTITION { + pub Method: DWORD, + pub Count: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_CREATE_PARTITION() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_CREATE_PARTITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_CREATE_PARTITION>(), + 12usize, + concat!("Size of: ", stringify!(_TAPE_CREATE_PARTITION)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_CREATE_PARTITION>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_CREATE_PARTITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Method) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_CREATE_PARTITION), + "::", + stringify!(Method) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_CREATE_PARTITION), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_CREATE_PARTITION), + "::", + stringify!(Size) + ) + ); +} +pub type TAPE_CREATE_PARTITION = _TAPE_CREATE_PARTITION; +pub type PTAPE_CREATE_PARTITION = *mut _TAPE_CREATE_PARTITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_WMI_OPERATIONS { + pub Method: DWORD, + pub DataBufferSize: DWORD, + pub DataBuffer: PVOID, +} +#[test] +fn bindgen_test_layout__TAPE_WMI_OPERATIONS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_WMI_OPERATIONS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_WMI_OPERATIONS>(), + 16usize, + concat!("Size of: ", stringify!(_TAPE_WMI_OPERATIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_WMI_OPERATIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_WMI_OPERATIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Method) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WMI_OPERATIONS), + "::", + stringify!(Method) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBufferSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WMI_OPERATIONS), + "::", + stringify!(DataBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBuffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_WMI_OPERATIONS), + "::", + stringify!(DataBuffer) + ) + ); +} +pub type TAPE_WMI_OPERATIONS = _TAPE_WMI_OPERATIONS; +pub type PTAPE_WMI_OPERATIONS = *mut _TAPE_WMI_OPERATIONS; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveProblemNone: _TAPE_DRIVE_PROBLEM_TYPE = 0; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveReadWriteWarning: _TAPE_DRIVE_PROBLEM_TYPE = 1; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveReadWriteError: _TAPE_DRIVE_PROBLEM_TYPE = 2; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveReadWarning: _TAPE_DRIVE_PROBLEM_TYPE = 3; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveWriteWarning: _TAPE_DRIVE_PROBLEM_TYPE = 4; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveReadError: _TAPE_DRIVE_PROBLEM_TYPE = 5; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveWriteError: _TAPE_DRIVE_PROBLEM_TYPE = 6; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveHardwareError: _TAPE_DRIVE_PROBLEM_TYPE = 7; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveUnsupportedMedia: _TAPE_DRIVE_PROBLEM_TYPE = 8; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveScsiConnectionError: _TAPE_DRIVE_PROBLEM_TYPE = 9; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveTimetoClean: _TAPE_DRIVE_PROBLEM_TYPE = 10; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveCleanDriveNow: _TAPE_DRIVE_PROBLEM_TYPE = 11; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveMediaLifeExpired: _TAPE_DRIVE_PROBLEM_TYPE = 12; +pub const _TAPE_DRIVE_PROBLEM_TYPE_TapeDriveSnappedTape: _TAPE_DRIVE_PROBLEM_TYPE = 13; +pub type _TAPE_DRIVE_PROBLEM_TYPE = ::std::os::raw::c_int; +pub use self::_TAPE_DRIVE_PROBLEM_TYPE as TAPE_DRIVE_PROBLEM_TYPE; +pub type UOW = GUID; +pub type PUOW = *mut GUID; +pub type CRM_PROTOCOL_ID = GUID; +pub type PCRM_PROTOCOL_ID = *mut GUID; +pub type NOTIFICATION_MASK = ULONG; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION { + pub TransactionKey: PVOID, + pub TransactionNotification: ULONG, + pub TmVirtualClock: LARGE_INTEGER, + pub ArgumentLength: ULONG, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION>(), + 32usize, + concat!("Size of: ", stringify!(_TRANSACTION_NOTIFICATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TRANSACTION_NOTIFICATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION), + "::", + stringify!(TransactionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionNotification) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION), + "::", + stringify!(TransactionNotification) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmVirtualClock) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION), + "::", + stringify!(TmVirtualClock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArgumentLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION), + "::", + stringify!(ArgumentLength) + ) + ); +} +pub type TRANSACTION_NOTIFICATION = _TRANSACTION_NOTIFICATION; +pub type PTRANSACTION_NOTIFICATION = *mut _TRANSACTION_NOTIFICATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT { + pub EnlistmentId: GUID, + pub UOW: UOW, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT>(), + 32usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnlistmentId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT), + "::", + stringify!(EnlistmentId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT), + "::", + stringify!(UOW) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT { + pub TmIdentity: GUID, + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT>(), + 20usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmIdentity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT), + "::", + stringify!(TmIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT), + "::", + stringify!(Flags) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT; +pub type SAVEPOINT_ID = ULONG; +pub type PSAVEPOINT_ID = *mut ULONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT { + pub SavepointId: SAVEPOINT_ID, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT>(), + 4usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SavepointId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT), + "::", + stringify!(SavepointId) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT { + pub PropagationCookie: ULONG, + pub UOW: GUID, + pub TmIdentity: GUID, + pub BufferLength: ULONG, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT>(), + 40usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropagationCookie) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), + "::", + stringify!(PropagationCookie) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), + "::", + stringify!(UOW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmIdentity) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), + "::", + stringify!(TmIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferLength) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT), + "::", + stringify!(BufferLength) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT { + pub MarshalCookie: ULONG, + pub UOW: GUID, +} +#[test] +fn bindgen_test_layout__TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT>(), + 20usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MarshalCookie) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT), + "::", + stringify!(MarshalCookie) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT), + "::", + stringify!(UOW) + ) + ); +} +pub type TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = + *mut _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT; +pub type TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT = TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; +pub type PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT = + *mut TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KCRM_MARSHAL_HEADER { + pub VersionMajor: ULONG, + pub VersionMinor: ULONG, + pub NumProtocols: ULONG, + pub Unused: ULONG, +} +#[test] +fn bindgen_test_layout__KCRM_MARSHAL_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_KCRM_MARSHAL_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KCRM_MARSHAL_HEADER>(), + 16usize, + concat!("Size of: ", stringify!(_KCRM_MARSHAL_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_KCRM_MARSHAL_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_KCRM_MARSHAL_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersionMajor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_MARSHAL_HEADER), + "::", + stringify!(VersionMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersionMinor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_MARSHAL_HEADER), + "::", + stringify!(VersionMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumProtocols) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_MARSHAL_HEADER), + "::", + stringify!(NumProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_MARSHAL_HEADER), + "::", + stringify!(Unused) + ) + ); +} +pub type KCRM_MARSHAL_HEADER = _KCRM_MARSHAL_HEADER; +pub type PKCRM_MARSHAL_HEADER = *mut _KCRM_MARSHAL_HEADER; +pub type PRKCRM_MARSHAL_HEADER = *mut _KCRM_MARSHAL_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KCRM_TRANSACTION_BLOB { + pub UOW: UOW, + pub TmIdentity: GUID, + pub IsolationLevel: ULONG, + pub IsolationFlags: ULONG, + pub Timeout: ULONG, + pub Description: [WCHAR; 64usize], +} +#[test] +fn bindgen_test_layout__KCRM_TRANSACTION_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_KCRM_TRANSACTION_BLOB> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KCRM_TRANSACTION_BLOB>(), + 172usize, + concat!("Size of: ", stringify!(_KCRM_TRANSACTION_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_KCRM_TRANSACTION_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_KCRM_TRANSACTION_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(UOW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmIdentity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(TmIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationLevel) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(IsolationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(IsolationFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Timeout) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_TRANSACTION_BLOB), + "::", + stringify!(Description) + ) + ); +} +pub type KCRM_TRANSACTION_BLOB = _KCRM_TRANSACTION_BLOB; +pub type PKCRM_TRANSACTION_BLOB = *mut _KCRM_TRANSACTION_BLOB; +pub type PRKCRM_TRANSACTION_BLOB = *mut _KCRM_TRANSACTION_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KCRM_PROTOCOL_BLOB { + pub ProtocolId: CRM_PROTOCOL_ID, + pub StaticInfoLength: ULONG, + pub TransactionIdInfoLength: ULONG, + pub Unused1: ULONG, + pub Unused2: ULONG, +} +#[test] +fn bindgen_test_layout__KCRM_PROTOCOL_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_KCRM_PROTOCOL_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KCRM_PROTOCOL_BLOB>(), + 32usize, + concat!("Size of: ", stringify!(_KCRM_PROTOCOL_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_KCRM_PROTOCOL_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_KCRM_PROTOCOL_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(ProtocolId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StaticInfoLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(StaticInfoLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionIdInfoLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(TransactionIdInfoLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused1) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(Unused1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused2) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_KCRM_PROTOCOL_BLOB), + "::", + stringify!(Unused2) + ) + ); +} +pub type KCRM_PROTOCOL_BLOB = _KCRM_PROTOCOL_BLOB; +pub type PKCRM_PROTOCOL_BLOB = *mut _KCRM_PROTOCOL_BLOB; +pub type PRKCRM_PROTOCOL_BLOB = *mut _KCRM_PROTOCOL_BLOB; +pub const _TRANSACTION_OUTCOME_TransactionOutcomeUndetermined: _TRANSACTION_OUTCOME = 1; +pub const _TRANSACTION_OUTCOME_TransactionOutcomeCommitted: _TRANSACTION_OUTCOME = 2; +pub const _TRANSACTION_OUTCOME_TransactionOutcomeAborted: _TRANSACTION_OUTCOME = 3; +pub type _TRANSACTION_OUTCOME = ::std::os::raw::c_int; +pub use self::_TRANSACTION_OUTCOME as TRANSACTION_OUTCOME; +pub const _TRANSACTION_STATE_TransactionStateNormal: _TRANSACTION_STATE = 1; +pub const _TRANSACTION_STATE_TransactionStateIndoubt: _TRANSACTION_STATE = 2; +pub const _TRANSACTION_STATE_TransactionStateCommittedNotify: _TRANSACTION_STATE = 3; +pub type _TRANSACTION_STATE = ::std::os::raw::c_int; +pub use self::_TRANSACTION_STATE as TRANSACTION_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_BASIC_INFORMATION { + pub TransactionId: GUID, + pub State: DWORD, + pub Outcome: DWORD, +} +#[test] +fn bindgen_test_layout__TRANSACTION_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_BASIC_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_TRANSACTION_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_BASIC_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TRANSACTION_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_BASIC_INFORMATION), + "::", + stringify!(TransactionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).State) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_BASIC_INFORMATION), + "::", + stringify!(State) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Outcome) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_BASIC_INFORMATION), + "::", + stringify!(Outcome) + ) + ); +} +pub type TRANSACTION_BASIC_INFORMATION = _TRANSACTION_BASIC_INFORMATION; +pub type PTRANSACTION_BASIC_INFORMATION = *mut _TRANSACTION_BASIC_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TRANSACTIONMANAGER_BASIC_INFORMATION { + pub TmIdentity: GUID, + pub VirtualClock: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_BASIC_INFORMATION>(), + 24usize, + concat!( + "Size of: ", + stringify!(_TRANSACTIONMANAGER_BASIC_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_BASIC_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_BASIC_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmIdentity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_BASIC_INFORMATION), + "::", + stringify!(TmIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualClock) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_BASIC_INFORMATION), + "::", + stringify!(VirtualClock) + ) + ); +} +pub type TRANSACTIONMANAGER_BASIC_INFORMATION = _TRANSACTIONMANAGER_BASIC_INFORMATION; +pub type PTRANSACTIONMANAGER_BASIC_INFORMATION = *mut _TRANSACTIONMANAGER_BASIC_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTIONMANAGER_LOG_INFORMATION { + pub LogIdentity: GUID, +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_LOG_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_LOG_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_LOG_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_TRANSACTIONMANAGER_LOG_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_LOG_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_LOG_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogIdentity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_LOG_INFORMATION), + "::", + stringify!(LogIdentity) + ) + ); +} +pub type TRANSACTIONMANAGER_LOG_INFORMATION = _TRANSACTIONMANAGER_LOG_INFORMATION; +pub type PTRANSACTIONMANAGER_LOG_INFORMATION = *mut _TRANSACTIONMANAGER_LOG_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTIONMANAGER_LOGPATH_INFORMATION { + pub LogPathLength: DWORD, + pub LogPath: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_LOGPATH_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_LOGPATH_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_LOGPATH_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_TRANSACTIONMANAGER_LOGPATH_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_LOGPATH_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_LOGPATH_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogPathLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_LOGPATH_INFORMATION), + "::", + stringify!(LogPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogPath) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_LOGPATH_INFORMATION), + "::", + stringify!(LogPath) + ) + ); +} +pub type TRANSACTIONMANAGER_LOGPATH_INFORMATION = _TRANSACTIONMANAGER_LOGPATH_INFORMATION; +pub type PTRANSACTIONMANAGER_LOGPATH_INFORMATION = *mut _TRANSACTIONMANAGER_LOGPATH_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTIONMANAGER_RECOVERY_INFORMATION { + pub LastRecoveredLsn: ULONGLONG, +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_RECOVERY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_RECOVERY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_RECOVERY_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_TRANSACTIONMANAGER_RECOVERY_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_RECOVERY_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_RECOVERY_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastRecoveredLsn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_RECOVERY_INFORMATION), + "::", + stringify!(LastRecoveredLsn) + ) + ); +} +pub type TRANSACTIONMANAGER_RECOVERY_INFORMATION = _TRANSACTIONMANAGER_RECOVERY_INFORMATION; +pub type PTRANSACTIONMANAGER_RECOVERY_INFORMATION = *mut _TRANSACTIONMANAGER_RECOVERY_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTIONMANAGER_OLDEST_INFORMATION { + pub OldestTransactionGuid: GUID, +} +#[test] +fn bindgen_test_layout__TRANSACTIONMANAGER_OLDEST_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTIONMANAGER_OLDEST_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTIONMANAGER_OLDEST_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_TRANSACTIONMANAGER_OLDEST_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTIONMANAGER_OLDEST_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTIONMANAGER_OLDEST_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldestTransactionGuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTIONMANAGER_OLDEST_INFORMATION), + "::", + stringify!(OldestTransactionGuid) + ) + ); +} +pub type TRANSACTIONMANAGER_OLDEST_INFORMATION = _TRANSACTIONMANAGER_OLDEST_INFORMATION; +pub type PTRANSACTIONMANAGER_OLDEST_INFORMATION = *mut _TRANSACTIONMANAGER_OLDEST_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TRANSACTION_PROPERTIES_INFORMATION { + pub IsolationLevel: DWORD, + pub IsolationFlags: DWORD, + pub Timeout: LARGE_INTEGER, + pub Outcome: DWORD, + pub DescriptionLength: DWORD, + pub Description: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__TRANSACTION_PROPERTIES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_PROPERTIES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_PROPERTIES_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_TRANSACTION_PROPERTIES_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_PROPERTIES_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(IsolationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsolationFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(IsolationFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Timeout) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Outcome) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(Outcome) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DescriptionLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(DescriptionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_PROPERTIES_INFORMATION), + "::", + stringify!(Description) + ) + ); +} +pub type TRANSACTION_PROPERTIES_INFORMATION = _TRANSACTION_PROPERTIES_INFORMATION; +pub type PTRANSACTION_PROPERTIES_INFORMATION = *mut _TRANSACTION_PROPERTIES_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_BIND_INFORMATION { + pub TmHandle: HANDLE, +} +#[test] +fn bindgen_test_layout__TRANSACTION_BIND_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_BIND_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_BIND_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_TRANSACTION_BIND_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_BIND_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TRANSACTION_BIND_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_BIND_INFORMATION), + "::", + stringify!(TmHandle) + ) + ); +} +pub type TRANSACTION_BIND_INFORMATION = _TRANSACTION_BIND_INFORMATION; +pub type PTRANSACTION_BIND_INFORMATION = *mut _TRANSACTION_BIND_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_ENLISTMENT_PAIR { + pub EnlistmentId: GUID, + pub ResourceManagerId: GUID, +} +#[test] +fn bindgen_test_layout__TRANSACTION_ENLISTMENT_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_ENLISTMENT_PAIR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_ENLISTMENT_PAIR>(), + 32usize, + concat!("Size of: ", stringify!(_TRANSACTION_ENLISTMENT_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_ENLISTMENT_PAIR>(), + 4usize, + concat!("Alignment of ", stringify!(_TRANSACTION_ENLISTMENT_PAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnlistmentId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_ENLISTMENT_PAIR), + "::", + stringify!(EnlistmentId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceManagerId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_ENLISTMENT_PAIR), + "::", + stringify!(ResourceManagerId) + ) + ); +} +pub type TRANSACTION_ENLISTMENT_PAIR = _TRANSACTION_ENLISTMENT_PAIR; +pub type PTRANSACTION_ENLISTMENT_PAIR = *mut _TRANSACTION_ENLISTMENT_PAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_ENLISTMENTS_INFORMATION { + pub NumberOfEnlistments: DWORD, + pub EnlistmentPair: [TRANSACTION_ENLISTMENT_PAIR; 1usize], +} +#[test] +fn bindgen_test_layout__TRANSACTION_ENLISTMENTS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_ENLISTMENTS_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_ENLISTMENTS_INFORMATION>(), + 36usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_ENLISTMENTS_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_ENLISTMENTS_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_ENLISTMENTS_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfEnlistments) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_ENLISTMENTS_INFORMATION), + "::", + stringify!(NumberOfEnlistments) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnlistmentPair) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_ENLISTMENTS_INFORMATION), + "::", + stringify!(EnlistmentPair) + ) + ); +} +pub type TRANSACTION_ENLISTMENTS_INFORMATION = _TRANSACTION_ENLISTMENTS_INFORMATION; +pub type PTRANSACTION_ENLISTMENTS_INFORMATION = *mut _TRANSACTION_ENLISTMENTS_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION { + pub SuperiorEnlistmentPair: TRANSACTION_ENLISTMENT_PAIR, +} +#[test] +fn bindgen_test_layout__TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION>(), + 32usize, + concat!( + "Size of: ", + stringify!(_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SuperiorEnlistmentPair) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION), + "::", + stringify!(SuperiorEnlistmentPair) + ) + ); +} +pub type TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION; +pub type PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = + *mut _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RESOURCEMANAGER_BASIC_INFORMATION { + pub ResourceManagerId: GUID, + pub DescriptionLength: DWORD, + pub Description: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__RESOURCEMANAGER_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_RESOURCEMANAGER_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RESOURCEMANAGER_BASIC_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_RESOURCEMANAGER_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_RESOURCEMANAGER_BASIC_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_RESOURCEMANAGER_BASIC_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceManagerId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_BASIC_INFORMATION), + "::", + stringify!(ResourceManagerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DescriptionLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_BASIC_INFORMATION), + "::", + stringify!(DescriptionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_BASIC_INFORMATION), + "::", + stringify!(Description) + ) + ); +} +pub type RESOURCEMANAGER_BASIC_INFORMATION = _RESOURCEMANAGER_BASIC_INFORMATION; +pub type PRESOURCEMANAGER_BASIC_INFORMATION = *mut _RESOURCEMANAGER_BASIC_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RESOURCEMANAGER_COMPLETION_INFORMATION { + pub IoCompletionPortHandle: HANDLE, + pub CompletionKey: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__RESOURCEMANAGER_COMPLETION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_RESOURCEMANAGER_COMPLETION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RESOURCEMANAGER_COMPLETION_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_RESOURCEMANAGER_COMPLETION_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RESOURCEMANAGER_COMPLETION_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RESOURCEMANAGER_COMPLETION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoCompletionPortHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_COMPLETION_INFORMATION), + "::", + stringify!(IoCompletionPortHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompletionKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RESOURCEMANAGER_COMPLETION_INFORMATION), + "::", + stringify!(CompletionKey) + ) + ); +} +pub type RESOURCEMANAGER_COMPLETION_INFORMATION = _RESOURCEMANAGER_COMPLETION_INFORMATION; +pub type PRESOURCEMANAGER_COMPLETION_INFORMATION = *mut _RESOURCEMANAGER_COMPLETION_INFORMATION; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionBasicInformation: + _TRANSACTION_INFORMATION_CLASS = 0; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionPropertiesInformation: + _TRANSACTION_INFORMATION_CLASS = 1; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionEnlistmentInformation: + _TRANSACTION_INFORMATION_CLASS = 2; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionSuperiorEnlistmentInformation: + _TRANSACTION_INFORMATION_CLASS = 3; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionBindInformation: + _TRANSACTION_INFORMATION_CLASS = 4; +pub const _TRANSACTION_INFORMATION_CLASS_TransactionDTCPrivateInformation: + _TRANSACTION_INFORMATION_CLASS = 5; +pub type _TRANSACTION_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_TRANSACTION_INFORMATION_CLASS as TRANSACTION_INFORMATION_CLASS; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerBasicInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 0; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerLogInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 1; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerLogPathInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 2; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerRecoveryInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 4; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerOnlineProbeInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 3; +pub const _TRANSACTIONMANAGER_INFORMATION_CLASS_TransactionManagerOldestTransactionInformation: + _TRANSACTIONMANAGER_INFORMATION_CLASS = 5; +pub type _TRANSACTIONMANAGER_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_TRANSACTIONMANAGER_INFORMATION_CLASS as TRANSACTIONMANAGER_INFORMATION_CLASS; +pub const _RESOURCEMANAGER_INFORMATION_CLASS_ResourceManagerBasicInformation: + _RESOURCEMANAGER_INFORMATION_CLASS = 0; +pub const _RESOURCEMANAGER_INFORMATION_CLASS_ResourceManagerCompletionInformation: + _RESOURCEMANAGER_INFORMATION_CLASS = 1; +pub type _RESOURCEMANAGER_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_RESOURCEMANAGER_INFORMATION_CLASS as RESOURCEMANAGER_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENLISTMENT_BASIC_INFORMATION { + pub EnlistmentId: GUID, + pub TransactionId: GUID, + pub ResourceManagerId: GUID, +} +#[test] +fn bindgen_test_layout__ENLISTMENT_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ENLISTMENT_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENLISTMENT_BASIC_INFORMATION>(), + 48usize, + concat!("Size of: ", stringify!(_ENLISTMENT_BASIC_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ENLISTMENT_BASIC_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_ENLISTMENT_BASIC_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnlistmentId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_BASIC_INFORMATION), + "::", + stringify!(EnlistmentId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_BASIC_INFORMATION), + "::", + stringify!(TransactionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceManagerId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_BASIC_INFORMATION), + "::", + stringify!(ResourceManagerId) + ) + ); +} +pub type ENLISTMENT_BASIC_INFORMATION = _ENLISTMENT_BASIC_INFORMATION; +pub type PENLISTMENT_BASIC_INFORMATION = *mut _ENLISTMENT_BASIC_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENLISTMENT_CRM_INFORMATION { + pub CrmTransactionManagerId: GUID, + pub CrmResourceManagerId: GUID, + pub CrmEnlistmentId: GUID, +} +#[test] +fn bindgen_test_layout__ENLISTMENT_CRM_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ENLISTMENT_CRM_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENLISTMENT_CRM_INFORMATION>(), + 48usize, + concat!("Size of: ", stringify!(_ENLISTMENT_CRM_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_ENLISTMENT_CRM_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_ENLISTMENT_CRM_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CrmTransactionManagerId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_CRM_INFORMATION), + "::", + stringify!(CrmTransactionManagerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CrmResourceManagerId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_CRM_INFORMATION), + "::", + stringify!(CrmResourceManagerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CrmEnlistmentId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ENLISTMENT_CRM_INFORMATION), + "::", + stringify!(CrmEnlistmentId) + ) + ); +} +pub type ENLISTMENT_CRM_INFORMATION = _ENLISTMENT_CRM_INFORMATION; +pub type PENLISTMENT_CRM_INFORMATION = *mut _ENLISTMENT_CRM_INFORMATION; +pub const _ENLISTMENT_INFORMATION_CLASS_EnlistmentBasicInformation: _ENLISTMENT_INFORMATION_CLASS = + 0; +pub const _ENLISTMENT_INFORMATION_CLASS_EnlistmentRecoveryInformation: + _ENLISTMENT_INFORMATION_CLASS = 1; +pub const _ENLISTMENT_INFORMATION_CLASS_EnlistmentCrmInformation: _ENLISTMENT_INFORMATION_CLASS = 2; +pub type _ENLISTMENT_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_ENLISTMENT_INFORMATION_CLASS as ENLISTMENT_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_LIST_ENTRY { + pub UOW: UOW, +} +#[test] +fn bindgen_test_layout__TRANSACTION_LIST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_LIST_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_LIST_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_TRANSACTION_LIST_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_LIST_ENTRY>(), + 4usize, + concat!("Alignment of ", stringify!(_TRANSACTION_LIST_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UOW) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_LIST_ENTRY), + "::", + stringify!(UOW) + ) + ); +} +pub type TRANSACTION_LIST_ENTRY = _TRANSACTION_LIST_ENTRY; +pub type PTRANSACTION_LIST_ENTRY = *mut _TRANSACTION_LIST_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRANSACTION_LIST_INFORMATION { + pub NumberOfTransactions: DWORD, + pub TransactionInformation: [TRANSACTION_LIST_ENTRY; 1usize], +} +#[test] +fn bindgen_test_layout__TRANSACTION_LIST_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TRANSACTION_LIST_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRANSACTION_LIST_INFORMATION>(), + 20usize, + concat!("Size of: ", stringify!(_TRANSACTION_LIST_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TRANSACTION_LIST_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TRANSACTION_LIST_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTransactions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_LIST_INFORMATION), + "::", + stringify!(NumberOfTransactions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionInformation) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRANSACTION_LIST_INFORMATION), + "::", + stringify!(TransactionInformation) + ) + ); +} +pub type TRANSACTION_LIST_INFORMATION = _TRANSACTION_LIST_INFORMATION; +pub type PTRANSACTION_LIST_INFORMATION = *mut _TRANSACTION_LIST_INFORMATION; +pub const _KTMOBJECT_TYPE_KTMOBJECT_TRANSACTION: _KTMOBJECT_TYPE = 0; +pub const _KTMOBJECT_TYPE_KTMOBJECT_TRANSACTION_MANAGER: _KTMOBJECT_TYPE = 1; +pub const _KTMOBJECT_TYPE_KTMOBJECT_RESOURCE_MANAGER: _KTMOBJECT_TYPE = 2; +pub const _KTMOBJECT_TYPE_KTMOBJECT_ENLISTMENT: _KTMOBJECT_TYPE = 3; +pub const _KTMOBJECT_TYPE_KTMOBJECT_INVALID: _KTMOBJECT_TYPE = 4; +pub type _KTMOBJECT_TYPE = ::std::os::raw::c_int; +pub use self::_KTMOBJECT_TYPE as KTMOBJECT_TYPE; +pub type PKTMOBJECT_TYPE = *mut _KTMOBJECT_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KTMOBJECT_CURSOR { + pub LastQuery: GUID, + pub ObjectIdCount: DWORD, + pub ObjectIds: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__KTMOBJECT_CURSOR() { + const UNINIT: ::std::mem::MaybeUninit<_KTMOBJECT_CURSOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KTMOBJECT_CURSOR>(), + 36usize, + concat!("Size of: ", stringify!(_KTMOBJECT_CURSOR)) + ); + assert_eq!( + ::std::mem::align_of::<_KTMOBJECT_CURSOR>(), + 4usize, + concat!("Alignment of ", stringify!(_KTMOBJECT_CURSOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastQuery) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KTMOBJECT_CURSOR), + "::", + stringify!(LastQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectIdCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_KTMOBJECT_CURSOR), + "::", + stringify!(ObjectIdCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectIds) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_KTMOBJECT_CURSOR), + "::", + stringify!(ObjectIds) + ) + ); +} +pub type KTMOBJECT_CURSOR = _KTMOBJECT_CURSOR; +pub type PKTMOBJECT_CURSOR = *mut _KTMOBJECT_CURSOR; +pub type TP_VERSION = DWORD; +pub type PTP_VERSION = *mut DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_CALLBACK_INSTANCE { + _unused: [u8; 0], +} +pub type TP_CALLBACK_INSTANCE = _TP_CALLBACK_INSTANCE; +pub type PTP_CALLBACK_INSTANCE = *mut _TP_CALLBACK_INSTANCE; +pub type PTP_SIMPLE_CALLBACK = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_POOL { + _unused: [u8; 0], +} +pub type TP_POOL = _TP_POOL; +pub type PTP_POOL = *mut _TP_POOL; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_HIGH: _TP_CALLBACK_PRIORITY = 0; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_NORMAL: _TP_CALLBACK_PRIORITY = 1; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_LOW: _TP_CALLBACK_PRIORITY = 2; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_INVALID: _TP_CALLBACK_PRIORITY = 3; +pub const _TP_CALLBACK_PRIORITY_TP_CALLBACK_PRIORITY_COUNT: _TP_CALLBACK_PRIORITY = 3; +pub type _TP_CALLBACK_PRIORITY = ::std::os::raw::c_int; +pub use self::_TP_CALLBACK_PRIORITY as TP_CALLBACK_PRIORITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_POOL_STACK_INFORMATION { + pub StackReserve: SIZE_T, + pub StackCommit: SIZE_T, +} +#[test] +fn bindgen_test_layout__TP_POOL_STACK_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TP_POOL_STACK_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TP_POOL_STACK_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_TP_POOL_STACK_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TP_POOL_STACK_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TP_POOL_STACK_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackReserve) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TP_POOL_STACK_INFORMATION), + "::", + stringify!(StackReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackCommit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TP_POOL_STACK_INFORMATION), + "::", + stringify!(StackCommit) + ) + ); +} +pub type TP_POOL_STACK_INFORMATION = _TP_POOL_STACK_INFORMATION; +pub type PTP_POOL_STACK_INFORMATION = *mut _TP_POOL_STACK_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_CLEANUP_GROUP { + _unused: [u8; 0], +} +pub type TP_CLEANUP_GROUP = _TP_CLEANUP_GROUP; +pub type PTP_CLEANUP_GROUP = *mut _TP_CLEANUP_GROUP; +pub type PTP_CLEANUP_GROUP_CANCEL_CALLBACK = + ::std::option::Option; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TP_CALLBACK_ENVIRON_V3 { + pub Version: TP_VERSION, + pub Pool: PTP_POOL, + pub CleanupGroup: PTP_CLEANUP_GROUP, + pub CleanupGroupCancelCallback: PTP_CLEANUP_GROUP_CANCEL_CALLBACK, + pub RaceDll: PVOID, + pub ActivationContext: *mut _ACTIVATION_CONTEXT, + pub FinalizationCallback: PTP_SIMPLE_CALLBACK, + pub u: _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1, + pub CallbackPriority: TP_CALLBACK_PRIORITY, + pub Size: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1 { + pub Flags: DWORD, + pub s: _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _TP_CALLBACK_ENVIRON_V3__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn LongFunction(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_LongFunction(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Persistent(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_Persistent(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Private(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_Private(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + LongFunction: DWORD, + Persistent: DWORD, + Private: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let LongFunction: u32 = unsafe { ::std::mem::transmute(LongFunction) }; + LongFunction as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let Persistent: u32 = unsafe { ::std::mem::transmute(Persistent) }; + Persistent as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let Private: u32 = unsafe { ::std::mem::transmute(Private) }; + Private as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__TP_CALLBACK_ENVIRON_V3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3__bindgen_ty_1), + "::", + stringify!(s) + ) + ); +} +#[test] +fn bindgen_test_layout__TP_CALLBACK_ENVIRON_V3() { + const UNINIT: ::std::mem::MaybeUninit<_TP_CALLBACK_ENVIRON_V3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TP_CALLBACK_ENVIRON_V3>(), + 72usize, + concat!("Size of: ", stringify!(_TP_CALLBACK_ENVIRON_V3)) + ); + assert_eq!( + ::std::mem::align_of::<_TP_CALLBACK_ENVIRON_V3>(), + 8usize, + concat!("Alignment of ", stringify!(_TP_CALLBACK_ENVIRON_V3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pool) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(Pool) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CleanupGroup) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(CleanupGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CleanupGroupCancelCallback) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(CleanupGroupCancelCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RaceDll) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(RaceDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActivationContext) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(ActivationContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FinalizationCallback) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(FinalizationCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallbackPriority) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(CallbackPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_TP_CALLBACK_ENVIRON_V3), + "::", + stringify!(Size) + ) + ); +} +pub type TP_CALLBACK_ENVIRON_V3 = _TP_CALLBACK_ENVIRON_V3; +pub type TP_CALLBACK_ENVIRON = TP_CALLBACK_ENVIRON_V3; +pub type PTP_CALLBACK_ENVIRON = *mut TP_CALLBACK_ENVIRON_V3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_WORK { + _unused: [u8; 0], +} +pub type TP_WORK = _TP_WORK; +pub type PTP_WORK = *mut _TP_WORK; +pub type PTP_WORK_CALLBACK = ::std::option::Option< + unsafe extern "C" fn(Instance: PTP_CALLBACK_INSTANCE, Context: PVOID, Work: PTP_WORK), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_TIMER { + _unused: [u8; 0], +} +pub type TP_TIMER = _TP_TIMER; +pub type PTP_TIMER = *mut _TP_TIMER; +pub type PTP_TIMER_CALLBACK = ::std::option::Option< + unsafe extern "C" fn(Instance: PTP_CALLBACK_INSTANCE, Context: PVOID, Timer: PTP_TIMER), +>; +pub type TP_WAIT_RESULT = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_WAIT { + _unused: [u8; 0], +} +pub type TP_WAIT = _TP_WAIT; +pub type PTP_WAIT = *mut _TP_WAIT; +pub type PTP_WAIT_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + Instance: PTP_CALLBACK_INSTANCE, + Context: PVOID, + Wait: PTP_WAIT, + WaitResult: TP_WAIT_RESULT, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TP_IO { + _unused: [u8; 0], +} +pub type TP_IO = _TP_IO; +pub type PTP_IO = *mut _TP_IO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TEB { + _unused: [u8; 0], +} +pub type WPARAM = UINT_PTR; +pub type LPARAM = LONG_PTR; +pub type LRESULT = LONG_PTR; +pub type SPHANDLE = *mut HANDLE; +pub type LPHANDLE = *mut HANDLE; +pub type HGLOBAL = HANDLE; +pub type HLOCAL = HANDLE; +pub type GLOBALHANDLE = HANDLE; +pub type LOCALHANDLE = HANDLE; +pub type FARPROC = ::std::option::Option INT_PTR>; +pub type NEARPROC = ::std::option::Option INT_PTR>; +pub type PROC = ::std::option::Option INT_PTR>; +pub type ATOM = WORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HKEY__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HKEY__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HKEY__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HKEY__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HKEY__), + "::", + stringify!(unused) + ) + ); +} +pub type HKEY = *mut HKEY__; +pub type PHKEY = *mut HKEY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HMETAFILE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMETAFILE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMETAFILE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HMETAFILE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMETAFILE__), + "::", + stringify!(unused) + ) + ); +} +pub type HMETAFILE = *mut HMETAFILE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HINSTANCE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HINSTANCE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HINSTANCE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HINSTANCE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HINSTANCE__), + "::", + stringify!(unused) + ) + ); +} +pub type HINSTANCE = *mut HINSTANCE__; +pub type HMODULE = HINSTANCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HRGN__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HRGN__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HRGN__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HRGN__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HRGN__), + "::", + stringify!(unused) + ) + ); +} +pub type HRGN = *mut HRGN__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HRSRC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HRSRC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HRSRC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HRSRC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HRSRC__), + "::", + stringify!(unused) + ) + ); +} +pub type HRSRC = *mut HRSRC__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSPRITE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSPRITE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSPRITE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSPRITE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSPRITE__), + "::", + stringify!(unused) + ) + ); +} +pub type HSPRITE = *mut HSPRITE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HLSURF__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HLSURF__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HLSURF__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HLSURF__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HLSURF__), + "::", + stringify!(unused) + ) + ); +} +pub type HLSURF = *mut HLSURF__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSTR__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSTR__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSTR__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSTR__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSTR__), + "::", + stringify!(unused) + ) + ); +} +pub type HSTR = *mut HSTR__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HTASK__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HTASK__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HTASK__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HTASK__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HTASK__), + "::", + stringify!(unused) + ) + ); +} +pub type HTASK = *mut HTASK__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HWINSTA__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWINSTA__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWINSTA__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HWINSTA__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWINSTA__), + "::", + stringify!(unused) + ) + ); +} +pub type HWINSTA = *mut HWINSTA__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HKL__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HKL__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HKL__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HKL__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HKL__), + "::", + stringify!(unused) + ) + ); +} +pub type HKL = *mut HKL__; +pub type HFILE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILETIME { + pub dwLowDateTime: DWORD, + pub dwHighDateTime: DWORD, +} +#[test] +fn bindgen_test_layout__FILETIME() { + const UNINIT: ::std::mem::MaybeUninit<_FILETIME> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILETIME>(), + 8usize, + concat!("Size of: ", stringify!(_FILETIME)) + ); + assert_eq!( + ::std::mem::align_of::<_FILETIME>(), + 4usize, + concat!("Alignment of ", stringify!(_FILETIME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLowDateTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILETIME), + "::", + stringify!(dwLowDateTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHighDateTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILETIME), + "::", + stringify!(dwHighDateTime) + ) + ); +} +pub type FILETIME = _FILETIME; +pub type PFILETIME = *mut _FILETIME; +pub type LPFILETIME = *mut _FILETIME; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HWND__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWND__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWND__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HWND__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWND__), + "::", + stringify!(unused) + ) + ); +} +pub type HWND = *mut HWND__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HHOOK__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HHOOK__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HHOOK__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HHOOK__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HHOOK__), + "::", + stringify!(unused) + ) + ); +} +pub type HHOOK = *mut HHOOK__; +pub type HGDIOBJ = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HACCEL__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HACCEL__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HACCEL__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HACCEL__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HACCEL__), + "::", + stringify!(unused) + ) + ); +} +pub type HACCEL = *mut HACCEL__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HBITMAP__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HBITMAP__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HBITMAP__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HBITMAP__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HBITMAP__), + "::", + stringify!(unused) + ) + ); +} +pub type HBITMAP = *mut HBITMAP__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HBRUSH__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HBRUSH__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HBRUSH__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HBRUSH__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HBRUSH__), + "::", + stringify!(unused) + ) + ); +} +pub type HBRUSH = *mut HBRUSH__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HCOLORSPACE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HCOLORSPACE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HCOLORSPACE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HCOLORSPACE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HCOLORSPACE__), + "::", + stringify!(unused) + ) + ); +} +pub type HCOLORSPACE = *mut HCOLORSPACE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HDC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HDC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDC__), + "::", + stringify!(unused) + ) + ); +} +pub type HDC = *mut HDC__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HGLRC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HGLRC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HGLRC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HGLRC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HGLRC__), + "::", + stringify!(unused) + ) + ); +} +pub type HGLRC = *mut HGLRC__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HDESK__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDESK__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDESK__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HDESK__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDESK__), + "::", + stringify!(unused) + ) + ); +} +pub type HDESK = *mut HDESK__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HENHMETAFILE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HENHMETAFILE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HENHMETAFILE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HENHMETAFILE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HENHMETAFILE__), + "::", + stringify!(unused) + ) + ); +} +pub type HENHMETAFILE = *mut HENHMETAFILE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HFONT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HFONT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HFONT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HFONT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HFONT__), + "::", + stringify!(unused) + ) + ); +} +pub type HFONT = *mut HFONT__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HICON__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HICON__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HICON__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HICON__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HICON__), + "::", + stringify!(unused) + ) + ); +} +pub type HICON = *mut HICON__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HMENU__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMENU__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMENU__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HMENU__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMENU__), + "::", + stringify!(unused) + ) + ); +} +pub type HMENU = *mut HMENU__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HPALETTE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HPALETTE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HPALETTE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HPALETTE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HPALETTE__), + "::", + stringify!(unused) + ) + ); +} +pub type HPALETTE = *mut HPALETTE__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HPEN__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HPEN__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HPEN__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HPEN__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HPEN__), + "::", + stringify!(unused) + ) + ); +} +pub type HPEN = *mut HPEN__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HWINEVENTHOOK__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWINEVENTHOOK__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWINEVENTHOOK__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HWINEVENTHOOK__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWINEVENTHOOK__), + "::", + stringify!(unused) + ) + ); +} +pub type HWINEVENTHOOK = *mut HWINEVENTHOOK__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HMONITOR__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMONITOR__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMONITOR__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HMONITOR__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMONITOR__), + "::", + stringify!(unused) + ) + ); +} +pub type HMONITOR = *mut HMONITOR__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HUMPD__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HUMPD__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HUMPD__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HUMPD__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HUMPD__), + "::", + stringify!(unused) + ) + ); +} +pub type HUMPD = *mut HUMPD__; +pub type HCURSOR = HICON; +pub type COLORREF = DWORD; +pub type LPCOLORREF = *mut DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRECT { + pub left: LONG, + pub top: LONG, + pub right: LONG, + pub bottom: LONG, +} +#[test] +fn bindgen_test_layout_tagRECT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRECT), + "::", + stringify!(left) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRECT), + "::", + stringify!(top) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRECT), + "::", + stringify!(right) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRECT), + "::", + stringify!(bottom) + ) + ); +} +pub type RECT = tagRECT; +pub type PRECT = *mut tagRECT; +pub type NPRECT = *mut tagRECT; +pub type LPRECT = *mut tagRECT; +pub type LPCRECT = *const RECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RECTL { + pub left: LONG, + pub top: LONG, + pub right: LONG, + pub bottom: LONG, +} +#[test] +fn bindgen_test_layout__RECTL() { + const UNINIT: ::std::mem::MaybeUninit<_RECTL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RECTL>(), + 16usize, + concat!("Size of: ", stringify!(_RECTL)) + ); + assert_eq!( + ::std::mem::align_of::<_RECTL>(), + 4usize, + concat!("Alignment of ", stringify!(_RECTL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RECTL), + "::", + stringify!(left) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RECTL), + "::", + stringify!(top) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RECTL), + "::", + stringify!(right) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RECTL), + "::", + stringify!(bottom) + ) + ); +} +pub type RECTL = _RECTL; +pub type PRECTL = *mut _RECTL; +pub type LPRECTL = *mut _RECTL; +pub type LPCRECTL = *const RECTL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINT { + pub x: LONG, + pub y: LONG, +} +#[test] +fn bindgen_test_layout_tagPOINT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPOINT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPOINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINT), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINT), + "::", + stringify!(y) + ) + ); +} +pub type POINT = tagPOINT; +pub type PPOINT = *mut tagPOINT; +pub type NPPOINT = *mut tagPOINT; +pub type LPPOINT = *mut tagPOINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POINTL { + pub x: LONG, + pub y: LONG, +} +#[test] +fn bindgen_test_layout__POINTL() { + const UNINIT: ::std::mem::MaybeUninit<_POINTL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POINTL>(), + 8usize, + concat!("Size of: ", stringify!(_POINTL)) + ); + assert_eq!( + ::std::mem::align_of::<_POINTL>(), + 4usize, + concat!("Alignment of ", stringify!(_POINTL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POINTL), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POINTL), + "::", + stringify!(y) + ) + ); +} +pub type POINTL = _POINTL; +pub type PPOINTL = *mut _POINTL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSIZE { + pub cx: LONG, + pub cy: LONG, +} +#[test] +fn bindgen_test_layout_tagSIZE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSIZE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSIZE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSIZE), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSIZE), + "::", + stringify!(cy) + ) + ); +} +pub type SIZE = tagSIZE; +pub type PSIZE = *mut tagSIZE; +pub type LPSIZE = *mut tagSIZE; +pub type SIZEL = SIZE; +pub type PSIZEL = *mut SIZE; +pub type LPSIZEL = *mut SIZE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTS { + pub x: SHORT, + pub y: SHORT, +} +#[test] +fn bindgen_test_layout_tagPOINTS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagPOINTS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagPOINTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTS), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTS), + "::", + stringify!(y) + ) + ); +} +pub type POINTS = tagPOINTS; +pub type PPOINTS = *mut tagPOINTS; +pub type LPPOINTS = *mut tagPOINTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct APP_LOCAL_DEVICE_ID { + pub value: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout_APP_LOCAL_DEVICE_ID() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(APP_LOCAL_DEVICE_ID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(APP_LOCAL_DEVICE_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(APP_LOCAL_DEVICE_ID), + "::", + stringify!(value) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DPI_AWARENESS_CONTEXT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_DPI_AWARENESS_CONTEXT__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(DPI_AWARENESS_CONTEXT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DPI_AWARENESS_CONTEXT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DPI_AWARENESS_CONTEXT__), + "::", + stringify!(unused) + ) + ); +} +pub type DPI_AWARENESS_CONTEXT = *mut DPI_AWARENESS_CONTEXT__; +pub const DPI_AWARENESS_DPI_AWARENESS_INVALID: DPI_AWARENESS = -1; +pub const DPI_AWARENESS_DPI_AWARENESS_UNAWARE: DPI_AWARENESS = 0; +pub const DPI_AWARENESS_DPI_AWARENESS_SYSTEM_AWARE: DPI_AWARENESS = 1; +pub const DPI_AWARENESS_DPI_AWARENESS_PER_MONITOR_AWARE: DPI_AWARENESS = 2; +pub type DPI_AWARENESS = ::std::os::raw::c_int; +pub const DPI_HOSTING_BEHAVIOR_DPI_HOSTING_BEHAVIOR_INVALID: DPI_HOSTING_BEHAVIOR = -1; +pub const DPI_HOSTING_BEHAVIOR_DPI_HOSTING_BEHAVIOR_DEFAULT: DPI_HOSTING_BEHAVIOR = 0; +pub const DPI_HOSTING_BEHAVIOR_DPI_HOSTING_BEHAVIOR_MIXED: DPI_HOSTING_BEHAVIOR = 1; +pub type DPI_HOSTING_BEHAVIOR = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SECURITY_ATTRIBUTES { + pub nLength: DWORD, + pub lpSecurityDescriptor: LPVOID, + pub bInheritHandle: BOOL, +} +#[test] +fn bindgen_test_layout__SECURITY_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_SECURITY_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SECURITY_ATTRIBUTES>(), + 24usize, + concat!("Size of: ", stringify!(_SECURITY_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_SECURITY_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_SECURITY_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_ATTRIBUTES), + "::", + stringify!(nLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSecurityDescriptor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_ATTRIBUTES), + "::", + stringify!(lpSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bInheritHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SECURITY_ATTRIBUTES), + "::", + stringify!(bInheritHandle) + ) + ); +} +pub type SECURITY_ATTRIBUTES = _SECURITY_ATTRIBUTES; +pub type PSECURITY_ATTRIBUTES = *mut _SECURITY_ATTRIBUTES; +pub type LPSECURITY_ATTRIBUTES = *mut _SECURITY_ATTRIBUTES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _OVERLAPPED { + pub Internal: ULONG_PTR, + pub InternalHigh: ULONG_PTR, + pub __bindgen_anon_1: _OVERLAPPED__bindgen_ty_1, + pub hEvent: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _OVERLAPPED__bindgen_ty_1 { + pub __bindgen_anon_1: _OVERLAPPED__bindgen_ty_1__bindgen_ty_1, + pub Pointer: PVOID, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OVERLAPPED__bindgen_ty_1__bindgen_ty_1 { + pub Offset: DWORD, + pub OffsetHigh: DWORD, +} +#[test] +fn bindgen_test_layout__OVERLAPPED__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_OVERLAPPED__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OVERLAPPED__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_OVERLAPPED__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_OVERLAPPED__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_OVERLAPPED__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetHigh) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(OffsetHigh) + ) + ); +} +#[test] +fn bindgen_test_layout__OVERLAPPED__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_OVERLAPPED__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OVERLAPPED__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_OVERLAPPED__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_OVERLAPPED__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_OVERLAPPED__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pointer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED__bindgen_ty_1), + "::", + stringify!(Pointer) + ) + ); +} +#[test] +fn bindgen_test_layout__OVERLAPPED() { + const UNINIT: ::std::mem::MaybeUninit<_OVERLAPPED> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OVERLAPPED>(), + 32usize, + concat!("Size of: ", stringify!(_OVERLAPPED)) + ); + assert_eq!( + ::std::mem::align_of::<_OVERLAPPED>(), + 8usize, + concat!("Alignment of ", stringify!(_OVERLAPPED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Internal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED), + "::", + stringify!(Internal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InternalHigh) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED), + "::", + stringify!(InternalHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hEvent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED), + "::", + stringify!(hEvent) + ) + ); +} +pub type OVERLAPPED = _OVERLAPPED; +pub type LPOVERLAPPED = *mut _OVERLAPPED; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OVERLAPPED_ENTRY { + pub lpCompletionKey: ULONG_PTR, + pub lpOverlapped: LPOVERLAPPED, + pub Internal: ULONG_PTR, + pub dwNumberOfBytesTransferred: DWORD, +} +#[test] +fn bindgen_test_layout__OVERLAPPED_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_OVERLAPPED_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OVERLAPPED_ENTRY>(), + 32usize, + concat!("Size of: ", stringify!(_OVERLAPPED_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_OVERLAPPED_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_OVERLAPPED_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCompletionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED_ENTRY), + "::", + stringify!(lpCompletionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOverlapped) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED_ENTRY), + "::", + stringify!(lpOverlapped) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Internal) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED_ENTRY), + "::", + stringify!(Internal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfBytesTransferred) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OVERLAPPED_ENTRY), + "::", + stringify!(dwNumberOfBytesTransferred) + ) + ); +} +pub type OVERLAPPED_ENTRY = _OVERLAPPED_ENTRY; +pub type LPOVERLAPPED_ENTRY = *mut _OVERLAPPED_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEMTIME { + pub wYear: WORD, + pub wMonth: WORD, + pub wDayOfWeek: WORD, + pub wDay: WORD, + pub wHour: WORD, + pub wMinute: WORD, + pub wSecond: WORD, + pub wMilliseconds: WORD, +} +#[test] +fn bindgen_test_layout__SYSTEMTIME() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEMTIME> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEMTIME>(), + 16usize, + concat!("Size of: ", stringify!(_SYSTEMTIME)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEMTIME>(), + 2usize, + concat!("Alignment of ", stringify!(_SYSTEMTIME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYear) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wYear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMonth) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wMonth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDayOfWeek) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wDayOfWeek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDay) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wDay) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wHour) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wHour) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMinute) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wMinute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSecond) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wSecond) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMilliseconds) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEMTIME), + "::", + stringify!(wMilliseconds) + ) + ); +} +pub type SYSTEMTIME = _SYSTEMTIME; +pub type PSYSTEMTIME = *mut _SYSTEMTIME; +pub type LPSYSTEMTIME = *mut _SYSTEMTIME; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIN32_FIND_DATAA { + pub dwFileAttributes: DWORD, + pub ftCreationTime: FILETIME, + pub ftLastAccessTime: FILETIME, + pub ftLastWriteTime: FILETIME, + pub nFileSizeHigh: DWORD, + pub nFileSizeLow: DWORD, + pub dwReserved0: DWORD, + pub dwReserved1: DWORD, + pub cFileName: [CHAR; 260usize], + pub cAlternateFileName: [CHAR; 14usize], +} +#[test] +fn bindgen_test_layout__WIN32_FIND_DATAA() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_FIND_DATAA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_FIND_DATAA>(), + 320usize, + concat!("Size of: ", stringify!(_WIN32_FIND_DATAA)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_FIND_DATAA>(), + 4usize, + concat!("Alignment of ", stringify!(_WIN32_FIND_DATAA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftCreationTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(ftCreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastAccessTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(ftLastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastWriteTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(ftLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeHigh) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(nFileSizeHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeLow) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(nFileSizeLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved0) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(dwReserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFileName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(cFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlternateFileName) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAA), + "::", + stringify!(cAlternateFileName) + ) + ); +} +pub type WIN32_FIND_DATAA = _WIN32_FIND_DATAA; +pub type PWIN32_FIND_DATAA = *mut _WIN32_FIND_DATAA; +pub type LPWIN32_FIND_DATAA = *mut _WIN32_FIND_DATAA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIN32_FIND_DATAW { + pub dwFileAttributes: DWORD, + pub ftCreationTime: FILETIME, + pub ftLastAccessTime: FILETIME, + pub ftLastWriteTime: FILETIME, + pub nFileSizeHigh: DWORD, + pub nFileSizeLow: DWORD, + pub dwReserved0: DWORD, + pub dwReserved1: DWORD, + pub cFileName: [WCHAR; 260usize], + pub cAlternateFileName: [WCHAR; 14usize], +} +#[test] +fn bindgen_test_layout__WIN32_FIND_DATAW() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_FIND_DATAW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_FIND_DATAW>(), + 592usize, + concat!("Size of: ", stringify!(_WIN32_FIND_DATAW)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_FIND_DATAW>(), + 4usize, + concat!("Alignment of ", stringify!(_WIN32_FIND_DATAW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftCreationTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(ftCreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastAccessTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(ftLastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastWriteTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(ftLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeHigh) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(nFileSizeHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeLow) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(nFileSizeLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved0) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(dwReserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFileName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(cFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlternateFileName) as usize - ptr as usize }, + 564usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_DATAW), + "::", + stringify!(cAlternateFileName) + ) + ); +} +pub type WIN32_FIND_DATAW = _WIN32_FIND_DATAW; +pub type PWIN32_FIND_DATAW = *mut _WIN32_FIND_DATAW; +pub type LPWIN32_FIND_DATAW = *mut _WIN32_FIND_DATAW; +pub type WIN32_FIND_DATA = WIN32_FIND_DATAA; +pub type PWIN32_FIND_DATA = PWIN32_FIND_DATAA; +pub type LPWIN32_FIND_DATA = LPWIN32_FIND_DATAA; +pub const _FINDEX_INFO_LEVELS_FindExInfoStandard: _FINDEX_INFO_LEVELS = 0; +pub const _FINDEX_INFO_LEVELS_FindExInfoBasic: _FINDEX_INFO_LEVELS = 1; +pub const _FINDEX_INFO_LEVELS_FindExInfoMaxInfoLevel: _FINDEX_INFO_LEVELS = 2; +pub type _FINDEX_INFO_LEVELS = ::std::os::raw::c_int; +pub use self::_FINDEX_INFO_LEVELS as FINDEX_INFO_LEVELS; +pub const _FINDEX_SEARCH_OPS_FindExSearchNameMatch: _FINDEX_SEARCH_OPS = 0; +pub const _FINDEX_SEARCH_OPS_FindExSearchLimitToDirectories: _FINDEX_SEARCH_OPS = 1; +pub const _FINDEX_SEARCH_OPS_FindExSearchLimitToDevices: _FINDEX_SEARCH_OPS = 2; +pub const _FINDEX_SEARCH_OPS_FindExSearchMaxSearchOp: _FINDEX_SEARCH_OPS = 3; +pub type _FINDEX_SEARCH_OPS = ::std::os::raw::c_int; +pub use self::_FINDEX_SEARCH_OPS as FINDEX_SEARCH_OPS; +pub const _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS_ReadDirectoryNotifyInformation: + _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS = 1; +pub const _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS_ReadDirectoryNotifyExtendedInformation: + _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS = 2; +pub type _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_READ_DIRECTORY_NOTIFY_INFORMATION_CLASS as READ_DIRECTORY_NOTIFY_INFORMATION_CLASS; +pub type PREAD_DIRECTORY_NOTIFY_INFORMATION_CLASS = *mut _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS; +pub const _GET_FILEEX_INFO_LEVELS_GetFileExInfoStandard: _GET_FILEEX_INFO_LEVELS = 0; +pub const _GET_FILEEX_INFO_LEVELS_GetFileExMaxInfoLevel: _GET_FILEEX_INFO_LEVELS = 1; +pub type _GET_FILEEX_INFO_LEVELS = ::std::os::raw::c_int; +pub use self::_GET_FILEEX_INFO_LEVELS as GET_FILEEX_INFO_LEVELS; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileBasicInfo: _FILE_INFO_BY_HANDLE_CLASS = 0; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileStandardInfo: _FILE_INFO_BY_HANDLE_CLASS = 1; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileNameInfo: _FILE_INFO_BY_HANDLE_CLASS = 2; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileRenameInfo: _FILE_INFO_BY_HANDLE_CLASS = 3; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileDispositionInfo: _FILE_INFO_BY_HANDLE_CLASS = 4; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileAllocationInfo: _FILE_INFO_BY_HANDLE_CLASS = 5; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileEndOfFileInfo: _FILE_INFO_BY_HANDLE_CLASS = 6; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileStreamInfo: _FILE_INFO_BY_HANDLE_CLASS = 7; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileCompressionInfo: _FILE_INFO_BY_HANDLE_CLASS = 8; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileAttributeTagInfo: _FILE_INFO_BY_HANDLE_CLASS = 9; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdBothDirectoryInfo: _FILE_INFO_BY_HANDLE_CLASS = 10; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdBothDirectoryRestartInfo: _FILE_INFO_BY_HANDLE_CLASS = + 11; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIoPriorityHintInfo: _FILE_INFO_BY_HANDLE_CLASS = 12; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileRemoteProtocolInfo: _FILE_INFO_BY_HANDLE_CLASS = 13; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileFullDirectoryInfo: _FILE_INFO_BY_HANDLE_CLASS = 14; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileFullDirectoryRestartInfo: _FILE_INFO_BY_HANDLE_CLASS = 15; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileStorageInfo: _FILE_INFO_BY_HANDLE_CLASS = 16; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileAlignmentInfo: _FILE_INFO_BY_HANDLE_CLASS = 17; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdInfo: _FILE_INFO_BY_HANDLE_CLASS = 18; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdExtdDirectoryInfo: _FILE_INFO_BY_HANDLE_CLASS = 19; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileIdExtdDirectoryRestartInfo: _FILE_INFO_BY_HANDLE_CLASS = + 20; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileDispositionInfoEx: _FILE_INFO_BY_HANDLE_CLASS = 21; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileRenameInfoEx: _FILE_INFO_BY_HANDLE_CLASS = 22; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileCaseSensitiveInfo: _FILE_INFO_BY_HANDLE_CLASS = 23; +pub const _FILE_INFO_BY_HANDLE_CLASS_FileNormalizedNameInfo: _FILE_INFO_BY_HANDLE_CLASS = 24; +pub const _FILE_INFO_BY_HANDLE_CLASS_MaximumFileInfoByHandleClass: _FILE_INFO_BY_HANDLE_CLASS = 25; +pub type _FILE_INFO_BY_HANDLE_CLASS = ::std::os::raw::c_int; +pub use self::_FILE_INFO_BY_HANDLE_CLASS as FILE_INFO_BY_HANDLE_CLASS; +pub type PFILE_INFO_BY_HANDLE_CLASS = *mut _FILE_INFO_BY_HANDLE_CLASS; +pub type CRITICAL_SECTION = RTL_CRITICAL_SECTION; +pub type PCRITICAL_SECTION = PRTL_CRITICAL_SECTION; +pub type LPCRITICAL_SECTION = PRTL_CRITICAL_SECTION; +pub type CRITICAL_SECTION_DEBUG = RTL_CRITICAL_SECTION_DEBUG; +pub type PCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG; +pub type LPCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG; +pub type LPOVERLAPPED_COMPLETION_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + dwErrorCode: DWORD, + dwNumberOfBytesTransfered: DWORD, + lpOverlapped: LPOVERLAPPED, + ), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROCESS_HEAP_ENTRY { + pub lpData: PVOID, + pub cbData: DWORD, + pub cbOverhead: BYTE, + pub iRegionIndex: BYTE, + pub wFlags: WORD, + pub __bindgen_anon_1: _PROCESS_HEAP_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROCESS_HEAP_ENTRY__bindgen_ty_1 { + pub Block: _PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1, + pub Region: _PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1 { + pub hMem: HANDLE, + pub dwReserved: [DWORD; 3usize], +} +#[test] +fn bindgen_test_layout__PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 24usize, + concat!( + "Size of: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMem) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hMem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2 { + pub dwCommittedSize: DWORD, + pub dwUnCommittedSize: DWORD, + pub lpFirstBlock: LPVOID, + pub lpLastBlock: LPVOID, +} +#[test] +fn bindgen_test_layout__PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 24usize, + concat!( + "Size of: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCommittedSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwCommittedSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUnCommittedSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwUnCommittedSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFirstBlock) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(lpFirstBlock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLastBlock) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(lpLastBlock) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_HEAP_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_HEAP_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1>(), + 24usize, + concat!("Size of: ", stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_HEAP_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Block) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1), + "::", + stringify!(Block) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Region) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY__bindgen_ty_1), + "::", + stringify!(Region) + ) + ); +} +#[test] +fn bindgen_test_layout__PROCESS_HEAP_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_HEAP_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_HEAP_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_PROCESS_HEAP_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_HEAP_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESS_HEAP_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOverhead) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(cbOverhead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRegionIndex) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(iRegionIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFlags) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_HEAP_ENTRY), + "::", + stringify!(wFlags) + ) + ); +} +pub type PROCESS_HEAP_ENTRY = _PROCESS_HEAP_ENTRY; +pub type LPPROCESS_HEAP_ENTRY = *mut _PROCESS_HEAP_ENTRY; +pub type PPROCESS_HEAP_ENTRY = *mut _PROCESS_HEAP_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _REASON_CONTEXT { + pub Version: ULONG, + pub Flags: DWORD, + pub Reason: _REASON_CONTEXT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _REASON_CONTEXT__bindgen_ty_1 { + pub Detailed: _REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1, + pub SimpleReasonString: LPWSTR, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1 { + pub LocalizedReasonModule: HMODULE, + pub LocalizedReasonId: ULONG, + pub ReasonStringCount: ULONG, + pub ReasonStrings: *mut LPWSTR, +} +#[test] +fn bindgen_test_layout__REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 24usize, + concat!( + "Size of: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LocalizedReasonModule) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LocalizedReasonModule) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LocalizedReasonId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(LocalizedReasonId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonStringCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ReasonStringCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonStrings) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ReasonStrings) + ) + ); +} +#[test] +fn bindgen_test_layout__REASON_CONTEXT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_REASON_CONTEXT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASON_CONTEXT__bindgen_ty_1>(), + 24usize, + concat!("Size of: ", stringify!(_REASON_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_REASON_CONTEXT__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_REASON_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Detailed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1), + "::", + stringify!(Detailed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SimpleReasonString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT__bindgen_ty_1), + "::", + stringify!(SimpleReasonString) + ) + ); +} +#[test] +fn bindgen_test_layout__REASON_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_REASON_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASON_CONTEXT>(), + 32usize, + concat!("Size of: ", stringify!(_REASON_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_REASON_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_REASON_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REASON_CONTEXT), + "::", + stringify!(Reason) + ) + ); +} +pub type REASON_CONTEXT = _REASON_CONTEXT; +pub type PREASON_CONTEXT = *mut _REASON_CONTEXT; +pub type PTHREAD_START_ROUTINE = + ::std::option::Option DWORD>; +pub type LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE; +pub type PENCLAVE_ROUTINE = + ::std::option::Option LPVOID>; +pub type LPENCLAVE_ROUTINE = PENCLAVE_ROUTINE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXCEPTION_DEBUG_INFO { + pub ExceptionRecord: EXCEPTION_RECORD, + pub dwFirstChance: DWORD, +} +#[test] +fn bindgen_test_layout__EXCEPTION_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EXCEPTION_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXCEPTION_DEBUG_INFO>(), + 160usize, + concat!("Size of: ", stringify!(_EXCEPTION_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EXCEPTION_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_EXCEPTION_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionRecord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_DEBUG_INFO), + "::", + stringify!(ExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFirstChance) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_EXCEPTION_DEBUG_INFO), + "::", + stringify!(dwFirstChance) + ) + ); +} +pub type EXCEPTION_DEBUG_INFO = _EXCEPTION_DEBUG_INFO; +pub type LPEXCEPTION_DEBUG_INFO = *mut _EXCEPTION_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATE_THREAD_DEBUG_INFO { + pub hThread: HANDLE, + pub lpThreadLocalBase: LPVOID, + pub lpStartAddress: LPTHREAD_START_ROUTINE, +} +#[test] +fn bindgen_test_layout__CREATE_THREAD_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_THREAD_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_THREAD_DEBUG_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CREATE_THREAD_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_THREAD_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CREATE_THREAD_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hThread) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_THREAD_DEBUG_INFO), + "::", + stringify!(hThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThreadLocalBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_THREAD_DEBUG_INFO), + "::", + stringify!(lpThreadLocalBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpStartAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_THREAD_DEBUG_INFO), + "::", + stringify!(lpStartAddress) + ) + ); +} +pub type CREATE_THREAD_DEBUG_INFO = _CREATE_THREAD_DEBUG_INFO; +pub type LPCREATE_THREAD_DEBUG_INFO = *mut _CREATE_THREAD_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATE_PROCESS_DEBUG_INFO { + pub hFile: HANDLE, + pub hProcess: HANDLE, + pub hThread: HANDLE, + pub lpBaseOfImage: LPVOID, + pub dwDebugInfoFileOffset: DWORD, + pub nDebugInfoSize: DWORD, + pub lpThreadLocalBase: LPVOID, + pub lpStartAddress: LPTHREAD_START_ROUTINE, + pub lpImageName: LPVOID, + pub fUnicode: WORD, +} +#[test] +fn bindgen_test_layout__CREATE_PROCESS_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_PROCESS_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_PROCESS_DEBUG_INFO>(), + 72usize, + concat!("Size of: ", stringify!(_CREATE_PROCESS_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_PROCESS_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CREATE_PROCESS_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(hFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hProcess) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(hProcess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hThread) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(hThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBaseOfImage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(lpBaseOfImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDebugInfoFileOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(dwDebugInfoFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nDebugInfoSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(nDebugInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThreadLocalBase) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(lpThreadLocalBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpStartAddress) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(lpStartAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpImageName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(lpImageName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fUnicode) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_PROCESS_DEBUG_INFO), + "::", + stringify!(fUnicode) + ) + ); +} +pub type CREATE_PROCESS_DEBUG_INFO = _CREATE_PROCESS_DEBUG_INFO; +pub type LPCREATE_PROCESS_DEBUG_INFO = *mut _CREATE_PROCESS_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXIT_THREAD_DEBUG_INFO { + pub dwExitCode: DWORD, +} +#[test] +fn bindgen_test_layout__EXIT_THREAD_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EXIT_THREAD_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXIT_THREAD_DEBUG_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_EXIT_THREAD_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EXIT_THREAD_DEBUG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EXIT_THREAD_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExitCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXIT_THREAD_DEBUG_INFO), + "::", + stringify!(dwExitCode) + ) + ); +} +pub type EXIT_THREAD_DEBUG_INFO = _EXIT_THREAD_DEBUG_INFO; +pub type LPEXIT_THREAD_DEBUG_INFO = *mut _EXIT_THREAD_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXIT_PROCESS_DEBUG_INFO { + pub dwExitCode: DWORD, +} +#[test] +fn bindgen_test_layout__EXIT_PROCESS_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EXIT_PROCESS_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXIT_PROCESS_DEBUG_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_EXIT_PROCESS_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EXIT_PROCESS_DEBUG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EXIT_PROCESS_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExitCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXIT_PROCESS_DEBUG_INFO), + "::", + stringify!(dwExitCode) + ) + ); +} +pub type EXIT_PROCESS_DEBUG_INFO = _EXIT_PROCESS_DEBUG_INFO; +pub type LPEXIT_PROCESS_DEBUG_INFO = *mut _EXIT_PROCESS_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LOAD_DLL_DEBUG_INFO { + pub hFile: HANDLE, + pub lpBaseOfDll: LPVOID, + pub dwDebugInfoFileOffset: DWORD, + pub nDebugInfoSize: DWORD, + pub lpImageName: LPVOID, + pub fUnicode: WORD, +} +#[test] +fn bindgen_test_layout__LOAD_DLL_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_LOAD_DLL_DEBUG_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LOAD_DLL_DEBUG_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_LOAD_DLL_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_LOAD_DLL_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_LOAD_DLL_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(hFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBaseOfDll) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(lpBaseOfDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDebugInfoFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(dwDebugInfoFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nDebugInfoSize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(nDebugInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpImageName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(lpImageName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fUnicode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_LOAD_DLL_DEBUG_INFO), + "::", + stringify!(fUnicode) + ) + ); +} +pub type LOAD_DLL_DEBUG_INFO = _LOAD_DLL_DEBUG_INFO; +pub type LPLOAD_DLL_DEBUG_INFO = *mut _LOAD_DLL_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNLOAD_DLL_DEBUG_INFO { + pub lpBaseOfDll: LPVOID, +} +#[test] +fn bindgen_test_layout__UNLOAD_DLL_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_UNLOAD_DLL_DEBUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNLOAD_DLL_DEBUG_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_UNLOAD_DLL_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_UNLOAD_DLL_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_UNLOAD_DLL_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBaseOfDll) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNLOAD_DLL_DEBUG_INFO), + "::", + stringify!(lpBaseOfDll) + ) + ); +} +pub type UNLOAD_DLL_DEBUG_INFO = _UNLOAD_DLL_DEBUG_INFO; +pub type LPUNLOAD_DLL_DEBUG_INFO = *mut _UNLOAD_DLL_DEBUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OUTPUT_DEBUG_STRING_INFO { + pub lpDebugStringData: LPSTR, + pub fUnicode: WORD, + pub nDebugStringLength: WORD, +} +#[test] +fn bindgen_test_layout__OUTPUT_DEBUG_STRING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OUTPUT_DEBUG_STRING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OUTPUT_DEBUG_STRING_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_OUTPUT_DEBUG_STRING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OUTPUT_DEBUG_STRING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OUTPUT_DEBUG_STRING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDebugStringData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OUTPUT_DEBUG_STRING_INFO), + "::", + stringify!(lpDebugStringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fUnicode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OUTPUT_DEBUG_STRING_INFO), + "::", + stringify!(fUnicode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nDebugStringLength) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_OUTPUT_DEBUG_STRING_INFO), + "::", + stringify!(nDebugStringLength) + ) + ); +} +pub type OUTPUT_DEBUG_STRING_INFO = _OUTPUT_DEBUG_STRING_INFO; +pub type LPOUTPUT_DEBUG_STRING_INFO = *mut _OUTPUT_DEBUG_STRING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RIP_INFO { + pub dwError: DWORD, + pub dwType: DWORD, +} +#[test] +fn bindgen_test_layout__RIP_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_RIP_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RIP_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_RIP_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_RIP_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_RIP_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RIP_INFO), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RIP_INFO), + "::", + stringify!(dwType) + ) + ); +} +pub type RIP_INFO = _RIP_INFO; +pub type LPRIP_INFO = *mut _RIP_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEBUG_EVENT { + pub dwDebugEventCode: DWORD, + pub dwProcessId: DWORD, + pub dwThreadId: DWORD, + pub u: _DEBUG_EVENT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEBUG_EVENT__bindgen_ty_1 { + pub Exception: EXCEPTION_DEBUG_INFO, + pub CreateThread: CREATE_THREAD_DEBUG_INFO, + pub CreateProcessInfo: CREATE_PROCESS_DEBUG_INFO, + pub ExitThread: EXIT_THREAD_DEBUG_INFO, + pub ExitProcess: EXIT_PROCESS_DEBUG_INFO, + pub LoadDll: LOAD_DLL_DEBUG_INFO, + pub UnloadDll: UNLOAD_DLL_DEBUG_INFO, + pub DebugString: OUTPUT_DEBUG_STRING_INFO, + pub RipInfo: RIP_INFO, +} +#[test] +fn bindgen_test_layout__DEBUG_EVENT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEBUG_EVENT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEBUG_EVENT__bindgen_ty_1>(), + 160usize, + concat!("Size of: ", stringify!(_DEBUG_EVENT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DEBUG_EVENT__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_DEBUG_EVENT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Exception) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(Exception) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateThread) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(CreateThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateProcessInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(CreateProcessInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExitThread) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(ExitThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExitProcess) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(ExitProcess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoadDll) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(LoadDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnloadDll) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(UnloadDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(DebugString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RipInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT__bindgen_ty_1), + "::", + stringify!(RipInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__DEBUG_EVENT() { + const UNINIT: ::std::mem::MaybeUninit<_DEBUG_EVENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEBUG_EVENT>(), + 176usize, + concat!("Size of: ", stringify!(_DEBUG_EVENT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEBUG_EVENT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEBUG_EVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDebugEventCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT), + "::", + stringify!(dwDebugEventCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT), + "::", + stringify!(dwProcessId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwThreadId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT), + "::", + stringify!(dwThreadId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEBUG_EVENT), + "::", + stringify!(u) + ) + ); +} +pub type DEBUG_EVENT = _DEBUG_EVENT; +pub type LPDEBUG_EVENT = *mut _DEBUG_EVENT; +pub type LPCONTEXT = PCONTEXT; +extern "C" { + pub fn IsApiSetImplemented(Contract: PCSTR) -> BOOL; +} +extern "C" { + pub fn SetEnvironmentStringsW(NewEnvironment: LPWCH) -> BOOL; +} +extern "C" { + pub fn GetStdHandle(nStdHandle: DWORD) -> HANDLE; +} +extern "C" { + pub fn SetStdHandle(nStdHandle: DWORD, hHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetStdHandleEx(nStdHandle: DWORD, hHandle: HANDLE, phPrevValue: PHANDLE) -> BOOL; +} +extern "C" { + pub fn GetCommandLineA() -> LPSTR; +} +extern "C" { + pub fn GetCommandLineW() -> LPWSTR; +} +extern "C" { + pub fn GetEnvironmentStrings() -> LPCH; +} +extern "C" { + pub fn GetEnvironmentStringsW() -> LPWCH; +} +extern "C" { + pub fn FreeEnvironmentStringsA(penv: LPCH) -> BOOL; +} +extern "C" { + pub fn FreeEnvironmentStringsW(penv: LPWCH) -> BOOL; +} +extern "C" { + pub fn GetEnvironmentVariableA(lpName: LPCSTR, lpBuffer: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetEnvironmentVariableW(lpName: LPCWSTR, lpBuffer: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn SetEnvironmentVariableA(lpName: LPCSTR, lpValue: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetEnvironmentVariableW(lpName: LPCWSTR, lpValue: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn ExpandEnvironmentStringsA(lpSrc: LPCSTR, lpDst: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn ExpandEnvironmentStringsW(lpSrc: LPCWSTR, lpDst: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn SetCurrentDirectoryA(lpPathName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetCurrentDirectoryW(lpPathName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetCurrentDirectoryA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; +} +extern "C" { + pub fn GetCurrentDirectoryW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; +} +extern "C" { + pub fn SearchPathW( + lpPath: LPCWSTR, + lpFileName: LPCWSTR, + lpExtension: LPCWSTR, + nBufferLength: DWORD, + lpBuffer: LPWSTR, + lpFilePart: *mut LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn SearchPathA( + lpPath: LPCSTR, + lpFileName: LPCSTR, + lpExtension: LPCSTR, + nBufferLength: DWORD, + lpBuffer: LPSTR, + lpFilePart: *mut LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn NeedCurrentDirectoryForExePathA(ExeName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn NeedCurrentDirectoryForExePathW(ExeName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn CompareFileTime(lpFileTime1: *const FILETIME, lpFileTime2: *const FILETIME) -> LONG; +} +extern "C" { + pub fn CreateDirectoryA( + lpPathName: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryW( + lpPathName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileA( + lpFileName: LPCSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFileW( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn DefineDosDeviceW(dwFlags: DWORD, lpDeviceName: LPCWSTR, lpTargetPath: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn DeleteFileA(lpFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn DeleteFileW(lpFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn DeleteVolumeMountPointW(lpszVolumeMountPoint: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn FileTimeToLocalFileTime( + lpFileTime: *const FILETIME, + lpLocalFileTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn FindClose(hFindFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn FindCloseChangeNotification(hChangeHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn FindFirstChangeNotificationA( + lpPathName: LPCSTR, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstChangeNotificationW( + lpPathName: LPCWSTR, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileA(lpFileName: LPCSTR, lpFindFileData: LPWIN32_FIND_DATAA) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileW(lpFileName: LPCWSTR, lpFindFileData: LPWIN32_FIND_DATAW) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileExA( + lpFileName: LPCSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileExW( + lpFileName: LPCWSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstVolumeW(lpszVolumeName: LPWSTR, cchBufferLength: DWORD) -> HANDLE; +} +extern "C" { + pub fn FindNextChangeNotification(hChangeHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn FindNextFileA(hFindFile: HANDLE, lpFindFileData: LPWIN32_FIND_DATAA) -> BOOL; +} +extern "C" { + pub fn FindNextFileW(hFindFile: HANDLE, lpFindFileData: LPWIN32_FIND_DATAW) -> BOOL; +} +extern "C" { + pub fn FindNextVolumeW( + hFindVolume: HANDLE, + lpszVolumeName: LPWSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FindVolumeClose(hFindVolume: HANDLE) -> BOOL; +} +extern "C" { + pub fn FlushFileBuffers(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetDiskFreeSpaceA( + lpRootPathName: LPCSTR, + lpSectorsPerCluster: LPDWORD, + lpBytesPerSector: LPDWORD, + lpNumberOfFreeClusters: LPDWORD, + lpTotalNumberOfClusters: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetDiskFreeSpaceW( + lpRootPathName: LPCWSTR, + lpSectorsPerCluster: LPDWORD, + lpBytesPerSector: LPDWORD, + lpNumberOfFreeClusters: LPDWORD, + lpTotalNumberOfClusters: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetDiskFreeSpaceExA( + lpDirectoryName: LPCSTR, + lpFreeBytesAvailableToCaller: PULARGE_INTEGER, + lpTotalNumberOfBytes: PULARGE_INTEGER, + lpTotalNumberOfFreeBytes: PULARGE_INTEGER, + ) -> BOOL; +} +extern "C" { + pub fn GetDiskFreeSpaceExW( + lpDirectoryName: LPCWSTR, + lpFreeBytesAvailableToCaller: PULARGE_INTEGER, + lpTotalNumberOfBytes: PULARGE_INTEGER, + lpTotalNumberOfFreeBytes: PULARGE_INTEGER, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISK_SPACE_INFORMATION { + pub ActualTotalAllocationUnits: ULONGLONG, + pub ActualAvailableAllocationUnits: ULONGLONG, + pub ActualPoolUnavailableAllocationUnits: ULONGLONG, + pub CallerTotalAllocationUnits: ULONGLONG, + pub CallerAvailableAllocationUnits: ULONGLONG, + pub CallerPoolUnavailableAllocationUnits: ULONGLONG, + pub UsedAllocationUnits: ULONGLONG, + pub TotalReservedAllocationUnits: ULONGLONG, + pub VolumeStorageReserveAllocationUnits: ULONGLONG, + pub AvailableCommittedAllocationUnits: ULONGLONG, + pub PoolAvailableAllocationUnits: ULONGLONG, + pub SectorsPerAllocationUnit: DWORD, + pub BytesPerSector: DWORD, +} +#[test] +fn bindgen_test_layout_DISK_SPACE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(DISK_SPACE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DISK_SPACE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActualTotalAllocationUnits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(ActualTotalAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ActualAvailableAllocationUnits) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(ActualAvailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ActualPoolUnavailableAllocationUnits) as usize + - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(ActualPoolUnavailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallerTotalAllocationUnits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(CallerTotalAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CallerAvailableAllocationUnits) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(CallerAvailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CallerPoolUnavailableAllocationUnits) as usize + - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(CallerPoolUnavailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsedAllocationUnits) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(UsedAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).TotalReservedAllocationUnits) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(TotalReservedAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).VolumeStorageReserveAllocationUnits) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(VolumeStorageReserveAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).AvailableCommittedAllocationUnits) as usize - ptr as usize + }, + 72usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(AvailableCommittedAllocationUnits) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).PoolAvailableAllocationUnits) as usize - ptr as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(PoolAvailableAllocationUnits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerAllocationUnit) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(SectorsPerAllocationUnit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(DISK_SPACE_INFORMATION), + "::", + stringify!(BytesPerSector) + ) + ); +} +extern "C" { + pub fn GetDiskSpaceInformationA( + rootPath: LPCSTR, + diskSpaceInfo: *mut DISK_SPACE_INFORMATION, + ) -> HRESULT; +} +extern "C" { + pub fn GetDiskSpaceInformationW( + rootPath: LPCWSTR, + diskSpaceInfo: *mut DISK_SPACE_INFORMATION, + ) -> HRESULT; +} +extern "C" { + pub fn GetDriveTypeA(lpRootPathName: LPCSTR) -> UINT; +} +extern "C" { + pub fn GetDriveTypeW(lpRootPathName: LPCWSTR) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIN32_FILE_ATTRIBUTE_DATA { + pub dwFileAttributes: DWORD, + pub ftCreationTime: FILETIME, + pub ftLastAccessTime: FILETIME, + pub ftLastWriteTime: FILETIME, + pub nFileSizeHigh: DWORD, + pub nFileSizeLow: DWORD, +} +#[test] +fn bindgen_test_layout__WIN32_FILE_ATTRIBUTE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_FILE_ATTRIBUTE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_FILE_ATTRIBUTE_DATA>(), + 36usize, + concat!("Size of: ", stringify!(_WIN32_FILE_ATTRIBUTE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_FILE_ATTRIBUTE_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_WIN32_FILE_ATTRIBUTE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftCreationTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(ftCreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastAccessTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(ftLastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastWriteTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(ftLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeHigh) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(nFileSizeHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeLow) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FILE_ATTRIBUTE_DATA), + "::", + stringify!(nFileSizeLow) + ) + ); +} +pub type WIN32_FILE_ATTRIBUTE_DATA = _WIN32_FILE_ATTRIBUTE_DATA; +pub type LPWIN32_FILE_ATTRIBUTE_DATA = *mut _WIN32_FILE_ATTRIBUTE_DATA; +extern "C" { + pub fn GetFileAttributesA(lpFileName: LPCSTR) -> DWORD; +} +extern "C" { + pub fn GetFileAttributesW(lpFileName: LPCWSTR) -> DWORD; +} +extern "C" { + pub fn GetFileAttributesExA( + lpFileName: LPCSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn GetFileAttributesExW( + lpFileName: LPCWSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BY_HANDLE_FILE_INFORMATION { + pub dwFileAttributes: DWORD, + pub ftCreationTime: FILETIME, + pub ftLastAccessTime: FILETIME, + pub ftLastWriteTime: FILETIME, + pub dwVolumeSerialNumber: DWORD, + pub nFileSizeHigh: DWORD, + pub nFileSizeLow: DWORD, + pub nNumberOfLinks: DWORD, + pub nFileIndexHigh: DWORD, + pub nFileIndexLow: DWORD, +} +#[test] +fn bindgen_test_layout__BY_HANDLE_FILE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_BY_HANDLE_FILE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BY_HANDLE_FILE_INFORMATION>(), + 52usize, + concat!("Size of: ", stringify!(_BY_HANDLE_FILE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_BY_HANDLE_FILE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_BY_HANDLE_FILE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftCreationTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(ftCreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastAccessTime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(ftLastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftLastWriteTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(ftLastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVolumeSerialNumber) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(dwVolumeSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeHigh) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nFileSizeHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileSizeLow) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nFileSizeLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nNumberOfLinks) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nNumberOfLinks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileIndexHigh) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nFileIndexHigh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileIndexLow) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_BY_HANDLE_FILE_INFORMATION), + "::", + stringify!(nFileIndexLow) + ) + ); +} +pub type BY_HANDLE_FILE_INFORMATION = _BY_HANDLE_FILE_INFORMATION; +pub type PBY_HANDLE_FILE_INFORMATION = *mut _BY_HANDLE_FILE_INFORMATION; +pub type LPBY_HANDLE_FILE_INFORMATION = *mut _BY_HANDLE_FILE_INFORMATION; +extern "C" { + pub fn GetFileInformationByHandle( + hFile: HANDLE, + lpFileInformation: LPBY_HANDLE_FILE_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn GetFileSize(hFile: HANDLE, lpFileSizeHigh: LPDWORD) -> DWORD; +} +extern "C" { + pub fn GetFileSizeEx(hFile: HANDLE, lpFileSize: PLARGE_INTEGER) -> BOOL; +} +extern "C" { + pub fn GetFileType(hFile: HANDLE) -> DWORD; +} +extern "C" { + pub fn GetFinalPathNameByHandleA( + hFile: HANDLE, + lpszFilePath: LPSTR, + cchFilePath: DWORD, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFinalPathNameByHandleW( + hFile: HANDLE, + lpszFilePath: LPWSTR, + cchFilePath: DWORD, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFileTime( + hFile: HANDLE, + lpCreationTime: LPFILETIME, + lpLastAccessTime: LPFILETIME, + lpLastWriteTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn GetFullPathNameW( + lpFileName: LPCWSTR, + nBufferLength: DWORD, + lpBuffer: LPWSTR, + lpFilePart: *mut LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetFullPathNameA( + lpFileName: LPCSTR, + nBufferLength: DWORD, + lpBuffer: LPSTR, + lpFilePart: *mut LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetLogicalDrives() -> DWORD; +} +extern "C" { + pub fn GetLogicalDriveStringsW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; +} +extern "C" { + pub fn GetLongPathNameA(lpszShortPath: LPCSTR, lpszLongPath: LPSTR, cchBuffer: DWORD) -> DWORD; +} +extern "C" { + pub fn GetLongPathNameW( + lpszShortPath: LPCWSTR, + lpszLongPath: LPWSTR, + cchBuffer: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetShortPathNameW( + lpszLongPath: LPCWSTR, + lpszShortPath: LPWSTR, + cchBuffer: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetTempFileNameW( + lpPathName: LPCWSTR, + lpPrefixString: LPCWSTR, + uUnique: UINT, + lpTempFileName: LPWSTR, + ) -> UINT; +} +extern "C" { + pub fn GetVolumeInformationByHandleW( + hFile: HANDLE, + lpVolumeNameBuffer: LPWSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPWSTR, + nFileSystemNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumeInformationW( + lpRootPathName: LPCWSTR, + lpVolumeNameBuffer: LPWSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPWSTR, + nFileSystemNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumePathNameW( + lpszFileName: LPCWSTR, + lpszVolumePathName: LPWSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn LocalFileTimeToFileTime( + lpLocalFileTime: *const FILETIME, + lpFileTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn LockFile( + hFile: HANDLE, + dwFileOffsetLow: DWORD, + dwFileOffsetHigh: DWORD, + nNumberOfBytesToLockLow: DWORD, + nNumberOfBytesToLockHigh: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn LockFileEx( + hFile: HANDLE, + dwFlags: DWORD, + dwReserved: DWORD, + nNumberOfBytesToLockLow: DWORD, + nNumberOfBytesToLockHigh: DWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn QueryDosDeviceW(lpDeviceName: LPCWSTR, lpTargetPath: LPWSTR, ucchMax: DWORD) -> DWORD; +} +extern "C" { + pub fn ReadFile( + hFile: HANDLE, + lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, + lpNumberOfBytesRead: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn ReadFileEx( + hFile: HANDLE, + lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, + ) -> BOOL; +} +extern "C" { + pub fn ReadFileScatter( + hFile: HANDLE, + aSegmentArray: *mut FILE_SEGMENT_ELEMENT, + nNumberOfBytesToRead: DWORD, + lpReserved: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryA(lpPathName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryW(lpPathName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetEndOfFile(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetFileAttributesA(lpFileName: LPCSTR, dwFileAttributes: DWORD) -> BOOL; +} +extern "C" { + pub fn SetFileAttributesW(lpFileName: LPCWSTR, dwFileAttributes: DWORD) -> BOOL; +} +extern "C" { + pub fn SetFileInformationByHandle( + hFile: HANDLE, + FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, + lpFileInformation: LPVOID, + dwBufferSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFilePointer( + hFile: HANDLE, + lDistanceToMove: LONG, + lpDistanceToMoveHigh: PLONG, + dwMoveMethod: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetFilePointerEx( + hFile: HANDLE, + liDistanceToMove: LARGE_INTEGER, + lpNewFilePointer: PLARGE_INTEGER, + dwMoveMethod: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFileTime( + hFile: HANDLE, + lpCreationTime: *const FILETIME, + lpLastAccessTime: *const FILETIME, + lpLastWriteTime: *const FILETIME, + ) -> BOOL; +} +extern "C" { + pub fn SetFileValidData(hFile: HANDLE, ValidDataLength: LONGLONG) -> BOOL; +} +extern "C" { + pub fn UnlockFile( + hFile: HANDLE, + dwFileOffsetLow: DWORD, + dwFileOffsetHigh: DWORD, + nNumberOfBytesToUnlockLow: DWORD, + nNumberOfBytesToUnlockHigh: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn UnlockFileEx( + hFile: HANDLE, + dwReserved: DWORD, + nNumberOfBytesToUnlockLow: DWORD, + nNumberOfBytesToUnlockHigh: DWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn WriteFile( + hFile: HANDLE, + lpBuffer: LPCVOID, + nNumberOfBytesToWrite: DWORD, + lpNumberOfBytesWritten: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn WriteFileEx( + hFile: HANDLE, + lpBuffer: LPCVOID, + nNumberOfBytesToWrite: DWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, + ) -> BOOL; +} +extern "C" { + pub fn WriteFileGather( + hFile: HANDLE, + aSegmentArray: *mut FILE_SEGMENT_ELEMENT, + nNumberOfBytesToWrite: DWORD, + lpReserved: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn GetTempPathW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; +} +extern "C" { + pub fn GetVolumeNameForVolumeMountPointW( + lpszVolumeMountPoint: LPCWSTR, + lpszVolumeName: LPWSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumePathNamesForVolumeNameW( + lpszVolumeName: LPCWSTR, + lpszVolumePathNames: LPWCH, + cchBufferLength: DWORD, + lpcchReturnLength: PDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATEFILE2_EXTENDED_PARAMETERS { + pub dwSize: DWORD, + pub dwFileAttributes: DWORD, + pub dwFileFlags: DWORD, + pub dwSecurityQosFlags: DWORD, + pub lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + pub hTemplateFile: HANDLE, +} +#[test] +fn bindgen_test_layout__CREATEFILE2_EXTENDED_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CREATEFILE2_EXTENDED_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATEFILE2_EXTENDED_PARAMETERS>(), + 32usize, + concat!("Size of: ", stringify!(_CREATEFILE2_EXTENDED_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATEFILE2_EXTENDED_PARAMETERS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileAttributes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwFileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwFileFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSecurityQosFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwSecurityQosFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSecurityAttributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(lpSecurityAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTemplateFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CREATEFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(hTemplateFile) + ) + ); +} +pub type CREATEFILE2_EXTENDED_PARAMETERS = _CREATEFILE2_EXTENDED_PARAMETERS; +pub type PCREATEFILE2_EXTENDED_PARAMETERS = *mut _CREATEFILE2_EXTENDED_PARAMETERS; +pub type LPCREATEFILE2_EXTENDED_PARAMETERS = *mut _CREATEFILE2_EXTENDED_PARAMETERS; +extern "C" { + pub fn CreateFile2( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + dwCreationDisposition: DWORD, + pCreateExParams: LPCREATEFILE2_EXTENDED_PARAMETERS, + ) -> HANDLE; +} +extern "C" { + pub fn SetFileIoOverlappedRange( + FileHandle: HANDLE, + OverlappedRangeStart: PUCHAR, + Length: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetCompressedFileSizeA(lpFileName: LPCSTR, lpFileSizeHigh: LPDWORD) -> DWORD; +} +extern "C" { + pub fn GetCompressedFileSizeW(lpFileName: LPCWSTR, lpFileSizeHigh: LPDWORD) -> DWORD; +} +pub const _STREAM_INFO_LEVELS_FindStreamInfoStandard: _STREAM_INFO_LEVELS = 0; +pub const _STREAM_INFO_LEVELS_FindStreamInfoMaxInfoLevel: _STREAM_INFO_LEVELS = 1; +pub type _STREAM_INFO_LEVELS = ::std::os::raw::c_int; +pub use self::_STREAM_INFO_LEVELS as STREAM_INFO_LEVELS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIN32_FIND_STREAM_DATA { + pub StreamSize: LARGE_INTEGER, + pub cStreamName: [WCHAR; 296usize], +} +#[test] +fn bindgen_test_layout__WIN32_FIND_STREAM_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_FIND_STREAM_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_FIND_STREAM_DATA>(), + 600usize, + concat!("Size of: ", stringify!(_WIN32_FIND_STREAM_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_FIND_STREAM_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_WIN32_FIND_STREAM_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_STREAM_DATA), + "::", + stringify!(StreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStreamName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_FIND_STREAM_DATA), + "::", + stringify!(cStreamName) + ) + ); +} +pub type WIN32_FIND_STREAM_DATA = _WIN32_FIND_STREAM_DATA; +pub type PWIN32_FIND_STREAM_DATA = *mut _WIN32_FIND_STREAM_DATA; +extern "C" { + pub fn FindFirstStreamW( + lpFileName: LPCWSTR, + InfoLevel: STREAM_INFO_LEVELS, + lpFindStreamData: LPVOID, + dwFlags: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindNextStreamW(hFindStream: HANDLE, lpFindStreamData: LPVOID) -> BOOL; +} +extern "C" { + pub fn AreFileApisANSI() -> BOOL; +} +extern "C" { + pub fn GetTempPathA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; +} +extern "C" { + pub fn FindFirstFileNameW( + lpFileName: LPCWSTR, + dwFlags: DWORD, + StringLength: LPDWORD, + LinkName: PWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn FindNextFileNameW(hFindStream: HANDLE, StringLength: LPDWORD, LinkName: PWSTR) -> BOOL; +} +extern "C" { + pub fn GetVolumeInformationA( + lpRootPathName: LPCSTR, + lpVolumeNameBuffer: LPSTR, + nVolumeNameSize: DWORD, + lpVolumeSerialNumber: LPDWORD, + lpMaximumComponentLength: LPDWORD, + lpFileSystemFlags: LPDWORD, + lpFileSystemNameBuffer: LPSTR, + nFileSystemNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetTempFileNameA( + lpPathName: LPCSTR, + lpPrefixString: LPCSTR, + uUnique: UINT, + lpTempFileName: LPSTR, + ) -> UINT; +} +extern "C" { + pub fn SetFileApisToOEM(); +} +extern "C" { + pub fn SetFileApisToANSI(); +} +extern "C" { + pub fn CopyFileFromAppW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + bFailIfExists: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryFromAppW( + lpPathName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileFromAppW( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFile2FromAppW( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + dwCreationDisposition: DWORD, + pCreateExParams: LPCREATEFILE2_EXTENDED_PARAMETERS, + ) -> HANDLE; +} +extern "C" { + pub fn DeleteFileFromAppW(lpFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn FindFirstFileExFromAppW( + lpFileName: LPCWSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetFileAttributesExFromAppW( + lpFileName: LPCWSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn MoveFileFromAppW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryFromAppW(lpPathName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn ReplaceFileFromAppW( + lpReplacedFileName: LPCWSTR, + lpReplacementFileName: LPCWSTR, + lpBackupFileName: LPCWSTR, + dwReplaceFlags: DWORD, + lpExclude: LPVOID, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn SetFileAttributesFromAppW(lpFileName: LPCWSTR, dwFileAttributes: DWORD) -> BOOL; +} +extern "C" { + pub fn IsDebuggerPresent() -> BOOL; +} +extern "C" { + pub fn DebugBreak(); +} +extern "C" { + pub fn OutputDebugStringA(lpOutputString: LPCSTR); +} +extern "C" { + pub fn OutputDebugStringW(lpOutputString: LPCWSTR); +} +extern "C" { + pub fn ContinueDebugEvent( + dwProcessId: DWORD, + dwThreadId: DWORD, + dwContinueStatus: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn WaitForDebugEvent(lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD) -> BOOL; +} +extern "C" { + pub fn DebugActiveProcess(dwProcessId: DWORD) -> BOOL; +} +extern "C" { + pub fn DebugActiveProcessStop(dwProcessId: DWORD) -> BOOL; +} +extern "C" { + pub fn CheckRemoteDebuggerPresent(hProcess: HANDLE, pbDebuggerPresent: PBOOL) -> BOOL; +} +extern "C" { + pub fn WaitForDebugEventEx(lpDebugEvent: LPDEBUG_EVENT, dwMilliseconds: DWORD) -> BOOL; +} +extern "C" { + pub fn EncodePointer(Ptr: PVOID) -> PVOID; +} +extern "C" { + pub fn DecodePointer(Ptr: PVOID) -> PVOID; +} +extern "C" { + pub fn EncodeSystemPointer(Ptr: PVOID) -> PVOID; +} +extern "C" { + pub fn DecodeSystemPointer(Ptr: PVOID) -> PVOID; +} +extern "C" { + pub fn EncodeRemotePointer( + ProcessHandle: HANDLE, + Ptr: PVOID, + EncodedPtr: *mut PVOID, + ) -> HRESULT; +} +extern "C" { + pub fn DecodeRemotePointer( + ProcessHandle: HANDLE, + Ptr: PVOID, + DecodedPtr: *mut PVOID, + ) -> HRESULT; +} +extern "C" { + pub fn Beep(dwFreq: DWORD, dwDuration: DWORD) -> BOOL; +} +extern "C" { + pub fn CloseHandle(hObject: HANDLE) -> BOOL; +} +extern "C" { + pub fn DuplicateHandle( + hSourceProcessHandle: HANDLE, + hSourceHandle: HANDLE, + hTargetProcessHandle: HANDLE, + lpTargetHandle: LPHANDLE, + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + dwOptions: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CompareObjectHandles(hFirstObjectHandle: HANDLE, hSecondObjectHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetHandleInformation(hObject: HANDLE, lpdwFlags: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetHandleInformation(hObject: HANDLE, dwMask: DWORD, dwFlags: DWORD) -> BOOL; +} +pub type PTOP_LEVEL_EXCEPTION_FILTER = + ::std::option::Option LONG>; +pub type LPTOP_LEVEL_EXCEPTION_FILTER = PTOP_LEVEL_EXCEPTION_FILTER; +extern "C" { + pub fn RaiseException( + dwExceptionCode: DWORD, + dwExceptionFlags: DWORD, + nNumberOfArguments: DWORD, + lpArguments: *const ULONG_PTR, + ); +} +extern "C" { + pub fn UnhandledExceptionFilter(ExceptionInfo: *mut _EXCEPTION_POINTERS) -> LONG; +} +extern "C" { + pub fn SetUnhandledExceptionFilter( + lpTopLevelExceptionFilter: LPTOP_LEVEL_EXCEPTION_FILTER, + ) -> LPTOP_LEVEL_EXCEPTION_FILTER; +} +extern "C" { + pub fn GetLastError() -> DWORD; +} +extern "C" { + pub fn SetLastError(dwErrCode: DWORD); +} +extern "C" { + pub fn GetErrorMode() -> UINT; +} +extern "C" { + pub fn SetErrorMode(uMode: UINT) -> UINT; +} +extern "C" { + pub fn AddVectoredExceptionHandler(First: ULONG, Handler: PVECTORED_EXCEPTION_HANDLER) + -> PVOID; +} +extern "C" { + pub fn RemoveVectoredExceptionHandler(Handle: PVOID) -> ULONG; +} +extern "C" { + pub fn AddVectoredContinueHandler(First: ULONG, Handler: PVECTORED_EXCEPTION_HANDLER) -> PVOID; +} +extern "C" { + pub fn RemoveVectoredContinueHandler(Handle: PVOID) -> ULONG; +} +extern "C" { + pub fn RaiseFailFastException( + pExceptionRecord: PEXCEPTION_RECORD, + pContextRecord: PCONTEXT, + dwFlags: DWORD, + ); +} +extern "C" { + pub fn FatalAppExitA(uAction: UINT, lpMessageText: LPCSTR); +} +extern "C" { + pub fn FatalAppExitW(uAction: UINT, lpMessageText: LPCWSTR); +} +extern "C" { + pub fn GetThreadErrorMode() -> DWORD; +} +extern "C" { + pub fn SetThreadErrorMode(dwNewMode: DWORD, lpOldMode: LPDWORD) -> BOOL; +} +extern "C" { + pub fn TerminateProcessOnMemoryExhaustion(FailedAllocationSize: SIZE_T); +} +extern "C" { + pub fn FlsAlloc(lpCallback: PFLS_CALLBACK_FUNCTION) -> DWORD; +} +extern "C" { + pub fn FlsGetValue(dwFlsIndex: DWORD) -> PVOID; +} +extern "C" { + pub fn FlsSetValue(dwFlsIndex: DWORD, lpFlsData: PVOID) -> BOOL; +} +extern "C" { + pub fn FlsFree(dwFlsIndex: DWORD) -> BOOL; +} +extern "C" { + pub fn IsThreadAFiber() -> BOOL; +} +extern "C" { + pub fn CreatePipe( + hReadPipe: PHANDLE, + hWritePipe: PHANDLE, + lpPipeAttributes: LPSECURITY_ATTRIBUTES, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ConnectNamedPipe(hNamedPipe: HANDLE, lpOverlapped: LPOVERLAPPED) -> BOOL; +} +extern "C" { + pub fn DisconnectNamedPipe(hNamedPipe: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetNamedPipeHandleState( + hNamedPipe: HANDLE, + lpMode: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn PeekNamedPipe( + hNamedPipe: HANDLE, + lpBuffer: LPVOID, + nBufferSize: DWORD, + lpBytesRead: LPDWORD, + lpTotalBytesAvail: LPDWORD, + lpBytesLeftThisMessage: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn TransactNamedPipe( + hNamedPipe: HANDLE, + lpInBuffer: LPVOID, + nInBufferSize: DWORD, + lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, + lpBytesRead: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn CreateNamedPipeW( + lpName: LPCWSTR, + dwOpenMode: DWORD, + dwPipeMode: DWORD, + nMaxInstances: DWORD, + nOutBufferSize: DWORD, + nInBufferSize: DWORD, + nDefaultTimeOut: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> HANDLE; +} +extern "C" { + pub fn WaitNamedPipeW(lpNamedPipeName: LPCWSTR, nTimeOut: DWORD) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeClientComputerNameW( + Pipe: HANDLE, + ClientComputerName: LPWSTR, + ClientComputerNameLength: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn ImpersonateNamedPipeClient(hNamedPipe: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeInfo( + hNamedPipe: HANDLE, + lpFlags: LPDWORD, + lpOutBufferSize: LPDWORD, + lpInBufferSize: LPDWORD, + lpMaxInstances: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeHandleStateW( + hNamedPipe: HANDLE, + lpState: LPDWORD, + lpCurInstances: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, + lpUserName: LPWSTR, + nMaxUserNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CallNamedPipeW( + lpNamedPipeName: LPCWSTR, + lpInBuffer: LPVOID, + nInBufferSize: DWORD, + lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, + lpBytesRead: LPDWORD, + nTimeOut: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryPerformanceCounter(lpPerformanceCount: *mut LARGE_INTEGER) -> BOOL; +} +extern "C" { + pub fn QueryPerformanceFrequency(lpFrequency: *mut LARGE_INTEGER) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HEAP_SUMMARY { + pub cb: DWORD, + pub cbAllocated: SIZE_T, + pub cbCommitted: SIZE_T, + pub cbReserved: SIZE_T, + pub cbMaxReserve: SIZE_T, +} +#[test] +fn bindgen_test_layout__HEAP_SUMMARY() { + const UNINIT: ::std::mem::MaybeUninit<_HEAP_SUMMARY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HEAP_SUMMARY>(), + 40usize, + concat!("Size of: ", stringify!(_HEAP_SUMMARY)) + ); + assert_eq!( + ::std::mem::align_of::<_HEAP_SUMMARY>(), + 8usize, + concat!("Alignment of ", stringify!(_HEAP_SUMMARY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAllocated) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cbAllocated) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCommitted) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cbCommitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReserved) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cbReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbMaxReserve) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_HEAP_SUMMARY), + "::", + stringify!(cbMaxReserve) + ) + ); +} +pub type HEAP_SUMMARY = _HEAP_SUMMARY; +pub type PHEAP_SUMMARY = *mut _HEAP_SUMMARY; +pub type LPHEAP_SUMMARY = PHEAP_SUMMARY; +extern "C" { + pub fn HeapCreate(flOptions: DWORD, dwInitialSize: SIZE_T, dwMaximumSize: SIZE_T) -> HANDLE; +} +extern "C" { + pub fn HeapDestroy(hHeap: HANDLE) -> BOOL; +} +extern "C" { + pub fn HeapAlloc(hHeap: HANDLE, dwFlags: DWORD, dwBytes: SIZE_T) -> LPVOID; +} +extern "C" { + pub fn HeapReAlloc(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID, dwBytes: SIZE_T) -> LPVOID; +} +extern "C" { + pub fn HeapFree(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPVOID) -> BOOL; +} +extern "C" { + pub fn HeapSize(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPCVOID) -> SIZE_T; +} +extern "C" { + pub fn GetProcessHeap() -> HANDLE; +} +extern "C" { + pub fn HeapCompact(hHeap: HANDLE, dwFlags: DWORD) -> SIZE_T; +} +extern "C" { + pub fn HeapSetInformation( + HeapHandle: HANDLE, + HeapInformationClass: HEAP_INFORMATION_CLASS, + HeapInformation: PVOID, + HeapInformationLength: SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn HeapValidate(hHeap: HANDLE, dwFlags: DWORD, lpMem: LPCVOID) -> BOOL; +} +extern "C" { + pub fn HeapSummary(hHeap: HANDLE, dwFlags: DWORD, lpSummary: LPHEAP_SUMMARY) -> BOOL; +} +extern "C" { + pub fn GetProcessHeaps(NumberOfHeaps: DWORD, ProcessHeaps: PHANDLE) -> DWORD; +} +extern "C" { + pub fn HeapLock(hHeap: HANDLE) -> BOOL; +} +extern "C" { + pub fn HeapUnlock(hHeap: HANDLE) -> BOOL; +} +extern "C" { + pub fn HeapWalk(hHeap: HANDLE, lpEntry: LPPROCESS_HEAP_ENTRY) -> BOOL; +} +extern "C" { + pub fn HeapQueryInformation( + HeapHandle: HANDLE, + HeapInformationClass: HEAP_INFORMATION_CLASS, + HeapInformation: PVOID, + HeapInformationLength: SIZE_T, + ReturnLength: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn CreateIoCompletionPort( + FileHandle: HANDLE, + ExistingCompletionPort: HANDLE, + CompletionKey: ULONG_PTR, + NumberOfConcurrentThreads: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetQueuedCompletionStatus( + CompletionPort: HANDLE, + lpNumberOfBytesTransferred: LPDWORD, + lpCompletionKey: PULONG_PTR, + lpOverlapped: *mut LPOVERLAPPED, + dwMilliseconds: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetQueuedCompletionStatusEx( + CompletionPort: HANDLE, + lpCompletionPortEntries: LPOVERLAPPED_ENTRY, + ulCount: ULONG, + ulNumEntriesRemoved: PULONG, + dwMilliseconds: DWORD, + fAlertable: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn PostQueuedCompletionStatus( + CompletionPort: HANDLE, + dwNumberOfBytesTransferred: DWORD, + dwCompletionKey: ULONG_PTR, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn DeviceIoControl( + hDevice: HANDLE, + dwIoControlCode: DWORD, + lpInBuffer: LPVOID, + nInBufferSize: DWORD, + lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, + lpBytesReturned: LPDWORD, + lpOverlapped: LPOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn GetOverlappedResult( + hFile: HANDLE, + lpOverlapped: LPOVERLAPPED, + lpNumberOfBytesTransferred: LPDWORD, + bWait: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CancelIoEx(hFile: HANDLE, lpOverlapped: LPOVERLAPPED) -> BOOL; +} +extern "C" { + pub fn CancelIo(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetOverlappedResultEx( + hFile: HANDLE, + lpOverlapped: LPOVERLAPPED, + lpNumberOfBytesTransferred: LPDWORD, + dwMilliseconds: DWORD, + bAlertable: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CancelSynchronousIo(hThread: HANDLE) -> BOOL; +} +pub type SRWLOCK = RTL_SRWLOCK; +pub type PSRWLOCK = *mut RTL_SRWLOCK; +extern "C" { + pub fn InitializeSRWLock(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn ReleaseSRWLockExclusive(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn ReleaseSRWLockShared(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn AcquireSRWLockExclusive(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn AcquireSRWLockShared(SRWLock: PSRWLOCK); +} +extern "C" { + pub fn TryAcquireSRWLockExclusive(SRWLock: PSRWLOCK) -> BOOLEAN; +} +extern "C" { + pub fn TryAcquireSRWLockShared(SRWLock: PSRWLOCK) -> BOOLEAN; +} +extern "C" { + pub fn InitializeCriticalSection(lpCriticalSection: LPCRITICAL_SECTION); +} +extern "C" { + pub fn EnterCriticalSection(lpCriticalSection: LPCRITICAL_SECTION); +} +extern "C" { + pub fn LeaveCriticalSection(lpCriticalSection: LPCRITICAL_SECTION); +} +extern "C" { + pub fn InitializeCriticalSectionAndSpinCount( + lpCriticalSection: LPCRITICAL_SECTION, + dwSpinCount: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeCriticalSectionEx( + lpCriticalSection: LPCRITICAL_SECTION, + dwSpinCount: DWORD, + Flags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetCriticalSectionSpinCount( + lpCriticalSection: LPCRITICAL_SECTION, + dwSpinCount: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn TryEnterCriticalSection(lpCriticalSection: LPCRITICAL_SECTION) -> BOOL; +} +extern "C" { + pub fn DeleteCriticalSection(lpCriticalSection: LPCRITICAL_SECTION); +} +pub type INIT_ONCE = RTL_RUN_ONCE; +pub type PINIT_ONCE = PRTL_RUN_ONCE; +pub type LPINIT_ONCE = PRTL_RUN_ONCE; +pub type PINIT_ONCE_FN = ::std::option::Option< + unsafe extern "C" fn(InitOnce: PINIT_ONCE, Parameter: PVOID, Context: *mut PVOID) -> BOOL, +>; +extern "C" { + pub fn InitOnceInitialize(InitOnce: PINIT_ONCE); +} +extern "C" { + pub fn InitOnceExecuteOnce( + InitOnce: PINIT_ONCE, + InitFn: PINIT_ONCE_FN, + Parameter: PVOID, + Context: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn InitOnceBeginInitialize( + lpInitOnce: LPINIT_ONCE, + dwFlags: DWORD, + fPending: PBOOL, + lpContext: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn InitOnceComplete(lpInitOnce: LPINIT_ONCE, dwFlags: DWORD, lpContext: LPVOID) -> BOOL; +} +pub type CONDITION_VARIABLE = RTL_CONDITION_VARIABLE; +pub type PCONDITION_VARIABLE = *mut RTL_CONDITION_VARIABLE; +extern "C" { + pub fn InitializeConditionVariable(ConditionVariable: PCONDITION_VARIABLE); +} +extern "C" { + pub fn WakeConditionVariable(ConditionVariable: PCONDITION_VARIABLE); +} +extern "C" { + pub fn WakeAllConditionVariable(ConditionVariable: PCONDITION_VARIABLE); +} +extern "C" { + pub fn SleepConditionVariableCS( + ConditionVariable: PCONDITION_VARIABLE, + CriticalSection: PCRITICAL_SECTION, + dwMilliseconds: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SleepConditionVariableSRW( + ConditionVariable: PCONDITION_VARIABLE, + SRWLock: PSRWLOCK, + dwMilliseconds: DWORD, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetEvent(hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn ResetEvent(hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn ReleaseSemaphore( + hSemaphore: HANDLE, + lReleaseCount: LONG, + lpPreviousCount: LPLONG, + ) -> BOOL; +} +extern "C" { + pub fn ReleaseMutex(hMutex: HANDLE) -> BOOL; +} +extern "C" { + pub fn WaitForSingleObject(hHandle: HANDLE, dwMilliseconds: DWORD) -> DWORD; +} +extern "C" { + pub fn SleepEx(dwMilliseconds: DWORD, bAlertable: BOOL) -> DWORD; +} +extern "C" { + pub fn WaitForSingleObjectEx(hHandle: HANDLE, dwMilliseconds: DWORD, bAlertable: BOOL) + -> DWORD; +} +extern "C" { + pub fn WaitForMultipleObjectsEx( + nCount: DWORD, + lpHandles: *const HANDLE, + bWaitAll: BOOL, + dwMilliseconds: DWORD, + bAlertable: BOOL, + ) -> DWORD; +} +extern "C" { + pub fn CreateMutexA( + lpMutexAttributes: LPSECURITY_ATTRIBUTES, + bInitialOwner: BOOL, + lpName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateMutexW( + lpMutexAttributes: LPSECURITY_ATTRIBUTES, + bInitialOwner: BOOL, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenMutexW(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn CreateEventA( + lpEventAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + bInitialState: BOOL, + lpName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateEventW( + lpEventAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + bInitialState: BOOL, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenEventA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn OpenEventW(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn OpenSemaphoreW(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE; +} +pub type PTIMERAPCROUTINE = ::std::option::Option< + unsafe extern "C" fn( + lpArgToCompletionRoutine: LPVOID, + dwTimerLowValue: DWORD, + dwTimerHighValue: DWORD, + ), +>; +extern "C" { + pub fn OpenWaitableTimerW( + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + lpTimerName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn SetWaitableTimerEx( + hTimer: HANDLE, + lpDueTime: *const LARGE_INTEGER, + lPeriod: LONG, + pfnCompletionRoutine: PTIMERAPCROUTINE, + lpArgToCompletionRoutine: LPVOID, + WakeContext: PREASON_CONTEXT, + TolerableDelay: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetWaitableTimer( + hTimer: HANDLE, + lpDueTime: *const LARGE_INTEGER, + lPeriod: LONG, + pfnCompletionRoutine: PTIMERAPCROUTINE, + lpArgToCompletionRoutine: LPVOID, + fResume: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CancelWaitableTimer(hTimer: HANDLE) -> BOOL; +} +extern "C" { + pub fn CreateMutexExA( + lpMutexAttributes: LPSECURITY_ATTRIBUTES, + lpName: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateMutexExW( + lpMutexAttributes: LPSECURITY_ATTRIBUTES, + lpName: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateEventExA( + lpEventAttributes: LPSECURITY_ATTRIBUTES, + lpName: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateEventExW( + lpEventAttributes: LPSECURITY_ATTRIBUTES, + lpName: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateSemaphoreExW( + lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, + lMaximumCount: LONG, + lpName: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateWaitableTimerExW( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + lpTimerName: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +pub type SYNCHRONIZATION_BARRIER = RTL_BARRIER; +pub type PSYNCHRONIZATION_BARRIER = PRTL_BARRIER; +pub type LPSYNCHRONIZATION_BARRIER = PRTL_BARRIER; +extern "C" { + pub fn EnterSynchronizationBarrier( + lpBarrier: LPSYNCHRONIZATION_BARRIER, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeSynchronizationBarrier( + lpBarrier: LPSYNCHRONIZATION_BARRIER, + lTotalThreads: LONG, + lSpinCount: LONG, + ) -> BOOL; +} +extern "C" { + pub fn DeleteSynchronizationBarrier(lpBarrier: LPSYNCHRONIZATION_BARRIER) -> BOOL; +} +extern "C" { + pub fn Sleep(dwMilliseconds: DWORD); +} +extern "C" { + pub fn WaitOnAddress( + Address: *mut ::std::os::raw::c_void, + CompareAddress: PVOID, + AddressSize: SIZE_T, + dwMilliseconds: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn WakeByAddressSingle(Address: PVOID); +} +extern "C" { + pub fn WakeByAddressAll(Address: PVOID); +} +extern "C" { + pub fn SignalObjectAndWait( + hObjectToSignal: HANDLE, + hObjectToWaitOn: HANDLE, + dwMilliseconds: DWORD, + bAlertable: BOOL, + ) -> DWORD; +} +extern "C" { + pub fn WaitForMultipleObjects( + nCount: DWORD, + lpHandles: *const HANDLE, + bWaitAll: BOOL, + dwMilliseconds: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CreateSemaphoreW( + lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, + lMaximumCount: LONG, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateWaitableTimerW( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + lpTimerName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn InitializeSListHead(ListHead: PSLIST_HEADER); +} +extern "C" { + pub fn InterlockedPopEntrySList(ListHead: PSLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn InterlockedPushEntrySList( + ListHead: PSLIST_HEADER, + ListEntry: PSLIST_ENTRY, + ) -> PSLIST_ENTRY; +} +extern "C" { + pub fn InterlockedPushListSListEx( + ListHead: PSLIST_HEADER, + List: PSLIST_ENTRY, + ListEnd: PSLIST_ENTRY, + Count: ULONG, + ) -> PSLIST_ENTRY; +} +extern "C" { + pub fn InterlockedFlushSList(ListHead: PSLIST_HEADER) -> PSLIST_ENTRY; +} +extern "C" { + pub fn QueryDepthSList(ListHead: PSLIST_HEADER) -> USHORT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_INFORMATION { + pub hProcess: HANDLE, + pub hThread: HANDLE, + pub dwProcessId: DWORD, + pub dwThreadId: DWORD, +} +#[test] +fn bindgen_test_layout__PROCESS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_INFORMATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_PROCESS_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESS_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hProcess) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_INFORMATION), + "::", + stringify!(hProcess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hThread) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_INFORMATION), + "::", + stringify!(hThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_INFORMATION), + "::", + stringify!(dwProcessId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwThreadId) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_INFORMATION), + "::", + stringify!(dwThreadId) + ) + ); +} +pub type PROCESS_INFORMATION = _PROCESS_INFORMATION; +pub type PPROCESS_INFORMATION = *mut _PROCESS_INFORMATION; +pub type LPPROCESS_INFORMATION = *mut _PROCESS_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STARTUPINFOA { + pub cb: DWORD, + pub lpReserved: LPSTR, + pub lpDesktop: LPSTR, + pub lpTitle: LPSTR, + pub dwX: DWORD, + pub dwY: DWORD, + pub dwXSize: DWORD, + pub dwYSize: DWORD, + pub dwXCountChars: DWORD, + pub dwYCountChars: DWORD, + pub dwFillAttribute: DWORD, + pub dwFlags: DWORD, + pub wShowWindow: WORD, + pub cbReserved2: WORD, + pub lpReserved2: LPBYTE, + pub hStdInput: HANDLE, + pub hStdOutput: HANDLE, + pub hStdError: HANDLE, +} +#[test] +fn bindgen_test_layout__STARTUPINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_STARTUPINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STARTUPINFOA>(), + 104usize, + concat!("Size of: ", stringify!(_STARTUPINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_STARTUPINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_STARTUPINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(lpReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDesktop) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(lpDesktop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTitle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(lpTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwX) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwY) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwXSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYSize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwYSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXCountChars) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwXCountChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYCountChars) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwYCountChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFillAttribute) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwFillAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wShowWindow) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(wShowWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReserved2) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(cbReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(lpReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdInput) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(hStdInput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdOutput) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(hStdOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdError) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOA), + "::", + stringify!(hStdError) + ) + ); +} +pub type STARTUPINFOA = _STARTUPINFOA; +pub type LPSTARTUPINFOA = *mut _STARTUPINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STARTUPINFOW { + pub cb: DWORD, + pub lpReserved: LPWSTR, + pub lpDesktop: LPWSTR, + pub lpTitle: LPWSTR, + pub dwX: DWORD, + pub dwY: DWORD, + pub dwXSize: DWORD, + pub dwYSize: DWORD, + pub dwXCountChars: DWORD, + pub dwYCountChars: DWORD, + pub dwFillAttribute: DWORD, + pub dwFlags: DWORD, + pub wShowWindow: WORD, + pub cbReserved2: WORD, + pub lpReserved2: LPBYTE, + pub hStdInput: HANDLE, + pub hStdOutput: HANDLE, + pub hStdError: HANDLE, +} +#[test] +fn bindgen_test_layout__STARTUPINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_STARTUPINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STARTUPINFOW>(), + 104usize, + concat!("Size of: ", stringify!(_STARTUPINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_STARTUPINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_STARTUPINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(lpReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDesktop) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(lpDesktop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTitle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(lpTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwX) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwY) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwXSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYSize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwYSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXCountChars) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwXCountChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYCountChars) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwYCountChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFillAttribute) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwFillAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wShowWindow) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(wShowWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReserved2) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(cbReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(lpReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdInput) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(hStdInput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdOutput) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(hStdOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStdError) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOW), + "::", + stringify!(hStdError) + ) + ); +} +pub type STARTUPINFOW = _STARTUPINFOW; +pub type LPSTARTUPINFOW = *mut _STARTUPINFOW; +pub type STARTUPINFO = STARTUPINFOA; +pub type LPSTARTUPINFO = LPSTARTUPINFOA; +extern "C" { + pub fn QueueUserAPC(pfnAPC: PAPCFUNC, hThread: HANDLE, dwData: ULONG_PTR) -> DWORD; +} +extern "C" { + pub fn GetProcessTimes( + hProcess: HANDLE, + lpCreationTime: LPFILETIME, + lpExitTime: LPFILETIME, + lpKernelTime: LPFILETIME, + lpUserTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn GetCurrentProcess() -> HANDLE; +} +extern "C" { + pub fn GetCurrentProcessId() -> DWORD; +} +extern "C" { + pub fn ExitProcess(uExitCode: UINT) -> !; +} +extern "C" { + pub fn TerminateProcess(hProcess: HANDLE, uExitCode: UINT) -> BOOL; +} +extern "C" { + pub fn GetExitCodeProcess(hProcess: HANDLE, lpExitCode: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SwitchToThread() -> BOOL; +} +extern "C" { + pub fn CreateThread( + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + dwStackSize: SIZE_T, + lpStartAddress: LPTHREAD_START_ROUTINE, + lpParameter: LPVOID, + dwCreationFlags: DWORD, + lpThreadId: LPDWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateRemoteThread( + hProcess: HANDLE, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + dwStackSize: SIZE_T, + lpStartAddress: LPTHREAD_START_ROUTINE, + lpParameter: LPVOID, + dwCreationFlags: DWORD, + lpThreadId: LPDWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetCurrentThread() -> HANDLE; +} +extern "C" { + pub fn GetCurrentThreadId() -> DWORD; +} +extern "C" { + pub fn OpenThread(dwDesiredAccess: DWORD, bInheritHandle: BOOL, dwThreadId: DWORD) -> HANDLE; +} +extern "C" { + pub fn SetThreadPriority(hThread: HANDLE, nPriority: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn SetThreadPriorityBoost(hThread: HANDLE, bDisablePriorityBoost: BOOL) -> BOOL; +} +extern "C" { + pub fn GetThreadPriorityBoost(hThread: HANDLE, pDisablePriorityBoost: PBOOL) -> BOOL; +} +extern "C" { + pub fn GetThreadPriority(hThread: HANDLE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExitThread(dwExitCode: DWORD) -> !; +} +extern "C" { + pub fn TerminateThread(hThread: HANDLE, dwExitCode: DWORD) -> BOOL; +} +extern "C" { + pub fn GetExitCodeThread(hThread: HANDLE, lpExitCode: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SuspendThread(hThread: HANDLE) -> DWORD; +} +extern "C" { + pub fn ResumeThread(hThread: HANDLE) -> DWORD; +} +extern "C" { + pub fn TlsAlloc() -> DWORD; +} +extern "C" { + pub fn TlsGetValue(dwTlsIndex: DWORD) -> LPVOID; +} +extern "C" { + pub fn TlsSetValue(dwTlsIndex: DWORD, lpTlsValue: LPVOID) -> BOOL; +} +extern "C" { + pub fn TlsFree(dwTlsIndex: DWORD) -> BOOL; +} +extern "C" { + pub fn CreateProcessA( + lpApplicationName: LPCSTR, + lpCommandLine: LPSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: BOOL, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCSTR, + lpStartupInfo: LPSTARTUPINFOA, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn CreateProcessW( + lpApplicationName: LPCWSTR, + lpCommandLine: LPWSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: BOOL, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFOW, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessShutdownParameters(dwLevel: DWORD, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetProcessVersion(ProcessId: DWORD) -> DWORD; +} +extern "C" { + pub fn GetStartupInfoW(lpStartupInfo: LPSTARTUPINFOW); +} +extern "C" { + pub fn CreateProcessAsUserW( + hToken: HANDLE, + lpApplicationName: LPCWSTR, + lpCommandLine: LPWSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: BOOL, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFOW, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadToken(Thread: PHANDLE, Token: HANDLE) -> BOOL; +} +extern "C" { + pub fn OpenProcessToken( + ProcessHandle: HANDLE, + DesiredAccess: DWORD, + TokenHandle: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn OpenThreadToken( + ThreadHandle: HANDLE, + DesiredAccess: DWORD, + OpenAsSelf: BOOL, + TokenHandle: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn SetPriorityClass(hProcess: HANDLE, dwPriorityClass: DWORD) -> BOOL; +} +extern "C" { + pub fn GetPriorityClass(hProcess: HANDLE) -> DWORD; +} +extern "C" { + pub fn SetThreadStackGuarantee(StackSizeInBytes: PULONG) -> BOOL; +} +extern "C" { + pub fn ProcessIdToSessionId(dwProcessId: DWORD, pSessionId: *mut DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROC_THREAD_ATTRIBUTE_LIST { + _unused: [u8; 0], +} +pub type PPROC_THREAD_ATTRIBUTE_LIST = *mut _PROC_THREAD_ATTRIBUTE_LIST; +pub type LPPROC_THREAD_ATTRIBUTE_LIST = *mut _PROC_THREAD_ATTRIBUTE_LIST; +extern "C" { + pub fn GetProcessId(Process: HANDLE) -> DWORD; +} +extern "C" { + pub fn GetThreadId(Thread: HANDLE) -> DWORD; +} +extern "C" { + pub fn FlushProcessWriteBuffers(); +} +extern "C" { + pub fn GetProcessIdOfThread(Thread: HANDLE) -> DWORD; +} +extern "C" { + pub fn InitializeProcThreadAttributeList( + lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, + dwAttributeCount: DWORD, + dwFlags: DWORD, + lpSize: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn DeleteProcThreadAttributeList(lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST); +} +extern "C" { + pub fn UpdateProcThreadAttribute( + lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, + dwFlags: DWORD, + Attribute: DWORD_PTR, + lpValue: PVOID, + cbSize: SIZE_T, + lpPreviousValue: PVOID, + lpReturnSize: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessDynamicEHContinuationTargets( + Process: HANDLE, + NumberOfTargets: USHORT, + Targets: PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessDynamicEnforcedCetCompatibleRanges( + Process: HANDLE, + NumberOfRanges: USHORT, + Ranges: PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessAffinityUpdateMode(hProcess: HANDLE, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn QueryProcessAffinityUpdateMode(hProcess: HANDLE, lpdwFlags: LPDWORD) -> BOOL; +} +extern "C" { + pub fn CreateRemoteThreadEx( + hProcess: HANDLE, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + dwStackSize: SIZE_T, + lpStartAddress: LPTHREAD_START_ROUTINE, + lpParameter: LPVOID, + dwCreationFlags: DWORD, + lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, + lpThreadId: LPDWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetCurrentThreadStackLimits(LowLimit: PULONG_PTR, HighLimit: PULONG_PTR); +} +extern "C" { + pub fn GetThreadContext(hThread: HANDLE, lpContext: LPCONTEXT) -> BOOL; +} +extern "C" { + pub fn GetProcessMitigationPolicy( + hProcess: HANDLE, + MitigationPolicy: PROCESS_MITIGATION_POLICY, + lpBuffer: PVOID, + dwLength: SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadContext(hThread: HANDLE, lpContext: *const CONTEXT) -> BOOL; +} +extern "C" { + pub fn SetProcessMitigationPolicy( + MitigationPolicy: PROCESS_MITIGATION_POLICY, + lpBuffer: PVOID, + dwLength: SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn FlushInstructionCache(hProcess: HANDLE, lpBaseAddress: LPCVOID, dwSize: SIZE_T) -> BOOL; +} +extern "C" { + pub fn GetThreadTimes( + hThread: HANDLE, + lpCreationTime: LPFILETIME, + lpExitTime: LPFILETIME, + lpKernelTime: LPFILETIME, + lpUserTime: LPFILETIME, + ) -> BOOL; +} +extern "C" { + pub fn OpenProcess(dwDesiredAccess: DWORD, bInheritHandle: BOOL, dwProcessId: DWORD) -> HANDLE; +} +extern "C" { + pub fn IsProcessorFeaturePresent(ProcessorFeature: DWORD) -> BOOL; +} +extern "C" { + pub fn GetProcessHandleCount(hProcess: HANDLE, pdwHandleCount: PDWORD) -> BOOL; +} +extern "C" { + pub fn GetCurrentProcessorNumber() -> DWORD; +} +extern "C" { + pub fn SetThreadIdealProcessorEx( + hThread: HANDLE, + lpIdealProcessor: PPROCESSOR_NUMBER, + lpPreviousIdealProcessor: PPROCESSOR_NUMBER, + ) -> BOOL; +} +extern "C" { + pub fn GetThreadIdealProcessorEx(hThread: HANDLE, lpIdealProcessor: PPROCESSOR_NUMBER) -> BOOL; +} +extern "C" { + pub fn GetCurrentProcessorNumberEx(ProcNumber: PPROCESSOR_NUMBER); +} +extern "C" { + pub fn GetProcessPriorityBoost(hProcess: HANDLE, pDisablePriorityBoost: PBOOL) -> BOOL; +} +extern "C" { + pub fn SetProcessPriorityBoost(hProcess: HANDLE, bDisablePriorityBoost: BOOL) -> BOOL; +} +extern "C" { + pub fn GetThreadIOPendingFlag(hThread: HANDLE, lpIOIsPending: PBOOL) -> BOOL; +} +extern "C" { + pub fn GetSystemTimes( + lpIdleTime: PFILETIME, + lpKernelTime: PFILETIME, + lpUserTime: PFILETIME, + ) -> BOOL; +} +pub const _THREAD_INFORMATION_CLASS_ThreadMemoryPriority: _THREAD_INFORMATION_CLASS = 0; +pub const _THREAD_INFORMATION_CLASS_ThreadAbsoluteCpuPriority: _THREAD_INFORMATION_CLASS = 1; +pub const _THREAD_INFORMATION_CLASS_ThreadDynamicCodePolicy: _THREAD_INFORMATION_CLASS = 2; +pub const _THREAD_INFORMATION_CLASS_ThreadPowerThrottling: _THREAD_INFORMATION_CLASS = 3; +pub const _THREAD_INFORMATION_CLASS_ThreadInformationClassMax: _THREAD_INFORMATION_CLASS = 4; +pub type _THREAD_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_THREAD_INFORMATION_CLASS as THREAD_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORY_PRIORITY_INFORMATION { + pub MemoryPriority: ULONG, +} +#[test] +fn bindgen_test_layout__MEMORY_PRIORITY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORY_PRIORITY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORY_PRIORITY_INFORMATION>(), + 4usize, + concat!("Size of: ", stringify!(_MEMORY_PRIORITY_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORY_PRIORITY_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_MEMORY_PRIORITY_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MemoryPriority) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORY_PRIORITY_INFORMATION), + "::", + stringify!(MemoryPriority) + ) + ); +} +pub type MEMORY_PRIORITY_INFORMATION = _MEMORY_PRIORITY_INFORMATION; +pub type PMEMORY_PRIORITY_INFORMATION = *mut _MEMORY_PRIORITY_INFORMATION; +extern "C" { + pub fn GetThreadInformation( + hThread: HANDLE, + ThreadInformationClass: THREAD_INFORMATION_CLASS, + ThreadInformation: LPVOID, + ThreadInformationSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadInformation( + hThread: HANDLE, + ThreadInformationClass: THREAD_INFORMATION_CLASS, + ThreadInformation: LPVOID, + ThreadInformationSize: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _THREAD_POWER_THROTTLING_STATE { + pub Version: ULONG, + pub ControlMask: ULONG, + pub StateMask: ULONG, +} +#[test] +fn bindgen_test_layout__THREAD_POWER_THROTTLING_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_THREAD_POWER_THROTTLING_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_THREAD_POWER_THROTTLING_STATE>(), + 12usize, + concat!("Size of: ", stringify!(_THREAD_POWER_THROTTLING_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_THREAD_POWER_THROTTLING_STATE>(), + 4usize, + concat!("Alignment of ", stringify!(_THREAD_POWER_THROTTLING_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_THREAD_POWER_THROTTLING_STATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_THREAD_POWER_THROTTLING_STATE), + "::", + stringify!(ControlMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_THREAD_POWER_THROTTLING_STATE), + "::", + stringify!(StateMask) + ) + ); +} +pub type THREAD_POWER_THROTTLING_STATE = _THREAD_POWER_THROTTLING_STATE; +extern "C" { + pub fn IsProcessCritical(hProcess: HANDLE, Critical: PBOOL) -> BOOL; +} +extern "C" { + pub fn SetProtectedPolicy( + PolicyGuid: LPCGUID, + PolicyValue: ULONG_PTR, + OldPolicyValue: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn QueryProtectedPolicy(PolicyGuid: LPCGUID, PolicyValue: PULONG_PTR) -> BOOL; +} +extern "C" { + pub fn SetThreadIdealProcessor(hThread: HANDLE, dwIdealProcessor: DWORD) -> DWORD; +} +pub const _PROCESS_INFORMATION_CLASS_ProcessMemoryPriority: _PROCESS_INFORMATION_CLASS = 0; +pub const _PROCESS_INFORMATION_CLASS_ProcessMemoryExhaustionInfo: _PROCESS_INFORMATION_CLASS = 1; +pub const _PROCESS_INFORMATION_CLASS_ProcessAppMemoryInfo: _PROCESS_INFORMATION_CLASS = 2; +pub const _PROCESS_INFORMATION_CLASS_ProcessInPrivateInfo: _PROCESS_INFORMATION_CLASS = 3; +pub const _PROCESS_INFORMATION_CLASS_ProcessPowerThrottling: _PROCESS_INFORMATION_CLASS = 4; +pub const _PROCESS_INFORMATION_CLASS_ProcessReservedValue1: _PROCESS_INFORMATION_CLASS = 5; +pub const _PROCESS_INFORMATION_CLASS_ProcessTelemetryCoverageInfo: _PROCESS_INFORMATION_CLASS = 6; +pub const _PROCESS_INFORMATION_CLASS_ProcessProtectionLevelInfo: _PROCESS_INFORMATION_CLASS = 7; +pub const _PROCESS_INFORMATION_CLASS_ProcessLeapSecondInfo: _PROCESS_INFORMATION_CLASS = 8; +pub const _PROCESS_INFORMATION_CLASS_ProcessInformationClassMax: _PROCESS_INFORMATION_CLASS = 9; +pub type _PROCESS_INFORMATION_CLASS = ::std::os::raw::c_int; +pub use self::_PROCESS_INFORMATION_CLASS as PROCESS_INFORMATION_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _APP_MEMORY_INFORMATION { + pub AvailableCommit: ULONG64, + pub PrivateCommitUsage: ULONG64, + pub PeakPrivateCommitUsage: ULONG64, + pub TotalCommitUsage: ULONG64, +} +#[test] +fn bindgen_test_layout__APP_MEMORY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_APP_MEMORY_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_APP_MEMORY_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_APP_MEMORY_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_APP_MEMORY_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_APP_MEMORY_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AvailableCommit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_APP_MEMORY_INFORMATION), + "::", + stringify!(AvailableCommit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateCommitUsage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_APP_MEMORY_INFORMATION), + "::", + stringify!(PrivateCommitUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PeakPrivateCommitUsage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_APP_MEMORY_INFORMATION), + "::", + stringify!(PeakPrivateCommitUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalCommitUsage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_APP_MEMORY_INFORMATION), + "::", + stringify!(TotalCommitUsage) + ) + ); +} +pub type APP_MEMORY_INFORMATION = _APP_MEMORY_INFORMATION; +pub type PAPP_MEMORY_INFORMATION = *mut _APP_MEMORY_INFORMATION; +pub const _PROCESS_MEMORY_EXHAUSTION_TYPE_PMETypeFailFastOnCommitFailure: + _PROCESS_MEMORY_EXHAUSTION_TYPE = 0; +pub const _PROCESS_MEMORY_EXHAUSTION_TYPE_PMETypeMax: _PROCESS_MEMORY_EXHAUSTION_TYPE = 1; +pub type _PROCESS_MEMORY_EXHAUSTION_TYPE = ::std::os::raw::c_int; +pub use self::_PROCESS_MEMORY_EXHAUSTION_TYPE as PROCESS_MEMORY_EXHAUSTION_TYPE; +pub type PPROCESS_MEMORY_EXHAUSTION_TYPE = *mut _PROCESS_MEMORY_EXHAUSTION_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_MEMORY_EXHAUSTION_INFO { + pub Version: USHORT, + pub Reserved: USHORT, + pub Type: PROCESS_MEMORY_EXHAUSTION_TYPE, + pub Value: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__PROCESS_MEMORY_EXHAUSTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_MEMORY_EXHAUSTION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_MEMORY_EXHAUSTION_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_MEMORY_EXHAUSTION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_MEMORY_EXHAUSTION_INFO), + "::", + stringify!(Value) + ) + ); +} +pub type PROCESS_MEMORY_EXHAUSTION_INFO = _PROCESS_MEMORY_EXHAUSTION_INFO; +pub type PPROCESS_MEMORY_EXHAUSTION_INFO = *mut _PROCESS_MEMORY_EXHAUSTION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_POWER_THROTTLING_STATE { + pub Version: ULONG, + pub ControlMask: ULONG, + pub StateMask: ULONG, +} +#[test] +fn bindgen_test_layout__PROCESS_POWER_THROTTLING_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_POWER_THROTTLING_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_POWER_THROTTLING_STATE>(), + 12usize, + concat!("Size of: ", stringify!(_PROCESS_POWER_THROTTLING_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_POWER_THROTTLING_STATE>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESS_POWER_THROTTLING_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_POWER_THROTTLING_STATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_POWER_THROTTLING_STATE), + "::", + stringify!(ControlMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_POWER_THROTTLING_STATE), + "::", + stringify!(StateMask) + ) + ); +} +pub type PROCESS_POWER_THROTTLING_STATE = _PROCESS_POWER_THROTTLING_STATE; +pub type PPROCESS_POWER_THROTTLING_STATE = *mut _PROCESS_POWER_THROTTLING_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PROCESS_PROTECTION_LEVEL_INFORMATION { + pub ProtectionLevel: DWORD, +} +#[test] +fn bindgen_test_layout_PROCESS_PROTECTION_LEVEL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(PROCESS_PROTECTION_LEVEL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(PROCESS_PROTECTION_LEVEL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtectionLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PROCESS_PROTECTION_LEVEL_INFORMATION), + "::", + stringify!(ProtectionLevel) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROCESS_LEAP_SECOND_INFO { + pub Flags: ULONG, + pub Reserved: ULONG, +} +#[test] +fn bindgen_test_layout__PROCESS_LEAP_SECOND_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PROCESS_LEAP_SECOND_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROCESS_LEAP_SECOND_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_PROCESS_LEAP_SECOND_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PROCESS_LEAP_SECOND_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_PROCESS_LEAP_SECOND_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_LEAP_SECOND_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROCESS_LEAP_SECOND_INFO), + "::", + stringify!(Reserved) + ) + ); +} +pub type PROCESS_LEAP_SECOND_INFO = _PROCESS_LEAP_SECOND_INFO; +pub type PPROCESS_LEAP_SECOND_INFO = *mut _PROCESS_LEAP_SECOND_INFO; +extern "C" { + pub fn SetProcessInformation( + hProcess: HANDLE, + ProcessInformationClass: PROCESS_INFORMATION_CLASS, + ProcessInformation: LPVOID, + ProcessInformationSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetProcessInformation( + hProcess: HANDLE, + ProcessInformationClass: PROCESS_INFORMATION_CLASS, + ProcessInformation: LPVOID, + ProcessInformationSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemCpuSetInformation( + Information: PSYSTEM_CPU_SET_INFORMATION, + BufferLength: ULONG, + ReturnedLength: PULONG, + Process: HANDLE, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetProcessDefaultCpuSets( + Process: HANDLE, + CpuSetIds: PULONG, + CpuSetIdCount: ULONG, + RequiredIdCount: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessDefaultCpuSets( + Process: HANDLE, + CpuSetIds: *const ULONG, + CpuSetIdCount: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetThreadSelectedCpuSets( + Thread: HANDLE, + CpuSetIds: PULONG, + CpuSetIdCount: ULONG, + RequiredIdCount: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadSelectedCpuSets( + Thread: HANDLE, + CpuSetIds: *const ULONG, + CpuSetIdCount: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn CreateProcessAsUserA( + hToken: HANDLE, + lpApplicationName: LPCSTR, + lpCommandLine: LPSTR, + lpProcessAttributes: LPSECURITY_ATTRIBUTES, + lpThreadAttributes: LPSECURITY_ATTRIBUTES, + bInheritHandles: BOOL, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCSTR, + lpStartupInfo: LPSTARTUPINFOA, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn GetProcessShutdownParameters(lpdwLevel: LPDWORD, lpdwFlags: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetThreadDescription(hThread: HANDLE, lpThreadDescription: PCWSTR) -> HRESULT; +} +extern "C" { + pub fn GetThreadDescription(hThread: HANDLE, ppszThreadDescription: *mut PWSTR) -> HRESULT; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SYSTEM_INFO { + pub __bindgen_anon_1: _SYSTEM_INFO__bindgen_ty_1, + pub dwPageSize: DWORD, + pub lpMinimumApplicationAddress: LPVOID, + pub lpMaximumApplicationAddress: LPVOID, + pub dwActiveProcessorMask: DWORD_PTR, + pub dwNumberOfProcessors: DWORD, + pub dwProcessorType: DWORD, + pub dwAllocationGranularity: DWORD, + pub wProcessorLevel: WORD, + pub wProcessorRevision: WORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SYSTEM_INFO__bindgen_ty_1 { + pub dwOemId: DWORD, + pub __bindgen_anon_1: _SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1 { + pub wProcessorArchitecture: WORD, + pub wReserved: WORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorArchitecture) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wProcessorArchitecture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_INFO__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_SYSTEM_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_INFO__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOemId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO__bindgen_ty_1), + "::", + stringify!(dwOemId) + ) + ); +} +#[test] +fn bindgen_test_layout__SYSTEM_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_SYSTEM_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SYSTEM_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPageSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwPageSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpMinimumApplicationAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(lpMinimumApplicationAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpMaximumApplicationAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(lpMaximumApplicationAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProcessorMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwActiveProcessorMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfProcessors) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwNumberOfProcessors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessorType) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwProcessorType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAllocationGranularity) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(dwAllocationGranularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorLevel) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(wProcessorLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorRevision) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_INFO), + "::", + stringify!(wProcessorRevision) + ) + ); +} +pub type SYSTEM_INFO = _SYSTEM_INFO; +pub type LPSYSTEM_INFO = *mut _SYSTEM_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORYSTATUSEX { + pub dwLength: DWORD, + pub dwMemoryLoad: DWORD, + pub ullTotalPhys: DWORDLONG, + pub ullAvailPhys: DWORDLONG, + pub ullTotalPageFile: DWORDLONG, + pub ullAvailPageFile: DWORDLONG, + pub ullTotalVirtual: DWORDLONG, + pub ullAvailVirtual: DWORDLONG, + pub ullAvailExtendedVirtual: DWORDLONG, +} +#[test] +fn bindgen_test_layout__MEMORYSTATUSEX() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORYSTATUSEX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORYSTATUSEX>(), + 64usize, + concat!("Size of: ", stringify!(_MEMORYSTATUSEX)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORYSTATUSEX>(), + 8usize, + concat!("Alignment of ", stringify!(_MEMORYSTATUSEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(dwLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMemoryLoad) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(dwMemoryLoad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullTotalPhys) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullTotalPhys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullAvailPhys) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullAvailPhys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullTotalPageFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullTotalPageFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullAvailPageFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullAvailPageFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullTotalVirtual) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullTotalVirtual) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullAvailVirtual) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullAvailVirtual) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullAvailExtendedVirtual) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUSEX), + "::", + stringify!(ullAvailExtendedVirtual) + ) + ); +} +pub type MEMORYSTATUSEX = _MEMORYSTATUSEX; +pub type LPMEMORYSTATUSEX = *mut _MEMORYSTATUSEX; +extern "C" { + pub fn GlobalMemoryStatusEx(lpBuffer: LPMEMORYSTATUSEX) -> BOOL; +} +extern "C" { + pub fn GetSystemInfo(lpSystemInfo: LPSYSTEM_INFO); +} +extern "C" { + pub fn GetSystemTime(lpSystemTime: LPSYSTEMTIME); +} +extern "C" { + pub fn GetSystemTimeAsFileTime(lpSystemTimeAsFileTime: LPFILETIME); +} +extern "C" { + pub fn GetLocalTime(lpSystemTime: LPSYSTEMTIME); +} +extern "C" { + pub fn IsUserCetAvailableInEnvironment(UserCetEnvironment: DWORD) -> BOOL; +} +extern "C" { + pub fn GetSystemLeapSecondInformation(Enabled: PBOOL, Flags: PDWORD) -> BOOL; +} +extern "C" { + pub fn GetVersion() -> DWORD; +} +extern "C" { + pub fn SetLocalTime(lpSystemTime: *const SYSTEMTIME) -> BOOL; +} +extern "C" { + pub fn GetTickCount() -> DWORD; +} +extern "C" { + pub fn GetTickCount64() -> ULONGLONG; +} +extern "C" { + pub fn GetSystemTimeAdjustment( + lpTimeAdjustment: PDWORD, + lpTimeIncrement: PDWORD, + lpTimeAdjustmentDisabled: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemTimeAdjustmentPrecise( + lpTimeAdjustment: PDWORD64, + lpTimeIncrement: PDWORD64, + lpTimeAdjustmentDisabled: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemDirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetSystemDirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetWindowsDirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetWindowsDirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetSystemWindowsDirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetSystemWindowsDirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; +} +pub const _COMPUTER_NAME_FORMAT_ComputerNameNetBIOS: _COMPUTER_NAME_FORMAT = 0; +pub const _COMPUTER_NAME_FORMAT_ComputerNameDnsHostname: _COMPUTER_NAME_FORMAT = 1; +pub const _COMPUTER_NAME_FORMAT_ComputerNameDnsDomain: _COMPUTER_NAME_FORMAT = 2; +pub const _COMPUTER_NAME_FORMAT_ComputerNameDnsFullyQualified: _COMPUTER_NAME_FORMAT = 3; +pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalNetBIOS: _COMPUTER_NAME_FORMAT = 4; +pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalDnsHostname: _COMPUTER_NAME_FORMAT = 5; +pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalDnsDomain: _COMPUTER_NAME_FORMAT = 6; +pub const _COMPUTER_NAME_FORMAT_ComputerNamePhysicalDnsFullyQualified: _COMPUTER_NAME_FORMAT = 7; +pub const _COMPUTER_NAME_FORMAT_ComputerNameMax: _COMPUTER_NAME_FORMAT = 8; +pub type _COMPUTER_NAME_FORMAT = ::std::os::raw::c_int; +pub use self::_COMPUTER_NAME_FORMAT as COMPUTER_NAME_FORMAT; +extern "C" { + pub fn GetComputerNameExA( + NameType: COMPUTER_NAME_FORMAT, + lpBuffer: LPSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetComputerNameExW( + NameType: COMPUTER_NAME_FORMAT, + lpBuffer: LPWSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetComputerNameExW(NameType: COMPUTER_NAME_FORMAT, lpBuffer: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetSystemTime(lpSystemTime: *const SYSTEMTIME) -> BOOL; +} +extern "C" { + pub fn GetVersionExA(lpVersionInformation: LPOSVERSIONINFOA) -> BOOL; +} +extern "C" { + pub fn GetVersionExW(lpVersionInformation: LPOSVERSIONINFOW) -> BOOL; +} +extern "C" { + pub fn GetLogicalProcessorInformation( + Buffer: PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, + ReturnedLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetLogicalProcessorInformationEx( + RelationshipType: LOGICAL_PROCESSOR_RELATIONSHIP, + Buffer: PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, + ReturnedLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetNativeSystemInfo(lpSystemInfo: LPSYSTEM_INFO); +} +extern "C" { + pub fn GetSystemTimePreciseAsFileTime(lpSystemTimeAsFileTime: LPFILETIME); +} +extern "C" { + pub fn GetProductInfo( + dwOSMajorVersion: DWORD, + dwOSMinorVersion: DWORD, + dwSpMajorVersion: DWORD, + dwSpMinorVersion: DWORD, + pdwReturnedProductType: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetOsSafeBootMode(Flags: PDWORD) -> BOOL; +} +extern "C" { + pub fn EnumSystemFirmwareTables( + FirmwareTableProviderSignature: DWORD, + pFirmwareTableEnumBuffer: PVOID, + BufferSize: DWORD, + ) -> UINT; +} +extern "C" { + pub fn GetSystemFirmwareTable( + FirmwareTableProviderSignature: DWORD, + FirmwareTableID: DWORD, + pFirmwareTableBuffer: PVOID, + BufferSize: DWORD, + ) -> UINT; +} +extern "C" { + pub fn DnsHostnameToComputerNameExW( + Hostname: LPCWSTR, + ComputerName: LPWSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPhysicallyInstalledSystemMemory(TotalMemoryInKilobytes: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn SetComputerNameEx2W( + NameType: COMPUTER_NAME_FORMAT, + Flags: DWORD, + lpBuffer: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn SetSystemTimeAdjustment(dwTimeAdjustment: DWORD, bTimeAdjustmentDisabled: BOOL) -> BOOL; +} +extern "C" { + pub fn SetSystemTimeAdjustmentPrecise( + dwTimeAdjustment: DWORD64, + bTimeAdjustmentDisabled: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn InstallELAMCertificateInfo(ELAMFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetProcessorSystemCycleTime( + Group: USHORT, + Buffer: PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION, + ReturnedLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetOsManufacturingMode(pbEnabled: PBOOL) -> BOOL; +} +extern "C" { + pub fn GetIntegratedDisplaySize(sizeInInches: *mut f64) -> HRESULT; +} +extern "C" { + pub fn SetComputerNameA(lpComputerName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetComputerNameW(lpComputerName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetComputerNameExA(NameType: COMPUTER_NAME_FORMAT, lpBuffer: LPCSTR) -> BOOL; +} +extern "C" { + pub fn VirtualAlloc( + lpAddress: LPVOID, + dwSize: SIZE_T, + flAllocationType: DWORD, + flProtect: DWORD, + ) -> LPVOID; +} +extern "C" { + pub fn VirtualProtect( + lpAddress: LPVOID, + dwSize: SIZE_T, + flNewProtect: DWORD, + lpflOldProtect: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn VirtualFree(lpAddress: LPVOID, dwSize: SIZE_T, dwFreeType: DWORD) -> BOOL; +} +extern "C" { + pub fn VirtualQuery( + lpAddress: LPCVOID, + lpBuffer: PMEMORY_BASIC_INFORMATION, + dwLength: SIZE_T, + ) -> SIZE_T; +} +extern "C" { + pub fn VirtualAllocEx( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + flAllocationType: DWORD, + flProtect: DWORD, + ) -> LPVOID; +} +extern "C" { + pub fn VirtualProtectEx( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + flNewProtect: DWORD, + lpflOldProtect: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn VirtualQueryEx( + hProcess: HANDLE, + lpAddress: LPCVOID, + lpBuffer: PMEMORY_BASIC_INFORMATION, + dwLength: SIZE_T, + ) -> SIZE_T; +} +extern "C" { + pub fn ReadProcessMemory( + hProcess: HANDLE, + lpBaseAddress: LPCVOID, + lpBuffer: LPVOID, + nSize: SIZE_T, + lpNumberOfBytesRead: *mut SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn WriteProcessMemory( + hProcess: HANDLE, + lpBaseAddress: LPVOID, + lpBuffer: LPCVOID, + nSize: SIZE_T, + lpNumberOfBytesWritten: *mut SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileMappingW( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenFileMappingW( + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + lpName: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn MapViewOfFile( + hFileMappingObject: HANDLE, + dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, + dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: SIZE_T, + ) -> LPVOID; +} +extern "C" { + pub fn MapViewOfFileEx( + hFileMappingObject: HANDLE, + dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, + dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: SIZE_T, + lpBaseAddress: LPVOID, + ) -> LPVOID; +} +extern "C" { + pub fn VirtualFreeEx( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + dwFreeType: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FlushViewOfFile(lpBaseAddress: LPCVOID, dwNumberOfBytesToFlush: SIZE_T) -> BOOL; +} +extern "C" { + pub fn UnmapViewOfFile(lpBaseAddress: LPCVOID) -> BOOL; +} +extern "C" { + pub fn GetLargePageMinimum() -> SIZE_T; +} +extern "C" { + pub fn GetProcessWorkingSetSizeEx( + hProcess: HANDLE, + lpMinimumWorkingSetSize: PSIZE_T, + lpMaximumWorkingSetSize: PSIZE_T, + Flags: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessWorkingSetSizeEx( + hProcess: HANDLE, + dwMinimumWorkingSetSize: SIZE_T, + dwMaximumWorkingSetSize: SIZE_T, + Flags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn VirtualLock(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL; +} +extern "C" { + pub fn VirtualUnlock(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL; +} +extern "C" { + pub fn GetWriteWatch( + dwFlags: DWORD, + lpBaseAddress: PVOID, + dwRegionSize: SIZE_T, + lpAddresses: *mut PVOID, + lpdwCount: *mut ULONG_PTR, + lpdwGranularity: LPDWORD, + ) -> UINT; +} +extern "C" { + pub fn ResetWriteWatch(lpBaseAddress: LPVOID, dwRegionSize: SIZE_T) -> UINT; +} +pub const _MEMORY_RESOURCE_NOTIFICATION_TYPE_LowMemoryResourceNotification: + _MEMORY_RESOURCE_NOTIFICATION_TYPE = 0; +pub const _MEMORY_RESOURCE_NOTIFICATION_TYPE_HighMemoryResourceNotification: + _MEMORY_RESOURCE_NOTIFICATION_TYPE = 1; +pub type _MEMORY_RESOURCE_NOTIFICATION_TYPE = ::std::os::raw::c_int; +pub use self::_MEMORY_RESOURCE_NOTIFICATION_TYPE as MEMORY_RESOURCE_NOTIFICATION_TYPE; +extern "C" { + pub fn CreateMemoryResourceNotification( + NotificationType: MEMORY_RESOURCE_NOTIFICATION_TYPE, + ) -> HANDLE; +} +extern "C" { + pub fn QueryMemoryResourceNotification( + ResourceNotificationHandle: HANDLE, + ResourceState: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemFileCacheSize( + lpMinimumFileCacheSize: PSIZE_T, + lpMaximumFileCacheSize: PSIZE_T, + lpFlags: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetSystemFileCacheSize( + MinimumFileCacheSize: SIZE_T, + MaximumFileCacheSize: SIZE_T, + Flags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileMappingNumaW( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCWSTR, + nndPreferred: DWORD, + ) -> HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIN32_MEMORY_RANGE_ENTRY { + pub VirtualAddress: PVOID, + pub NumberOfBytes: SIZE_T, +} +#[test] +fn bindgen_test_layout__WIN32_MEMORY_RANGE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_MEMORY_RANGE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_MEMORY_RANGE_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_WIN32_MEMORY_RANGE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_MEMORY_RANGE_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_WIN32_MEMORY_RANGE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_MEMORY_RANGE_ENTRY), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_MEMORY_RANGE_ENTRY), + "::", + stringify!(NumberOfBytes) + ) + ); +} +pub type WIN32_MEMORY_RANGE_ENTRY = _WIN32_MEMORY_RANGE_ENTRY; +pub type PWIN32_MEMORY_RANGE_ENTRY = *mut _WIN32_MEMORY_RANGE_ENTRY; +extern "C" { + pub fn PrefetchVirtualMemory( + hProcess: HANDLE, + NumberOfEntries: ULONG_PTR, + VirtualAddresses: PWIN32_MEMORY_RANGE_ENTRY, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn CreateFileMappingFromApp( + hFile: HANDLE, + SecurityAttributes: PSECURITY_ATTRIBUTES, + PageProtection: ULONG, + MaximumSize: ULONG64, + Name: PCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn MapViewOfFileFromApp( + hFileMappingObject: HANDLE, + DesiredAccess: ULONG, + FileOffset: ULONG64, + NumberOfBytesToMap: SIZE_T, + ) -> PVOID; +} +extern "C" { + pub fn UnmapViewOfFileEx(BaseAddress: PVOID, UnmapFlags: ULONG) -> BOOL; +} +extern "C" { + pub fn AllocateUserPhysicalPages( + hProcess: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn FreeUserPhysicalPages( + hProcess: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn MapUserPhysicalPages( + VirtualAddress: PVOID, + NumberOfPages: ULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn AllocateUserPhysicalPagesNuma( + hProcess: HANDLE, + NumberOfPages: PULONG_PTR, + PageArray: PULONG_PTR, + nndPreferred: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn VirtualAllocExNuma( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + flAllocationType: DWORD, + flProtect: DWORD, + nndPreferred: DWORD, + ) -> LPVOID; +} +extern "C" { + pub fn GetMemoryErrorHandlingCapabilities(Capabilities: PULONG) -> BOOL; +} +pub type PBAD_MEMORY_CALLBACK_ROUTINE = ::std::option::Option; +extern "C" { + pub fn RegisterBadMemoryNotification(Callback: PBAD_MEMORY_CALLBACK_ROUTINE) -> PVOID; +} +extern "C" { + pub fn UnregisterBadMemoryNotification(RegistrationHandle: PVOID) -> BOOL; +} +pub const OFFER_PRIORITY_VmOfferPriorityVeryLow: OFFER_PRIORITY = 1; +pub const OFFER_PRIORITY_VmOfferPriorityLow: OFFER_PRIORITY = 2; +pub const OFFER_PRIORITY_VmOfferPriorityBelowNormal: OFFER_PRIORITY = 3; +pub const OFFER_PRIORITY_VmOfferPriorityNormal: OFFER_PRIORITY = 4; +pub type OFFER_PRIORITY = ::std::os::raw::c_int; +extern "C" { + pub fn OfferVirtualMemory( + VirtualAddress: PVOID, + Size: SIZE_T, + Priority: OFFER_PRIORITY, + ) -> DWORD; +} +extern "C" { + pub fn ReclaimVirtualMemory( + VirtualAddress: *const ::std::os::raw::c_void, + Size: SIZE_T, + ) -> DWORD; +} +extern "C" { + pub fn DiscardVirtualMemory(VirtualAddress: PVOID, Size: SIZE_T) -> DWORD; +} +extern "C" { + pub fn SetProcessValidCallTargets( + hProcess: HANDLE, + VirtualAddress: PVOID, + RegionSize: SIZE_T, + NumberOfOffsets: ULONG, + OffsetInformation: PCFG_CALL_TARGET_INFO, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessValidCallTargetsForMappedView( + Process: HANDLE, + VirtualAddress: PVOID, + RegionSize: SIZE_T, + NumberOfOffsets: ULONG, + OffsetInformation: PCFG_CALL_TARGET_INFO, + Section: HANDLE, + ExpectedFileOffset: ULONG64, + ) -> BOOL; +} +extern "C" { + pub fn VirtualAllocFromApp( + BaseAddress: PVOID, + Size: SIZE_T, + AllocationType: ULONG, + Protection: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn VirtualProtectFromApp( + Address: PVOID, + Size: SIZE_T, + NewProtection: ULONG, + OldProtection: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn OpenFileMappingFromApp( + DesiredAccess: ULONG, + InheritHandle: BOOL, + Name: PCWSTR, + ) -> HANDLE; +} +pub const WIN32_MEMORY_INFORMATION_CLASS_MemoryRegionInfo: WIN32_MEMORY_INFORMATION_CLASS = 0; +pub type WIN32_MEMORY_INFORMATION_CLASS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct WIN32_MEMORY_REGION_INFORMATION { + pub AllocationBase: PVOID, + pub AllocationProtect: ULONG, + pub __bindgen_anon_1: WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1, + pub RegionSize: SIZE_T, + pub CommitSize: SIZE_T, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1 { + pub Flags: ULONG, + pub __bindgen_anon_1: WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Private(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_Private(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn MappedDataFile(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_MappedDataFile(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn MappedImage(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_MappedImage(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn MappedPageFile(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_MappedPageFile(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn MappedPhysical(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_MappedPhysical(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn DirectMapped(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_DirectMapped(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 26u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 26u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + Private: ULONG, + MappedDataFile: ULONG, + MappedImage: ULONG, + MappedPageFile: ULONG, + MappedPhysical: ULONG, + DirectMapped: ULONG, + Reserved: ULONG, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Private: u32 = unsafe { ::std::mem::transmute(Private) }; + Private as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let MappedDataFile: u32 = unsafe { ::std::mem::transmute(MappedDataFile) }; + MappedDataFile as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let MappedImage: u32 = unsafe { ::std::mem::transmute(MappedImage) }; + MappedImage as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let MappedPageFile: u32 = unsafe { ::std::mem::transmute(MappedPageFile) }; + MappedPageFile as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let MappedPhysical: u32 = unsafe { ::std::mem::transmute(MappedPhysical) }; + MappedPhysical as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let DirectMapped: u32 = unsafe { ::std::mem::transmute(DirectMapped) }; + DirectMapped as u64 + }); + __bindgen_bitfield_unit.set(6usize, 26u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout_WIN32_MEMORY_REGION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(WIN32_MEMORY_REGION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(WIN32_MEMORY_REGION_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION), + "::", + stringify!(AllocationBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationProtect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION), + "::", + stringify!(AllocationProtect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION), + "::", + stringify!(RegionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommitSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(WIN32_MEMORY_REGION_INFORMATION), + "::", + stringify!(CommitSize) + ) + ); +} +extern "C" { + pub fn QueryVirtualMemoryInformation( + Process: HANDLE, + VirtualAddress: *const ::std::os::raw::c_void, + MemoryInformationClass: WIN32_MEMORY_INFORMATION_CLASS, + MemoryInformation: PVOID, + MemoryInformationSize: SIZE_T, + ReturnSize: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn MapViewOfFileNuma2( + FileMappingHandle: HANDLE, + ProcessHandle: HANDLE, + Offset: ULONG64, + BaseAddress: PVOID, + ViewSize: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + PreferredNode: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn UnmapViewOfFile2(Process: HANDLE, BaseAddress: PVOID, UnmapFlags: ULONG) -> BOOL; +} +extern "C" { + pub fn VirtualUnlockEx(Process: HANDLE, Address: LPVOID, Size: SIZE_T) -> BOOL; +} +extern "C" { + pub fn VirtualAlloc2( + Process: HANDLE, + BaseAddress: PVOID, + Size: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn MapViewOfFile3( + FileMapping: HANDLE, + Process: HANDLE, + BaseAddress: PVOID, + Offset: ULONG64, + ViewSize: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn VirtualAlloc2FromApp( + Process: HANDLE, + BaseAddress: PVOID, + Size: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn MapViewOfFile3FromApp( + FileMapping: HANDLE, + Process: HANDLE, + BaseAddress: PVOID, + Offset: ULONG64, + ViewSize: SIZE_T, + AllocationType: ULONG, + PageProtection: ULONG, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> PVOID; +} +extern "C" { + pub fn CreateFileMapping2( + File: HANDLE, + SecurityAttributes: *mut SECURITY_ATTRIBUTES, + DesiredAccess: ULONG, + PageProtection: ULONG, + AllocationAttributes: ULONG, + MaximumSize: ULONG64, + Name: PCWSTR, + ExtendedParameters: *mut MEM_EXTENDED_PARAMETER, + ParameterCount: ULONG, + ) -> HANDLE; +} +extern "C" { + pub fn IsEnclaveTypeSupported(flEnclaveType: DWORD) -> BOOL; +} +extern "C" { + pub fn CreateEnclave( + hProcess: HANDLE, + lpAddress: LPVOID, + dwSize: SIZE_T, + dwInitialCommitment: SIZE_T, + flEnclaveType: DWORD, + lpEnclaveInformation: LPCVOID, + dwInfoLength: DWORD, + lpEnclaveError: LPDWORD, + ) -> LPVOID; +} +extern "C" { + pub fn LoadEnclaveData( + hProcess: HANDLE, + lpAddress: LPVOID, + lpBuffer: LPCVOID, + nSize: SIZE_T, + flProtect: DWORD, + lpPageInformation: LPCVOID, + dwInfoLength: DWORD, + lpNumberOfBytesWritten: PSIZE_T, + lpEnclaveError: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeEnclave( + hProcess: HANDLE, + lpAddress: LPVOID, + lpEnclaveInformation: LPCVOID, + dwInfoLength: DWORD, + lpEnclaveError: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LoadEnclaveImageA(lpEnclaveAddress: LPVOID, lpImageName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn LoadEnclaveImageW(lpEnclaveAddress: LPVOID, lpImageName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn CallEnclave( + lpRoutine: LPENCLAVE_ROUTINE, + lpParameter: LPVOID, + fWaitForThread: BOOL, + lpReturnValue: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn TerminateEnclave(lpAddress: LPVOID, fWait: BOOL) -> BOOL; +} +extern "C" { + pub fn DeleteEnclave(lpAddress: LPVOID) -> BOOL; +} +extern "C" { + pub fn QueueUserWorkItem( + Function: LPTHREAD_START_ROUTINE, + Context: PVOID, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn UnregisterWaitEx(WaitHandle: HANDLE, CompletionEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn CreateTimerQueue() -> HANDLE; +} +extern "C" { + pub fn CreateTimerQueueTimer( + phNewTimer: PHANDLE, + TimerQueue: HANDLE, + Callback: WAITORTIMERCALLBACK, + Parameter: PVOID, + DueTime: DWORD, + Period: DWORD, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn ChangeTimerQueueTimer( + TimerQueue: HANDLE, + Timer: HANDLE, + DueTime: ULONG, + Period: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn DeleteTimerQueueTimer( + TimerQueue: HANDLE, + Timer: HANDLE, + CompletionEvent: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn DeleteTimerQueueEx(TimerQueue: HANDLE, CompletionEvent: HANDLE) -> BOOL; +} +pub type PTP_WIN32_IO_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + Instance: PTP_CALLBACK_INSTANCE, + Context: PVOID, + Overlapped: PVOID, + IoResult: ULONG, + NumberOfBytesTransferred: ULONG_PTR, + Io: PTP_IO, + ), +>; +extern "C" { + pub fn CreateThreadpool(reserved: PVOID) -> PTP_POOL; +} +extern "C" { + pub fn SetThreadpoolThreadMaximum(ptpp: PTP_POOL, cthrdMost: DWORD); +} +extern "C" { + pub fn SetThreadpoolThreadMinimum(ptpp: PTP_POOL, cthrdMic: DWORD) -> BOOL; +} +extern "C" { + pub fn SetThreadpoolStackInformation(ptpp: PTP_POOL, ptpsi: PTP_POOL_STACK_INFORMATION) + -> BOOL; +} +extern "C" { + pub fn QueryThreadpoolStackInformation( + ptpp: PTP_POOL, + ptpsi: PTP_POOL_STACK_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn CloseThreadpool(ptpp: PTP_POOL); +} +extern "C" { + pub fn CreateThreadpoolCleanupGroup() -> PTP_CLEANUP_GROUP; +} +extern "C" { + pub fn CloseThreadpoolCleanupGroupMembers( + ptpcg: PTP_CLEANUP_GROUP, + fCancelPendingCallbacks: BOOL, + pvCleanupContext: PVOID, + ); +} +extern "C" { + pub fn CloseThreadpoolCleanupGroup(ptpcg: PTP_CLEANUP_GROUP); +} +extern "C" { + pub fn SetEventWhenCallbackReturns(pci: PTP_CALLBACK_INSTANCE, evt: HANDLE); +} +extern "C" { + pub fn ReleaseSemaphoreWhenCallbackReturns( + pci: PTP_CALLBACK_INSTANCE, + sem: HANDLE, + crel: DWORD, + ); +} +extern "C" { + pub fn ReleaseMutexWhenCallbackReturns(pci: PTP_CALLBACK_INSTANCE, mut_: HANDLE); +} +extern "C" { + pub fn LeaveCriticalSectionWhenCallbackReturns( + pci: PTP_CALLBACK_INSTANCE, + pcs: PCRITICAL_SECTION, + ); +} +extern "C" { + pub fn FreeLibraryWhenCallbackReturns(pci: PTP_CALLBACK_INSTANCE, mod_: HMODULE); +} +extern "C" { + pub fn CallbackMayRunLong(pci: PTP_CALLBACK_INSTANCE) -> BOOL; +} +extern "C" { + pub fn DisassociateCurrentThreadFromCallback(pci: PTP_CALLBACK_INSTANCE); +} +extern "C" { + pub fn TrySubmitThreadpoolCallback( + pfns: PTP_SIMPLE_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> BOOL; +} +extern "C" { + pub fn CreateThreadpoolWork( + pfnwk: PTP_WORK_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> PTP_WORK; +} +extern "C" { + pub fn SubmitThreadpoolWork(pwk: PTP_WORK); +} +extern "C" { + pub fn WaitForThreadpoolWorkCallbacks(pwk: PTP_WORK, fCancelPendingCallbacks: BOOL); +} +extern "C" { + pub fn CloseThreadpoolWork(pwk: PTP_WORK); +} +extern "C" { + pub fn CreateThreadpoolTimer( + pfnti: PTP_TIMER_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> PTP_TIMER; +} +extern "C" { + pub fn SetThreadpoolTimer( + pti: PTP_TIMER, + pftDueTime: PFILETIME, + msPeriod: DWORD, + msWindowLength: DWORD, + ); +} +extern "C" { + pub fn IsThreadpoolTimerSet(pti: PTP_TIMER) -> BOOL; +} +extern "C" { + pub fn WaitForThreadpoolTimerCallbacks(pti: PTP_TIMER, fCancelPendingCallbacks: BOOL); +} +extern "C" { + pub fn CloseThreadpoolTimer(pti: PTP_TIMER); +} +extern "C" { + pub fn CreateThreadpoolWait( + pfnwa: PTP_WAIT_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> PTP_WAIT; +} +extern "C" { + pub fn SetThreadpoolWait(pwa: PTP_WAIT, h: HANDLE, pftTimeout: PFILETIME); +} +extern "C" { + pub fn WaitForThreadpoolWaitCallbacks(pwa: PTP_WAIT, fCancelPendingCallbacks: BOOL); +} +extern "C" { + pub fn CloseThreadpoolWait(pwa: PTP_WAIT); +} +extern "C" { + pub fn CreateThreadpoolIo( + fl: HANDLE, + pfnio: PTP_WIN32_IO_CALLBACK, + pv: PVOID, + pcbe: PTP_CALLBACK_ENVIRON, + ) -> PTP_IO; +} +extern "C" { + pub fn StartThreadpoolIo(pio: PTP_IO); +} +extern "C" { + pub fn CancelThreadpoolIo(pio: PTP_IO); +} +extern "C" { + pub fn WaitForThreadpoolIoCallbacks(pio: PTP_IO, fCancelPendingCallbacks: BOOL); +} +extern "C" { + pub fn CloseThreadpoolIo(pio: PTP_IO); +} +extern "C" { + pub fn SetThreadpoolTimerEx( + pti: PTP_TIMER, + pftDueTime: PFILETIME, + msPeriod: DWORD, + msWindowLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadpoolWaitEx( + pwa: PTP_WAIT, + h: HANDLE, + pftTimeout: PFILETIME, + Reserved: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn IsProcessInJob(ProcessHandle: HANDLE, JobHandle: HANDLE, Result: PBOOL) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION { + pub MaxIops: LONG64, + pub MaxBandwidth: LONG64, + pub ReservationIops: LONG64, + pub VolumeName: PCWSTR, + pub BaseIoSize: ULONG, + pub ControlFlags: ULONG, +} +#[test] +fn bindgen_test_layout_JOBOBJECT_IO_RATE_CONTROL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!( + "Size of: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxIops) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(MaxIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxBandwidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(MaxBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservationIops) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(ReservationIops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(VolumeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseIoSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(BaseIoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControlFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(JOBOBJECT_IO_RATE_CONTROL_INFORMATION), + "::", + stringify!(ControlFlags) + ) + ); +} +extern "C" { + pub fn CreateJobObjectW(lpJobAttributes: LPSECURITY_ATTRIBUTES, lpName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn FreeMemoryJobObject(Buffer: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn OpenJobObjectW(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn AssignProcessToJobObject(hJob: HANDLE, hProcess: HANDLE) -> BOOL; +} +extern "C" { + pub fn TerminateJobObject(hJob: HANDLE, uExitCode: UINT) -> BOOL; +} +extern "C" { + pub fn SetInformationJobObject( + hJob: HANDLE, + JobObjectInformationClass: JOBOBJECTINFOCLASS, + lpJobObjectInformation: LPVOID, + cbJobObjectInformationLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetIoRateControlInformationJobObject( + hJob: HANDLE, + IoRateControlInfo: *mut JOBOBJECT_IO_RATE_CONTROL_INFORMATION, + ) -> DWORD; +} +extern "C" { + pub fn QueryInformationJobObject( + hJob: HANDLE, + JobObjectInformationClass: JOBOBJECTINFOCLASS, + lpJobObjectInformation: LPVOID, + cbJobObjectInformationLength: DWORD, + lpReturnLength: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryIoRateControlInformationJobObject( + hJob: HANDLE, + VolumeName: PCWSTR, + InfoBlocks: *mut *mut JOBOBJECT_IO_RATE_CONTROL_INFORMATION, + InfoBlockCount: *mut ULONG, + ) -> DWORD; +} +extern "C" { + pub fn Wow64DisableWow64FsRedirection(OldValue: *mut PVOID) -> BOOL; +} +extern "C" { + pub fn Wow64RevertWow64FsRedirection(OlValue: PVOID) -> BOOL; +} +extern "C" { + pub fn IsWow64Process(hProcess: HANDLE, Wow64Process: PBOOL) -> BOOL; +} +extern "C" { + pub fn GetSystemWow64DirectoryA(lpBuffer: LPSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn GetSystemWow64DirectoryW(lpBuffer: LPWSTR, uSize: UINT) -> UINT; +} +extern "C" { + pub fn Wow64SetThreadDefaultGuestMachine(Machine: USHORT) -> USHORT; +} +extern "C" { + pub fn IsWow64Process2( + hProcess: HANDLE, + pProcessMachine: *mut USHORT, + pNativeMachine: *mut USHORT, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemWow64Directory2A( + lpBuffer: LPSTR, + uSize: UINT, + ImageFileMachineType: WORD, + ) -> UINT; +} +extern "C" { + pub fn GetSystemWow64Directory2W( + lpBuffer: LPWSTR, + uSize: UINT, + ImageFileMachineType: WORD, + ) -> UINT; +} +extern "C" { + pub fn IsWow64GuestMachineSupported( + WowGuestMachine: USHORT, + MachineIsSupported: *mut BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn Wow64GetThreadContext(hThread: HANDLE, lpContext: PWOW64_CONTEXT) -> BOOL; +} +extern "C" { + pub fn Wow64SetThreadContext(hThread: HANDLE, lpContext: *const WOW64_CONTEXT) -> BOOL; +} +extern "C" { + pub fn Wow64SuspendThread(hThread: HANDLE) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMUILANG { + pub NumOfEnumUILang: ULONG, + pub SizeOfEnumUIBuffer: ULONG, + pub pEnumUIBuffer: *mut LANGID, +} +#[test] +fn bindgen_test_layout_tagENUMUILANG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagENUMUILANG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagENUMUILANG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumOfEnumUILang) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMUILANG), + "::", + stringify!(NumOfEnumUILang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfEnumUIBuffer) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagENUMUILANG), + "::", + stringify!(SizeOfEnumUIBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnumUIBuffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagENUMUILANG), + "::", + stringify!(pEnumUIBuffer) + ) + ); +} +pub type ENUMUILANG = tagENUMUILANG; +pub type PENUMUILANG = *mut tagENUMUILANG; +pub type ENUMRESLANGPROCA = ::std::option::Option< + unsafe extern "C" fn( + hModule: HMODULE, + lpType: LPCSTR, + lpName: LPCSTR, + wLanguage: WORD, + lParam: LONG_PTR, + ) -> BOOL, +>; +pub type ENUMRESLANGPROCW = ::std::option::Option< + unsafe extern "C" fn( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPCWSTR, + wLanguage: WORD, + lParam: LONG_PTR, + ) -> BOOL, +>; +pub type ENUMRESNAMEPROCA = ::std::option::Option< + unsafe extern "C" fn(hModule: HMODULE, lpType: LPCSTR, lpName: LPSTR, lParam: LONG_PTR) -> BOOL, +>; +pub type ENUMRESNAMEPROCW = ::std::option::Option< + unsafe extern "C" fn( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPWSTR, + lParam: LONG_PTR, + ) -> BOOL, +>; +pub type ENUMRESTYPEPROCA = ::std::option::Option< + unsafe extern "C" fn(hModule: HMODULE, lpType: LPSTR, lParam: LONG_PTR) -> BOOL, +>; +pub type ENUMRESTYPEPROCW = ::std::option::Option< + unsafe extern "C" fn(hModule: HMODULE, lpType: LPWSTR, lParam: LONG_PTR) -> BOOL, +>; +extern "C" { + pub fn DisableThreadLibraryCalls(hLibModule: HMODULE) -> BOOL; +} +extern "C" { + pub fn FindResourceExW( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPCWSTR, + wLanguage: WORD, + ) -> HRSRC; +} +extern "C" { + pub fn FindStringOrdinal( + dwFindStringOrdinalFlags: DWORD, + lpStringSource: LPCWSTR, + cchSource: ::std::os::raw::c_int, + lpStringValue: LPCWSTR, + cchValue: ::std::os::raw::c_int, + bIgnoreCase: BOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn FreeLibrary(hLibModule: HMODULE) -> BOOL; +} +extern "C" { + pub fn FreeLibraryAndExitThread(hLibModule: HMODULE, dwExitCode: DWORD) -> !; +} +extern "C" { + pub fn FreeResource(hResData: HGLOBAL) -> BOOL; +} +extern "C" { + pub fn GetModuleFileNameA(hModule: HMODULE, lpFilename: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetModuleFileNameW(hModule: HMODULE, lpFilename: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetModuleHandleA(lpModuleName: LPCSTR) -> HMODULE; +} +extern "C" { + pub fn GetModuleHandleW(lpModuleName: LPCWSTR) -> HMODULE; +} +pub type PGET_MODULE_HANDLE_EXA = ::std::option::Option< + unsafe extern "C" fn(dwFlags: DWORD, lpModuleName: LPCSTR, phModule: *mut HMODULE) -> BOOL, +>; +pub type PGET_MODULE_HANDLE_EXW = ::std::option::Option< + unsafe extern "C" fn(dwFlags: DWORD, lpModuleName: LPCWSTR, phModule: *mut HMODULE) -> BOOL, +>; +extern "C" { + pub fn GetModuleHandleExA(dwFlags: DWORD, lpModuleName: LPCSTR, phModule: *mut HMODULE) + -> BOOL; +} +extern "C" { + pub fn GetModuleHandleExW( + dwFlags: DWORD, + lpModuleName: LPCWSTR, + phModule: *mut HMODULE, + ) -> BOOL; +} +extern "C" { + pub fn GetProcAddress(hModule: HMODULE, lpProcName: LPCSTR) -> FARPROC; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REDIRECTION_FUNCTION_DESCRIPTOR { + pub DllName: PCSTR, + pub FunctionName: PCSTR, + pub RedirectionTarget: PVOID, +} +#[test] +fn bindgen_test_layout__REDIRECTION_FUNCTION_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_REDIRECTION_FUNCTION_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REDIRECTION_FUNCTION_DESCRIPTOR>(), + 24usize, + concat!("Size of: ", stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_REDIRECTION_FUNCTION_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DllName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR), + "::", + stringify!(DllName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FunctionName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR), + "::", + stringify!(FunctionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RedirectionTarget) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_FUNCTION_DESCRIPTOR), + "::", + stringify!(RedirectionTarget) + ) + ); +} +pub type REDIRECTION_FUNCTION_DESCRIPTOR = _REDIRECTION_FUNCTION_DESCRIPTOR; +pub type PREDIRECTION_FUNCTION_DESCRIPTOR = *mut _REDIRECTION_FUNCTION_DESCRIPTOR; +pub type PCREDIRECTION_FUNCTION_DESCRIPTOR = *const REDIRECTION_FUNCTION_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REDIRECTION_DESCRIPTOR { + pub Version: ULONG, + pub FunctionCount: ULONG, + pub Redirections: PCREDIRECTION_FUNCTION_DESCRIPTOR, +} +#[test] +fn bindgen_test_layout__REDIRECTION_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_REDIRECTION_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REDIRECTION_DESCRIPTOR>(), + 16usize, + concat!("Size of: ", stringify!(_REDIRECTION_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_REDIRECTION_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_REDIRECTION_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FunctionCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_DESCRIPTOR), + "::", + stringify!(FunctionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Redirections) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REDIRECTION_DESCRIPTOR), + "::", + stringify!(Redirections) + ) + ); +} +pub type REDIRECTION_DESCRIPTOR = _REDIRECTION_DESCRIPTOR; +pub type PREDIRECTION_DESCRIPTOR = *mut _REDIRECTION_DESCRIPTOR; +pub type PCREDIRECTION_DESCRIPTOR = *const REDIRECTION_DESCRIPTOR; +extern "C" { + pub fn LoadLibraryExA(lpLibFileName: LPCSTR, hFile: HANDLE, dwFlags: DWORD) -> HMODULE; +} +extern "C" { + pub fn LoadLibraryExW(lpLibFileName: LPCWSTR, hFile: HANDLE, dwFlags: DWORD) -> HMODULE; +} +extern "C" { + pub fn LoadResource(hModule: HMODULE, hResInfo: HRSRC) -> HGLOBAL; +} +extern "C" { + pub fn LoadStringA( + hInstance: HINSTANCE, + uID: UINT, + lpBuffer: LPSTR, + cchBufferMax: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LoadStringW( + hInstance: HINSTANCE, + uID: UINT, + lpBuffer: LPWSTR, + cchBufferMax: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LockResource(hResData: HGLOBAL) -> LPVOID; +} +extern "C" { + pub fn SizeofResource(hModule: HMODULE, hResInfo: HRSRC) -> DWORD; +} +pub type DLL_DIRECTORY_COOKIE = PVOID; +pub type PDLL_DIRECTORY_COOKIE = *mut PVOID; +extern "C" { + pub fn AddDllDirectory(NewDirectory: PCWSTR) -> DLL_DIRECTORY_COOKIE; +} +extern "C" { + pub fn RemoveDllDirectory(Cookie: DLL_DIRECTORY_COOKIE) -> BOOL; +} +extern "C" { + pub fn SetDefaultDllDirectories(DirectoryFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumResourceLanguagesExA( + hModule: HMODULE, + lpType: LPCSTR, + lpName: LPCSTR, + lpEnumFunc: ENUMRESLANGPROCA, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceLanguagesExW( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPCWSTR, + lpEnumFunc: ENUMRESLANGPROCW, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceNamesExA( + hModule: HMODULE, + lpType: LPCSTR, + lpEnumFunc: ENUMRESNAMEPROCA, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceNamesExW( + hModule: HMODULE, + lpType: LPCWSTR, + lpEnumFunc: ENUMRESNAMEPROCW, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceTypesExA( + hModule: HMODULE, + lpEnumFunc: ENUMRESTYPEPROCA, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceTypesExW( + hModule: HMODULE, + lpEnumFunc: ENUMRESTYPEPROCW, + lParam: LONG_PTR, + dwFlags: DWORD, + LangId: LANGID, + ) -> BOOL; +} +extern "C" { + pub fn FindResourceW(hModule: HMODULE, lpName: LPCWSTR, lpType: LPCWSTR) -> HRSRC; +} +extern "C" { + pub fn LoadLibraryA(lpLibFileName: LPCSTR) -> HMODULE; +} +extern "C" { + pub fn LoadLibraryW(lpLibFileName: LPCWSTR) -> HMODULE; +} +extern "C" { + pub fn EnumResourceNamesW( + hModule: HMODULE, + lpType: LPCWSTR, + lpEnumFunc: ENUMRESNAMEPROCW, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheck( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + PrivilegeSet: PPRIVILEGE_SET, + PrivilegeSetLength: LPDWORD, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckAndAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ObjectTypeName: LPWSTR, + ObjectName: LPWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByType( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + ClientToken: HANDLE, + DesiredAccess: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + PrivilegeSet: PPRIVILEGE_SET, + PrivilegeSetLength: LPDWORD, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultList( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + ClientToken: HANDLE, + DesiredAccess: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + PrivilegeSet: PPRIVILEGE_SET, + PrivilegeSetLength: LPDWORD, + GrantedAccessList: LPDWORD, + AccessStatusList: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeAndAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ObjectTypeName: LPCWSTR, + ObjectName: LPCWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultListAndAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ObjectTypeName: LPCWSTR, + ObjectName: LPCWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccessList: LPDWORD, + AccessStatusList: LPDWORD, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ClientToken: HANDLE, + ObjectTypeName: LPCWSTR, + ObjectName: LPCWSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccessList: LPDWORD, + AccessStatusList: LPDWORD, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessAllowedAce( + pAcl: PACL, + dwAceRevision: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessAllowedAceEx( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessAllowedObjectAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + ObjectTypeGuid: *mut GUID, + InheritedObjectTypeGuid: *mut GUID, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessDeniedAce( + pAcl: PACL, + dwAceRevision: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessDeniedAceEx( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAccessDeniedObjectAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + ObjectTypeGuid: *mut GUID, + InheritedObjectTypeGuid: *mut GUID, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddAce( + pAcl: PACL, + dwAceRevision: DWORD, + dwStartingAceIndex: DWORD, + pAceList: LPVOID, + nAceListLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddAuditAccessAce( + pAcl: PACL, + dwAceRevision: DWORD, + dwAccessMask: DWORD, + pSid: PSID, + bAuditSuccess: BOOL, + bAuditFailure: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddAuditAccessAceEx( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + dwAccessMask: DWORD, + pSid: PSID, + bAuditSuccess: BOOL, + bAuditFailure: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddAuditAccessObjectAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + ObjectTypeGuid: *mut GUID, + InheritedObjectTypeGuid: *mut GUID, + pSid: PSID, + bAuditSuccess: BOOL, + bAuditFailure: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddMandatoryAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + MandatoryPolicy: DWORD, + pLabelSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AddResourceAttributeAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + pSid: PSID, + pAttributeInfo: PCLAIM_SECURITY_ATTRIBUTES_INFORMATION, + pReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddScopedPolicyIDAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AccessMask: DWORD, + pSid: PSID, + ) -> BOOL; +} +extern "C" { + pub fn AdjustTokenGroups( + TokenHandle: HANDLE, + ResetToDefault: BOOL, + NewState: PTOKEN_GROUPS, + BufferLength: DWORD, + PreviousState: PTOKEN_GROUPS, + ReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AdjustTokenPrivileges( + TokenHandle: HANDLE, + DisableAllPrivileges: BOOL, + NewState: PTOKEN_PRIVILEGES, + BufferLength: DWORD, + PreviousState: PTOKEN_PRIVILEGES, + ReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AllocateAndInitializeSid( + pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY, + nSubAuthorityCount: BYTE, + nSubAuthority0: DWORD, + nSubAuthority1: DWORD, + nSubAuthority2: DWORD, + nSubAuthority3: DWORD, + nSubAuthority4: DWORD, + nSubAuthority5: DWORD, + nSubAuthority6: DWORD, + nSubAuthority7: DWORD, + pSid: *mut PSID, + ) -> BOOL; +} +extern "C" { + pub fn AllocateLocallyUniqueId(Luid: PLUID) -> BOOL; +} +extern "C" { + pub fn AreAllAccessesGranted(GrantedAccess: DWORD, DesiredAccess: DWORD) -> BOOL; +} +extern "C" { + pub fn AreAnyAccessesGranted(GrantedAccess: DWORD, DesiredAccess: DWORD) -> BOOL; +} +extern "C" { + pub fn CheckTokenMembership(TokenHandle: HANDLE, SidToCheck: PSID, IsMember: PBOOL) -> BOOL; +} +extern "C" { + pub fn CheckTokenCapability( + TokenHandle: HANDLE, + CapabilitySidToCheck: PSID, + HasCapability: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetAppContainerAce( + Acl: PACL, + StartingAceIndex: DWORD, + AppContainerAce: *mut PVOID, + AppContainerAceIndex: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CheckTokenMembershipEx( + TokenHandle: HANDLE, + SidToCheck: PSID, + Flags: DWORD, + IsMember: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn ConvertToAutoInheritPrivateObjectSecurity( + ParentDescriptor: PSECURITY_DESCRIPTOR, + CurrentSecurityDescriptor: PSECURITY_DESCRIPTOR, + NewSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + ObjectType: *mut GUID, + IsDirectoryObject: BOOLEAN, + GenericMapping: PGENERIC_MAPPING, + ) -> BOOL; +} +extern "C" { + pub fn CopySid(nDestinationSidLength: DWORD, pDestinationSid: PSID, pSourceSid: PSID) -> BOOL; +} +extern "C" { + pub fn CreatePrivateObjectSecurity( + ParentDescriptor: PSECURITY_DESCRIPTOR, + CreatorDescriptor: PSECURITY_DESCRIPTOR, + NewDescriptor: *mut PSECURITY_DESCRIPTOR, + IsDirectoryObject: BOOL, + Token: HANDLE, + GenericMapping: PGENERIC_MAPPING, + ) -> BOOL; +} +extern "C" { + pub fn CreatePrivateObjectSecurityEx( + ParentDescriptor: PSECURITY_DESCRIPTOR, + CreatorDescriptor: PSECURITY_DESCRIPTOR, + NewDescriptor: *mut PSECURITY_DESCRIPTOR, + ObjectType: *mut GUID, + IsContainerObject: BOOL, + AutoInheritFlags: ULONG, + Token: HANDLE, + GenericMapping: PGENERIC_MAPPING, + ) -> BOOL; +} +extern "C" { + pub fn CreatePrivateObjectSecurityWithMultipleInheritance( + ParentDescriptor: PSECURITY_DESCRIPTOR, + CreatorDescriptor: PSECURITY_DESCRIPTOR, + NewDescriptor: *mut PSECURITY_DESCRIPTOR, + ObjectTypes: *mut *mut GUID, + GuidCount: ULONG, + IsContainerObject: BOOL, + AutoInheritFlags: ULONG, + Token: HANDLE, + GenericMapping: PGENERIC_MAPPING, + ) -> BOOL; +} +extern "C" { + pub fn CreateRestrictedToken( + ExistingTokenHandle: HANDLE, + Flags: DWORD, + DisableSidCount: DWORD, + SidsToDisable: PSID_AND_ATTRIBUTES, + DeletePrivilegeCount: DWORD, + PrivilegesToDelete: PLUID_AND_ATTRIBUTES, + RestrictedSidCount: DWORD, + SidsToRestrict: PSID_AND_ATTRIBUTES, + NewTokenHandle: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn CreateWellKnownSid( + WellKnownSidType: WELL_KNOWN_SID_TYPE, + DomainSid: PSID, + pSid: PSID, + cbSid: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EqualDomainSid(pSid1: PSID, pSid2: PSID, pfEqual: *mut BOOL) -> BOOL; +} +extern "C" { + pub fn DeleteAce(pAcl: PACL, dwAceIndex: DWORD) -> BOOL; +} +extern "C" { + pub fn DestroyPrivateObjectSecurity(ObjectDescriptor: *mut PSECURITY_DESCRIPTOR) -> BOOL; +} +extern "C" { + pub fn DuplicateToken( + ExistingTokenHandle: HANDLE, + ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + DuplicateTokenHandle: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn DuplicateTokenEx( + hExistingToken: HANDLE, + dwDesiredAccess: DWORD, + lpTokenAttributes: LPSECURITY_ATTRIBUTES, + ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL, + TokenType: TOKEN_TYPE, + phNewToken: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn EqualPrefixSid(pSid1: PSID, pSid2: PSID) -> BOOL; +} +extern "C" { + pub fn EqualSid(pSid1: PSID, pSid2: PSID) -> BOOL; +} +extern "C" { + pub fn FindFirstFreeAce(pAcl: PACL, pAce: *mut LPVOID) -> BOOL; +} +extern "C" { + pub fn FreeSid(pSid: PSID) -> PVOID; +} +extern "C" { + pub fn GetAce(pAcl: PACL, dwAceIndex: DWORD, pAce: *mut LPVOID) -> BOOL; +} +extern "C" { + pub fn GetAclInformation( + pAcl: PACL, + pAclInformation: LPVOID, + nAclInformationLength: DWORD, + dwAclInformationClass: ACL_INFORMATION_CLASS, + ) -> BOOL; +} +extern "C" { + pub fn GetFileSecurityW( + lpFileName: LPCWSTR, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetKernelObjectSecurity( + Handle: HANDLE, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetLengthSid(pSid: PSID) -> DWORD; +} +extern "C" { + pub fn GetPrivateObjectSecurity( + ObjectDescriptor: PSECURITY_DESCRIPTOR, + SecurityInformation: SECURITY_INFORMATION, + ResultantDescriptor: PSECURITY_DESCRIPTOR, + DescriptorLength: DWORD, + ReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorControl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pControl: PSECURITY_DESCRIPTOR_CONTROL, + lpdwRevision: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorDacl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpbDaclPresent: LPBOOL, + pDacl: *mut PACL, + lpbDaclDefaulted: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorGroup( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pGroup: *mut PSID, + lpbGroupDefaulted: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorLength(pSecurityDescriptor: PSECURITY_DESCRIPTOR) -> DWORD; +} +extern "C" { + pub fn GetSecurityDescriptorOwner( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pOwner: *mut PSID, + lpbOwnerDefaulted: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSecurityDescriptorRMControl( + SecurityDescriptor: PSECURITY_DESCRIPTOR, + RMControl: PUCHAR, + ) -> DWORD; +} +extern "C" { + pub fn GetSecurityDescriptorSacl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpbSaclPresent: LPBOOL, + pSacl: *mut PACL, + lpbSaclDefaulted: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetSidIdentifierAuthority(pSid: PSID) -> PSID_IDENTIFIER_AUTHORITY; +} +extern "C" { + pub fn GetSidLengthRequired(nSubAuthorityCount: UCHAR) -> DWORD; +} +extern "C" { + pub fn GetSidSubAuthority(pSid: PSID, nSubAuthority: DWORD) -> PDWORD; +} +extern "C" { + pub fn GetSidSubAuthorityCount(pSid: PSID) -> PUCHAR; +} +extern "C" { + pub fn GetTokenInformation( + TokenHandle: HANDLE, + TokenInformationClass: TOKEN_INFORMATION_CLASS, + TokenInformation: LPVOID, + TokenInformationLength: DWORD, + ReturnLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetWindowsAccountDomainSid( + pSid: PSID, + pDomainSid: PSID, + cbDomainSid: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ImpersonateAnonymousToken(ThreadHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn ImpersonateLoggedOnUser(hToken: HANDLE) -> BOOL; +} +extern "C" { + pub fn ImpersonateSelf(ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL) -> BOOL; +} +extern "C" { + pub fn InitializeAcl(pAcl: PACL, nAclLength: DWORD, dwAclRevision: DWORD) -> BOOL; +} +extern "C" { + pub fn InitializeSecurityDescriptor( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + dwRevision: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeSid( + Sid: PSID, + pIdentifierAuthority: PSID_IDENTIFIER_AUTHORITY, + nSubAuthorityCount: BYTE, + ) -> BOOL; +} +extern "C" { + pub fn IsTokenRestricted(TokenHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn IsValidAcl(pAcl: PACL) -> BOOL; +} +extern "C" { + pub fn IsValidSecurityDescriptor(pSecurityDescriptor: PSECURITY_DESCRIPTOR) -> BOOL; +} +extern "C" { + pub fn IsValidSid(pSid: PSID) -> BOOL; +} +extern "C" { + pub fn IsWellKnownSid(pSid: PSID, WellKnownSidType: WELL_KNOWN_SID_TYPE) -> BOOL; +} +extern "C" { + pub fn MakeAbsoluteSD( + pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR, + pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpdwAbsoluteSecurityDescriptorSize: LPDWORD, + pDacl: PACL, + lpdwDaclSize: LPDWORD, + pSacl: PACL, + lpdwSaclSize: LPDWORD, + pOwner: PSID, + lpdwOwnerSize: LPDWORD, + pPrimaryGroup: PSID, + lpdwPrimaryGroupSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn MakeSelfRelativeSD( + pAbsoluteSecurityDescriptor: PSECURITY_DESCRIPTOR, + pSelfRelativeSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpdwBufferLength: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn MapGenericMask(AccessMask: PDWORD, GenericMapping: PGENERIC_MAPPING); +} +extern "C" { + pub fn ObjectCloseAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + GenerateOnClose: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectDeleteAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + GenerateOnClose: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectOpenAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ObjectTypeName: LPWSTR, + ObjectName: LPWSTR, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, + DesiredAccess: DWORD, + GrantedAccess: DWORD, + Privileges: PPRIVILEGE_SET, + ObjectCreation: BOOL, + AccessGranted: BOOL, + GenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectPrivilegeAuditAlarmW( + SubsystemName: LPCWSTR, + HandleId: LPVOID, + ClientToken: HANDLE, + DesiredAccess: DWORD, + Privileges: PPRIVILEGE_SET, + AccessGranted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn PrivilegeCheck( + ClientToken: HANDLE, + RequiredPrivileges: PPRIVILEGE_SET, + pfResult: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn PrivilegedServiceAuditAlarmW( + SubsystemName: LPCWSTR, + ServiceName: LPCWSTR, + ClientToken: HANDLE, + Privileges: PPRIVILEGE_SET, + AccessGranted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn QuerySecurityAccessMask( + SecurityInformation: SECURITY_INFORMATION, + DesiredAccess: LPDWORD, + ); +} +extern "C" { + pub fn RevertToSelf() -> BOOL; +} +extern "C" { + pub fn SetAclInformation( + pAcl: PACL, + pAclInformation: LPVOID, + nAclInformationLength: DWORD, + dwAclInformationClass: ACL_INFORMATION_CLASS, + ) -> BOOL; +} +extern "C" { + pub fn SetFileSecurityW( + lpFileName: LPCWSTR, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn SetKernelObjectSecurity( + Handle: HANDLE, + SecurityInformation: SECURITY_INFORMATION, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn SetPrivateObjectSecurity( + SecurityInformation: SECURITY_INFORMATION, + ModificationDescriptor: PSECURITY_DESCRIPTOR, + ObjectsSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + GenericMapping: PGENERIC_MAPPING, + Token: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn SetPrivateObjectSecurityEx( + SecurityInformation: SECURITY_INFORMATION, + ModificationDescriptor: PSECURITY_DESCRIPTOR, + ObjectsSecurityDescriptor: *mut PSECURITY_DESCRIPTOR, + AutoInheritFlags: ULONG, + GenericMapping: PGENERIC_MAPPING, + Token: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityAccessMask(SecurityInformation: SECURITY_INFORMATION, DesiredAccess: LPDWORD); +} +extern "C" { + pub fn SetSecurityDescriptorControl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ControlBitsOfInterest: SECURITY_DESCRIPTOR_CONTROL, + ControlBitsToSet: SECURITY_DESCRIPTOR_CONTROL, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityDescriptorDacl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + bDaclPresent: BOOL, + pDacl: PACL, + bDaclDefaulted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityDescriptorGroup( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pGroup: PSID, + bGroupDefaulted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityDescriptorOwner( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pOwner: PSID, + bOwnerDefaulted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetSecurityDescriptorRMControl( + SecurityDescriptor: PSECURITY_DESCRIPTOR, + RMControl: PUCHAR, + ) -> DWORD; +} +extern "C" { + pub fn SetSecurityDescriptorSacl( + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + bSaclPresent: BOOL, + pSacl: PACL, + bSaclDefaulted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetTokenInformation( + TokenHandle: HANDLE, + TokenInformationClass: TOKEN_INFORMATION_CLASS, + TokenInformation: LPVOID, + TokenInformationLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetCachedSigningLevel( + SourceFiles: PHANDLE, + SourceFileCount: ULONG, + Flags: ULONG, + TargetFile: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn GetCachedSigningLevel( + File: HANDLE, + Flags: PULONG, + SigningLevel: PULONG, + Thumbprint: PUCHAR, + ThumbprintSize: PULONG, + ThumbprintAlgorithm: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn CveEventWrite(CveId: PCWSTR, AdditionalDetails: PCWSTR) -> LONG; +} +extern "C" { + pub fn DeriveCapabilitySidsFromName( + CapName: LPCWSTR, + CapabilityGroupSids: *mut *mut PSID, + CapabilityGroupSidCount: *mut DWORD, + CapabilitySids: *mut *mut PSID, + CapabilitySidCount: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CreatePrivateNamespaceW( + lpPrivateNamespaceAttributes: LPSECURITY_ATTRIBUTES, + lpBoundaryDescriptor: LPVOID, + lpAliasPrefix: LPCWSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenPrivateNamespaceW(lpBoundaryDescriptor: LPVOID, lpAliasPrefix: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn ClosePrivateNamespace(Handle: HANDLE, Flags: ULONG) -> BOOLEAN; +} +extern "C" { + pub fn CreateBoundaryDescriptorW(Name: LPCWSTR, Flags: ULONG) -> HANDLE; +} +extern "C" { + pub fn AddSIDToBoundaryDescriptor(BoundaryDescriptor: *mut HANDLE, RequiredSid: PSID) -> BOOL; +} +extern "C" { + pub fn DeleteBoundaryDescriptor(BoundaryDescriptor: HANDLE); +} +extern "C" { + pub fn GetNumaHighestNodeNumber(HighestNodeNumber: PULONG) -> BOOL; +} +extern "C" { + pub fn GetNumaNodeProcessorMaskEx(Node: USHORT, ProcessorMask: PGROUP_AFFINITY) -> BOOL; +} +extern "C" { + pub fn GetNumaProximityNodeEx(ProximityId: ULONG, NodeNumber: PUSHORT) -> BOOL; +} +extern "C" { + pub fn GetProcessGroupAffinity( + hProcess: HANDLE, + GroupCount: PUSHORT, + GroupArray: PUSHORT, + ) -> BOOL; +} +extern "C" { + pub fn GetThreadGroupAffinity(hThread: HANDLE, GroupAffinity: PGROUP_AFFINITY) -> BOOL; +} +extern "C" { + pub fn SetThreadGroupAffinity( + hThread: HANDLE, + GroupAffinity: *const GROUP_AFFINITY, + PreviousGroupAffinity: PGROUP_AFFINITY, + ) -> BOOL; +} +extern "C" { + pub fn GetAppContainerNamedObjectPath( + Token: HANDLE, + AppContainerSid: PSID, + ObjectPathLength: ULONG, + ObjectPath: LPWSTR, + ReturnLength: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn QueryThreadCycleTime(ThreadHandle: HANDLE, CycleTime: PULONG64) -> BOOL; +} +extern "C" { + pub fn QueryProcessCycleTime(ProcessHandle: HANDLE, CycleTime: PULONG64) -> BOOL; +} +extern "C" { + pub fn QueryIdleProcessorCycleTime( + BufferLength: PULONG, + ProcessorIdleCycleTime: PULONG64, + ) -> BOOL; +} +extern "C" { + pub fn QueryIdleProcessorCycleTimeEx( + Group: USHORT, + BufferLength: PULONG, + ProcessorIdleCycleTime: PULONG64, + ) -> BOOL; +} +extern "C" { + pub fn QueryInterruptTimePrecise(lpInterruptTimePrecise: PULONGLONG); +} +extern "C" { + pub fn QueryUnbiasedInterruptTimePrecise(lpUnbiasedInterruptTimePrecise: PULONGLONG); +} +extern "C" { + pub fn QueryInterruptTime(lpInterruptTime: PULONGLONG); +} +extern "C" { + pub fn QueryUnbiasedInterruptTime(UnbiasedTime: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn QueryAuxiliaryCounterFrequency(lpAuxiliaryCounterFrequency: PULONGLONG) -> HRESULT; +} +extern "C" { + pub fn ConvertAuxiliaryCounterToPerformanceCounter( + ullAuxiliaryCounterValue: ULONGLONG, + lpPerformanceCounterValue: PULONGLONG, + lpConversionError: PULONGLONG, + ) -> HRESULT; +} +extern "C" { + pub fn ConvertPerformanceCounterToAuxiliaryCounter( + ullPerformanceCounterValue: ULONGLONG, + lpAuxiliaryCounterValue: PULONGLONG, + lpConversionError: PULONGLONG, + ) -> HRESULT; +} +pub type PFIBER_START_ROUTINE = + ::std::option::Option; +pub type LPFIBER_START_ROUTINE = PFIBER_START_ROUTINE; +pub type PFIBER_CALLOUT_ROUTINE = + ::std::option::Option LPVOID>; +pub type LPLDT_ENTRY = LPVOID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMMPROP { + pub wPacketLength: WORD, + pub wPacketVersion: WORD, + pub dwServiceMask: DWORD, + pub dwReserved1: DWORD, + pub dwMaxTxQueue: DWORD, + pub dwMaxRxQueue: DWORD, + pub dwMaxBaud: DWORD, + pub dwProvSubType: DWORD, + pub dwProvCapabilities: DWORD, + pub dwSettableParams: DWORD, + pub dwSettableBaud: DWORD, + pub wSettableData: WORD, + pub wSettableStopParity: WORD, + pub dwCurrentTxQueue: DWORD, + pub dwCurrentRxQueue: DWORD, + pub dwProvSpec1: DWORD, + pub dwProvSpec2: DWORD, + pub wcProvChar: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__COMMPROP() { + const UNINIT: ::std::mem::MaybeUninit<_COMMPROP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMMPROP>(), + 64usize, + concat!("Size of: ", stringify!(_COMMPROP)) + ); + assert_eq!( + ::std::mem::align_of::<_COMMPROP>(), + 4usize, + concat!("Alignment of ", stringify!(_COMMPROP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPacketLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wPacketLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPacketVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wPacketVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwServiceMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxTxQueue) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwMaxTxQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxRxQueue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwMaxRxQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxBaud) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwMaxBaud) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvSubType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwProvSubType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvCapabilities) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwProvCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSettableParams) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwSettableParams) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSettableBaud) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwSettableBaud) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSettableData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wSettableData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSettableStopParity) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wSettableStopParity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentTxQueue) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwCurrentTxQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentRxQueue) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwCurrentRxQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvSpec1) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwProvSpec1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvSpec2) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(dwProvSpec2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wcProvChar) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_COMMPROP), + "::", + stringify!(wcProvChar) + ) + ); +} +pub type COMMPROP = _COMMPROP; +pub type LPCOMMPROP = *mut _COMMPROP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMSTAT { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub cbInQue: DWORD, + pub cbOutQue: DWORD, +} +#[test] +fn bindgen_test_layout__COMSTAT() { + const UNINIT: ::std::mem::MaybeUninit<_COMSTAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMSTAT>(), + 12usize, + concat!("Size of: ", stringify!(_COMSTAT)) + ); + assert_eq!( + ::std::mem::align_of::<_COMSTAT>(), + 4usize, + concat!("Alignment of ", stringify!(_COMSTAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbInQue) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COMSTAT), + "::", + stringify!(cbInQue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOutQue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COMSTAT), + "::", + stringify!(cbOutQue) + ) + ); +} +impl _COMSTAT { + #[inline] + pub fn fCtsHold(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_fCtsHold(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDsrHold(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_fDsrHold(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn fRlsdHold(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_fRlsdHold(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn fXoffHold(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_fXoffHold(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn fXoffSent(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_fXoffSent(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn fEof(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_fEof(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn fTxim(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_fTxim(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn fReserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 25u8) as u32) } + } + #[inline] + pub fn set_fReserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 25u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + fCtsHold: DWORD, + fDsrHold: DWORD, + fRlsdHold: DWORD, + fXoffHold: DWORD, + fXoffSent: DWORD, + fEof: DWORD, + fTxim: DWORD, + fReserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let fCtsHold: u32 = unsafe { ::std::mem::transmute(fCtsHold) }; + fCtsHold as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fDsrHold: u32 = unsafe { ::std::mem::transmute(fDsrHold) }; + fDsrHold as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let fRlsdHold: u32 = unsafe { ::std::mem::transmute(fRlsdHold) }; + fRlsdHold as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let fXoffHold: u32 = unsafe { ::std::mem::transmute(fXoffHold) }; + fXoffHold as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let fXoffSent: u32 = unsafe { ::std::mem::transmute(fXoffSent) }; + fXoffSent as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let fEof: u32 = unsafe { ::std::mem::transmute(fEof) }; + fEof as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let fTxim: u32 = unsafe { ::std::mem::transmute(fTxim) }; + fTxim as u64 + }); + __bindgen_bitfield_unit.set(7usize, 25u8, { + let fReserved: u32 = unsafe { ::std::mem::transmute(fReserved) }; + fReserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type COMSTAT = _COMSTAT; +pub type LPCOMSTAT = *mut _COMSTAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DCB { + pub DCBlength: DWORD, + pub BaudRate: DWORD, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub wReserved: WORD, + pub XonLim: WORD, + pub XoffLim: WORD, + pub ByteSize: BYTE, + pub Parity: BYTE, + pub StopBits: BYTE, + pub XonChar: ::std::os::raw::c_char, + pub XoffChar: ::std::os::raw::c_char, + pub ErrorChar: ::std::os::raw::c_char, + pub EofChar: ::std::os::raw::c_char, + pub EvtChar: ::std::os::raw::c_char, + pub wReserved1: WORD, +} +#[test] +fn bindgen_test_layout__DCB() { + const UNINIT: ::std::mem::MaybeUninit<_DCB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DCB>(), + 28usize, + concat!("Size of: ", stringify!(_DCB)) + ); + assert_eq!( + ::std::mem::align_of::<_DCB>(), + 4usize, + concat!("Alignment of ", stringify!(_DCB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DCBlength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(DCBlength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaudRate) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(BaudRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(wReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XonLim) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(XonLim) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XoffLim) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(XoffLim) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteSize) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(ByteSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Parity) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(Parity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StopBits) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(StopBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XonChar) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(XonChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XoffChar) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(XoffChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorChar) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(ErrorChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EofChar) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(EofChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EvtChar) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(EvtChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_DCB), + "::", + stringify!(wReserved1) + ) + ); +} +impl _DCB { + #[inline] + pub fn fBinary(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_fBinary(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn fParity(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_fParity(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn fOutxCtsFlow(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_fOutxCtsFlow(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn fOutxDsrFlow(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_fOutxDsrFlow(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDtrControl(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u32) } + } + #[inline] + pub fn set_fDtrControl(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 2u8, val as u64) + } + } + #[inline] + pub fn fDsrSensitivity(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_fDsrSensitivity(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn fTXContinueOnXoff(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_fTXContinueOnXoff(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn fOutX(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_fOutX(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn fInX(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_fInX(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn fErrorChar(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_fErrorChar(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn fNull(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_fNull(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn fRtsControl(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 2u8) as u32) } + } + #[inline] + pub fn set_fRtsControl(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 2u8, val as u64) + } + } + #[inline] + pub fn fAbortOnError(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) } + } + #[inline] + pub fn set_fAbortOnError(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDummy2(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 17u8) as u32) } + } + #[inline] + pub fn set_fDummy2(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 17u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + fBinary: DWORD, + fParity: DWORD, + fOutxCtsFlow: DWORD, + fOutxDsrFlow: DWORD, + fDtrControl: DWORD, + fDsrSensitivity: DWORD, + fTXContinueOnXoff: DWORD, + fOutX: DWORD, + fInX: DWORD, + fErrorChar: DWORD, + fNull: DWORD, + fRtsControl: DWORD, + fAbortOnError: DWORD, + fDummy2: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let fBinary: u32 = unsafe { ::std::mem::transmute(fBinary) }; + fBinary as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fParity: u32 = unsafe { ::std::mem::transmute(fParity) }; + fParity as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let fOutxCtsFlow: u32 = unsafe { ::std::mem::transmute(fOutxCtsFlow) }; + fOutxCtsFlow as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let fOutxDsrFlow: u32 = unsafe { ::std::mem::transmute(fOutxDsrFlow) }; + fOutxDsrFlow as u64 + }); + __bindgen_bitfield_unit.set(4usize, 2u8, { + let fDtrControl: u32 = unsafe { ::std::mem::transmute(fDtrControl) }; + fDtrControl as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let fDsrSensitivity: u32 = unsafe { ::std::mem::transmute(fDsrSensitivity) }; + fDsrSensitivity as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let fTXContinueOnXoff: u32 = unsafe { ::std::mem::transmute(fTXContinueOnXoff) }; + fTXContinueOnXoff as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let fOutX: u32 = unsafe { ::std::mem::transmute(fOutX) }; + fOutX as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let fInX: u32 = unsafe { ::std::mem::transmute(fInX) }; + fInX as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let fErrorChar: u32 = unsafe { ::std::mem::transmute(fErrorChar) }; + fErrorChar as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let fNull: u32 = unsafe { ::std::mem::transmute(fNull) }; + fNull as u64 + }); + __bindgen_bitfield_unit.set(12usize, 2u8, { + let fRtsControl: u32 = unsafe { ::std::mem::transmute(fRtsControl) }; + fRtsControl as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fAbortOnError: u32 = unsafe { ::std::mem::transmute(fAbortOnError) }; + fAbortOnError as u64 + }); + __bindgen_bitfield_unit.set(15usize, 17u8, { + let fDummy2: u32 = unsafe { ::std::mem::transmute(fDummy2) }; + fDummy2 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type DCB = _DCB; +pub type LPDCB = *mut _DCB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMMTIMEOUTS { + pub ReadIntervalTimeout: DWORD, + pub ReadTotalTimeoutMultiplier: DWORD, + pub ReadTotalTimeoutConstant: DWORD, + pub WriteTotalTimeoutMultiplier: DWORD, + pub WriteTotalTimeoutConstant: DWORD, +} +#[test] +fn bindgen_test_layout__COMMTIMEOUTS() { + const UNINIT: ::std::mem::MaybeUninit<_COMMTIMEOUTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMMTIMEOUTS>(), + 20usize, + concat!("Size of: ", stringify!(_COMMTIMEOUTS)) + ); + assert_eq!( + ::std::mem::align_of::<_COMMTIMEOUTS>(), + 4usize, + concat!("Alignment of ", stringify!(_COMMTIMEOUTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadIntervalTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(ReadIntervalTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadTotalTimeoutMultiplier) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(ReadTotalTimeoutMultiplier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadTotalTimeoutConstant) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(ReadTotalTimeoutConstant) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteTotalTimeoutMultiplier) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(WriteTotalTimeoutMultiplier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteTotalTimeoutConstant) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COMMTIMEOUTS), + "::", + stringify!(WriteTotalTimeoutConstant) + ) + ); +} +pub type COMMTIMEOUTS = _COMMTIMEOUTS; +pub type LPCOMMTIMEOUTS = *mut _COMMTIMEOUTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMMCONFIG { + pub dwSize: DWORD, + pub wVersion: WORD, + pub wReserved: WORD, + pub dcb: DCB, + pub dwProviderSubType: DWORD, + pub dwProviderOffset: DWORD, + pub dwProviderSize: DWORD, + pub wcProviderData: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__COMMCONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_COMMCONFIG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMMCONFIG>(), + 52usize, + concat!("Size of: ", stringify!(_COMMCONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_COMMCONFIG>(), + 4usize, + concat!("Alignment of ", stringify!(_COMMCONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(wVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(wReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dcb) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dcb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderSubType) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dwProviderSubType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderOffset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dwProviderOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderSize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(dwProviderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wcProviderData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_COMMCONFIG), + "::", + stringify!(wcProviderData) + ) + ); +} +pub type COMMCONFIG = _COMMCONFIG; +pub type LPCOMMCONFIG = *mut _COMMCONFIG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MEMORYSTATUS { + pub dwLength: DWORD, + pub dwMemoryLoad: DWORD, + pub dwTotalPhys: SIZE_T, + pub dwAvailPhys: SIZE_T, + pub dwTotalPageFile: SIZE_T, + pub dwAvailPageFile: SIZE_T, + pub dwTotalVirtual: SIZE_T, + pub dwAvailVirtual: SIZE_T, +} +#[test] +fn bindgen_test_layout__MEMORYSTATUS() { + const UNINIT: ::std::mem::MaybeUninit<_MEMORYSTATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MEMORYSTATUS>(), + 56usize, + concat!("Size of: ", stringify!(_MEMORYSTATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_MEMORYSTATUS>(), + 8usize, + concat!("Alignment of ", stringify!(_MEMORYSTATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMemoryLoad) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwMemoryLoad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTotalPhys) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwTotalPhys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailPhys) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwAvailPhys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTotalPageFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwTotalPageFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailPageFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwAvailPageFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTotalVirtual) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwTotalVirtual) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailVirtual) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MEMORYSTATUS), + "::", + stringify!(dwAvailVirtual) + ) + ); +} +pub type MEMORYSTATUS = _MEMORYSTATUS; +pub type LPMEMORYSTATUS = *mut _MEMORYSTATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JIT_DEBUG_INFO { + pub dwSize: DWORD, + pub dwProcessorArchitecture: DWORD, + pub dwThreadID: DWORD, + pub dwReserved0: DWORD, + pub lpExceptionAddress: ULONG64, + pub lpExceptionRecord: ULONG64, + pub lpContextRecord: ULONG64, +} +#[test] +fn bindgen_test_layout__JIT_DEBUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_JIT_DEBUG_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JIT_DEBUG_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_JIT_DEBUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_JIT_DEBUG_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_JIT_DEBUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessorArchitecture) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(dwProcessorArchitecture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwThreadID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(dwThreadID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved0) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(dwReserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpExceptionAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(lpExceptionAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpExceptionRecord) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(lpExceptionRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpContextRecord) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JIT_DEBUG_INFO), + "::", + stringify!(lpContextRecord) + ) + ); +} +pub type JIT_DEBUG_INFO = _JIT_DEBUG_INFO; +pub type LPJIT_DEBUG_INFO = *mut _JIT_DEBUG_INFO; +pub type JIT_DEBUG_INFO32 = JIT_DEBUG_INFO; +pub type LPJIT_DEBUG_INFO32 = *mut JIT_DEBUG_INFO; +pub type JIT_DEBUG_INFO64 = JIT_DEBUG_INFO; +pub type LPJIT_DEBUG_INFO64 = *mut JIT_DEBUG_INFO; +pub type LPEXCEPTION_RECORD = PEXCEPTION_RECORD; +pub type LPEXCEPTION_POINTERS = PEXCEPTION_POINTERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFSTRUCT { + pub cBytes: BYTE, + pub fFixedDisk: BYTE, + pub nErrCode: WORD, + pub Reserved1: WORD, + pub Reserved2: WORD, + pub szPathName: [CHAR; 128usize], +} +#[test] +fn bindgen_test_layout__OFSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_OFSTRUCT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFSTRUCT>(), + 136usize, + concat!("Size of: ", stringify!(_OFSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_OFSTRUCT>(), + 2usize, + concat!("Alignment of ", stringify!(_OFSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(cBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFixedDisk) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(fFixedDisk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nErrCode) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(nErrCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPathName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OFSTRUCT), + "::", + stringify!(szPathName) + ) + ); +} +pub type OFSTRUCT = _OFSTRUCT; +pub type LPOFSTRUCT = *mut _OFSTRUCT; +pub type POFSTRUCT = *mut _OFSTRUCT; +extern "C" { + pub fn WinMain( + hInstance: HINSTANCE, + hPrevInstance: HINSTANCE, + lpCmdLine: LPSTR, + nShowCmd: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wWinMain( + hInstance: HINSTANCE, + hPrevInstance: HINSTANCE, + lpCmdLine: LPWSTR, + nShowCmd: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GlobalAlloc(uFlags: UINT, dwBytes: SIZE_T) -> HGLOBAL; +} +extern "C" { + pub fn GlobalReAlloc(hMem: HGLOBAL, dwBytes: SIZE_T, uFlags: UINT) -> HGLOBAL; +} +extern "C" { + pub fn GlobalSize(hMem: HGLOBAL) -> SIZE_T; +} +extern "C" { + pub fn GlobalUnlock(hMem: HGLOBAL) -> BOOL; +} +extern "C" { + pub fn GlobalLock(hMem: HGLOBAL) -> LPVOID; +} +extern "C" { + pub fn GlobalFlags(hMem: HGLOBAL) -> UINT; +} +extern "C" { + pub fn GlobalHandle(pMem: LPCVOID) -> HGLOBAL; +} +extern "C" { + pub fn GlobalFree(hMem: HGLOBAL) -> HGLOBAL; +} +extern "C" { + pub fn GlobalCompact(dwMinFree: DWORD) -> SIZE_T; +} +extern "C" { + pub fn GlobalFix(hMem: HGLOBAL); +} +extern "C" { + pub fn GlobalUnfix(hMem: HGLOBAL); +} +extern "C" { + pub fn GlobalWire(hMem: HGLOBAL) -> LPVOID; +} +extern "C" { + pub fn GlobalUnWire(hMem: HGLOBAL) -> BOOL; +} +extern "C" { + pub fn GlobalMemoryStatus(lpBuffer: LPMEMORYSTATUS); +} +extern "C" { + pub fn LocalAlloc(uFlags: UINT, uBytes: SIZE_T) -> HLOCAL; +} +extern "C" { + pub fn LocalReAlloc(hMem: HLOCAL, uBytes: SIZE_T, uFlags: UINT) -> HLOCAL; +} +extern "C" { + pub fn LocalLock(hMem: HLOCAL) -> LPVOID; +} +extern "C" { + pub fn LocalHandle(pMem: LPCVOID) -> HLOCAL; +} +extern "C" { + pub fn LocalUnlock(hMem: HLOCAL) -> BOOL; +} +extern "C" { + pub fn LocalSize(hMem: HLOCAL) -> SIZE_T; +} +extern "C" { + pub fn LocalFlags(hMem: HLOCAL) -> UINT; +} +extern "C" { + pub fn LocalFree(hMem: HLOCAL) -> HLOCAL; +} +extern "C" { + pub fn LocalShrink(hMem: HLOCAL, cbNewSize: UINT) -> SIZE_T; +} +extern "C" { + pub fn LocalCompact(uMinFree: UINT) -> SIZE_T; +} +extern "C" { + pub fn GetBinaryTypeA(lpApplicationName: LPCSTR, lpBinaryType: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetBinaryTypeW(lpApplicationName: LPCWSTR, lpBinaryType: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetShortPathNameA(lpszLongPath: LPCSTR, lpszShortPath: LPSTR, cchBuffer: DWORD) + -> DWORD; +} +extern "C" { + pub fn GetLongPathNameTransactedA( + lpszShortPath: LPCSTR, + lpszLongPath: LPSTR, + cchBuffer: DWORD, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn GetLongPathNameTransactedW( + lpszShortPath: LPCWSTR, + lpszLongPath: LPWSTR, + cchBuffer: DWORD, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn GetProcessAffinityMask( + hProcess: HANDLE, + lpProcessAffinityMask: PDWORD_PTR, + lpSystemAffinityMask: PDWORD_PTR, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessAffinityMask(hProcess: HANDLE, dwProcessAffinityMask: DWORD_PTR) -> BOOL; +} +extern "C" { + pub fn GetProcessIoCounters(hProcess: HANDLE, lpIoCounters: PIO_COUNTERS) -> BOOL; +} +extern "C" { + pub fn GetProcessWorkingSetSize( + hProcess: HANDLE, + lpMinimumWorkingSetSize: PSIZE_T, + lpMaximumWorkingSetSize: PSIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessWorkingSetSize( + hProcess: HANDLE, + dwMinimumWorkingSetSize: SIZE_T, + dwMaximumWorkingSetSize: SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn FatalExit(ExitCode: ::std::os::raw::c_int); +} +extern "C" { + pub fn SetEnvironmentStringsA(NewEnvironment: LPCH) -> BOOL; +} +extern "C" { + pub fn SwitchToFiber(lpFiber: LPVOID); +} +extern "C" { + pub fn DeleteFiber(lpFiber: LPVOID); +} +extern "C" { + pub fn ConvertFiberToThread() -> BOOL; +} +extern "C" { + pub fn CreateFiberEx( + dwStackCommitSize: SIZE_T, + dwStackReserveSize: SIZE_T, + dwFlags: DWORD, + lpStartAddress: LPFIBER_START_ROUTINE, + lpParameter: LPVOID, + ) -> LPVOID; +} +extern "C" { + pub fn ConvertThreadToFiberEx(lpParameter: LPVOID, dwFlags: DWORD) -> LPVOID; +} +extern "C" { + pub fn CreateFiber( + dwStackSize: SIZE_T, + lpStartAddress: LPFIBER_START_ROUTINE, + lpParameter: LPVOID, + ) -> LPVOID; +} +extern "C" { + pub fn ConvertThreadToFiber(lpParameter: LPVOID) -> LPVOID; +} +pub type PUMS_CONTEXT = *mut ::std::os::raw::c_void; +pub type PUMS_COMPLETION_LIST = *mut ::std::os::raw::c_void; +pub use self::_RTL_UMS_THREAD_INFO_CLASS as UMS_THREAD_INFO_CLASS; +pub type PUMS_THREAD_INFO_CLASS = *mut _RTL_UMS_THREAD_INFO_CLASS; +pub use self::_RTL_UMS_SCHEDULER_REASON as UMS_SCHEDULER_REASON; +pub type PUMS_SCHEDULER_ENTRY_POINT = PRTL_UMS_SCHEDULER_ENTRY_POINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UMS_SCHEDULER_STARTUP_INFO { + pub UmsVersion: ULONG, + pub CompletionList: PUMS_COMPLETION_LIST, + pub SchedulerProc: PUMS_SCHEDULER_ENTRY_POINT, + pub SchedulerParam: PVOID, +} +#[test] +fn bindgen_test_layout__UMS_SCHEDULER_STARTUP_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_UMS_SCHEDULER_STARTUP_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UMS_SCHEDULER_STARTUP_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_UMS_SCHEDULER_STARTUP_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_SCHEDULER_STARTUP_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_UMS_SCHEDULER_STARTUP_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SCHEDULER_STARTUP_INFO), + "::", + stringify!(UmsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompletionList) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SCHEDULER_STARTUP_INFO), + "::", + stringify!(CompletionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SchedulerProc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SCHEDULER_STARTUP_INFO), + "::", + stringify!(SchedulerProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SchedulerParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SCHEDULER_STARTUP_INFO), + "::", + stringify!(SchedulerParam) + ) + ); +} +pub type UMS_SCHEDULER_STARTUP_INFO = _UMS_SCHEDULER_STARTUP_INFO; +pub type PUMS_SCHEDULER_STARTUP_INFO = *mut _UMS_SCHEDULER_STARTUP_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _UMS_SYSTEM_THREAD_INFORMATION { + pub UmsVersion: ULONG, + pub __bindgen_anon_1: _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1 { + pub __bindgen_anon_1: _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1, + pub ThreadUmsFlags: ULONG, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[test] +fn bindgen_test_layout__UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn IsUmsSchedulerThread(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_IsUmsSchedulerThread(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn IsUmsWorkerThread(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_IsUmsWorkerThread(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + IsUmsSchedulerThread: ULONG, + IsUmsWorkerThread: ULONG, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let IsUmsSchedulerThread: u32 = unsafe { ::std::mem::transmute(IsUmsSchedulerThread) }; + IsUmsSchedulerThread as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let IsUmsWorkerThread: u32 = unsafe { ::std::mem::transmute(IsUmsWorkerThread) }; + IsUmsWorkerThread as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThreadUmsFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION__bindgen_ty_1), + "::", + stringify!(ThreadUmsFlags) + ) + ); +} +#[test] +fn bindgen_test_layout__UMS_SYSTEM_THREAD_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_UMS_SYSTEM_THREAD_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UMS_SYSTEM_THREAD_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_UMS_SYSTEM_THREAD_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_UMS_SYSTEM_THREAD_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_UMS_SYSTEM_THREAD_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UmsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UMS_SYSTEM_THREAD_INFORMATION), + "::", + stringify!(UmsVersion) + ) + ); +} +pub type UMS_SYSTEM_THREAD_INFORMATION = _UMS_SYSTEM_THREAD_INFORMATION; +pub type PUMS_SYSTEM_THREAD_INFORMATION = *mut _UMS_SYSTEM_THREAD_INFORMATION; +extern "C" { + pub fn CreateUmsCompletionList(UmsCompletionList: *mut PUMS_COMPLETION_LIST) -> BOOL; +} +extern "C" { + pub fn DequeueUmsCompletionListItems( + UmsCompletionList: PUMS_COMPLETION_LIST, + WaitTimeOut: DWORD, + UmsThreadList: *mut PUMS_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn GetUmsCompletionListEvent( + UmsCompletionList: PUMS_COMPLETION_LIST, + UmsCompletionEvent: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn ExecuteUmsThread(UmsThread: PUMS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn UmsThreadYield(SchedulerParam: PVOID) -> BOOL; +} +extern "C" { + pub fn DeleteUmsCompletionList(UmsCompletionList: PUMS_COMPLETION_LIST) -> BOOL; +} +extern "C" { + pub fn GetCurrentUmsThread() -> PUMS_CONTEXT; +} +extern "C" { + pub fn GetNextUmsListItem(UmsContext: PUMS_CONTEXT) -> PUMS_CONTEXT; +} +extern "C" { + pub fn QueryUmsThreadInformation( + UmsThread: PUMS_CONTEXT, + UmsThreadInfoClass: UMS_THREAD_INFO_CLASS, + UmsThreadInformation: PVOID, + UmsThreadInformationLength: ULONG, + ReturnLength: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetUmsThreadInformation( + UmsThread: PUMS_CONTEXT, + UmsThreadInfoClass: UMS_THREAD_INFO_CLASS, + UmsThreadInformation: PVOID, + UmsThreadInformationLength: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn DeleteUmsThreadContext(UmsThread: PUMS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CreateUmsThreadContext(lpUmsThread: *mut PUMS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn EnterUmsSchedulingMode(SchedulerStartupInfo: PUMS_SCHEDULER_STARTUP_INFO) -> BOOL; +} +extern "C" { + pub fn GetUmsSystemThreadInformation( + ThreadHandle: HANDLE, + SystemThreadInfo: PUMS_SYSTEM_THREAD_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadAffinityMask(hThread: HANDLE, dwThreadAffinityMask: DWORD_PTR) -> DWORD_PTR; +} +extern "C" { + pub fn SetProcessDEPPolicy(dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetProcessDEPPolicy(hProcess: HANDLE, lpFlags: LPDWORD, lpPermanent: PBOOL) -> BOOL; +} +extern "C" { + pub fn RequestWakeupLatency(latency: LATENCY_TIME) -> BOOL; +} +extern "C" { + pub fn IsSystemResumeAutomatic() -> BOOL; +} +extern "C" { + pub fn GetThreadSelectorEntry( + hThread: HANDLE, + dwSelector: DWORD, + lpSelectorEntry: LPLDT_ENTRY, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadExecutionState(esFlags: EXECUTION_STATE) -> EXECUTION_STATE; +} +pub type POWER_REQUEST_CONTEXT = REASON_CONTEXT; +pub type PPOWER_REQUEST_CONTEXT = *mut REASON_CONTEXT; +pub type LPPOWER_REQUEST_CONTEXT = *mut REASON_CONTEXT; +extern "C" { + pub fn PowerCreateRequest(Context: PREASON_CONTEXT) -> HANDLE; +} +extern "C" { + pub fn PowerSetRequest(PowerRequest: HANDLE, RequestType: POWER_REQUEST_TYPE) -> BOOL; +} +extern "C" { + pub fn PowerClearRequest(PowerRequest: HANDLE, RequestType: POWER_REQUEST_TYPE) -> BOOL; +} +extern "C" { + pub fn SetFileCompletionNotificationModes(FileHandle: HANDLE, Flags: UCHAR) -> BOOL; +} +extern "C" { + pub fn Wow64GetThreadSelectorEntry( + hThread: HANDLE, + dwSelector: DWORD, + lpSelectorEntry: PWOW64_LDT_ENTRY, + ) -> BOOL; +} +extern "C" { + pub fn DebugSetProcessKillOnExit(KillOnExit: BOOL) -> BOOL; +} +extern "C" { + pub fn DebugBreakProcess(Process: HANDLE) -> BOOL; +} +extern "C" { + pub fn PulseEvent(hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn GlobalDeleteAtom(nAtom: ATOM) -> ATOM; +} +extern "C" { + pub fn InitAtomTable(nSize: DWORD) -> BOOL; +} +extern "C" { + pub fn DeleteAtom(nAtom: ATOM) -> ATOM; +} +extern "C" { + pub fn SetHandleCount(uNumber: UINT) -> UINT; +} +extern "C" { + pub fn RequestDeviceWakeup(hDevice: HANDLE) -> BOOL; +} +extern "C" { + pub fn CancelDeviceWakeupRequest(hDevice: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetDevicePowerState(hDevice: HANDLE, pfOn: *mut BOOL) -> BOOL; +} +extern "C" { + pub fn SetMessageWaitingIndicator(hMsgIndicator: HANDLE, ulMsgCount: ULONG) -> BOOL; +} +extern "C" { + pub fn SetFileShortNameA(hFile: HANDLE, lpShortName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetFileShortNameW(hFile: HANDLE, lpShortName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn LoadModule(lpModuleName: LPCSTR, lpParameterBlock: LPVOID) -> DWORD; +} +extern "C" { + pub fn WinExec(lpCmdLine: LPCSTR, uCmdShow: UINT) -> UINT; +} +extern "C" { + pub fn ClearCommBreak(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn ClearCommError(hFile: HANDLE, lpErrors: LPDWORD, lpStat: LPCOMSTAT) -> BOOL; +} +extern "C" { + pub fn SetupComm(hFile: HANDLE, dwInQueue: DWORD, dwOutQueue: DWORD) -> BOOL; +} +extern "C" { + pub fn EscapeCommFunction(hFile: HANDLE, dwFunc: DWORD) -> BOOL; +} +extern "C" { + pub fn GetCommConfig(hCommDev: HANDLE, lpCC: LPCOMMCONFIG, lpdwSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetCommMask(hFile: HANDLE, lpEvtMask: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetCommProperties(hFile: HANDLE, lpCommProp: LPCOMMPROP) -> BOOL; +} +extern "C" { + pub fn GetCommModemStatus(hFile: HANDLE, lpModemStat: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetCommState(hFile: HANDLE, lpDCB: LPDCB) -> BOOL; +} +extern "C" { + pub fn GetCommTimeouts(hFile: HANDLE, lpCommTimeouts: LPCOMMTIMEOUTS) -> BOOL; +} +extern "C" { + pub fn PurgeComm(hFile: HANDLE, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn SetCommBreak(hFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetCommConfig(hCommDev: HANDLE, lpCC: LPCOMMCONFIG, dwSize: DWORD) -> BOOL; +} +extern "C" { + pub fn SetCommMask(hFile: HANDLE, dwEvtMask: DWORD) -> BOOL; +} +extern "C" { + pub fn SetCommState(hFile: HANDLE, lpDCB: LPDCB) -> BOOL; +} +extern "C" { + pub fn SetCommTimeouts(hFile: HANDLE, lpCommTimeouts: LPCOMMTIMEOUTS) -> BOOL; +} +extern "C" { + pub fn TransmitCommChar(hFile: HANDLE, cChar: ::std::os::raw::c_char) -> BOOL; +} +extern "C" { + pub fn WaitCommEvent(hFile: HANDLE, lpEvtMask: LPDWORD, lpOverlapped: LPOVERLAPPED) -> BOOL; +} +extern "C" { + pub fn OpenCommPort( + uPortNumber: ULONG, + dwDesiredAccess: DWORD, + dwFlagsAndAttributes: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn GetCommPorts( + lpPortNumbers: PULONG, + uPortNumbersCount: ULONG, + puPortNumbersFound: PULONG, + ) -> ULONG; +} +extern "C" { + pub fn SetTapePosition( + hDevice: HANDLE, + dwPositionMethod: DWORD, + dwPartition: DWORD, + dwOffsetLow: DWORD, + dwOffsetHigh: DWORD, + bImmediate: BOOL, + ) -> DWORD; +} +extern "C" { + pub fn GetTapePosition( + hDevice: HANDLE, + dwPositionType: DWORD, + lpdwPartition: LPDWORD, + lpdwOffsetLow: LPDWORD, + lpdwOffsetHigh: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn PrepareTape(hDevice: HANDLE, dwOperation: DWORD, bImmediate: BOOL) -> DWORD; +} +extern "C" { + pub fn EraseTape(hDevice: HANDLE, dwEraseType: DWORD, bImmediate: BOOL) -> DWORD; +} +extern "C" { + pub fn CreateTapePartition( + hDevice: HANDLE, + dwPartitionMethod: DWORD, + dwCount: DWORD, + dwSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WriteTapemark( + hDevice: HANDLE, + dwTapemarkType: DWORD, + dwTapemarkCount: DWORD, + bImmediate: BOOL, + ) -> DWORD; +} +extern "C" { + pub fn GetTapeStatus(hDevice: HANDLE) -> DWORD; +} +extern "C" { + pub fn GetTapeParameters( + hDevice: HANDLE, + dwOperation: DWORD, + lpdwSize: LPDWORD, + lpTapeInformation: LPVOID, + ) -> DWORD; +} +extern "C" { + pub fn SetTapeParameters( + hDevice: HANDLE, + dwOperation: DWORD, + lpTapeInformation: LPVOID, + ) -> DWORD; +} +extern "C" { + pub fn MulDiv( + nNumber: ::std::os::raw::c_int, + nNumerator: ::std::os::raw::c_int, + nDenominator: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +pub const _DEP_SYSTEM_POLICY_TYPE_DEPPolicyAlwaysOff: _DEP_SYSTEM_POLICY_TYPE = 0; +pub const _DEP_SYSTEM_POLICY_TYPE_DEPPolicyAlwaysOn: _DEP_SYSTEM_POLICY_TYPE = 1; +pub const _DEP_SYSTEM_POLICY_TYPE_DEPPolicyOptIn: _DEP_SYSTEM_POLICY_TYPE = 2; +pub const _DEP_SYSTEM_POLICY_TYPE_DEPPolicyOptOut: _DEP_SYSTEM_POLICY_TYPE = 3; +pub const _DEP_SYSTEM_POLICY_TYPE_DEPTotalPolicyCount: _DEP_SYSTEM_POLICY_TYPE = 4; +pub type _DEP_SYSTEM_POLICY_TYPE = ::std::os::raw::c_int; +pub use self::_DEP_SYSTEM_POLICY_TYPE as DEP_SYSTEM_POLICY_TYPE; +extern "C" { + pub fn GetSystemDEPPolicy() -> DEP_SYSTEM_POLICY_TYPE; +} +extern "C" { + pub fn GetSystemRegistryQuota(pdwQuotaAllowed: PDWORD, pdwQuotaUsed: PDWORD) -> BOOL; +} +extern "C" { + pub fn FileTimeToDosDateTime( + lpFileTime: *const FILETIME, + lpFatDate: LPWORD, + lpFatTime: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn DosDateTimeToFileTime(wFatDate: WORD, wFatTime: WORD, lpFileTime: LPFILETIME) -> BOOL; +} +extern "C" { + pub fn FormatMessageA( + dwFlags: DWORD, + lpSource: LPCVOID, + dwMessageId: DWORD, + dwLanguageId: DWORD, + lpBuffer: LPSTR, + nSize: DWORD, + Arguments: *mut va_list, + ) -> DWORD; +} +extern "C" { + pub fn FormatMessageW( + dwFlags: DWORD, + lpSource: LPCVOID, + dwMessageId: DWORD, + dwLanguageId: DWORD, + lpBuffer: LPWSTR, + nSize: DWORD, + Arguments: *mut va_list, + ) -> DWORD; +} +extern "C" { + pub fn CreateMailslotA( + lpName: LPCSTR, + nMaxMessageSize: DWORD, + lReadTimeout: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> HANDLE; +} +extern "C" { + pub fn CreateMailslotW( + lpName: LPCWSTR, + nMaxMessageSize: DWORD, + lReadTimeout: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> HANDLE; +} +extern "C" { + pub fn GetMailslotInfo( + hMailslot: HANDLE, + lpMaxMessageSize: LPDWORD, + lpNextSize: LPDWORD, + lpMessageCount: LPDWORD, + lpReadTimeout: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetMailslotInfo(hMailslot: HANDLE, lReadTimeout: DWORD) -> BOOL; +} +extern "C" { + pub fn EncryptFileA(lpFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn EncryptFileW(lpFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn DecryptFileA(lpFileName: LPCSTR, dwReserved: DWORD) -> BOOL; +} +extern "C" { + pub fn DecryptFileW(lpFileName: LPCWSTR, dwReserved: DWORD) -> BOOL; +} +extern "C" { + pub fn FileEncryptionStatusA(lpFileName: LPCSTR, lpStatus: LPDWORD) -> BOOL; +} +extern "C" { + pub fn FileEncryptionStatusW(lpFileName: LPCWSTR, lpStatus: LPDWORD) -> BOOL; +} +pub type PFE_EXPORT_FUNC = ::std::option::Option< + unsafe extern "C" fn(pbData: PBYTE, pvCallbackContext: PVOID, ulLength: ULONG) -> DWORD, +>; +pub type PFE_IMPORT_FUNC = ::std::option::Option< + unsafe extern "C" fn(pbData: PBYTE, pvCallbackContext: PVOID, ulLength: PULONG) -> DWORD, +>; +extern "C" { + pub fn OpenEncryptedFileRawA( + lpFileName: LPCSTR, + ulFlags: ULONG, + pvContext: *mut PVOID, + ) -> DWORD; +} +extern "C" { + pub fn OpenEncryptedFileRawW( + lpFileName: LPCWSTR, + ulFlags: ULONG, + pvContext: *mut PVOID, + ) -> DWORD; +} +extern "C" { + pub fn ReadEncryptedFileRaw( + pfExportCallback: PFE_EXPORT_FUNC, + pvCallbackContext: PVOID, + pvContext: PVOID, + ) -> DWORD; +} +extern "C" { + pub fn WriteEncryptedFileRaw( + pfImportCallback: PFE_IMPORT_FUNC, + pvCallbackContext: PVOID, + pvContext: PVOID, + ) -> DWORD; +} +extern "C" { + pub fn CloseEncryptedFileRaw(pvContext: PVOID); +} +extern "C" { + pub fn lstrcmpA(lpString1: LPCSTR, lpString2: LPCSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrcmpW(lpString1: LPCWSTR, lpString2: LPCWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrcmpiA(lpString1: LPCSTR, lpString2: LPCSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrcmpiW(lpString1: LPCWSTR, lpString2: LPCWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrcpynA( + lpString1: LPSTR, + lpString2: LPCSTR, + iMaxLength: ::std::os::raw::c_int, + ) -> LPSTR; +} +extern "C" { + pub fn lstrcpynW( + lpString1: LPWSTR, + lpString2: LPCWSTR, + iMaxLength: ::std::os::raw::c_int, + ) -> LPWSTR; +} +extern "C" { + pub fn lstrcpyA(lpString1: LPSTR, lpString2: LPCSTR) -> LPSTR; +} +extern "C" { + pub fn lstrcpyW(lpString1: LPWSTR, lpString2: LPCWSTR) -> LPWSTR; +} +extern "C" { + pub fn lstrcatA(lpString1: LPSTR, lpString2: LPCSTR) -> LPSTR; +} +extern "C" { + pub fn lstrcatW(lpString1: LPWSTR, lpString2: LPCWSTR) -> LPWSTR; +} +extern "C" { + pub fn lstrlenA(lpString: LPCSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn lstrlenW(lpString: LPCWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn OpenFile(lpFileName: LPCSTR, lpReOpenBuff: LPOFSTRUCT, uStyle: UINT) -> HFILE; +} +extern "C" { + pub fn _lopen(lpPathName: LPCSTR, iReadWrite: ::std::os::raw::c_int) -> HFILE; +} +extern "C" { + pub fn _lcreat(lpPathName: LPCSTR, iAttribute: ::std::os::raw::c_int) -> HFILE; +} +extern "C" { + pub fn _lread(hFile: HFILE, lpBuffer: LPVOID, uBytes: UINT) -> UINT; +} +extern "C" { + pub fn _lwrite(hFile: HFILE, lpBuffer: LPCCH, uBytes: UINT) -> UINT; +} +extern "C" { + pub fn _hread( + hFile: HFILE, + lpBuffer: LPVOID, + lBytes: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _hwrite( + hFile: HFILE, + lpBuffer: LPCCH, + lBytes: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _lclose(hFile: HFILE) -> HFILE; +} +extern "C" { + pub fn _llseek(hFile: HFILE, lOffset: LONG, iOrigin: ::std::os::raw::c_int) -> LONG; +} +extern "C" { + pub fn IsTextUnicode( + lpv: *const ::std::os::raw::c_void, + iSize: ::std::os::raw::c_int, + lpiResult: LPINT, + ) -> BOOL; +} +extern "C" { + pub fn BackupRead( + hFile: HANDLE, + lpBuffer: LPBYTE, + nNumberOfBytesToRead: DWORD, + lpNumberOfBytesRead: LPDWORD, + bAbort: BOOL, + bProcessSecurity: BOOL, + lpContext: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn BackupSeek( + hFile: HANDLE, + dwLowBytesToSeek: DWORD, + dwHighBytesToSeek: DWORD, + lpdwLowByteSeeked: LPDWORD, + lpdwHighByteSeeked: LPDWORD, + lpContext: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn BackupWrite( + hFile: HANDLE, + lpBuffer: LPBYTE, + nNumberOfBytesToWrite: DWORD, + lpNumberOfBytesWritten: LPDWORD, + bAbort: BOOL, + bProcessSecurity: BOOL, + lpContext: *mut LPVOID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIN32_STREAM_ID { + pub dwStreamId: DWORD, + pub dwStreamAttributes: DWORD, + pub Size: LARGE_INTEGER, + pub dwStreamNameSize: DWORD, + pub cStreamName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__WIN32_STREAM_ID() { + const UNINIT: ::std::mem::MaybeUninit<_WIN32_STREAM_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIN32_STREAM_ID>(), + 24usize, + concat!("Size of: ", stringify!(_WIN32_STREAM_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_WIN32_STREAM_ID>(), + 8usize, + concat!("Alignment of ", stringify!(_WIN32_STREAM_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(dwStreamId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamAttributes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(dwStreamAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNameSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(dwStreamNameSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStreamName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WIN32_STREAM_ID), + "::", + stringify!(cStreamName) + ) + ); +} +pub type WIN32_STREAM_ID = _WIN32_STREAM_ID; +pub type LPWIN32_STREAM_ID = *mut _WIN32_STREAM_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STARTUPINFOEXA { + pub StartupInfo: STARTUPINFOA, + pub lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, +} +#[test] +fn bindgen_test_layout__STARTUPINFOEXA() { + const UNINIT: ::std::mem::MaybeUninit<_STARTUPINFOEXA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STARTUPINFOEXA>(), + 112usize, + concat!("Size of: ", stringify!(_STARTUPINFOEXA)) + ); + assert_eq!( + ::std::mem::align_of::<_STARTUPINFOEXA>(), + 8usize, + concat!("Alignment of ", stringify!(_STARTUPINFOEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartupInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOEXA), + "::", + stringify!(StartupInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAttributeList) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOEXA), + "::", + stringify!(lpAttributeList) + ) + ); +} +pub type STARTUPINFOEXA = _STARTUPINFOEXA; +pub type LPSTARTUPINFOEXA = *mut _STARTUPINFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STARTUPINFOEXW { + pub StartupInfo: STARTUPINFOW, + pub lpAttributeList: LPPROC_THREAD_ATTRIBUTE_LIST, +} +#[test] +fn bindgen_test_layout__STARTUPINFOEXW() { + const UNINIT: ::std::mem::MaybeUninit<_STARTUPINFOEXW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STARTUPINFOEXW>(), + 112usize, + concat!("Size of: ", stringify!(_STARTUPINFOEXW)) + ); + assert_eq!( + ::std::mem::align_of::<_STARTUPINFOEXW>(), + 8usize, + concat!("Alignment of ", stringify!(_STARTUPINFOEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartupInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOEXW), + "::", + stringify!(StartupInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAttributeList) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_STARTUPINFOEXW), + "::", + stringify!(lpAttributeList) + ) + ); +} +pub type STARTUPINFOEXW = _STARTUPINFOEXW; +pub type LPSTARTUPINFOEXW = *mut _STARTUPINFOEXW; +pub type STARTUPINFOEX = STARTUPINFOEXA; +pub type LPSTARTUPINFOEX = LPSTARTUPINFOEXA; +extern "C" { + pub fn OpenMutexA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn CreateSemaphoreA( + lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, + lMaximumCount: LONG, + lpName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenSemaphoreA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn CreateWaitableTimerA( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + bManualReset: BOOL, + lpTimerName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenWaitableTimerA( + dwDesiredAccess: DWORD, + bInheritHandle: BOOL, + lpTimerName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateSemaphoreExA( + lpSemaphoreAttributes: LPSECURITY_ATTRIBUTES, + lInitialCount: LONG, + lMaximumCount: LONG, + lpName: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateWaitableTimerExA( + lpTimerAttributes: LPSECURITY_ATTRIBUTES, + lpTimerName: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFileMappingA( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFileMappingNumaA( + hFile: HANDLE, + lpFileMappingAttributes: LPSECURITY_ATTRIBUTES, + flProtect: DWORD, + dwMaximumSizeHigh: DWORD, + dwMaximumSizeLow: DWORD, + lpName: LPCSTR, + nndPreferred: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn OpenFileMappingA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) + -> HANDLE; +} +extern "C" { + pub fn GetLogicalDriveStringsA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; +} +extern "C" { + pub fn LoadPackagedLibrary(lpwLibFileName: LPCWSTR, Reserved: DWORD) -> HMODULE; +} +extern "C" { + pub fn QueryFullProcessImageNameA( + hProcess: HANDLE, + dwFlags: DWORD, + lpExeName: LPSTR, + lpdwSize: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryFullProcessImageNameW( + hProcess: HANDLE, + dwFlags: DWORD, + lpExeName: LPWSTR, + lpdwSize: PDWORD, + ) -> BOOL; +} +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeParentProcess: _PROC_THREAD_ATTRIBUTE_NUM = + 0; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeHandleList: _PROC_THREAD_ATTRIBUTE_NUM = 2; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeGroupAffinity: _PROC_THREAD_ATTRIBUTE_NUM = + 3; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributePreferredNode: _PROC_THREAD_ATTRIBUTE_NUM = + 4; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeIdealProcessor: _PROC_THREAD_ATTRIBUTE_NUM = + 5; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeUmsThread: _PROC_THREAD_ATTRIBUTE_NUM = 6; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeMitigationPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 7; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeSecurityCapabilities: + _PROC_THREAD_ATTRIBUTE_NUM = 9; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeProtectionLevel: + _PROC_THREAD_ATTRIBUTE_NUM = 11; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeJobList: _PROC_THREAD_ATTRIBUTE_NUM = 13; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeChildProcessPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 14; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeAllApplicationPackagesPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 15; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeWin32kFilter: _PROC_THREAD_ATTRIBUTE_NUM = + 16; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeSafeOpenPromptOriginClaim: + _PROC_THREAD_ATTRIBUTE_NUM = 17; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeDesktopAppPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 18; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributePseudoConsole: _PROC_THREAD_ATTRIBUTE_NUM = + 22; +pub const _PROC_THREAD_ATTRIBUTE_NUM_ProcThreadAttributeMitigationAuditPolicy: + _PROC_THREAD_ATTRIBUTE_NUM = 24; +pub type _PROC_THREAD_ATTRIBUTE_NUM = ::std::os::raw::c_int; +pub use self::_PROC_THREAD_ATTRIBUTE_NUM as PROC_THREAD_ATTRIBUTE_NUM; +extern "C" { + pub fn GetStartupInfoA(lpStartupInfo: LPSTARTUPINFOA); +} +extern "C" { + pub fn GetFirmwareEnvironmentVariableA( + lpName: LPCSTR, + lpGuid: LPCSTR, + pBuffer: PVOID, + nSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFirmwareEnvironmentVariableW( + lpName: LPCWSTR, + lpGuid: LPCWSTR, + pBuffer: PVOID, + nSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFirmwareEnvironmentVariableExA( + lpName: LPCSTR, + lpGuid: LPCSTR, + pBuffer: PVOID, + nSize: DWORD, + pdwAttribubutes: PDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFirmwareEnvironmentVariableExW( + lpName: LPCWSTR, + lpGuid: LPCWSTR, + pBuffer: PVOID, + nSize: DWORD, + pdwAttribubutes: PDWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetFirmwareEnvironmentVariableA( + lpName: LPCSTR, + lpGuid: LPCSTR, + pValue: PVOID, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFirmwareEnvironmentVariableW( + lpName: LPCWSTR, + lpGuid: LPCWSTR, + pValue: PVOID, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFirmwareEnvironmentVariableExA( + lpName: LPCSTR, + lpGuid: LPCSTR, + pValue: PVOID, + nSize: DWORD, + dwAttributes: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFirmwareEnvironmentVariableExW( + lpName: LPCWSTR, + lpGuid: LPCWSTR, + pValue: PVOID, + nSize: DWORD, + dwAttributes: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetFirmwareType(FirmwareType: PFIRMWARE_TYPE) -> BOOL; +} +extern "C" { + pub fn IsNativeVhdBoot(NativeVhdBoot: PBOOL) -> BOOL; +} +extern "C" { + pub fn FindResourceA(hModule: HMODULE, lpName: LPCSTR, lpType: LPCSTR) -> HRSRC; +} +extern "C" { + pub fn FindResourceExA( + hModule: HMODULE, + lpType: LPCSTR, + lpName: LPCSTR, + wLanguage: WORD, + ) -> HRSRC; +} +extern "C" { + pub fn EnumResourceTypesA( + hModule: HMODULE, + lpEnumFunc: ENUMRESTYPEPROCA, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceTypesW( + hModule: HMODULE, + lpEnumFunc: ENUMRESTYPEPROCW, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceNamesA( + hModule: HMODULE, + lpType: LPCSTR, + lpEnumFunc: ENUMRESNAMEPROCA, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceLanguagesA( + hModule: HMODULE, + lpType: LPCSTR, + lpName: LPCSTR, + lpEnumFunc: ENUMRESLANGPROCA, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumResourceLanguagesW( + hModule: HMODULE, + lpType: LPCWSTR, + lpName: LPCWSTR, + lpEnumFunc: ENUMRESLANGPROCW, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn BeginUpdateResourceA(pFileName: LPCSTR, bDeleteExistingResources: BOOL) -> HANDLE; +} +extern "C" { + pub fn BeginUpdateResourceW(pFileName: LPCWSTR, bDeleteExistingResources: BOOL) -> HANDLE; +} +extern "C" { + pub fn UpdateResourceA( + hUpdate: HANDLE, + lpType: LPCSTR, + lpName: LPCSTR, + wLanguage: WORD, + lpData: LPVOID, + cb: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn UpdateResourceW( + hUpdate: HANDLE, + lpType: LPCWSTR, + lpName: LPCWSTR, + wLanguage: WORD, + lpData: LPVOID, + cb: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EndUpdateResourceA(hUpdate: HANDLE, fDiscard: BOOL) -> BOOL; +} +extern "C" { + pub fn EndUpdateResourceW(hUpdate: HANDLE, fDiscard: BOOL) -> BOOL; +} +extern "C" { + pub fn GlobalAddAtomA(lpString: LPCSTR) -> ATOM; +} +extern "C" { + pub fn GlobalAddAtomW(lpString: LPCWSTR) -> ATOM; +} +extern "C" { + pub fn GlobalAddAtomExA(lpString: LPCSTR, Flags: DWORD) -> ATOM; +} +extern "C" { + pub fn GlobalAddAtomExW(lpString: LPCWSTR, Flags: DWORD) -> ATOM; +} +extern "C" { + pub fn GlobalFindAtomA(lpString: LPCSTR) -> ATOM; +} +extern "C" { + pub fn GlobalFindAtomW(lpString: LPCWSTR) -> ATOM; +} +extern "C" { + pub fn GlobalGetAtomNameA(nAtom: ATOM, lpBuffer: LPSTR, nSize: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn GlobalGetAtomNameW(nAtom: ATOM, lpBuffer: LPWSTR, nSize: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn AddAtomA(lpString: LPCSTR) -> ATOM; +} +extern "C" { + pub fn AddAtomW(lpString: LPCWSTR) -> ATOM; +} +extern "C" { + pub fn FindAtomA(lpString: LPCSTR) -> ATOM; +} +extern "C" { + pub fn FindAtomW(lpString: LPCWSTR) -> ATOM; +} +extern "C" { + pub fn GetAtomNameA(nAtom: ATOM, lpBuffer: LPSTR, nSize: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn GetAtomNameW(nAtom: ATOM, lpBuffer: LPWSTR, nSize: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn GetProfileIntA(lpAppName: LPCSTR, lpKeyName: LPCSTR, nDefault: INT) -> UINT; +} +extern "C" { + pub fn GetProfileIntW(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, nDefault: INT) -> UINT; +} +extern "C" { + pub fn GetProfileStringA( + lpAppName: LPCSTR, + lpKeyName: LPCSTR, + lpDefault: LPCSTR, + lpReturnedString: LPSTR, + nSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetProfileStringW( + lpAppName: LPCWSTR, + lpKeyName: LPCWSTR, + lpDefault: LPCWSTR, + lpReturnedString: LPWSTR, + nSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WriteProfileStringA(lpAppName: LPCSTR, lpKeyName: LPCSTR, lpString: LPCSTR) -> BOOL; +} +extern "C" { + pub fn WriteProfileStringW(lpAppName: LPCWSTR, lpKeyName: LPCWSTR, lpString: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetProfileSectionA(lpAppName: LPCSTR, lpReturnedString: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetProfileSectionW(lpAppName: LPCWSTR, lpReturnedString: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn WriteProfileSectionA(lpAppName: LPCSTR, lpString: LPCSTR) -> BOOL; +} +extern "C" { + pub fn WriteProfileSectionW(lpAppName: LPCWSTR, lpString: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetPrivateProfileIntA( + lpAppName: LPCSTR, + lpKeyName: LPCSTR, + nDefault: INT, + lpFileName: LPCSTR, + ) -> UINT; +} +extern "C" { + pub fn GetPrivateProfileIntW( + lpAppName: LPCWSTR, + lpKeyName: LPCWSTR, + nDefault: INT, + lpFileName: LPCWSTR, + ) -> UINT; +} +extern "C" { + pub fn GetPrivateProfileStringA( + lpAppName: LPCSTR, + lpKeyName: LPCSTR, + lpDefault: LPCSTR, + lpReturnedString: LPSTR, + nSize: DWORD, + lpFileName: LPCSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetPrivateProfileStringW( + lpAppName: LPCWSTR, + lpKeyName: LPCWSTR, + lpDefault: LPCWSTR, + lpReturnedString: LPWSTR, + nSize: DWORD, + lpFileName: LPCWSTR, + ) -> DWORD; +} +extern "C" { + pub fn WritePrivateProfileStringA( + lpAppName: LPCSTR, + lpKeyName: LPCSTR, + lpString: LPCSTR, + lpFileName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn WritePrivateProfileStringW( + lpAppName: LPCWSTR, + lpKeyName: LPCWSTR, + lpString: LPCWSTR, + lpFileName: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetPrivateProfileSectionA( + lpAppName: LPCSTR, + lpReturnedString: LPSTR, + nSize: DWORD, + lpFileName: LPCSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetPrivateProfileSectionW( + lpAppName: LPCWSTR, + lpReturnedString: LPWSTR, + nSize: DWORD, + lpFileName: LPCWSTR, + ) -> DWORD; +} +extern "C" { + pub fn WritePrivateProfileSectionA( + lpAppName: LPCSTR, + lpString: LPCSTR, + lpFileName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn WritePrivateProfileSectionW( + lpAppName: LPCWSTR, + lpString: LPCWSTR, + lpFileName: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetPrivateProfileSectionNamesA( + lpszReturnBuffer: LPSTR, + nSize: DWORD, + lpFileName: LPCSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetPrivateProfileSectionNamesW( + lpszReturnBuffer: LPWSTR, + nSize: DWORD, + lpFileName: LPCWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetPrivateProfileStructA( + lpszSection: LPCSTR, + lpszKey: LPCSTR, + lpStruct: LPVOID, + uSizeStruct: UINT, + szFile: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetPrivateProfileStructW( + lpszSection: LPCWSTR, + lpszKey: LPCWSTR, + lpStruct: LPVOID, + uSizeStruct: UINT, + szFile: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn WritePrivateProfileStructA( + lpszSection: LPCSTR, + lpszKey: LPCSTR, + lpStruct: LPVOID, + uSizeStruct: UINT, + szFile: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn WritePrivateProfileStructW( + lpszSection: LPCWSTR, + lpszKey: LPCWSTR, + lpStruct: LPVOID, + uSizeStruct: UINT, + szFile: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection: BOOLEAN) -> BOOLEAN; +} +pub type PGET_SYSTEM_WOW64_DIRECTORY_A = + ::std::option::Option UINT>; +pub type PGET_SYSTEM_WOW64_DIRECTORY_W = + ::std::option::Option UINT>; +extern "C" { + pub fn SetDllDirectoryA(lpPathName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetDllDirectoryW(lpPathName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetDllDirectoryA(nBufferLength: DWORD, lpBuffer: LPSTR) -> DWORD; +} +extern "C" { + pub fn GetDllDirectoryW(nBufferLength: DWORD, lpBuffer: LPWSTR) -> DWORD; +} +extern "C" { + pub fn SetSearchPathMode(Flags: DWORD) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryExA( + lpTemplateDirectory: LPCSTR, + lpNewDirectory: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryExW( + lpTemplateDirectory: LPCWSTR, + lpNewDirectory: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryTransactedA( + lpTemplateDirectory: LPCSTR, + lpNewDirectory: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn CreateDirectoryTransactedW( + lpTemplateDirectory: LPCWSTR, + lpNewDirectory: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryTransactedA(lpPathName: LPCSTR, hTransaction: HANDLE) -> BOOL; +} +extern "C" { + pub fn RemoveDirectoryTransactedW(lpPathName: LPCWSTR, hTransaction: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetFullPathNameTransactedA( + lpFileName: LPCSTR, + nBufferLength: DWORD, + lpBuffer: LPSTR, + lpFilePart: *mut LPSTR, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn GetFullPathNameTransactedW( + lpFileName: LPCWSTR, + nBufferLength: DWORD, + lpBuffer: LPWSTR, + lpFilePart: *mut LPWSTR, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn DefineDosDeviceA(dwFlags: DWORD, lpDeviceName: LPCSTR, lpTargetPath: LPCSTR) -> BOOL; +} +extern "C" { + pub fn QueryDosDeviceA(lpDeviceName: LPCSTR, lpTargetPath: LPSTR, ucchMax: DWORD) -> DWORD; +} +extern "C" { + pub fn CreateFileTransactedA( + lpFileName: LPCSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + hTransaction: HANDLE, + pusMiniVersion: PUSHORT, + lpExtendedParameter: PVOID, + ) -> HANDLE; +} +extern "C" { + pub fn CreateFileTransactedW( + lpFileName: LPCWSTR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwCreationDisposition: DWORD, + dwFlagsAndAttributes: DWORD, + hTemplateFile: HANDLE, + hTransaction: HANDLE, + pusMiniVersion: PUSHORT, + lpExtendedParameter: PVOID, + ) -> HANDLE; +} +extern "C" { + pub fn ReOpenFile( + hOriginalFile: HANDLE, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + dwFlagsAndAttributes: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn SetFileAttributesTransactedA( + lpFileName: LPCSTR, + dwFileAttributes: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn SetFileAttributesTransactedW( + lpFileName: LPCWSTR, + dwFileAttributes: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn GetFileAttributesTransactedA( + lpFileName: LPCSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn GetFileAttributesTransactedW( + lpFileName: LPCWSTR, + fInfoLevelId: GET_FILEEX_INFO_LEVELS, + lpFileInformation: LPVOID, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn GetCompressedFileSizeTransactedA( + lpFileName: LPCSTR, + lpFileSizeHigh: LPDWORD, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn GetCompressedFileSizeTransactedW( + lpFileName: LPCWSTR, + lpFileSizeHigh: LPDWORD, + hTransaction: HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn DeleteFileTransactedA(lpFileName: LPCSTR, hTransaction: HANDLE) -> BOOL; +} +extern "C" { + pub fn DeleteFileTransactedW(lpFileName: LPCWSTR, hTransaction: HANDLE) -> BOOL; +} +extern "C" { + pub fn CheckNameLegalDOS8Dot3A( + lpName: LPCSTR, + lpOemName: LPSTR, + OemNameSize: DWORD, + pbNameContainsSpaces: PBOOL, + pbNameLegal: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn CheckNameLegalDOS8Dot3W( + lpName: LPCWSTR, + lpOemName: LPSTR, + OemNameSize: DWORD, + pbNameContainsSpaces: PBOOL, + pbNameLegal: PBOOL, + ) -> BOOL; +} +extern "C" { + pub fn FindFirstFileTransactedA( + lpFileName: LPCSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + hTransaction: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileTransactedW( + lpFileName: LPCWSTR, + fInfoLevelId: FINDEX_INFO_LEVELS, + lpFindFileData: LPVOID, + fSearchOp: FINDEX_SEARCH_OPS, + lpSearchFilter: LPVOID, + dwAdditionalFlags: DWORD, + hTransaction: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn CopyFileA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + bFailIfExists: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CopyFileW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + bFailIfExists: BOOL, + ) -> BOOL; +} +pub type LPPROGRESS_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + TotalFileSize: LARGE_INTEGER, + TotalBytesTransferred: LARGE_INTEGER, + StreamSize: LARGE_INTEGER, + StreamBytesTransferred: LARGE_INTEGER, + dwStreamNumber: DWORD, + dwCallbackReason: DWORD, + hSourceFile: HANDLE, + hDestinationFile: HANDLE, + lpData: LPVOID, + ) -> DWORD, +>; +extern "C" { + pub fn CopyFileExA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + pbCancel: LPBOOL, + dwCopyFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CopyFileExW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + pbCancel: LPBOOL, + dwCopyFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CopyFileTransactedA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + pbCancel: LPBOOL, + dwCopyFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn CopyFileTransactedW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + pbCancel: LPBOOL, + dwCopyFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_NONE: _COPYFILE2_MESSAGE_TYPE = 0; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_CHUNK_STARTED: _COPYFILE2_MESSAGE_TYPE = 1; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_CHUNK_FINISHED: _COPYFILE2_MESSAGE_TYPE = 2; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_STREAM_STARTED: _COPYFILE2_MESSAGE_TYPE = 3; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_STREAM_FINISHED: _COPYFILE2_MESSAGE_TYPE = 4; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_POLL_CONTINUE: _COPYFILE2_MESSAGE_TYPE = 5; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_ERROR: _COPYFILE2_MESSAGE_TYPE = 6; +pub const _COPYFILE2_MESSAGE_TYPE_COPYFILE2_CALLBACK_MAX: _COPYFILE2_MESSAGE_TYPE = 7; +pub type _COPYFILE2_MESSAGE_TYPE = ::std::os::raw::c_int; +pub use self::_COPYFILE2_MESSAGE_TYPE as COPYFILE2_MESSAGE_TYPE; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_CONTINUE: _COPYFILE2_MESSAGE_ACTION = 0; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_CANCEL: _COPYFILE2_MESSAGE_ACTION = 1; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_STOP: _COPYFILE2_MESSAGE_ACTION = 2; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_QUIET: _COPYFILE2_MESSAGE_ACTION = 3; +pub const _COPYFILE2_MESSAGE_ACTION_COPYFILE2_PROGRESS_PAUSE: _COPYFILE2_MESSAGE_ACTION = 4; +pub type _COPYFILE2_MESSAGE_ACTION = ::std::os::raw::c_int; +pub use self::_COPYFILE2_MESSAGE_ACTION as COPYFILE2_MESSAGE_ACTION; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_NONE: _COPYFILE2_COPY_PHASE = 0; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_PREPARE_SOURCE: _COPYFILE2_COPY_PHASE = 1; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_PREPARE_DEST: _COPYFILE2_COPY_PHASE = 2; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_READ_SOURCE: _COPYFILE2_COPY_PHASE = 3; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_WRITE_DESTINATION: _COPYFILE2_COPY_PHASE = 4; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_SERVER_COPY: _COPYFILE2_COPY_PHASE = 5; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_NAMEGRAFT_COPY: _COPYFILE2_COPY_PHASE = 6; +pub const _COPYFILE2_COPY_PHASE_COPYFILE2_PHASE_MAX: _COPYFILE2_COPY_PHASE = 7; +pub type _COPYFILE2_COPY_PHASE = ::std::os::raw::c_int; +pub use self::_COPYFILE2_COPY_PHASE as COPYFILE2_COPY_PHASE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE { + pub Type: COPYFILE2_MESSAGE_TYPE, + pub dwPadding: DWORD, + pub Info: COPYFILE2_MESSAGE__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union COPYFILE2_MESSAGE__bindgen_ty_1 { + pub ChunkStarted: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1, + pub ChunkFinished: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2, + pub StreamStarted: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3, + pub StreamFinished: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4, + pub PollContinue: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5, + pub Error: COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1 { + pub dwStreamNumber: DWORD, + pub dwReserved: DWORD, + pub hSourceFile: HANDLE, + pub hDestinationFile: HANDLE, + pub uliChunkNumber: ULARGE_INTEGER, + pub uliChunkSize: ULARGE_INTEGER, + pub uliStreamSize: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSourceFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hSourceFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDestinationFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hDestinationFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uliChunkNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uliChunkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uliTotalFileSize) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2 { + pub dwStreamNumber: DWORD, + pub dwFlags: DWORD, + pub hSourceFile: HANDLE, + pub hDestinationFile: HANDLE, + pub uliChunkNumber: ULARGE_INTEGER, + pub uliChunkSize: ULARGE_INTEGER, + pub uliStreamSize: ULARGE_INTEGER, + pub uliStreamBytesTransferred: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, + pub uliTotalBytesTransferred: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSourceFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(hSourceFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDestinationFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(hDestinationFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliChunkNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliChunkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamBytesTransferred) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliStreamBytesTransferred) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliTotalFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalBytesTransferred) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(uliTotalBytesTransferred) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3 { + pub dwStreamNumber: DWORD, + pub dwReserved: DWORD, + pub hSourceFile: HANDLE, + pub hDestinationFile: HANDLE, + pub uliStreamSize: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSourceFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(hSourceFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDestinationFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(hDestinationFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(uliTotalFileSize) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4 { + pub dwStreamNumber: DWORD, + pub dwReserved: DWORD, + pub hSourceFile: HANDLE, + pub hDestinationFile: HANDLE, + pub uliStreamSize: ULARGE_INTEGER, + pub uliStreamBytesTransferred: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, + pub uliTotalBytesTransferred: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSourceFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(hSourceFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDestinationFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(hDestinationFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamBytesTransferred) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(uliStreamBytesTransferred) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(uliTotalFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalBytesTransferred) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(uliTotalBytesTransferred) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5 { + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_5), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6 { + pub CopyPhase: COPYFILE2_COPY_PHASE, + pub dwStreamNumber: DWORD, + pub hrFailure: HRESULT, + pub dwReserved: DWORD, + pub uliChunkNumber: ULARGE_INTEGER, + pub uliStreamSize: ULARGE_INTEGER, + pub uliStreamBytesTransferred: ULARGE_INTEGER, + pub uliTotalFileSize: ULARGE_INTEGER, + pub uliTotalBytesTransferred: ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!( + "Size of: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyPhase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(CopyPhase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(dwStreamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hrFailure) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(hrFailure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliChunkNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliChunkNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliStreamBytesTransferred) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliStreamBytesTransferred) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalFileSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliTotalFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uliTotalBytesTransferred) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1__bindgen_ty_6), + "::", + stringify!(uliTotalBytesTransferred) + ) + ); +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(COPYFILE2_MESSAGE__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkStarted) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(ChunkStarted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkFinished) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(ChunkFinished) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamStarted) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(StreamStarted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamFinished) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(StreamFinished) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PollContinue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(PollContinue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Error) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE__bindgen_ty_1), + "::", + stringify!(Error) + ) + ); +} +#[test] +fn bindgen_test_layout_COPYFILE2_MESSAGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(COPYFILE2_MESSAGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(COPYFILE2_MESSAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPadding) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE), + "::", + stringify!(dwPadding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Info) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_MESSAGE), + "::", + stringify!(Info) + ) + ); +} +pub type PCOPYFILE2_PROGRESS_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + pMessage: *const COPYFILE2_MESSAGE, + pvCallbackContext: PVOID, + ) -> COPYFILE2_MESSAGE_ACTION, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct COPYFILE2_EXTENDED_PARAMETERS { + pub dwSize: DWORD, + pub dwCopyFlags: DWORD, + pub pfCancel: *mut BOOL, + pub pProgressRoutine: PCOPYFILE2_PROGRESS_ROUTINE, + pub pvCallbackContext: PVOID, +} +#[test] +fn bindgen_test_layout_COPYFILE2_EXTENDED_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(COPYFILE2_EXTENDED_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(COPYFILE2_EXTENDED_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCopyFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(dwCopyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfCancel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(pfCancel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProgressRoutine) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(pProgressRoutine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvCallbackContext) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(COPYFILE2_EXTENDED_PARAMETERS), + "::", + stringify!(pvCallbackContext) + ) + ); +} +extern "C" { + pub fn CopyFile2( + pwszExistingFileName: PCWSTR, + pwszNewFileName: PCWSTR, + pExtendedParameters: *mut COPYFILE2_EXTENDED_PARAMETERS, + ) -> HRESULT; +} +extern "C" { + pub fn MoveFileA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn MoveFileW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn MoveFileExA(lpExistingFileName: LPCSTR, lpNewFileName: LPCSTR, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn MoveFileExW(lpExistingFileName: LPCWSTR, lpNewFileName: LPCWSTR, dwFlags: DWORD) + -> BOOL; +} +extern "C" { + pub fn MoveFileWithProgressA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn MoveFileWithProgressW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn MoveFileTransactedA( + lpExistingFileName: LPCSTR, + lpNewFileName: LPCSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn MoveFileTransactedW( + lpExistingFileName: LPCWSTR, + lpNewFileName: LPCWSTR, + lpProgressRoutine: LPPROGRESS_ROUTINE, + lpData: LPVOID, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn ReplaceFileA( + lpReplacedFileName: LPCSTR, + lpReplacementFileName: LPCSTR, + lpBackupFileName: LPCSTR, + dwReplaceFlags: DWORD, + lpExclude: LPVOID, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn ReplaceFileW( + lpReplacedFileName: LPCWSTR, + lpReplacementFileName: LPCWSTR, + lpBackupFileName: LPCWSTR, + dwReplaceFlags: DWORD, + lpExclude: LPVOID, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn CreateHardLinkA( + lpFileName: LPCSTR, + lpExistingFileName: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateHardLinkW( + lpFileName: LPCWSTR, + lpExistingFileName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> BOOL; +} +extern "C" { + pub fn CreateHardLinkTransactedA( + lpFileName: LPCSTR, + lpExistingFileName: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn CreateHardLinkTransactedW( + lpFileName: LPCWSTR, + lpExistingFileName: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + hTransaction: HANDLE, + ) -> BOOL; +} +extern "C" { + pub fn FindFirstStreamTransactedW( + lpFileName: LPCWSTR, + InfoLevel: STREAM_INFO_LEVELS, + lpFindStreamData: LPVOID, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstFileNameTransactedW( + lpFileName: LPCWSTR, + dwFlags: DWORD, + StringLength: LPDWORD, + LinkName: PWSTR, + hTransaction: HANDLE, + ) -> HANDLE; +} +extern "C" { + pub fn CreateNamedPipeA( + lpName: LPCSTR, + dwOpenMode: DWORD, + dwPipeMode: DWORD, + nMaxInstances: DWORD, + nOutBufferSize: DWORD, + nInBufferSize: DWORD, + nDefaultTimeOut: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> HANDLE; +} +extern "C" { + pub fn GetNamedPipeHandleStateA( + hNamedPipe: HANDLE, + lpState: LPDWORD, + lpCurInstances: LPDWORD, + lpMaxCollectionCount: LPDWORD, + lpCollectDataTimeout: LPDWORD, + lpUserName: LPSTR, + nMaxUserNameSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CallNamedPipeA( + lpNamedPipeName: LPCSTR, + lpInBuffer: LPVOID, + nInBufferSize: DWORD, + lpOutBuffer: LPVOID, + nOutBufferSize: DWORD, + lpBytesRead: LPDWORD, + nTimeOut: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn WaitNamedPipeA(lpNamedPipeName: LPCSTR, nTimeOut: DWORD) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeClientComputerNameA( + Pipe: HANDLE, + ClientComputerName: LPSTR, + ClientComputerNameLength: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeClientProcessId(Pipe: HANDLE, ClientProcessId: PULONG) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeClientSessionId(Pipe: HANDLE, ClientSessionId: PULONG) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeServerProcessId(Pipe: HANDLE, ServerProcessId: PULONG) -> BOOL; +} +extern "C" { + pub fn GetNamedPipeServerSessionId(Pipe: HANDLE, ServerSessionId: PULONG) -> BOOL; +} +extern "C" { + pub fn SetVolumeLabelA(lpRootPathName: LPCSTR, lpVolumeName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetVolumeLabelW(lpRootPathName: LPCWSTR, lpVolumeName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetFileBandwidthReservation( + hFile: HANDLE, + nPeriodMilliseconds: DWORD, + nBytesPerPeriod: DWORD, + bDiscardable: BOOL, + lpTransferSize: LPDWORD, + lpNumOutstandingRequests: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetFileBandwidthReservation( + hFile: HANDLE, + lpPeriodMilliseconds: LPDWORD, + lpBytesPerPeriod: LPDWORD, + pDiscardable: LPBOOL, + lpTransferSize: LPDWORD, + lpNumOutstandingRequests: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ClearEventLogA(hEventLog: HANDLE, lpBackupFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn ClearEventLogW(hEventLog: HANDLE, lpBackupFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn BackupEventLogA(hEventLog: HANDLE, lpBackupFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn BackupEventLogW(hEventLog: HANDLE, lpBackupFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn CloseEventLog(hEventLog: HANDLE) -> BOOL; +} +extern "C" { + pub fn DeregisterEventSource(hEventLog: HANDLE) -> BOOL; +} +extern "C" { + pub fn NotifyChangeEventLog(hEventLog: HANDLE, hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetNumberOfEventLogRecords(hEventLog: HANDLE, NumberOfRecords: PDWORD) -> BOOL; +} +extern "C" { + pub fn GetOldestEventLogRecord(hEventLog: HANDLE, OldestRecord: PDWORD) -> BOOL; +} +extern "C" { + pub fn OpenEventLogA(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn OpenEventLogW(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn RegisterEventSourceA(lpUNCServerName: LPCSTR, lpSourceName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn RegisterEventSourceW(lpUNCServerName: LPCWSTR, lpSourceName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn OpenBackupEventLogA(lpUNCServerName: LPCSTR, lpFileName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn OpenBackupEventLogW(lpUNCServerName: LPCWSTR, lpFileName: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn ReadEventLogA( + hEventLog: HANDLE, + dwReadFlags: DWORD, + dwRecordOffset: DWORD, + lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, + pnBytesRead: *mut DWORD, + pnMinNumberOfBytesNeeded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadEventLogW( + hEventLog: HANDLE, + dwReadFlags: DWORD, + dwRecordOffset: DWORD, + lpBuffer: LPVOID, + nNumberOfBytesToRead: DWORD, + pnBytesRead: *mut DWORD, + pnMinNumberOfBytesNeeded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReportEventA( + hEventLog: HANDLE, + wType: WORD, + wCategory: WORD, + dwEventID: DWORD, + lpUserSid: PSID, + wNumStrings: WORD, + dwDataSize: DWORD, + lpStrings: *mut LPCSTR, + lpRawData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn ReportEventW( + hEventLog: HANDLE, + wType: WORD, + wCategory: WORD, + dwEventID: DWORD, + lpUserSid: PSID, + wNumStrings: WORD, + dwDataSize: DWORD, + lpStrings: *mut LPCWSTR, + lpRawData: LPVOID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EVENTLOG_FULL_INFORMATION { + pub dwFull: DWORD, +} +#[test] +fn bindgen_test_layout__EVENTLOG_FULL_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_EVENTLOG_FULL_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EVENTLOG_FULL_INFORMATION>(), + 4usize, + concat!("Size of: ", stringify!(_EVENTLOG_FULL_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_EVENTLOG_FULL_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_EVENTLOG_FULL_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFull) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EVENTLOG_FULL_INFORMATION), + "::", + stringify!(dwFull) + ) + ); +} +pub type EVENTLOG_FULL_INFORMATION = _EVENTLOG_FULL_INFORMATION; +pub type LPEVENTLOG_FULL_INFORMATION = *mut _EVENTLOG_FULL_INFORMATION; +extern "C" { + pub fn GetEventLogInformation( + hEventLog: HANDLE, + dwInfoLevel: DWORD, + lpBuffer: LPVOID, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +pub type OPERATION_ID = ULONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OPERATION_START_PARAMETERS { + pub Version: ULONG, + pub OperationId: OPERATION_ID, + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__OPERATION_START_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_OPERATION_START_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OPERATION_START_PARAMETERS>(), + 12usize, + concat!("Size of: ", stringify!(_OPERATION_START_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_OPERATION_START_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_OPERATION_START_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_START_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_START_PARAMETERS), + "::", + stringify!(OperationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_START_PARAMETERS), + "::", + stringify!(Flags) + ) + ); +} +pub type OPERATION_START_PARAMETERS = _OPERATION_START_PARAMETERS; +pub type POPERATION_START_PARAMETERS = *mut _OPERATION_START_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OPERATION_END_PARAMETERS { + pub Version: ULONG, + pub OperationId: OPERATION_ID, + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__OPERATION_END_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_OPERATION_END_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OPERATION_END_PARAMETERS>(), + 12usize, + concat!("Size of: ", stringify!(_OPERATION_END_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_OPERATION_END_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_OPERATION_END_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_END_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_END_PARAMETERS), + "::", + stringify!(OperationId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OPERATION_END_PARAMETERS), + "::", + stringify!(Flags) + ) + ); +} +pub type OPERATION_END_PARAMETERS = _OPERATION_END_PARAMETERS; +pub type POPERATION_END_PARAMETERS = *mut _OPERATION_END_PARAMETERS; +extern "C" { + pub fn OperationStart(OperationStartParams: *mut OPERATION_START_PARAMETERS) -> BOOL; +} +extern "C" { + pub fn OperationEnd(OperationEndParams: *mut OPERATION_END_PARAMETERS) -> BOOL; +} +extern "C" { + pub fn AccessCheckAndAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ObjectTypeName: LPSTR, + ObjectName: LPSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + DesiredAccess: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeAndAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ObjectTypeName: LPCSTR, + ObjectName: LPCSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatus: LPBOOL, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultListAndAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ObjectTypeName: LPCSTR, + ObjectName: LPCSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatusList: LPDWORD, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn AccessCheckByTypeResultListAndAuditAlarmByHandleA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ClientToken: HANDLE, + ObjectTypeName: LPCSTR, + ObjectName: LPCSTR, + SecurityDescriptor: PSECURITY_DESCRIPTOR, + PrincipalSelfSid: PSID, + DesiredAccess: DWORD, + AuditType: AUDIT_EVENT_TYPE, + Flags: DWORD, + ObjectTypeList: POBJECT_TYPE_LIST, + ObjectTypeListLength: DWORD, + GenericMapping: PGENERIC_MAPPING, + ObjectCreation: BOOL, + GrantedAccess: LPDWORD, + AccessStatusList: LPDWORD, + pfGenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectOpenAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ObjectTypeName: LPSTR, + ObjectName: LPSTR, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ClientToken: HANDLE, + DesiredAccess: DWORD, + GrantedAccess: DWORD, + Privileges: PPRIVILEGE_SET, + ObjectCreation: BOOL, + AccessGranted: BOOL, + GenerateOnClose: LPBOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectPrivilegeAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + ClientToken: HANDLE, + DesiredAccess: DWORD, + Privileges: PPRIVILEGE_SET, + AccessGranted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectCloseAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + GenerateOnClose: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn ObjectDeleteAuditAlarmA( + SubsystemName: LPCSTR, + HandleId: LPVOID, + GenerateOnClose: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn PrivilegedServiceAuditAlarmA( + SubsystemName: LPCSTR, + ServiceName: LPCSTR, + ClientToken: HANDLE, + Privileges: PPRIVILEGE_SET, + AccessGranted: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AddConditionalAce( + pAcl: PACL, + dwAceRevision: DWORD, + AceFlags: DWORD, + AceType: UCHAR, + AccessMask: DWORD, + pSid: PSID, + ConditionStr: PWCHAR, + ReturnLength: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFileSecurityA( + lpFileName: LPCSTR, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn GetFileSecurityA( + lpFileName: LPCSTR, + RequestedInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadDirectoryChangesW( + hDirectory: HANDLE, + lpBuffer: LPVOID, + nBufferLength: DWORD, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + lpBytesReturned: LPDWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, + ) -> BOOL; +} +extern "C" { + pub fn ReadDirectoryChangesExW( + hDirectory: HANDLE, + lpBuffer: LPVOID, + nBufferLength: DWORD, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + lpBytesReturned: LPDWORD, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPOVERLAPPED_COMPLETION_ROUTINE, + ReadDirectoryNotifyInformationClass: READ_DIRECTORY_NOTIFY_INFORMATION_CLASS, + ) -> BOOL; +} +extern "C" { + pub fn MapViewOfFileExNuma( + hFileMappingObject: HANDLE, + dwDesiredAccess: DWORD, + dwFileOffsetHigh: DWORD, + dwFileOffsetLow: DWORD, + dwNumberOfBytesToMap: SIZE_T, + lpBaseAddress: LPVOID, + nndPreferred: DWORD, + ) -> LPVOID; +} +extern "C" { + pub fn IsBadReadPtr(lp: *const ::std::os::raw::c_void, ucb: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadWritePtr(lp: LPVOID, ucb: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadHugeReadPtr(lp: *const ::std::os::raw::c_void, ucb: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadHugeWritePtr(lp: LPVOID, ucb: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadCodePtr(lpfn: FARPROC) -> BOOL; +} +extern "C" { + pub fn IsBadStringPtrA(lpsz: LPCSTR, ucchMax: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsBadStringPtrW(lpsz: LPCWSTR, ucchMax: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn LookupAccountSidA( + lpSystemName: LPCSTR, + Sid: PSID, + Name: LPSTR, + cchName: LPDWORD, + ReferencedDomainName: LPSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountSidW( + lpSystemName: LPCWSTR, + Sid: PSID, + Name: LPWSTR, + cchName: LPDWORD, + ReferencedDomainName: LPWSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountNameA( + lpSystemName: LPCSTR, + lpAccountName: LPCSTR, + Sid: PSID, + cbSid: LPDWORD, + ReferencedDomainName: LPSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountNameW( + lpSystemName: LPCWSTR, + lpAccountName: LPCWSTR, + Sid: PSID, + cbSid: LPDWORD, + ReferencedDomainName: LPWSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountNameLocalA( + lpAccountName: LPCSTR, + Sid: PSID, + cbSid: LPDWORD, + ReferencedDomainName: LPSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountNameLocalW( + lpAccountName: LPCWSTR, + Sid: PSID, + cbSid: LPDWORD, + ReferencedDomainName: LPWSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountSidLocalA( + Sid: PSID, + Name: LPSTR, + cchName: LPDWORD, + ReferencedDomainName: LPSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupAccountSidLocalW( + Sid: PSID, + Name: LPWSTR, + cchName: LPDWORD, + ReferencedDomainName: LPWSTR, + cchReferencedDomainName: LPDWORD, + peUse: PSID_NAME_USE, + ) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeValueA(lpSystemName: LPCSTR, lpName: LPCSTR, lpLuid: PLUID) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeValueW(lpSystemName: LPCWSTR, lpName: LPCWSTR, lpLuid: PLUID) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeNameA( + lpSystemName: LPCSTR, + lpLuid: PLUID, + lpName: LPSTR, + cchName: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeNameW( + lpSystemName: LPCWSTR, + lpLuid: PLUID, + lpName: LPWSTR, + cchName: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeDisplayNameA( + lpSystemName: LPCSTR, + lpName: LPCSTR, + lpDisplayName: LPSTR, + cchDisplayName: LPDWORD, + lpLanguageId: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LookupPrivilegeDisplayNameW( + lpSystemName: LPCWSTR, + lpName: LPCWSTR, + lpDisplayName: LPWSTR, + cchDisplayName: LPDWORD, + lpLanguageId: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn BuildCommDCBA(lpDef: LPCSTR, lpDCB: LPDCB) -> BOOL; +} +extern "C" { + pub fn BuildCommDCBW(lpDef: LPCWSTR, lpDCB: LPDCB) -> BOOL; +} +extern "C" { + pub fn BuildCommDCBAndTimeoutsA( + lpDef: LPCSTR, + lpDCB: LPDCB, + lpCommTimeouts: LPCOMMTIMEOUTS, + ) -> BOOL; +} +extern "C" { + pub fn BuildCommDCBAndTimeoutsW( + lpDef: LPCWSTR, + lpDCB: LPDCB, + lpCommTimeouts: LPCOMMTIMEOUTS, + ) -> BOOL; +} +extern "C" { + pub fn CommConfigDialogA(lpszName: LPCSTR, hWnd: HWND, lpCC: LPCOMMCONFIG) -> BOOL; +} +extern "C" { + pub fn CommConfigDialogW(lpszName: LPCWSTR, hWnd: HWND, lpCC: LPCOMMCONFIG) -> BOOL; +} +extern "C" { + pub fn GetDefaultCommConfigA(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, lpdwSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetDefaultCommConfigW(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, lpdwSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetDefaultCommConfigA(lpszName: LPCSTR, lpCC: LPCOMMCONFIG, dwSize: DWORD) -> BOOL; +} +extern "C" { + pub fn SetDefaultCommConfigW(lpszName: LPCWSTR, lpCC: LPCOMMCONFIG, dwSize: DWORD) -> BOOL; +} +extern "C" { + pub fn GetComputerNameA(lpBuffer: LPSTR, nSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetComputerNameW(lpBuffer: LPWSTR, nSize: LPDWORD) -> BOOL; +} +extern "C" { + pub fn DnsHostnameToComputerNameA( + Hostname: LPCSTR, + ComputerName: LPSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn DnsHostnameToComputerNameW( + Hostname: LPCWSTR, + ComputerName: LPWSTR, + nSize: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetUserNameA(lpBuffer: LPSTR, pcbBuffer: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetUserNameW(lpBuffer: LPWSTR, pcbBuffer: LPDWORD) -> BOOL; +} +extern "C" { + pub fn LogonUserA( + lpszUsername: LPCSTR, + lpszDomain: LPCSTR, + lpszPassword: LPCSTR, + dwLogonType: DWORD, + dwLogonProvider: DWORD, + phToken: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn LogonUserW( + lpszUsername: LPCWSTR, + lpszDomain: LPCWSTR, + lpszPassword: LPCWSTR, + dwLogonType: DWORD, + dwLogonProvider: DWORD, + phToken: PHANDLE, + ) -> BOOL; +} +extern "C" { + pub fn LogonUserExA( + lpszUsername: LPCSTR, + lpszDomain: LPCSTR, + lpszPassword: LPCSTR, + dwLogonType: DWORD, + dwLogonProvider: DWORD, + phToken: PHANDLE, + ppLogonSid: *mut PSID, + ppProfileBuffer: *mut PVOID, + pdwProfileLength: LPDWORD, + pQuotaLimits: PQUOTA_LIMITS, + ) -> BOOL; +} +extern "C" { + pub fn LogonUserExW( + lpszUsername: LPCWSTR, + lpszDomain: LPCWSTR, + lpszPassword: LPCWSTR, + dwLogonType: DWORD, + dwLogonProvider: DWORD, + phToken: PHANDLE, + ppLogonSid: *mut PSID, + ppProfileBuffer: *mut PVOID, + pdwProfileLength: LPDWORD, + pQuotaLimits: PQUOTA_LIMITS, + ) -> BOOL; +} +extern "C" { + pub fn CreateProcessWithLogonW( + lpUsername: LPCWSTR, + lpDomain: LPCWSTR, + lpPassword: LPCWSTR, + dwLogonFlags: DWORD, + lpApplicationName: LPCWSTR, + lpCommandLine: LPWSTR, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFOW, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn CreateProcessWithTokenW( + hToken: HANDLE, + dwLogonFlags: DWORD, + lpApplicationName: LPCWSTR, + lpCommandLine: LPWSTR, + dwCreationFlags: DWORD, + lpEnvironment: LPVOID, + lpCurrentDirectory: LPCWSTR, + lpStartupInfo: LPSTARTUPINFOW, + lpProcessInformation: LPPROCESS_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn IsTokenUntrusted(TokenHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn RegisterWaitForSingleObject( + phNewWaitObject: PHANDLE, + hObject: HANDLE, + Callback: WAITORTIMERCALLBACK, + Context: PVOID, + dwMilliseconds: ULONG, + dwFlags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn UnregisterWait(WaitHandle: HANDLE) -> BOOL; +} +extern "C" { + pub fn BindIoCompletionCallback( + FileHandle: HANDLE, + Function: LPOVERLAPPED_COMPLETION_ROUTINE, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetTimerQueueTimer( + TimerQueue: HANDLE, + Callback: WAITORTIMERCALLBACK, + Parameter: PVOID, + DueTime: DWORD, + Period: DWORD, + PreferIo: BOOL, + ) -> HANDLE; +} +extern "C" { + pub fn CancelTimerQueueTimer(TimerQueue: HANDLE, Timer: HANDLE) -> BOOL; +} +extern "C" { + pub fn DeleteTimerQueue(TimerQueue: HANDLE) -> BOOL; +} +extern "C" { + pub fn CreatePrivateNamespaceA( + lpPrivateNamespaceAttributes: LPSECURITY_ATTRIBUTES, + lpBoundaryDescriptor: LPVOID, + lpAliasPrefix: LPCSTR, + ) -> HANDLE; +} +extern "C" { + pub fn OpenPrivateNamespaceA(lpBoundaryDescriptor: LPVOID, lpAliasPrefix: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn CreateBoundaryDescriptorA(Name: LPCSTR, Flags: ULONG) -> HANDLE; +} +extern "C" { + pub fn AddIntegrityLabelToBoundaryDescriptor( + BoundaryDescriptor: *mut HANDLE, + IntegrityLabel: PSID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHW_PROFILE_INFOA { + pub dwDockInfo: DWORD, + pub szHwProfileGuid: [CHAR; 39usize], + pub szHwProfileName: [CHAR; 80usize], +} +#[test] +fn bindgen_test_layout_tagHW_PROFILE_INFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 124usize, + concat!("Size of: ", stringify!(tagHW_PROFILE_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHW_PROFILE_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDockInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOA), + "::", + stringify!(dwDockInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHwProfileGuid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOA), + "::", + stringify!(szHwProfileGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHwProfileName) as usize - ptr as usize }, + 43usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOA), + "::", + stringify!(szHwProfileName) + ) + ); +} +pub type HW_PROFILE_INFOA = tagHW_PROFILE_INFOA; +pub type LPHW_PROFILE_INFOA = *mut tagHW_PROFILE_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHW_PROFILE_INFOW { + pub dwDockInfo: DWORD, + pub szHwProfileGuid: [WCHAR; 39usize], + pub szHwProfileName: [WCHAR; 80usize], +} +#[test] +fn bindgen_test_layout_tagHW_PROFILE_INFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 244usize, + concat!("Size of: ", stringify!(tagHW_PROFILE_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHW_PROFILE_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDockInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOW), + "::", + stringify!(dwDockInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHwProfileGuid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOW), + "::", + stringify!(szHwProfileGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHwProfileName) as usize - ptr as usize }, + 82usize, + concat!( + "Offset of field: ", + stringify!(tagHW_PROFILE_INFOW), + "::", + stringify!(szHwProfileName) + ) + ); +} +pub type HW_PROFILE_INFOW = tagHW_PROFILE_INFOW; +pub type LPHW_PROFILE_INFOW = *mut tagHW_PROFILE_INFOW; +pub type HW_PROFILE_INFO = HW_PROFILE_INFOA; +pub type LPHW_PROFILE_INFO = LPHW_PROFILE_INFOA; +extern "C" { + pub fn GetCurrentHwProfileA(lpHwProfileInfo: LPHW_PROFILE_INFOA) -> BOOL; +} +extern "C" { + pub fn GetCurrentHwProfileW(lpHwProfileInfo: LPHW_PROFILE_INFOW) -> BOOL; +} +extern "C" { + pub fn VerifyVersionInfoA( + lpVersionInformation: LPOSVERSIONINFOEXA, + dwTypeMask: DWORD, + dwlConditionMask: DWORDLONG, + ) -> BOOL; +} +extern "C" { + pub fn VerifyVersionInfoW( + lpVersionInformation: LPOSVERSIONINFOEXW, + dwTypeMask: DWORD, + dwlConditionMask: DWORDLONG, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TIME_ZONE_INFORMATION { + pub Bias: LONG, + pub StandardName: [WCHAR; 32usize], + pub StandardDate: SYSTEMTIME, + pub StandardBias: LONG, + pub DaylightName: [WCHAR; 32usize], + pub DaylightDate: SYSTEMTIME, + pub DaylightBias: LONG, +} +#[test] +fn bindgen_test_layout__TIME_ZONE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TIME_ZONE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TIME_ZONE_INFORMATION>(), + 172usize, + concat!("Size of: ", stringify!(_TIME_ZONE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TIME_ZONE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TIME_ZONE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bias) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(Bias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(StandardName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardDate) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(StandardDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardBias) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(StandardBias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(DaylightName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightDate) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(DaylightDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightBias) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_TIME_ZONE_INFORMATION), + "::", + stringify!(DaylightBias) + ) + ); +} +pub type TIME_ZONE_INFORMATION = _TIME_ZONE_INFORMATION; +pub type PTIME_ZONE_INFORMATION = *mut _TIME_ZONE_INFORMATION; +pub type LPTIME_ZONE_INFORMATION = *mut _TIME_ZONE_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TIME_DYNAMIC_ZONE_INFORMATION { + pub Bias: LONG, + pub StandardName: [WCHAR; 32usize], + pub StandardDate: SYSTEMTIME, + pub StandardBias: LONG, + pub DaylightName: [WCHAR; 32usize], + pub DaylightDate: SYSTEMTIME, + pub DaylightBias: LONG, + pub TimeZoneKeyName: [WCHAR; 128usize], + pub DynamicDaylightTimeDisabled: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TIME_DYNAMIC_ZONE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TIME_DYNAMIC_ZONE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TIME_DYNAMIC_ZONE_INFORMATION>(), + 432usize, + concat!("Size of: ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TIME_DYNAMIC_ZONE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_TIME_DYNAMIC_ZONE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bias) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(Bias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(StandardName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardDate) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(StandardDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StandardBias) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(StandardBias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(DaylightName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightDate) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(DaylightDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DaylightBias) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(DaylightBias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeZoneKeyName) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(TimeZoneKeyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DynamicDaylightTimeDisabled) as usize - ptr as usize }, + 428usize, + concat!( + "Offset of field: ", + stringify!(_TIME_DYNAMIC_ZONE_INFORMATION), + "::", + stringify!(DynamicDaylightTimeDisabled) + ) + ); +} +pub type DYNAMIC_TIME_ZONE_INFORMATION = _TIME_DYNAMIC_ZONE_INFORMATION; +pub type PDYNAMIC_TIME_ZONE_INFORMATION = *mut _TIME_DYNAMIC_ZONE_INFORMATION; +extern "C" { + pub fn SystemTimeToTzSpecificLocalTime( + lpTimeZoneInformation: *const TIME_ZONE_INFORMATION, + lpUniversalTime: *const SYSTEMTIME, + lpLocalTime: LPSYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn TzSpecificLocalTimeToSystemTime( + lpTimeZoneInformation: *const TIME_ZONE_INFORMATION, + lpLocalTime: *const SYSTEMTIME, + lpUniversalTime: LPSYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn FileTimeToSystemTime(lpFileTime: *const FILETIME, lpSystemTime: LPSYSTEMTIME) -> BOOL; +} +extern "C" { + pub fn SystemTimeToFileTime(lpSystemTime: *const SYSTEMTIME, lpFileTime: LPFILETIME) -> BOOL; +} +extern "C" { + pub fn GetTimeZoneInformation(lpTimeZoneInformation: LPTIME_ZONE_INFORMATION) -> DWORD; +} +extern "C" { + pub fn SetTimeZoneInformation(lpTimeZoneInformation: *const TIME_ZONE_INFORMATION) -> BOOL; +} +extern "C" { + pub fn SetDynamicTimeZoneInformation( + lpTimeZoneInformation: *const DYNAMIC_TIME_ZONE_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn GetDynamicTimeZoneInformation( + pTimeZoneInformation: PDYNAMIC_TIME_ZONE_INFORMATION, + ) -> DWORD; +} +extern "C" { + pub fn GetTimeZoneInformationForYear( + wYear: USHORT, + pdtzi: PDYNAMIC_TIME_ZONE_INFORMATION, + ptzi: LPTIME_ZONE_INFORMATION, + ) -> BOOL; +} +extern "C" { + pub fn EnumDynamicTimeZoneInformation( + dwIndex: DWORD, + lpTimeZoneInformation: PDYNAMIC_TIME_ZONE_INFORMATION, + ) -> DWORD; +} +extern "C" { + pub fn GetDynamicTimeZoneInformationEffectiveYears( + lpTimeZoneInformation: PDYNAMIC_TIME_ZONE_INFORMATION, + FirstYear: LPDWORD, + LastYear: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn SystemTimeToTzSpecificLocalTimeEx( + lpTimeZoneInformation: *const DYNAMIC_TIME_ZONE_INFORMATION, + lpUniversalTime: *const SYSTEMTIME, + lpLocalTime: LPSYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn TzSpecificLocalTimeToSystemTimeEx( + lpTimeZoneInformation: *const DYNAMIC_TIME_ZONE_INFORMATION, + lpLocalTime: *const SYSTEMTIME, + lpUniversalTime: LPSYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn LocalFileTimeToLocalSystemTime( + timeZoneInformation: *const TIME_ZONE_INFORMATION, + localFileTime: *const FILETIME, + localSystemTime: *mut SYSTEMTIME, + ) -> BOOL; +} +extern "C" { + pub fn LocalSystemTimeToLocalFileTime( + timeZoneInformation: *const TIME_ZONE_INFORMATION, + localSystemTime: *const SYSTEMTIME, + localFileTime: *mut FILETIME, + ) -> BOOL; +} +extern "C" { + pub fn SetSystemPowerState(fSuspend: BOOL, fForce: BOOL) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SYSTEM_POWER_STATUS { + pub ACLineStatus: BYTE, + pub BatteryFlag: BYTE, + pub BatteryLifePercent: BYTE, + pub SystemStatusFlag: BYTE, + pub BatteryLifeTime: DWORD, + pub BatteryFullLifeTime: DWORD, +} +#[test] +fn bindgen_test_layout__SYSTEM_POWER_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SYSTEM_POWER_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SYSTEM_POWER_STATUS>(), + 12usize, + concat!("Size of: ", stringify!(_SYSTEM_POWER_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_SYSTEM_POWER_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_SYSTEM_POWER_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ACLineStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(ACLineStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryFlag) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(BatteryFlag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryLifePercent) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(BatteryLifePercent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemStatusFlag) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(SystemStatusFlag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryLifeTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(BatteryLifeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BatteryFullLifeTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SYSTEM_POWER_STATUS), + "::", + stringify!(BatteryFullLifeTime) + ) + ); +} +pub type SYSTEM_POWER_STATUS = _SYSTEM_POWER_STATUS; +pub type LPSYSTEM_POWER_STATUS = *mut _SYSTEM_POWER_STATUS; +extern "C" { + pub fn GetSystemPowerStatus(lpSystemPowerStatus: LPSYSTEM_POWER_STATUS) -> BOOL; +} +extern "C" { + pub fn MapUserPhysicalPagesScatter( + VirtualAddresses: *mut PVOID, + NumberOfPages: ULONG_PTR, + PageArray: PULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn CreateJobObjectA(lpJobAttributes: LPSECURITY_ATTRIBUTES, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn OpenJobObjectA(dwDesiredAccess: DWORD, bInheritHandle: BOOL, lpName: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn CreateJobSet(NumJob: ULONG, UserJobSet: PJOB_SET_ARRAY, Flags: ULONG) -> BOOL; +} +extern "C" { + pub fn FindFirstVolumeA(lpszVolumeName: LPSTR, cchBufferLength: DWORD) -> HANDLE; +} +extern "C" { + pub fn FindNextVolumeA( + hFindVolume: HANDLE, + lpszVolumeName: LPSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FindFirstVolumeMountPointA( + lpszRootPathName: LPCSTR, + lpszVolumeMountPoint: LPSTR, + cchBufferLength: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindFirstVolumeMountPointW( + lpszRootPathName: LPCWSTR, + lpszVolumeMountPoint: LPWSTR, + cchBufferLength: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn FindNextVolumeMountPointA( + hFindVolumeMountPoint: HANDLE, + lpszVolumeMountPoint: LPSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FindNextVolumeMountPointW( + hFindVolumeMountPoint: HANDLE, + lpszVolumeMountPoint: LPWSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn FindVolumeMountPointClose(hFindVolumeMountPoint: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetVolumeMountPointA(lpszVolumeMountPoint: LPCSTR, lpszVolumeName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetVolumeMountPointW(lpszVolumeMountPoint: LPCWSTR, lpszVolumeName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn DeleteVolumeMountPointA(lpszVolumeMountPoint: LPCSTR) -> BOOL; +} +extern "C" { + pub fn GetVolumeNameForVolumeMountPointA( + lpszVolumeMountPoint: LPCSTR, + lpszVolumeName: LPSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumePathNameA( + lpszFileName: LPCSTR, + lpszVolumePathName: LPSTR, + cchBufferLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetVolumePathNamesForVolumeNameA( + lpszVolumeName: LPCSTR, + lpszVolumePathNames: LPCH, + cchBufferLength: DWORD, + lpcchReturnLength: PDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTXA { + pub cbSize: ULONG, + pub dwFlags: DWORD, + pub lpSource: LPCSTR, + pub wProcessorArchitecture: USHORT, + pub wLangId: LANGID, + pub lpAssemblyDirectory: LPCSTR, + pub lpResourceName: LPCSTR, + pub lpApplicationName: LPCSTR, + pub hModule: HMODULE, +} +#[test] +fn bindgen_test_layout_tagACTCTXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagACTCTXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagACTCTXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(lpSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorArchitecture) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(wProcessorArchitecture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLangId) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(wLangId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyDirectory) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(lpAssemblyDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpResourceName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(lpResourceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpApplicationName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(lpApplicationName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hModule) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXA), + "::", + stringify!(hModule) + ) + ); +} +pub type ACTCTXA = tagACTCTXA; +pub type PACTCTXA = *mut tagACTCTXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTXW { + pub cbSize: ULONG, + pub dwFlags: DWORD, + pub lpSource: LPCWSTR, + pub wProcessorArchitecture: USHORT, + pub wLangId: LANGID, + pub lpAssemblyDirectory: LPCWSTR, + pub lpResourceName: LPCWSTR, + pub lpApplicationName: LPCWSTR, + pub hModule: HMODULE, +} +#[test] +fn bindgen_test_layout_tagACTCTXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagACTCTXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagACTCTXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(lpSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wProcessorArchitecture) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(wProcessorArchitecture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLangId) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(wLangId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpAssemblyDirectory) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(lpAssemblyDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpResourceName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(lpResourceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpApplicationName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(lpApplicationName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hModule) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTXW), + "::", + stringify!(hModule) + ) + ); +} +pub type ACTCTXW = tagACTCTXW; +pub type PACTCTXW = *mut tagACTCTXW; +pub type ACTCTX = ACTCTXA; +pub type PACTCTX = PACTCTXA; +pub type PCACTCTXA = *const ACTCTXA; +pub type PCACTCTXW = *const ACTCTXW; +pub type PCACTCTX = PCACTCTXA; +extern "C" { + pub fn CreateActCtxA(pActCtx: PCACTCTXA) -> HANDLE; +} +extern "C" { + pub fn CreateActCtxW(pActCtx: PCACTCTXW) -> HANDLE; +} +extern "C" { + pub fn AddRefActCtx(hActCtx: HANDLE); +} +extern "C" { + pub fn ReleaseActCtx(hActCtx: HANDLE); +} +extern "C" { + pub fn ZombifyActCtx(hActCtx: HANDLE) -> BOOL; +} +extern "C" { + pub fn ActivateActCtx(hActCtx: HANDLE, lpCookie: *mut ULONG_PTR) -> BOOL; +} +extern "C" { + pub fn DeactivateActCtx(dwFlags: DWORD, ulCookie: ULONG_PTR) -> BOOL; +} +extern "C" { + pub fn GetCurrentActCtx(lphActCtx: *mut HANDLE) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTX_SECTION_KEYED_DATA_2600 { + pub cbSize: ULONG, + pub ulDataFormatVersion: ULONG, + pub lpData: PVOID, + pub ulLength: ULONG, + pub lpSectionGlobalData: PVOID, + pub ulSectionGlobalDataLength: ULONG, + pub lpSectionBase: PVOID, + pub ulSectionTotalLength: ULONG, + pub hActCtx: HANDLE, + pub ulAssemblyRosterIndex: ULONG, +} +#[test] +fn bindgen_test_layout_tagACTCTX_SECTION_KEYED_DATA_2600() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagACTCTX_SECTION_KEYED_DATA_2600)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulDataFormatVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulDataFormatVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionGlobalData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(lpSectionGlobalData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionGlobalDataLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulSectionGlobalDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionBase) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(lpSectionBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionTotalLength) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulSectionTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(hActCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAssemblyRosterIndex) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_2600), + "::", + stringify!(ulAssemblyRosterIndex) + ) + ); +} +pub type ACTCTX_SECTION_KEYED_DATA_2600 = tagACTCTX_SECTION_KEYED_DATA_2600; +pub type PACTCTX_SECTION_KEYED_DATA_2600 = *mut tagACTCTX_SECTION_KEYED_DATA_2600; +pub type PCACTCTX_SECTION_KEYED_DATA_2600 = *const ACTCTX_SECTION_KEYED_DATA_2600; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA { + pub lpInformation: PVOID, + pub lpSectionBase: PVOID, + pub ulSectionLength: ULONG, + pub lpSectionGlobalDataBase: PVOID, + pub ulSectionGlobalDataLength: ULONG, +} +#[test] +fn bindgen_test_layout_tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!( + "Size of: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(lpInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionBase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(lpSectionBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(ulSectionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionGlobalDataBase) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(lpSectionGlobalDataBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionGlobalDataLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA), + "::", + stringify!(ulSectionGlobalDataLength) + ) + ); +} +pub type ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = + tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; +pub type PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = + *mut tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; +pub type PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = + *const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACTCTX_SECTION_KEYED_DATA { + pub cbSize: ULONG, + pub ulDataFormatVersion: ULONG, + pub lpData: PVOID, + pub ulLength: ULONG, + pub lpSectionGlobalData: PVOID, + pub ulSectionGlobalDataLength: ULONG, + pub lpSectionBase: PVOID, + pub ulSectionTotalLength: ULONG, + pub hActCtx: HANDLE, + pub ulAssemblyRosterIndex: ULONG, + pub ulFlags: ULONG, + pub AssemblyMetadata: ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, +} +#[test] +fn bindgen_test_layout_tagACTCTX_SECTION_KEYED_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(tagACTCTX_SECTION_KEYED_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagACTCTX_SECTION_KEYED_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulDataFormatVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulDataFormatVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionGlobalData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(lpSectionGlobalData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionGlobalDataLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulSectionGlobalDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSectionBase) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(lpSectionBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectionTotalLength) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulSectionTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(hActCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulAssemblyRosterIndex) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulAssemblyRosterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulFlags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(ulFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AssemblyMetadata) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagACTCTX_SECTION_KEYED_DATA), + "::", + stringify!(AssemblyMetadata) + ) + ); +} +pub type ACTCTX_SECTION_KEYED_DATA = tagACTCTX_SECTION_KEYED_DATA; +pub type PACTCTX_SECTION_KEYED_DATA = *mut tagACTCTX_SECTION_KEYED_DATA; +pub type PCACTCTX_SECTION_KEYED_DATA = *const ACTCTX_SECTION_KEYED_DATA; +extern "C" { + pub fn FindActCtxSectionStringA( + dwFlags: DWORD, + lpExtensionGuid: *const GUID, + ulSectionId: ULONG, + lpStringToFind: LPCSTR, + ReturnedData: PACTCTX_SECTION_KEYED_DATA, + ) -> BOOL; +} +extern "C" { + pub fn FindActCtxSectionStringW( + dwFlags: DWORD, + lpExtensionGuid: *const GUID, + ulSectionId: ULONG, + lpStringToFind: LPCWSTR, + ReturnedData: PACTCTX_SECTION_KEYED_DATA, + ) -> BOOL; +} +extern "C" { + pub fn FindActCtxSectionGuid( + dwFlags: DWORD, + lpExtensionGuid: *const GUID, + ulSectionId: ULONG, + lpGuidToFind: *const GUID, + ReturnedData: PACTCTX_SECTION_KEYED_DATA, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT_BASIC_INFORMATION { + pub hActCtx: HANDLE, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__ACTIVATION_CONTEXT_BASIC_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_ACTIVATION_CONTEXT_BASIC_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTIVATION_CONTEXT_BASIC_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_ACTIVATION_CONTEXT_BASIC_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_ACTIVATION_CONTEXT_BASIC_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ACTIVATION_CONTEXT_BASIC_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_BASIC_INFORMATION), + "::", + stringify!(hActCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ACTIVATION_CONTEXT_BASIC_INFORMATION), + "::", + stringify!(dwFlags) + ) + ); +} +pub type ACTIVATION_CONTEXT_BASIC_INFORMATION = _ACTIVATION_CONTEXT_BASIC_INFORMATION; +pub type PACTIVATION_CONTEXT_BASIC_INFORMATION = *mut _ACTIVATION_CONTEXT_BASIC_INFORMATION; +pub type PCACTIVATION_CONTEXT_BASIC_INFORMATION = *const _ACTIVATION_CONTEXT_BASIC_INFORMATION; +extern "C" { + pub fn QueryActCtxW( + dwFlags: DWORD, + hActCtx: HANDLE, + pvSubInstance: PVOID, + ulInfoClass: ULONG, + pvBuffer: PVOID, + cbBuffer: SIZE_T, + pcbWrittenOrRequired: *mut SIZE_T, + ) -> BOOL; +} +pub type PQUERYACTCTXW_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwFlags: DWORD, + hActCtx: HANDLE, + pvSubInstance: PVOID, + ulInfoClass: ULONG, + pvBuffer: PVOID, + cbBuffer: SIZE_T, + pcbWrittenOrRequired: *mut SIZE_T, + ) -> BOOL, +>; +extern "C" { + pub fn WTSGetActiveConsoleSessionId() -> DWORD; +} +extern "C" { + pub fn WTSGetServiceSessionId() -> DWORD; +} +extern "C" { + pub fn WTSIsServerContainer() -> BOOLEAN; +} +extern "C" { + pub fn GetActiveProcessorGroupCount() -> WORD; +} +extern "C" { + pub fn GetMaximumProcessorGroupCount() -> WORD; +} +extern "C" { + pub fn GetActiveProcessorCount(GroupNumber: WORD) -> DWORD; +} +extern "C" { + pub fn GetMaximumProcessorCount(GroupNumber: WORD) -> DWORD; +} +extern "C" { + pub fn GetNumaProcessorNode(Processor: UCHAR, NodeNumber: PUCHAR) -> BOOL; +} +extern "C" { + pub fn GetNumaNodeNumberFromHandle(hFile: HANDLE, NodeNumber: PUSHORT) -> BOOL; +} +extern "C" { + pub fn GetNumaProcessorNodeEx(Processor: PPROCESSOR_NUMBER, NodeNumber: PUSHORT) -> BOOL; +} +extern "C" { + pub fn GetNumaNodeProcessorMask(Node: UCHAR, ProcessorMask: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn GetNumaAvailableMemoryNode(Node: UCHAR, AvailableBytes: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn GetNumaAvailableMemoryNodeEx(Node: USHORT, AvailableBytes: PULONGLONG) -> BOOL; +} +extern "C" { + pub fn GetNumaProximityNode(ProximityId: ULONG, NodeNumber: PUCHAR) -> BOOL; +} +pub type APPLICATION_RECOVERY_CALLBACK = + ::std::option::Option DWORD>; +extern "C" { + pub fn RegisterApplicationRecoveryCallback( + pRecoveyCallback: APPLICATION_RECOVERY_CALLBACK, + pvParameter: PVOID, + dwPingInterval: DWORD, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn UnregisterApplicationRecoveryCallback() -> HRESULT; +} +extern "C" { + pub fn RegisterApplicationRestart(pwzCommandline: PCWSTR, dwFlags: DWORD) -> HRESULT; +} +extern "C" { + pub fn UnregisterApplicationRestart() -> HRESULT; +} +extern "C" { + pub fn GetApplicationRecoveryCallback( + hProcess: HANDLE, + pRecoveryCallback: *mut APPLICATION_RECOVERY_CALLBACK, + ppvParameter: *mut PVOID, + pdwPingInterval: PDWORD, + pdwFlags: PDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn GetApplicationRestartSettings( + hProcess: HANDLE, + pwzCommandline: PWSTR, + pcchSize: PDWORD, + pdwFlags: PDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn ApplicationRecoveryInProgress(pbCancelled: PBOOL) -> HRESULT; +} +extern "C" { + pub fn ApplicationRecoveryFinished(bSuccess: BOOL); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_BASIC_INFO { + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub FileAttributes: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_BASIC_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_BASIC_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_BASIC_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_FILE_BASIC_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_BASIC_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_BASIC_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_BASIC_INFO), + "::", + stringify!(FileAttributes) + ) + ); +} +pub type FILE_BASIC_INFO = _FILE_BASIC_INFO; +pub type PFILE_BASIC_INFO = *mut _FILE_BASIC_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_STANDARD_INFO { + pub AllocationSize: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub NumberOfLinks: DWORD, + pub DeletePending: BOOLEAN, + pub Directory: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_STANDARD_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STANDARD_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STANDARD_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_STANDARD_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STANDARD_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_STANDARD_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLinks) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(NumberOfLinks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeletePending) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(DeletePending) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Directory) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STANDARD_INFO), + "::", + stringify!(Directory) + ) + ); +} +pub type FILE_STANDARD_INFO = _FILE_STANDARD_INFO; +pub type PFILE_STANDARD_INFO = *mut _FILE_STANDARD_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_NAME_INFO { + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_NAME_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_NAME_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_NAME_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_NAME_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_NAME_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_NAME_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NAME_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_NAME_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_NAME_INFO = _FILE_NAME_INFO; +pub type PFILE_NAME_INFO = *mut _FILE_NAME_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_CASE_SENSITIVE_INFO { + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_CASE_SENSITIVE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_CASE_SENSITIVE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_CASE_SENSITIVE_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_CASE_SENSITIVE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_CASE_SENSITIVE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_CASE_SENSITIVE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_CASE_SENSITIVE_INFO), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_CASE_SENSITIVE_INFO = _FILE_CASE_SENSITIVE_INFO; +pub type PFILE_CASE_SENSITIVE_INFO = *mut _FILE_CASE_SENSITIVE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_RENAME_INFO { + pub __bindgen_anon_1: _FILE_RENAME_INFO__bindgen_ty_1, + pub RootDirectory: HANDLE, + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _FILE_RENAME_INFO__bindgen_ty_1 { + pub ReplaceIfExists: BOOLEAN, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_RENAME_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_RENAME_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_RENAME_INFO__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_RENAME_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_RENAME_INFO__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_RENAME_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReplaceIfExists) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO__bindgen_ty_1), + "::", + stringify!(ReplaceIfExists) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO__bindgen_ty_1), + "::", + stringify!(Flags) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_RENAME_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_RENAME_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_RENAME_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_RENAME_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_RENAME_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_RENAME_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootDirectory) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO), + "::", + stringify!(RootDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_RENAME_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_RENAME_INFO = _FILE_RENAME_INFO; +pub type PFILE_RENAME_INFO = *mut _FILE_RENAME_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ALLOCATION_INFO { + pub AllocationSize: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__FILE_ALLOCATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ALLOCATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ALLOCATION_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_ALLOCATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ALLOCATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ALLOCATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ALLOCATION_INFO), + "::", + stringify!(AllocationSize) + ) + ); +} +pub type FILE_ALLOCATION_INFO = _FILE_ALLOCATION_INFO; +pub type PFILE_ALLOCATION_INFO = *mut _FILE_ALLOCATION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_END_OF_FILE_INFO { + pub EndOfFile: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__FILE_END_OF_FILE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_END_OF_FILE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_END_OF_FILE_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_END_OF_FILE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_END_OF_FILE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_END_OF_FILE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_END_OF_FILE_INFO), + "::", + stringify!(EndOfFile) + ) + ); +} +pub type FILE_END_OF_FILE_INFO = _FILE_END_OF_FILE_INFO; +pub type PFILE_END_OF_FILE_INFO = *mut _FILE_END_OF_FILE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_STREAM_INFO { + pub NextEntryOffset: DWORD, + pub StreamNameLength: DWORD, + pub StreamSize: LARGE_INTEGER, + pub StreamAllocationSize: LARGE_INTEGER, + pub StreamName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_STREAM_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STREAM_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STREAM_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_FILE_STREAM_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STREAM_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_STREAM_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamNameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(StreamNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(StreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamAllocationSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(StreamAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STREAM_INFO), + "::", + stringify!(StreamName) + ) + ); +} +pub type FILE_STREAM_INFO = _FILE_STREAM_INFO; +pub type PFILE_STREAM_INFO = *mut _FILE_STREAM_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_COMPRESSION_INFO { + pub CompressedFileSize: LARGE_INTEGER, + pub CompressionFormat: WORD, + pub CompressionUnitShift: UCHAR, + pub ChunkShift: UCHAR, + pub ClusterShift: UCHAR, + pub Reserved: [UCHAR; 3usize], +} +#[test] +fn bindgen_test_layout__FILE_COMPRESSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_COMPRESSION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_COMPRESSION_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_COMPRESSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_COMPRESSION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_COMPRESSION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressedFileSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(CompressedFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(CompressionFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionUnitShift) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(CompressionUnitShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkShift) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(ChunkShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterShift) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(ClusterShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_FILE_COMPRESSION_INFO), + "::", + stringify!(Reserved) + ) + ); +} +pub type FILE_COMPRESSION_INFO = _FILE_COMPRESSION_INFO; +pub type PFILE_COMPRESSION_INFO = *mut _FILE_COMPRESSION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_ATTRIBUTE_TAG_INFO { + pub FileAttributes: DWORD, + pub ReparseTag: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_ATTRIBUTE_TAG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ATTRIBUTE_TAG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ATTRIBUTE_TAG_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_ATTRIBUTE_TAG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ATTRIBUTE_TAG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_ATTRIBUTE_TAG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ATTRIBUTE_TAG_INFO), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseTag) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ATTRIBUTE_TAG_INFO), + "::", + stringify!(ReparseTag) + ) + ); +} +pub type FILE_ATTRIBUTE_TAG_INFO = _FILE_ATTRIBUTE_TAG_INFO; +pub type PFILE_ATTRIBUTE_TAG_INFO = *mut _FILE_ATTRIBUTE_TAG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_DISPOSITION_INFO { + pub DeleteFileA: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_DISPOSITION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_DISPOSITION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_DISPOSITION_INFO>(), + 1usize, + concat!("Size of: ", stringify!(_FILE_DISPOSITION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_DISPOSITION_INFO>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_DISPOSITION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteFileA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_DISPOSITION_INFO), + "::", + stringify!(DeleteFileA) + ) + ); +} +pub type FILE_DISPOSITION_INFO = _FILE_DISPOSITION_INFO; +pub type PFILE_DISPOSITION_INFO = *mut _FILE_DISPOSITION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_DISPOSITION_INFO_EX { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_DISPOSITION_INFO_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_DISPOSITION_INFO_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_DISPOSITION_INFO_EX>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_DISPOSITION_INFO_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_DISPOSITION_INFO_EX>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_DISPOSITION_INFO_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_DISPOSITION_INFO_EX), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_DISPOSITION_INFO_EX = _FILE_DISPOSITION_INFO_EX; +pub type PFILE_DISPOSITION_INFO_EX = *mut _FILE_DISPOSITION_INFO_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ID_BOTH_DIR_INFO { + pub NextEntryOffset: DWORD, + pub FileIndex: DWORD, + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub AllocationSize: LARGE_INTEGER, + pub FileAttributes: DWORD, + pub FileNameLength: DWORD, + pub EaSize: DWORD, + pub ShortNameLength: CCHAR, + pub ShortName: [WCHAR; 12usize], + pub FileId: LARGE_INTEGER, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_ID_BOTH_DIR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ID_BOTH_DIR_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ID_BOTH_DIR_INFO>(), + 112usize, + concat!("Size of: ", stringify!(_FILE_ID_BOTH_DIR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ID_BOTH_DIR_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ID_BOTH_DIR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(EaSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShortNameLength) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(ShortNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShortName) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(ShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_BOTH_DIR_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_ID_BOTH_DIR_INFO = _FILE_ID_BOTH_DIR_INFO; +pub type PFILE_ID_BOTH_DIR_INFO = *mut _FILE_ID_BOTH_DIR_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_FULL_DIR_INFO { + pub NextEntryOffset: ULONG, + pub FileIndex: ULONG, + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub AllocationSize: LARGE_INTEGER, + pub FileAttributes: ULONG, + pub FileNameLength: ULONG, + pub EaSize: ULONG, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_FULL_DIR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_FULL_DIR_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_FULL_DIR_INFO>(), + 72usize, + concat!("Size of: ", stringify!(_FILE_FULL_DIR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_FULL_DIR_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_FULL_DIR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(FileIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(EaSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FULL_DIR_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_FULL_DIR_INFO = _FILE_FULL_DIR_INFO; +pub type PFILE_FULL_DIR_INFO = *mut _FILE_FULL_DIR_INFO; +pub const _PRIORITY_HINT_IoPriorityHintVeryLow: _PRIORITY_HINT = 0; +pub const _PRIORITY_HINT_IoPriorityHintLow: _PRIORITY_HINT = 1; +pub const _PRIORITY_HINT_IoPriorityHintNormal: _PRIORITY_HINT = 2; +pub const _PRIORITY_HINT_MaximumIoPriorityHintType: _PRIORITY_HINT = 3; +pub type _PRIORITY_HINT = ::std::os::raw::c_int; +pub use self::_PRIORITY_HINT as PRIORITY_HINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_IO_PRIORITY_HINT_INFO { + pub PriorityHint: PRIORITY_HINT, +} +#[test] +fn bindgen_test_layout__FILE_IO_PRIORITY_HINT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_IO_PRIORITY_HINT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_IO_PRIORITY_HINT_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_IO_PRIORITY_HINT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_IO_PRIORITY_HINT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_IO_PRIORITY_HINT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PriorityHint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_IO_PRIORITY_HINT_INFO), + "::", + stringify!(PriorityHint) + ) + ); +} +pub type FILE_IO_PRIORITY_HINT_INFO = _FILE_IO_PRIORITY_HINT_INFO; +pub type PFILE_IO_PRIORITY_HINT_INFO = *mut _FILE_IO_PRIORITY_HINT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_ALIGNMENT_INFO { + pub AlignmentRequirement: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_ALIGNMENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ALIGNMENT_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ALIGNMENT_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_ALIGNMENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ALIGNMENT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_ALIGNMENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlignmentRequirement) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ALIGNMENT_INFO), + "::", + stringify!(AlignmentRequirement) + ) + ); +} +pub type FILE_ALIGNMENT_INFO = _FILE_ALIGNMENT_INFO; +pub type PFILE_ALIGNMENT_INFO = *mut _FILE_ALIGNMENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_STORAGE_INFO { + pub LogicalBytesPerSector: ULONG, + pub PhysicalBytesPerSectorForAtomicity: ULONG, + pub PhysicalBytesPerSectorForPerformance: ULONG, + pub FileSystemEffectivePhysicalBytesPerSectorForAtomicity: ULONG, + pub Flags: ULONG, + pub ByteOffsetForSectorAlignment: ULONG, + pub ByteOffsetForPartitionAlignment: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_STORAGE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STORAGE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STORAGE_INFO>(), + 28usize, + concat!("Size of: ", stringify!(_FILE_STORAGE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STORAGE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_STORAGE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogicalBytesPerSector) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(LogicalBytesPerSector) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).PhysicalBytesPerSectorForAtomicity) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(PhysicalBytesPerSectorForAtomicity) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).PhysicalBytesPerSectorForPerformance) as usize + - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(PhysicalBytesPerSectorForPerformance) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).FileSystemEffectivePhysicalBytesPerSectorForAtomicity) + as usize + - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(FileSystemEffectivePhysicalBytesPerSectorForAtomicity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ByteOffsetForSectorAlignment) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(ByteOffsetForSectorAlignment) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ByteOffsetForPartitionAlignment) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_INFO), + "::", + stringify!(ByteOffsetForPartitionAlignment) + ) + ); +} +pub type FILE_STORAGE_INFO = _FILE_STORAGE_INFO; +pub type PFILE_STORAGE_INFO = *mut _FILE_STORAGE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_ID_INFO { + pub VolumeSerialNumber: ULONGLONG, + pub FileId: FILE_ID_128, +} +#[test] +fn bindgen_test_layout__FILE_ID_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ID_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ID_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_ID_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ID_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ID_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeSerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_INFO), + "::", + stringify!(VolumeSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_INFO), + "::", + stringify!(FileId) + ) + ); +} +pub type FILE_ID_INFO = _FILE_ID_INFO; +pub type PFILE_ID_INFO = *mut _FILE_ID_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ID_EXTD_DIR_INFO { + pub NextEntryOffset: ULONG, + pub FileIndex: ULONG, + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub AllocationSize: LARGE_INTEGER, + pub FileAttributes: ULONG, + pub FileNameLength: ULONG, + pub EaSize: ULONG, + pub ReparsePointTag: ULONG, + pub FileId: FILE_ID_128, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_ID_EXTD_DIR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ID_EXTD_DIR_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ID_EXTD_DIR_INFO>(), + 96usize, + concat!("Size of: ", stringify!(_FILE_ID_EXTD_DIR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ID_EXTD_DIR_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ID_EXTD_DIR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(EaSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparsePointTag) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(ReparsePointTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ID_EXTD_DIR_INFO), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_ID_EXTD_DIR_INFO = _FILE_ID_EXTD_DIR_INFO; +pub type PFILE_ID_EXTD_DIR_INFO = *mut _FILE_ID_EXTD_DIR_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO { + pub StructureVersion: USHORT, + pub StructureSize: USHORT, + pub Protocol: ULONG, + pub ProtocolMajorVersion: USHORT, + pub ProtocolMinorVersion: USHORT, + pub ProtocolRevision: USHORT, + pub Reserved: USHORT, + pub Flags: ULONG, + pub GenericReserved: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1, + pub ProtocolSpecific: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1 { + pub Reserved: [ULONG; 8usize], +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1>(), + 32usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2 { + pub Smb2: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1, + pub Reserved: [ULONG; 16usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1 { + pub Server: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + pub Share: _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1 { + pub Capabilities: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Capabilities) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2 { + pub Capabilities: ULONG, + pub CachingFlags: ULONG, +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2>( + ), + 8usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CachingFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(CachingFlags) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1>(), + 12usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Server) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Server) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Share) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Share) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2>(), + 64usize, + concat!( + "Size of: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Smb2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2), + "::", + stringify!(Smb2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO__bindgen_ty_2), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_REMOTE_PROTOCOL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REMOTE_PROTOCOL_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REMOTE_PROTOCOL_INFO>(), + 116usize, + concat!("Size of: ", stringify!(_FILE_REMOTE_PROTOCOL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REMOTE_PROTOCOL_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_REMOTE_PROTOCOL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(StructureVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(StructureSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protocol) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(Protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolMajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(ProtocolMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolMinorVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(ProtocolMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolRevision) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(ProtocolRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GenericReserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(GenericReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSpecific) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REMOTE_PROTOCOL_INFO), + "::", + stringify!(ProtocolSpecific) + ) + ); +} +pub type FILE_REMOTE_PROTOCOL_INFO = _FILE_REMOTE_PROTOCOL_INFO; +pub type PFILE_REMOTE_PROTOCOL_INFO = *mut _FILE_REMOTE_PROTOCOL_INFO; +extern "C" { + pub fn GetFileInformationByHandleEx( + hFile: HANDLE, + FileInformationClass: FILE_INFO_BY_HANDLE_CLASS, + lpFileInformation: LPVOID, + dwBufferSize: DWORD, + ) -> BOOL; +} +pub const _FILE_ID_TYPE_FileIdType: _FILE_ID_TYPE = 0; +pub const _FILE_ID_TYPE_ObjectIdType: _FILE_ID_TYPE = 1; +pub const _FILE_ID_TYPE_ExtendedFileIdType: _FILE_ID_TYPE = 2; +pub const _FILE_ID_TYPE_MaximumFileIdType: _FILE_ID_TYPE = 3; +pub type _FILE_ID_TYPE = ::std::os::raw::c_int; +pub use self::_FILE_ID_TYPE as FILE_ID_TYPE; +pub type PFILE_ID_TYPE = *mut _FILE_ID_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct FILE_ID_DESCRIPTOR { + pub dwSize: DWORD, + pub Type: FILE_ID_TYPE, + pub __bindgen_anon_1: FILE_ID_DESCRIPTOR__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union FILE_ID_DESCRIPTOR__bindgen_ty_1 { + pub FileId: LARGE_INTEGER, + pub ObjectId: GUID, + pub ExtendedFileId: FILE_ID_128, +} +#[test] +fn bindgen_test_layout_FILE_ID_DESCRIPTOR__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(ObjectId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedFileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(ExtendedFileId) + ) + ); +} +#[test] +fn bindgen_test_layout_FILE_ID_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(FILE_ID_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(FILE_ID_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(FILE_ID_DESCRIPTOR), + "::", + stringify!(Type) + ) + ); +} +pub type LPFILE_ID_DESCRIPTOR = *mut FILE_ID_DESCRIPTOR; +extern "C" { + pub fn OpenFileById( + hVolumeHint: HANDLE, + lpFileId: LPFILE_ID_DESCRIPTOR, + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + dwFlagsAndAttributes: DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn CreateSymbolicLinkA( + lpSymlinkFileName: LPCSTR, + lpTargetFileName: LPCSTR, + dwFlags: DWORD, + ) -> BOOLEAN; +} +extern "C" { + pub fn CreateSymbolicLinkW( + lpSymlinkFileName: LPCWSTR, + lpTargetFileName: LPCWSTR, + dwFlags: DWORD, + ) -> BOOLEAN; +} +extern "C" { + pub fn QueryActCtxSettingsW( + dwFlags: DWORD, + hActCtx: HANDLE, + settingsNameSpace: PCWSTR, + settingName: PCWSTR, + pvBuffer: PWSTR, + dwBuffer: SIZE_T, + pdwWrittenOrRequired: *mut SIZE_T, + ) -> BOOL; +} +extern "C" { + pub fn CreateSymbolicLinkTransactedA( + lpSymlinkFileName: LPCSTR, + lpTargetFileName: LPCSTR, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOLEAN; +} +extern "C" { + pub fn CreateSymbolicLinkTransactedW( + lpSymlinkFileName: LPCWSTR, + lpTargetFileName: LPCWSTR, + dwFlags: DWORD, + hTransaction: HANDLE, + ) -> BOOLEAN; +} +extern "C" { + pub fn ReplacePartitionUnit( + TargetPartition: PWSTR, + SparePartition: PWSTR, + Flags: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn AddSecureMemoryCacheCallback(pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK) -> BOOL; +} +extern "C" { + pub fn RemoveSecureMemoryCacheCallback(pfnCallBack: PSECURE_MEMORY_CACHE_CALLBACK) -> BOOL; +} +extern "C" { + pub fn CopyContext(Destination: PCONTEXT, ContextFlags: DWORD, Source: PCONTEXT) -> BOOL; +} +extern "C" { + pub fn InitializeContext( + Buffer: PVOID, + ContextFlags: DWORD, + Context: *mut PCONTEXT, + ContextLength: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitializeContext2( + Buffer: PVOID, + ContextFlags: DWORD, + Context: *mut PCONTEXT, + ContextLength: PDWORD, + XStateCompactionMask: ULONG64, + ) -> BOOL; +} +extern "C" { + pub fn GetEnabledXStateFeatures() -> DWORD64; +} +extern "C" { + pub fn GetXStateFeaturesMask(Context: PCONTEXT, FeatureMask: PDWORD64) -> BOOL; +} +extern "C" { + pub fn LocateXStateFeature(Context: PCONTEXT, FeatureId: DWORD, Length: PDWORD) -> PVOID; +} +extern "C" { + pub fn SetXStateFeaturesMask(Context: PCONTEXT, FeatureMask: DWORD64) -> BOOL; +} +extern "C" { + pub fn EnableThreadProfiling( + ThreadHandle: HANDLE, + Flags: DWORD, + HardwareCounters: DWORD64, + PerformanceDataHandle: *mut HANDLE, + ) -> DWORD; +} +extern "C" { + pub fn DisableThreadProfiling(PerformanceDataHandle: HANDLE) -> DWORD; +} +extern "C" { + pub fn QueryThreadProfiling(ThreadHandle: HANDLE, Enabled: PBOOLEAN) -> DWORD; +} +extern "C" { + pub fn ReadThreadProfilingData( + PerformanceDataHandle: HANDLE, + Flags: DWORD, + PerformanceData: PPERFORMANCE_DATA, + ) -> DWORD; +} +extern "C" { + pub fn RaiseCustomSystemEventTrigger( + CustomSystemEventTriggerConfig: PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRAWPATRECT { + pub ptPosition: POINT, + pub ptSize: POINT, + pub wStyle: WORD, + pub wPattern: WORD, +} +#[test] +fn bindgen_test_layout__DRAWPATRECT() { + const UNINIT: ::std::mem::MaybeUninit<_DRAWPATRECT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRAWPATRECT>(), + 20usize, + concat!("Size of: ", stringify!(_DRAWPATRECT)) + ); + assert_eq!( + ::std::mem::align_of::<_DRAWPATRECT>(), + 4usize, + concat!("Alignment of ", stringify!(_DRAWPATRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRAWPATRECT), + "::", + stringify!(ptPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRAWPATRECT), + "::", + stringify!(ptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wStyle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRAWPATRECT), + "::", + stringify!(wStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPattern) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_DRAWPATRECT), + "::", + stringify!(wPattern) + ) + ); +} +pub type DRAWPATRECT = _DRAWPATRECT; +pub type PDRAWPATRECT = *mut _DRAWPATRECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSINJECTDATA { + pub DataBytes: DWORD, + pub InjectionPoint: WORD, + pub PageNumber: WORD, +} +#[test] +fn bindgen_test_layout__PSINJECTDATA() { + const UNINIT: ::std::mem::MaybeUninit<_PSINJECTDATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PSINJECTDATA>(), + 8usize, + concat!("Size of: ", stringify!(_PSINJECTDATA)) + ); + assert_eq!( + ::std::mem::align_of::<_PSINJECTDATA>(), + 4usize, + concat!("Alignment of ", stringify!(_PSINJECTDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PSINJECTDATA), + "::", + stringify!(DataBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InjectionPoint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PSINJECTDATA), + "::", + stringify!(InjectionPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PageNumber) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_PSINJECTDATA), + "::", + stringify!(PageNumber) + ) + ); +} +pub type PSINJECTDATA = _PSINJECTDATA; +pub type PPSINJECTDATA = *mut _PSINJECTDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSFEATURE_OUTPUT { + pub bPageIndependent: BOOL, + pub bSetPageDevice: BOOL, +} +#[test] +fn bindgen_test_layout__PSFEATURE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_PSFEATURE_OUTPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PSFEATURE_OUTPUT>(), + 8usize, + concat!("Size of: ", stringify!(_PSFEATURE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_PSFEATURE_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_PSFEATURE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bPageIndependent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_OUTPUT), + "::", + stringify!(bPageIndependent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSetPageDevice) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_OUTPUT), + "::", + stringify!(bSetPageDevice) + ) + ); +} +pub type PSFEATURE_OUTPUT = _PSFEATURE_OUTPUT; +pub type PPSFEATURE_OUTPUT = *mut _PSFEATURE_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSFEATURE_CUSTPAPER { + pub lOrientation: LONG, + pub lWidth: LONG, + pub lHeight: LONG, + pub lWidthOffset: LONG, + pub lHeightOffset: LONG, +} +#[test] +fn bindgen_test_layout__PSFEATURE_CUSTPAPER() { + const UNINIT: ::std::mem::MaybeUninit<_PSFEATURE_CUSTPAPER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PSFEATURE_CUSTPAPER>(), + 20usize, + concat!("Size of: ", stringify!(_PSFEATURE_CUSTPAPER)) + ); + assert_eq!( + ::std::mem::align_of::<_PSFEATURE_CUSTPAPER>(), + 4usize, + concat!("Alignment of ", stringify!(_PSFEATURE_CUSTPAPER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lOrientation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lHeight) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lWidthOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lWidthOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lHeightOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PSFEATURE_CUSTPAPER), + "::", + stringify!(lHeightOffset) + ) + ); +} +pub type PSFEATURE_CUSTPAPER = _PSFEATURE_CUSTPAPER; +pub type PPSFEATURE_CUSTPAPER = *mut _PSFEATURE_CUSTPAPER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagXFORM { + pub eM11: FLOAT, + pub eM12: FLOAT, + pub eM21: FLOAT, + pub eM22: FLOAT, + pub eDx: FLOAT, + pub eDy: FLOAT, +} +#[test] +fn bindgen_test_layout_tagXFORM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagXFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagXFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM11) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eM11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM12) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eM12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM21) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eM21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM22) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eM22) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eDx) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eDx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eDy) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagXFORM), + "::", + stringify!(eDy) + ) + ); +} +pub type XFORM = tagXFORM; +pub type PXFORM = *mut tagXFORM; +pub type LPXFORM = *mut tagXFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAP { + pub bmType: LONG, + pub bmWidth: LONG, + pub bmHeight: LONG, + pub bmWidthBytes: LONG, + pub bmPlanes: WORD, + pub bmBitsPixel: WORD, + pub bmBits: LPVOID, +} +#[test] +fn bindgen_test_layout_tagBITMAP() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagBITMAP)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBITMAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmHeight) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmWidthBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmWidthBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmPlanes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmPlanes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmBitsPixel) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmBitsPixel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAP), + "::", + stringify!(bmBits) + ) + ); +} +pub type BITMAP = tagBITMAP; +pub type PBITMAP = *mut tagBITMAP; +pub type NPBITMAP = *mut tagBITMAP; +pub type LPBITMAP = *mut tagBITMAP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRGBTRIPLE { + pub rgbtBlue: BYTE, + pub rgbtGreen: BYTE, + pub rgbtRed: BYTE, +} +#[test] +fn bindgen_test_layout_tagRGBTRIPLE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 3usize, + concat!("Size of: ", stringify!(tagRGBTRIPLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagRGBTRIPLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbtBlue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRGBTRIPLE), + "::", + stringify!(rgbtBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbtGreen) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagRGBTRIPLE), + "::", + stringify!(rgbtGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbtRed) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRGBTRIPLE), + "::", + stringify!(rgbtRed) + ) + ); +} +pub type RGBTRIPLE = tagRGBTRIPLE; +pub type PRGBTRIPLE = *mut tagRGBTRIPLE; +pub type NPRGBTRIPLE = *mut tagRGBTRIPLE; +pub type LPRGBTRIPLE = *mut tagRGBTRIPLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRGBQUAD { + pub rgbBlue: BYTE, + pub rgbGreen: BYTE, + pub rgbRed: BYTE, + pub rgbReserved: BYTE, +} +#[test] +fn bindgen_test_layout_tagRGBQUAD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagRGBQUAD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagRGBQUAD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbBlue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRGBQUAD), + "::", + stringify!(rgbBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbGreen) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagRGBQUAD), + "::", + stringify!(rgbGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbRed) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRGBQUAD), + "::", + stringify!(rgbRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(tagRGBQUAD), + "::", + stringify!(rgbReserved) + ) + ); +} +pub type RGBQUAD = tagRGBQUAD; +pub type LPRGBQUAD = *mut RGBQUAD; +pub type LCSCSTYPE = LONG; +pub type LCSGAMUTMATCH = LONG; +pub type FXPT16DOT16 = ::std::os::raw::c_long; +pub type LPFXPT16DOT16 = *mut ::std::os::raw::c_long; +pub type FXPT2DOT30 = ::std::os::raw::c_long; +pub type LPFXPT2DOT30 = *mut ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCIEXYZ { + pub ciexyzX: FXPT2DOT30, + pub ciexyzY: FXPT2DOT30, + pub ciexyzZ: FXPT2DOT30, +} +#[test] +fn bindgen_test_layout_tagCIEXYZ() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagCIEXYZ)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCIEXYZ)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzX) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCIEXYZ), + "::", + stringify!(ciexyzX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzY) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCIEXYZ), + "::", + stringify!(ciexyzY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzZ) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCIEXYZ), + "::", + stringify!(ciexyzZ) + ) + ); +} +pub type CIEXYZ = tagCIEXYZ; +pub type LPCIEXYZ = *mut CIEXYZ; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagICEXYZTRIPLE { + pub ciexyzRed: CIEXYZ, + pub ciexyzGreen: CIEXYZ, + pub ciexyzBlue: CIEXYZ, +} +#[test] +fn bindgen_test_layout_tagICEXYZTRIPLE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagICEXYZTRIPLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagICEXYZTRIPLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzRed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagICEXYZTRIPLE), + "::", + stringify!(ciexyzRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzGreen) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagICEXYZTRIPLE), + "::", + stringify!(ciexyzGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciexyzBlue) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagICEXYZTRIPLE), + "::", + stringify!(ciexyzBlue) + ) + ); +} +pub type CIEXYZTRIPLE = tagICEXYZTRIPLE; +pub type LPCIEXYZTRIPLE = *mut CIEXYZTRIPLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGCOLORSPACEA { + pub lcsSignature: DWORD, + pub lcsVersion: DWORD, + pub lcsSize: DWORD, + pub lcsCSType: LCSCSTYPE, + pub lcsIntent: LCSGAMUTMATCH, + pub lcsEndpoints: CIEXYZTRIPLE, + pub lcsGammaRed: DWORD, + pub lcsGammaGreen: DWORD, + pub lcsGammaBlue: DWORD, + pub lcsFilename: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout_tagLOGCOLORSPACEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 328usize, + concat!("Size of: ", stringify!(tagLOGCOLORSPACEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGCOLORSPACEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsCSType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsCSType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsIntent) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsIntent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsEndpoints) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsEndpoints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaRed) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsGammaRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaGreen) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsGammaGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaBlue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsGammaBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsFilename) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEA), + "::", + stringify!(lcsFilename) + ) + ); +} +pub type LOGCOLORSPACEA = tagLOGCOLORSPACEA; +pub type LPLOGCOLORSPACEA = *mut tagLOGCOLORSPACEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGCOLORSPACEW { + pub lcsSignature: DWORD, + pub lcsVersion: DWORD, + pub lcsSize: DWORD, + pub lcsCSType: LCSCSTYPE, + pub lcsIntent: LCSGAMUTMATCH, + pub lcsEndpoints: CIEXYZTRIPLE, + pub lcsGammaRed: DWORD, + pub lcsGammaGreen: DWORD, + pub lcsGammaBlue: DWORD, + pub lcsFilename: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout_tagLOGCOLORSPACEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 588usize, + concat!("Size of: ", stringify!(tagLOGCOLORSPACEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGCOLORSPACEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsCSType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsCSType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsIntent) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsIntent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsEndpoints) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsEndpoints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaRed) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsGammaRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaGreen) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsGammaGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsGammaBlue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsGammaBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcsFilename) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagLOGCOLORSPACEW), + "::", + stringify!(lcsFilename) + ) + ); +} +pub type LOGCOLORSPACEW = tagLOGCOLORSPACEW; +pub type LPLOGCOLORSPACEW = *mut tagLOGCOLORSPACEW; +pub type LOGCOLORSPACE = LOGCOLORSPACEA; +pub type LPLOGCOLORSPACE = LPLOGCOLORSPACEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPCOREHEADER { + pub bcSize: DWORD, + pub bcWidth: WORD, + pub bcHeight: WORD, + pub bcPlanes: WORD, + pub bcBitCount: WORD, +} +#[test] +fn bindgen_test_layout_tagBITMAPCOREHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagBITMAPCOREHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBITMAPCOREHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcHeight) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcPlanes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcPlanes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bcBitCount) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREHEADER), + "::", + stringify!(bcBitCount) + ) + ); +} +pub type BITMAPCOREHEADER = tagBITMAPCOREHEADER; +pub type LPBITMAPCOREHEADER = *mut tagBITMAPCOREHEADER; +pub type PBITMAPCOREHEADER = *mut tagBITMAPCOREHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPINFOHEADER { + pub biSize: DWORD, + pub biWidth: LONG, + pub biHeight: LONG, + pub biPlanes: WORD, + pub biBitCount: WORD, + pub biCompression: DWORD, + pub biSizeImage: DWORD, + pub biXPelsPerMeter: LONG, + pub biYPelsPerMeter: LONG, + pub biClrUsed: DWORD, + pub biClrImportant: DWORD, +} +#[test] +fn bindgen_test_layout_tagBITMAPINFOHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagBITMAPINFOHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBITMAPINFOHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biHeight) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biPlanes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biPlanes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biBitCount) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biBitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biCompression) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biCompression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biSizeImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biSizeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biXPelsPerMeter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biXPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biYPelsPerMeter) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biYPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biClrUsed) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biClrUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biClrImportant) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFOHEADER), + "::", + stringify!(biClrImportant) + ) + ); +} +pub type BITMAPINFOHEADER = tagBITMAPINFOHEADER; +pub type LPBITMAPINFOHEADER = *mut tagBITMAPINFOHEADER; +pub type PBITMAPINFOHEADER = *mut tagBITMAPINFOHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BITMAPV4HEADER { + pub bV4Size: DWORD, + pub bV4Width: LONG, + pub bV4Height: LONG, + pub bV4Planes: WORD, + pub bV4BitCount: WORD, + pub bV4V4Compression: DWORD, + pub bV4SizeImage: DWORD, + pub bV4XPelsPerMeter: LONG, + pub bV4YPelsPerMeter: LONG, + pub bV4ClrUsed: DWORD, + pub bV4ClrImportant: DWORD, + pub bV4RedMask: DWORD, + pub bV4GreenMask: DWORD, + pub bV4BlueMask: DWORD, + pub bV4AlphaMask: DWORD, + pub bV4CSType: DWORD, + pub bV4Endpoints: CIEXYZTRIPLE, + pub bV4GammaRed: DWORD, + pub bV4GammaGreen: DWORD, + pub bV4GammaBlue: DWORD, +} +#[test] +fn bindgen_test_layout_BITMAPV4HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(BITMAPV4HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(BITMAPV4HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Width) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Width) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Height) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Height) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Planes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Planes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4BitCount) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4BitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4V4Compression) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4V4Compression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4SizeImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4SizeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4XPelsPerMeter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4XPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4YPelsPerMeter) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4YPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4ClrUsed) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4ClrUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4ClrImportant) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4ClrImportant) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4RedMask) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4RedMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4GreenMask) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4GreenMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4BlueMask) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4BlueMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4AlphaMask) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4AlphaMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4CSType) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4CSType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4Endpoints) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4Endpoints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4GammaRed) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4GammaRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4GammaGreen) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4GammaGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV4GammaBlue) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV4HEADER), + "::", + stringify!(bV4GammaBlue) + ) + ); +} +pub type LPBITMAPV4HEADER = *mut BITMAPV4HEADER; +pub type PBITMAPV4HEADER = *mut BITMAPV4HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BITMAPV5HEADER { + pub bV5Size: DWORD, + pub bV5Width: LONG, + pub bV5Height: LONG, + pub bV5Planes: WORD, + pub bV5BitCount: WORD, + pub bV5Compression: DWORD, + pub bV5SizeImage: DWORD, + pub bV5XPelsPerMeter: LONG, + pub bV5YPelsPerMeter: LONG, + pub bV5ClrUsed: DWORD, + pub bV5ClrImportant: DWORD, + pub bV5RedMask: DWORD, + pub bV5GreenMask: DWORD, + pub bV5BlueMask: DWORD, + pub bV5AlphaMask: DWORD, + pub bV5CSType: DWORD, + pub bV5Endpoints: CIEXYZTRIPLE, + pub bV5GammaRed: DWORD, + pub bV5GammaGreen: DWORD, + pub bV5GammaBlue: DWORD, + pub bV5Intent: DWORD, + pub bV5ProfileData: DWORD, + pub bV5ProfileSize: DWORD, + pub bV5Reserved: DWORD, +} +#[test] +fn bindgen_test_layout_BITMAPV5HEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 124usize, + concat!("Size of: ", stringify!(BITMAPV5HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(BITMAPV5HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Width) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Width) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Height) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Height) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Planes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Planes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5BitCount) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5BitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Compression) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Compression) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5SizeImage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5SizeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5XPelsPerMeter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5XPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5YPelsPerMeter) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5YPelsPerMeter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5ClrUsed) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5ClrUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5ClrImportant) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5ClrImportant) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5RedMask) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5RedMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5GreenMask) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5GreenMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5BlueMask) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5BlueMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5AlphaMask) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5AlphaMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5CSType) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5CSType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Endpoints) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Endpoints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5GammaRed) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5GammaRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5GammaGreen) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5GammaGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5GammaBlue) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5GammaBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Intent) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Intent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5ProfileData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5ProfileData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5ProfileSize) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5ProfileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bV5Reserved) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(BITMAPV5HEADER), + "::", + stringify!(bV5Reserved) + ) + ); +} +pub type LPBITMAPV5HEADER = *mut BITMAPV5HEADER; +pub type PBITMAPV5HEADER = *mut BITMAPV5HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPINFO { + pub bmiHeader: BITMAPINFOHEADER, + pub bmiColors: [RGBQUAD; 1usize], +} +#[test] +fn bindgen_test_layout_tagBITMAPINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagBITMAPINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBITMAPINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmiHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFO), + "::", + stringify!(bmiHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmiColors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPINFO), + "::", + stringify!(bmiColors) + ) + ); +} +pub type BITMAPINFO = tagBITMAPINFO; +pub type LPBITMAPINFO = *mut tagBITMAPINFO; +pub type PBITMAPINFO = *mut tagBITMAPINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPCOREINFO { + pub bmciHeader: BITMAPCOREHEADER, + pub bmciColors: [RGBTRIPLE; 1usize], +} +#[test] +fn bindgen_test_layout_tagBITMAPCOREINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBITMAPCOREINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBITMAPCOREINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmciHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREINFO), + "::", + stringify!(bmciHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmciColors) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPCOREINFO), + "::", + stringify!(bmciColors) + ) + ); +} +pub type BITMAPCOREINFO = tagBITMAPCOREINFO; +pub type LPBITMAPCOREINFO = *mut tagBITMAPCOREINFO; +pub type PBITMAPCOREINFO = *mut tagBITMAPCOREINFO; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct tagBITMAPFILEHEADER { + pub bfType: WORD, + pub bfSize: DWORD, + pub bfReserved1: WORD, + pub bfReserved2: WORD, + pub bfOffBits: DWORD, +} +#[test] +fn bindgen_test_layout_tagBITMAPFILEHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 14usize, + concat!("Size of: ", stringify!(tagBITMAPFILEHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagBITMAPFILEHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfReserved1) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfReserved2) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bfOffBits) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagBITMAPFILEHEADER), + "::", + stringify!(bfOffBits) + ) + ); +} +pub type BITMAPFILEHEADER = tagBITMAPFILEHEADER; +pub type LPBITMAPFILEHEADER = *mut tagBITMAPFILEHEADER; +pub type PBITMAPFILEHEADER = *mut tagBITMAPFILEHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFONTSIGNATURE { + pub fsUsb: [DWORD; 4usize], + pub fsCsb: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout_tagFONTSIGNATURE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagFONTSIGNATURE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagFONTSIGNATURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fsUsb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFONTSIGNATURE), + "::", + stringify!(fsUsb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fsCsb) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFONTSIGNATURE), + "::", + stringify!(fsCsb) + ) + ); +} +pub type FONTSIGNATURE = tagFONTSIGNATURE; +pub type PFONTSIGNATURE = *mut tagFONTSIGNATURE; +pub type LPFONTSIGNATURE = *mut tagFONTSIGNATURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHARSETINFO { + pub ciCharset: UINT, + pub ciACP: UINT, + pub fs: FONTSIGNATURE, +} +#[test] +fn bindgen_test_layout_tagCHARSETINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagCHARSETINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCHARSETINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciCharset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHARSETINFO), + "::", + stringify!(ciCharset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ciACP) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCHARSETINFO), + "::", + stringify!(ciACP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHARSETINFO), + "::", + stringify!(fs) + ) + ); +} +pub type CHARSETINFO = tagCHARSETINFO; +pub type PCHARSETINFO = *mut tagCHARSETINFO; +pub type NPCHARSETINFO = *mut tagCHARSETINFO; +pub type LPCHARSETINFO = *mut tagCHARSETINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOCALESIGNATURE { + pub lsUsb: [DWORD; 4usize], + pub lsCsbDefault: [DWORD; 2usize], + pub lsCsbSupported: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout_tagLOCALESIGNATURE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagLOCALESIGNATURE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOCALESIGNATURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsUsb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOCALESIGNATURE), + "::", + stringify!(lsUsb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsCsbDefault) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOCALESIGNATURE), + "::", + stringify!(lsCsbDefault) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsCsbSupported) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagLOCALESIGNATURE), + "::", + stringify!(lsCsbSupported) + ) + ); +} +pub type LOCALESIGNATURE = tagLOCALESIGNATURE; +pub type PLOCALESIGNATURE = *mut tagLOCALESIGNATURE; +pub type LPLOCALESIGNATURE = *mut tagLOCALESIGNATURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHANDLETABLE { + pub objectHandle: [HGDIOBJ; 1usize], +} +#[test] +fn bindgen_test_layout_tagHANDLETABLE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagHANDLETABLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHANDLETABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).objectHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHANDLETABLE), + "::", + stringify!(objectHandle) + ) + ); +} +pub type HANDLETABLE = tagHANDLETABLE; +pub type PHANDLETABLE = *mut tagHANDLETABLE; +pub type LPHANDLETABLE = *mut tagHANDLETABLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMETARECORD { + pub rdSize: DWORD, + pub rdFunction: WORD, + pub rdParm: [WORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagMETARECORD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagMETARECORD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMETARECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rdSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMETARECORD), + "::", + stringify!(rdSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rdFunction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMETARECORD), + "::", + stringify!(rdFunction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rdParm) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagMETARECORD), + "::", + stringify!(rdParm) + ) + ); +} +pub type METARECORD = tagMETARECORD; +pub type PMETARECORD = *mut tagMETARECORD; +pub type LPMETARECORD = *mut tagMETARECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMETAFILEPICT { + pub mm: LONG, + pub xExt: LONG, + pub yExt: LONG, + pub hMF: HMETAFILE, +} +#[test] +fn bindgen_test_layout_tagMETAFILEPICT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMETAFILEPICT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMETAFILEPICT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMETAFILEPICT), + "::", + stringify!(mm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xExt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMETAFILEPICT), + "::", + stringify!(xExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yExt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMETAFILEPICT), + "::", + stringify!(yExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMF) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMETAFILEPICT), + "::", + stringify!(hMF) + ) + ); +} +pub type METAFILEPICT = tagMETAFILEPICT; +pub type LPMETAFILEPICT = *mut tagMETAFILEPICT; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct tagMETAHEADER { + pub mtType: WORD, + pub mtHeaderSize: WORD, + pub mtVersion: WORD, + pub mtSize: DWORD, + pub mtNoObjects: WORD, + pub mtMaxRecord: DWORD, + pub mtNoParameters: WORD, +} +#[test] +fn bindgen_test_layout_tagMETAHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(tagMETAHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagMETAHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtHeaderSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtHeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtSize) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtNoObjects) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtNoObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtMaxRecord) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtMaxRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtNoParameters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMETAHEADER), + "::", + stringify!(mtNoParameters) + ) + ); +} +pub type METAHEADER = tagMETAHEADER; +pub type PMETAHEADER = *mut tagMETAHEADER; +pub type LPMETAHEADER = *mut tagMETAHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENHMETARECORD { + pub iType: DWORD, + pub nSize: DWORD, + pub dParm: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagENHMETARECORD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagENHMETARECORD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENHMETARECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETARECORD), + "::", + stringify!(iType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETARECORD), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dParm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETARECORD), + "::", + stringify!(dParm) + ) + ); +} +pub type ENHMETARECORD = tagENHMETARECORD; +pub type PENHMETARECORD = *mut tagENHMETARECORD; +pub type LPENHMETARECORD = *mut tagENHMETARECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENHMETAHEADER { + pub iType: DWORD, + pub nSize: DWORD, + pub rclBounds: RECTL, + pub rclFrame: RECTL, + pub dSignature: DWORD, + pub nVersion: DWORD, + pub nBytes: DWORD, + pub nRecords: DWORD, + pub nHandles: WORD, + pub sReserved: WORD, + pub nDescription: DWORD, + pub offDescription: DWORD, + pub nPalEntries: DWORD, + pub szlDevice: SIZEL, + pub szlMillimeters: SIZEL, + pub cbPixelFormat: DWORD, + pub offPixelFormat: DWORD, + pub bOpenGL: DWORD, + pub szlMicrometers: SIZEL, +} +#[test] +fn bindgen_test_layout_tagENHMETAHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagENHMETAHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENHMETAHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(iType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclFrame) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(rclFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dSignature) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(dSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVersion) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBytes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nRecords) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nRecords) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nHandles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nHandles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sReserved) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(sReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nDescription) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offDescription) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(offDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPalEntries) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(nPalEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlDevice) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(szlDevice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlMillimeters) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(szlMillimeters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPixelFormat) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(cbPixelFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offPixelFormat) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(offPixelFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bOpenGL) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(bOpenGL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlMicrometers) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagENHMETAHEADER), + "::", + stringify!(szlMicrometers) + ) + ); +} +pub type ENHMETAHEADER = tagENHMETAHEADER; +pub type PENHMETAHEADER = *mut tagENHMETAHEADER; +pub type LPENHMETAHEADER = *mut tagENHMETAHEADER; +pub type BCHAR = BYTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTEXTMETRICA { + pub tmHeight: LONG, + pub tmAscent: LONG, + pub tmDescent: LONG, + pub tmInternalLeading: LONG, + pub tmExternalLeading: LONG, + pub tmAveCharWidth: LONG, + pub tmMaxCharWidth: LONG, + pub tmWeight: LONG, + pub tmOverhang: LONG, + pub tmDigitizedAspectX: LONG, + pub tmDigitizedAspectY: LONG, + pub tmFirstChar: BYTE, + pub tmLastChar: BYTE, + pub tmDefaultChar: BYTE, + pub tmBreakChar: BYTE, + pub tmItalic: BYTE, + pub tmUnderlined: BYTE, + pub tmStruckOut: BYTE, + pub tmPitchAndFamily: BYTE, + pub tmCharSet: BYTE, +} +#[test] +fn bindgen_test_layout_tagTEXTMETRICA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagTEXTMETRICA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTEXTMETRICA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAscent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDescent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmInternalLeading) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmInternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmExternalLeading) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmExternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAveCharWidth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmAveCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmMaxCharWidth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmMaxCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmWeight) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmOverhang) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmOverhang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectX) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmDigitizedAspectX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectY) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmDigitizedAspectY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmFirstChar) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmFirstChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmLastChar) as usize - ptr as usize }, + 45usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmLastChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDefaultChar) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmBreakChar) as usize - ptr as usize }, + 47usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmBreakChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmItalic) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmUnderlined) as usize - ptr as usize }, + 49usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmUnderlined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmStruckOut) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmStruckOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmPitchAndFamily) as usize - ptr as usize }, + 51usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmCharSet) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICA), + "::", + stringify!(tmCharSet) + ) + ); +} +pub type TEXTMETRICA = tagTEXTMETRICA; +pub type PTEXTMETRICA = *mut tagTEXTMETRICA; +pub type NPTEXTMETRICA = *mut tagTEXTMETRICA; +pub type LPTEXTMETRICA = *mut tagTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTEXTMETRICW { + pub tmHeight: LONG, + pub tmAscent: LONG, + pub tmDescent: LONG, + pub tmInternalLeading: LONG, + pub tmExternalLeading: LONG, + pub tmAveCharWidth: LONG, + pub tmMaxCharWidth: LONG, + pub tmWeight: LONG, + pub tmOverhang: LONG, + pub tmDigitizedAspectX: LONG, + pub tmDigitizedAspectY: LONG, + pub tmFirstChar: WCHAR, + pub tmLastChar: WCHAR, + pub tmDefaultChar: WCHAR, + pub tmBreakChar: WCHAR, + pub tmItalic: BYTE, + pub tmUnderlined: BYTE, + pub tmStruckOut: BYTE, + pub tmPitchAndFamily: BYTE, + pub tmCharSet: BYTE, +} +#[test] +fn bindgen_test_layout_tagTEXTMETRICW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 60usize, + concat!("Size of: ", stringify!(tagTEXTMETRICW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTEXTMETRICW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAscent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDescent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmInternalLeading) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmInternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmExternalLeading) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmExternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAveCharWidth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmAveCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmMaxCharWidth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmMaxCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmWeight) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmOverhang) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmOverhang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectX) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmDigitizedAspectX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectY) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmDigitizedAspectY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmFirstChar) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmFirstChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmLastChar) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmLastChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDefaultChar) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmBreakChar) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmBreakChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmItalic) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmUnderlined) as usize - ptr as usize }, + 53usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmUnderlined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmStruckOut) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmStruckOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmPitchAndFamily) as usize - ptr as usize }, + 55usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmCharSet) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagTEXTMETRICW), + "::", + stringify!(tmCharSet) + ) + ); +} +pub type TEXTMETRICW = tagTEXTMETRICW; +pub type PTEXTMETRICW = *mut tagTEXTMETRICW; +pub type NPTEXTMETRICW = *mut tagTEXTMETRICW; +pub type LPTEXTMETRICW = *mut tagTEXTMETRICW; +pub type TEXTMETRIC = TEXTMETRICA; +pub type PTEXTMETRIC = PTEXTMETRICA; +pub type NPTEXTMETRIC = NPTEXTMETRICA; +pub type LPTEXTMETRIC = LPTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNEWTEXTMETRICA { + pub tmHeight: LONG, + pub tmAscent: LONG, + pub tmDescent: LONG, + pub tmInternalLeading: LONG, + pub tmExternalLeading: LONG, + pub tmAveCharWidth: LONG, + pub tmMaxCharWidth: LONG, + pub tmWeight: LONG, + pub tmOverhang: LONG, + pub tmDigitizedAspectX: LONG, + pub tmDigitizedAspectY: LONG, + pub tmFirstChar: BYTE, + pub tmLastChar: BYTE, + pub tmDefaultChar: BYTE, + pub tmBreakChar: BYTE, + pub tmItalic: BYTE, + pub tmUnderlined: BYTE, + pub tmStruckOut: BYTE, + pub tmPitchAndFamily: BYTE, + pub tmCharSet: BYTE, + pub ntmFlags: DWORD, + pub ntmSizeEM: UINT, + pub ntmCellHeight: UINT, + pub ntmAvgWidth: UINT, +} +#[test] +fn bindgen_test_layout_tagNEWTEXTMETRICA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagNEWTEXTMETRICA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNEWTEXTMETRICA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAscent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDescent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmInternalLeading) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmInternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmExternalLeading) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmExternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAveCharWidth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmAveCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmMaxCharWidth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmMaxCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmWeight) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmOverhang) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmOverhang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectX) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmDigitizedAspectX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectY) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmDigitizedAspectY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmFirstChar) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmFirstChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmLastChar) as usize - ptr as usize }, + 45usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmLastChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDefaultChar) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmBreakChar) as usize - ptr as usize }, + 47usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmBreakChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmItalic) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmUnderlined) as usize - ptr as usize }, + 49usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmUnderlined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmStruckOut) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmStruckOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmPitchAndFamily) as usize - ptr as usize }, + 51usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmCharSet) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(tmCharSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmFlags) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(ntmFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmSizeEM) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(ntmSizeEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmCellHeight) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(ntmCellHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmAvgWidth) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICA), + "::", + stringify!(ntmAvgWidth) + ) + ); +} +pub type NEWTEXTMETRICA = tagNEWTEXTMETRICA; +pub type PNEWTEXTMETRICA = *mut tagNEWTEXTMETRICA; +pub type NPNEWTEXTMETRICA = *mut tagNEWTEXTMETRICA; +pub type LPNEWTEXTMETRICA = *mut tagNEWTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNEWTEXTMETRICW { + pub tmHeight: LONG, + pub tmAscent: LONG, + pub tmDescent: LONG, + pub tmInternalLeading: LONG, + pub tmExternalLeading: LONG, + pub tmAveCharWidth: LONG, + pub tmMaxCharWidth: LONG, + pub tmWeight: LONG, + pub tmOverhang: LONG, + pub tmDigitizedAspectX: LONG, + pub tmDigitizedAspectY: LONG, + pub tmFirstChar: WCHAR, + pub tmLastChar: WCHAR, + pub tmDefaultChar: WCHAR, + pub tmBreakChar: WCHAR, + pub tmItalic: BYTE, + pub tmUnderlined: BYTE, + pub tmStruckOut: BYTE, + pub tmPitchAndFamily: BYTE, + pub tmCharSet: BYTE, + pub ntmFlags: DWORD, + pub ntmSizeEM: UINT, + pub ntmCellHeight: UINT, + pub ntmAvgWidth: UINT, +} +#[test] +fn bindgen_test_layout_tagNEWTEXTMETRICW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagNEWTEXTMETRICW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNEWTEXTMETRICW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAscent) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDescent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmInternalLeading) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmInternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmExternalLeading) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmExternalLeading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmAveCharWidth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmAveCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmMaxCharWidth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmMaxCharWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmWeight) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmOverhang) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmOverhang) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectX) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmDigitizedAspectX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDigitizedAspectY) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmDigitizedAspectY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmFirstChar) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmFirstChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmLastChar) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmLastChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmDefaultChar) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmBreakChar) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmBreakChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmItalic) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmUnderlined) as usize - ptr as usize }, + 53usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmUnderlined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmStruckOut) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmStruckOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmPitchAndFamily) as usize - ptr as usize }, + 55usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tmCharSet) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(tmCharSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmFlags) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(ntmFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmSizeEM) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(ntmSizeEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmCellHeight) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(ntmCellHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmAvgWidth) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICW), + "::", + stringify!(ntmAvgWidth) + ) + ); +} +pub type NEWTEXTMETRICW = tagNEWTEXTMETRICW; +pub type PNEWTEXTMETRICW = *mut tagNEWTEXTMETRICW; +pub type NPNEWTEXTMETRICW = *mut tagNEWTEXTMETRICW; +pub type LPNEWTEXTMETRICW = *mut tagNEWTEXTMETRICW; +pub type NEWTEXTMETRIC = NEWTEXTMETRICA; +pub type PNEWTEXTMETRIC = PNEWTEXTMETRICA; +pub type NPNEWTEXTMETRIC = NPNEWTEXTMETRICA; +pub type LPNEWTEXTMETRIC = LPNEWTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNEWTEXTMETRICEXA { + pub ntmTm: NEWTEXTMETRICA, + pub ntmFontSig: FONTSIGNATURE, +} +#[test] +fn bindgen_test_layout_tagNEWTEXTMETRICEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagNEWTEXTMETRICEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNEWTEXTMETRICEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmTm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICEXA), + "::", + stringify!(ntmTm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmFontSig) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICEXA), + "::", + stringify!(ntmFontSig) + ) + ); +} +pub type NEWTEXTMETRICEXA = tagNEWTEXTMETRICEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNEWTEXTMETRICEXW { + pub ntmTm: NEWTEXTMETRICW, + pub ntmFontSig: FONTSIGNATURE, +} +#[test] +fn bindgen_test_layout_tagNEWTEXTMETRICEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 100usize, + concat!("Size of: ", stringify!(tagNEWTEXTMETRICEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNEWTEXTMETRICEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmTm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICEXW), + "::", + stringify!(ntmTm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ntmFontSig) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagNEWTEXTMETRICEXW), + "::", + stringify!(ntmFontSig) + ) + ); +} +pub type NEWTEXTMETRICEXW = tagNEWTEXTMETRICEXW; +pub type NEWTEXTMETRICEX = NEWTEXTMETRICEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPELARRAY { + pub paXCount: LONG, + pub paYCount: LONG, + pub paXExt: LONG, + pub paYExt: LONG, + pub paRGBs: BYTE, +} +#[test] +fn bindgen_test_layout_tagPELARRAY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagPELARRAY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPELARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paXCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paXCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paYCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paYCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paXExt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paXExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paYExt) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paYExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paRGBs) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPELARRAY), + "::", + stringify!(paRGBs) + ) + ); +} +pub type PELARRAY = tagPELARRAY; +pub type PPELARRAY = *mut tagPELARRAY; +pub type NPPELARRAY = *mut tagPELARRAY; +pub type LPPELARRAY = *mut tagPELARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGBRUSH { + pub lbStyle: UINT, + pub lbColor: COLORREF, + pub lbHatch: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagLOGBRUSH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagLOGBRUSH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagLOGBRUSH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH), + "::", + stringify!(lbStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbColor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH), + "::", + stringify!(lbColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbHatch) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH), + "::", + stringify!(lbHatch) + ) + ); +} +pub type LOGBRUSH = tagLOGBRUSH; +pub type PLOGBRUSH = *mut tagLOGBRUSH; +pub type NPLOGBRUSH = *mut tagLOGBRUSH; +pub type LPLOGBRUSH = *mut tagLOGBRUSH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGBRUSH32 { + pub lbStyle: UINT, + pub lbColor: COLORREF, + pub lbHatch: ULONG, +} +#[test] +fn bindgen_test_layout_tagLOGBRUSH32() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagLOGBRUSH32)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGBRUSH32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH32), + "::", + stringify!(lbStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbColor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH32), + "::", + stringify!(lbColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lbHatch) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGBRUSH32), + "::", + stringify!(lbHatch) + ) + ); +} +pub type LOGBRUSH32 = tagLOGBRUSH32; +pub type PLOGBRUSH32 = *mut tagLOGBRUSH32; +pub type NPLOGBRUSH32 = *mut tagLOGBRUSH32; +pub type LPLOGBRUSH32 = *mut tagLOGBRUSH32; +pub type PATTERN = LOGBRUSH; +pub type PPATTERN = *mut PATTERN; +pub type NPPATTERN = *mut PATTERN; +pub type LPPATTERN = *mut PATTERN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGPEN { + pub lopnStyle: UINT, + pub lopnWidth: POINT, + pub lopnColor: COLORREF, +} +#[test] +fn bindgen_test_layout_tagLOGPEN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagLOGPEN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGPEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lopnStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPEN), + "::", + stringify!(lopnStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lopnWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPEN), + "::", + stringify!(lopnWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lopnColor) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPEN), + "::", + stringify!(lopnColor) + ) + ); +} +pub type LOGPEN = tagLOGPEN; +pub type PLOGPEN = *mut tagLOGPEN; +pub type NPLOGPEN = *mut tagLOGPEN; +pub type LPLOGPEN = *mut tagLOGPEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXTLOGPEN { + pub elpPenStyle: DWORD, + pub elpWidth: DWORD, + pub elpBrushStyle: UINT, + pub elpColor: COLORREF, + pub elpHatch: ULONG_PTR, + pub elpNumEntries: DWORD, + pub elpStyleEntry: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagEXTLOGPEN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEXTLOGPEN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagEXTLOGPEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpPenStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpPenStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpBrushStyle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpBrushStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpColor) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpHatch) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpHatch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpNumEntries) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpNumEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpStyleEntry) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN), + "::", + stringify!(elpStyleEntry) + ) + ); +} +pub type EXTLOGPEN = tagEXTLOGPEN; +pub type PEXTLOGPEN = *mut tagEXTLOGPEN; +pub type NPEXTLOGPEN = *mut tagEXTLOGPEN; +pub type LPEXTLOGPEN = *mut tagEXTLOGPEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXTLOGPEN32 { + pub elpPenStyle: DWORD, + pub elpWidth: DWORD, + pub elpBrushStyle: UINT, + pub elpColor: COLORREF, + pub elpHatch: ULONG, + pub elpNumEntries: DWORD, + pub elpStyleEntry: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagEXTLOGPEN32() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagEXTLOGPEN32)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEXTLOGPEN32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpPenStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpPenStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpBrushStyle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpBrushStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpColor) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpHatch) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpHatch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpNumEntries) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpNumEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elpStyleEntry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGPEN32), + "::", + stringify!(elpStyleEntry) + ) + ); +} +pub type EXTLOGPEN32 = tagEXTLOGPEN32; +pub type PEXTLOGPEN32 = *mut tagEXTLOGPEN32; +pub type NPEXTLOGPEN32 = *mut tagEXTLOGPEN32; +pub type LPEXTLOGPEN32 = *mut tagEXTLOGPEN32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPALETTEENTRY { + pub peRed: BYTE, + pub peGreen: BYTE, + pub peBlue: BYTE, + pub peFlags: BYTE, +} +#[test] +fn bindgen_test_layout_tagPALETTEENTRY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagPALETTEENTRY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagPALETTEENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peRed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPALETTEENTRY), + "::", + stringify!(peRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peGreen) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagPALETTEENTRY), + "::", + stringify!(peGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peBlue) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPALETTEENTRY), + "::", + stringify!(peBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peFlags) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(tagPALETTEENTRY), + "::", + stringify!(peFlags) + ) + ); +} +pub type PALETTEENTRY = tagPALETTEENTRY; +pub type PPALETTEENTRY = *mut tagPALETTEENTRY; +pub type LPPALETTEENTRY = *mut tagPALETTEENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGPALETTE { + pub palVersion: WORD, + pub palNumEntries: WORD, + pub palPalEntry: [PALETTEENTRY; 1usize], +} +#[test] +fn bindgen_test_layout_tagLOGPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagLOGPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagLOGPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).palVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPALETTE), + "::", + stringify!(palVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).palNumEntries) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPALETTE), + "::", + stringify!(palNumEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).palPalEntry) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGPALETTE), + "::", + stringify!(palPalEntry) + ) + ); +} +pub type LOGPALETTE = tagLOGPALETTE; +pub type PLOGPALETTE = *mut tagLOGPALETTE; +pub type NPLOGPALETTE = *mut tagLOGPALETTE; +pub type LPLOGPALETTE = *mut tagLOGPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGFONTA { + pub lfHeight: LONG, + pub lfWidth: LONG, + pub lfEscapement: LONG, + pub lfOrientation: LONG, + pub lfWeight: LONG, + pub lfItalic: BYTE, + pub lfUnderline: BYTE, + pub lfStrikeOut: BYTE, + pub lfCharSet: BYTE, + pub lfOutPrecision: BYTE, + pub lfClipPrecision: BYTE, + pub lfQuality: BYTE, + pub lfPitchAndFamily: BYTE, + pub lfFaceName: [CHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagLOGFONTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 60usize, + concat!("Size of: ", stringify!(tagLOGFONTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGFONTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfEscapement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfEscapement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfOrientation) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfWeight) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfItalic) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfUnderline) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfUnderline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfStrikeOut) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfStrikeOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfCharSet) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfCharSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfOutPrecision) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfOutPrecision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfClipPrecision) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfClipPrecision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfQuality) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfQuality) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfPitchAndFamily) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfFaceName) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTA), + "::", + stringify!(lfFaceName) + ) + ); +} +pub type LOGFONTA = tagLOGFONTA; +pub type PLOGFONTA = *mut tagLOGFONTA; +pub type NPLOGFONTA = *mut tagLOGFONTA; +pub type LPLOGFONTA = *mut tagLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLOGFONTW { + pub lfHeight: LONG, + pub lfWidth: LONG, + pub lfEscapement: LONG, + pub lfOrientation: LONG, + pub lfWeight: LONG, + pub lfItalic: BYTE, + pub lfUnderline: BYTE, + pub lfStrikeOut: BYTE, + pub lfCharSet: BYTE, + pub lfOutPrecision: BYTE, + pub lfClipPrecision: BYTE, + pub lfQuality: BYTE, + pub lfPitchAndFamily: BYTE, + pub lfFaceName: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagLOGFONTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 92usize, + concat!("Size of: ", stringify!(tagLOGFONTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLOGFONTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfHeight) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfEscapement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfEscapement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfOrientation) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfWeight) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfItalic) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfItalic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfUnderline) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfUnderline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfStrikeOut) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfStrikeOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfCharSet) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfCharSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfOutPrecision) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfOutPrecision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfClipPrecision) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfClipPrecision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfQuality) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfQuality) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfPitchAndFamily) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfPitchAndFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfFaceName) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagLOGFONTW), + "::", + stringify!(lfFaceName) + ) + ); +} +pub type LOGFONTW = tagLOGFONTW; +pub type PLOGFONTW = *mut tagLOGFONTW; +pub type NPLOGFONTW = *mut tagLOGFONTW; +pub type LPLOGFONTW = *mut tagLOGFONTW; +pub type LOGFONT = LOGFONTA; +pub type PLOGFONT = PLOGFONTA; +pub type NPLOGFONT = NPLOGFONTA; +pub type LPLOGFONT = LPLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTA { + pub elfLogFont: LOGFONTA, + pub elfFullName: [BYTE; 64usize], + pub elfStyle: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 156usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTA), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTA), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTA), + "::", + stringify!(elfStyle) + ) + ); +} +pub type ENUMLOGFONTA = tagENUMLOGFONTA; +pub type LPENUMLOGFONTA = *mut tagENUMLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTW { + pub elfLogFont: LOGFONTW, + pub elfFullName: [WCHAR; 64usize], + pub elfStyle: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 284usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTW), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTW), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTW), + "::", + stringify!(elfStyle) + ) + ); +} +pub type ENUMLOGFONTW = tagENUMLOGFONTW; +pub type LPENUMLOGFONTW = *mut tagENUMLOGFONTW; +pub type ENUMLOGFONT = ENUMLOGFONTA; +pub type LPENUMLOGFONT = LPENUMLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTEXA { + pub elfLogFont: LOGFONTA, + pub elfFullName: [BYTE; 64usize], + pub elfStyle: [BYTE; 32usize], + pub elfScript: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 188usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXA), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXA), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXA), + "::", + stringify!(elfStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfScript) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXA), + "::", + stringify!(elfScript) + ) + ); +} +pub type ENUMLOGFONTEXA = tagENUMLOGFONTEXA; +pub type LPENUMLOGFONTEXA = *mut tagENUMLOGFONTEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTEXW { + pub elfLogFont: LOGFONTW, + pub elfFullName: [WCHAR; 64usize], + pub elfStyle: [WCHAR; 32usize], + pub elfScript: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 348usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXW), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXW), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXW), + "::", + stringify!(elfStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfScript) as usize - ptr as usize }, + 284usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXW), + "::", + stringify!(elfScript) + ) + ); +} +pub type ENUMLOGFONTEXW = tagENUMLOGFONTEXW; +pub type LPENUMLOGFONTEXW = *mut tagENUMLOGFONTEXW; +pub type ENUMLOGFONTEX = ENUMLOGFONTEXA; +pub type LPENUMLOGFONTEX = LPENUMLOGFONTEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPANOSE { + pub bFamilyType: BYTE, + pub bSerifStyle: BYTE, + pub bWeight: BYTE, + pub bProportion: BYTE, + pub bContrast: BYTE, + pub bStrokeVariation: BYTE, + pub bArmStyle: BYTE, + pub bLetterform: BYTE, + pub bMidline: BYTE, + pub bXHeight: BYTE, +} +#[test] +fn bindgen_test_layout_tagPANOSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 10usize, + concat!("Size of: ", stringify!(tagPANOSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagPANOSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bFamilyType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bFamilyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSerifStyle) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bSerifStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bWeight) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bProportion) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bProportion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bContrast) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bContrast) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bStrokeVariation) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bStrokeVariation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bArmStyle) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bArmStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bLetterform) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bLetterform) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bMidline) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bMidline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bXHeight) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(tagPANOSE), + "::", + stringify!(bXHeight) + ) + ); +} +pub type PANOSE = tagPANOSE; +pub type LPPANOSE = *mut tagPANOSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXTLOGFONTA { + pub elfLogFont: LOGFONTA, + pub elfFullName: [BYTE; 64usize], + pub elfStyle: [BYTE; 32usize], + pub elfVersion: DWORD, + pub elfStyleSize: DWORD, + pub elfMatch: DWORD, + pub elfReserved: DWORD, + pub elfVendorId: [BYTE; 4usize], + pub elfCulture: DWORD, + pub elfPanose: PANOSE, +} +#[test] +fn bindgen_test_layout_tagEXTLOGFONTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 192usize, + concat!("Size of: ", stringify!(tagEXTLOGFONTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEXTLOGFONTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfVersion) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyleSize) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfStyleSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfMatch) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfMatch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfReserved) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfVendorId) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfCulture) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfCulture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfPanose) as usize - ptr as usize }, + 180usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTA), + "::", + stringify!(elfPanose) + ) + ); +} +pub type EXTLOGFONTA = tagEXTLOGFONTA; +pub type PEXTLOGFONTA = *mut tagEXTLOGFONTA; +pub type NPEXTLOGFONTA = *mut tagEXTLOGFONTA; +pub type LPEXTLOGFONTA = *mut tagEXTLOGFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXTLOGFONTW { + pub elfLogFont: LOGFONTW, + pub elfFullName: [WCHAR; 64usize], + pub elfStyle: [WCHAR; 32usize], + pub elfVersion: DWORD, + pub elfStyleSize: DWORD, + pub elfMatch: DWORD, + pub elfReserved: DWORD, + pub elfVendorId: [BYTE; 4usize], + pub elfCulture: DWORD, + pub elfPanose: PANOSE, +} +#[test] +fn bindgen_test_layout_tagEXTLOGFONTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 320usize, + concat!("Size of: ", stringify!(tagEXTLOGFONTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEXTLOGFONTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfLogFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfFullName) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfFullName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyle) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfVersion) as usize - ptr as usize }, + 284usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfStyleSize) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfStyleSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfMatch) as usize - ptr as usize }, + 292usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfMatch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfReserved) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfVendorId) as usize - ptr as usize }, + 300usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfCulture) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfCulture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfPanose) as usize - ptr as usize }, + 308usize, + concat!( + "Offset of field: ", + stringify!(tagEXTLOGFONTW), + "::", + stringify!(elfPanose) + ) + ); +} +pub type EXTLOGFONTW = tagEXTLOGFONTW; +pub type PEXTLOGFONTW = *mut tagEXTLOGFONTW; +pub type NPEXTLOGFONTW = *mut tagEXTLOGFONTW; +pub type LPEXTLOGFONTW = *mut tagEXTLOGFONTW; +pub type EXTLOGFONT = EXTLOGFONTA; +pub type PEXTLOGFONT = PEXTLOGFONTA; +pub type NPEXTLOGFONT = NPEXTLOGFONTA; +pub type LPEXTLOGFONT = LPEXTLOGFONTA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _devicemodeA { + pub dmDeviceName: [BYTE; 32usize], + pub dmSpecVersion: WORD, + pub dmDriverVersion: WORD, + pub dmSize: WORD, + pub dmDriverExtra: WORD, + pub dmFields: DWORD, + pub __bindgen_anon_1: _devicemodeA__bindgen_ty_1, + pub dmColor: ::std::os::raw::c_short, + pub dmDuplex: ::std::os::raw::c_short, + pub dmYResolution: ::std::os::raw::c_short, + pub dmTTOption: ::std::os::raw::c_short, + pub dmCollate: ::std::os::raw::c_short, + pub dmFormName: [BYTE; 32usize], + pub dmLogPixels: WORD, + pub dmBitsPerPel: DWORD, + pub dmPelsWidth: DWORD, + pub dmPelsHeight: DWORD, + pub __bindgen_anon_2: _devicemodeA__bindgen_ty_2, + pub dmDisplayFrequency: DWORD, + pub dmICMMethod: DWORD, + pub dmICMIntent: DWORD, + pub dmMediaType: DWORD, + pub dmDitherType: DWORD, + pub dmReserved1: DWORD, + pub dmReserved2: DWORD, + pub dmPanningWidth: DWORD, + pub dmPanningHeight: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _devicemodeA__bindgen_ty_1 { + pub __bindgen_anon_1: _devicemodeA__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: _devicemodeA__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _devicemodeA__bindgen_ty_1__bindgen_ty_1 { + pub dmOrientation: ::std::os::raw::c_short, + pub dmPaperSize: ::std::os::raw::c_short, + pub dmPaperLength: ::std::os::raw::c_short, + pub dmPaperWidth: ::std::os::raw::c_short, + pub dmScale: ::std::os::raw::c_short, + pub dmCopies: ::std::os::raw::c_short, + pub dmDefaultSource: ::std::os::raw::c_short, + pub dmPrintQuality: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__devicemodeA__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeA__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmOrientation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperWidth) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmScale) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmCopies) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDefaultSource) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmDefaultSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPrintQuality) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPrintQuality) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _devicemodeA__bindgen_ty_1__bindgen_ty_2 { + pub dmPosition: POINTL, + pub dmDisplayOrientation: DWORD, + pub dmDisplayFixedOutput: DWORD, +} +#[test] +fn bindgen_test_layout__devicemodeA__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeA__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeA__bindgen_ty_1__bindgen_ty_2>(), + 16usize, + concat!( + "Size of: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayOrientation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmDisplayOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFixedOutput) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmDisplayFixedOutput) + ) + ); +} +#[test] +fn bindgen_test_layout__devicemodeA__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_devicemodeA__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_devicemodeA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeA__bindgen_ty_1)) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _devicemodeA__bindgen_ty_2 { + pub dmDisplayFlags: DWORD, + pub dmNup: DWORD, +} +#[test] +fn bindgen_test_layout__devicemodeA__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeA__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeA__bindgen_ty_2>(), + 4usize, + concat!("Size of: ", stringify!(_devicemodeA__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeA__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_2), + "::", + stringify!(dmDisplayFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmNup) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA__bindgen_ty_2), + "::", + stringify!(dmNup) + ) + ); +} +#[test] +fn bindgen_test_layout__devicemodeA() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeA>(), + 156usize, + concat!("Size of: ", stringify!(_devicemodeA)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeA>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDeviceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmSpecVersion) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmSpecVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDriverVersion) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDriverExtra) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDriverExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmFields) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmFields) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmColor) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDuplex) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDuplex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmYResolution) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmYResolution) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmTTOption) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmTTOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmCollate) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmCollate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmFormName) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmFormName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmLogPixels) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmLogPixels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmBitsPerPel) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmBitsPerPel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPelsWidth) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmPelsWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPelsHeight) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmPelsHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFrequency) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDisplayFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmICMMethod) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmICMMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmICMIntent) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmICMIntent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmMediaType) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmMediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDitherType) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmDitherType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmReserved1) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmReserved2) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPanningWidth) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmPanningWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPanningHeight) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeA), + "::", + stringify!(dmPanningHeight) + ) + ); +} +pub type DEVMODEA = _devicemodeA; +pub type PDEVMODEA = *mut _devicemodeA; +pub type NPDEVMODEA = *mut _devicemodeA; +pub type LPDEVMODEA = *mut _devicemodeA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _devicemodeW { + pub dmDeviceName: [WCHAR; 32usize], + pub dmSpecVersion: WORD, + pub dmDriverVersion: WORD, + pub dmSize: WORD, + pub dmDriverExtra: WORD, + pub dmFields: DWORD, + pub __bindgen_anon_1: _devicemodeW__bindgen_ty_1, + pub dmColor: ::std::os::raw::c_short, + pub dmDuplex: ::std::os::raw::c_short, + pub dmYResolution: ::std::os::raw::c_short, + pub dmTTOption: ::std::os::raw::c_short, + pub dmCollate: ::std::os::raw::c_short, + pub dmFormName: [WCHAR; 32usize], + pub dmLogPixels: WORD, + pub dmBitsPerPel: DWORD, + pub dmPelsWidth: DWORD, + pub dmPelsHeight: DWORD, + pub __bindgen_anon_2: _devicemodeW__bindgen_ty_2, + pub dmDisplayFrequency: DWORD, + pub dmICMMethod: DWORD, + pub dmICMIntent: DWORD, + pub dmMediaType: DWORD, + pub dmDitherType: DWORD, + pub dmReserved1: DWORD, + pub dmReserved2: DWORD, + pub dmPanningWidth: DWORD, + pub dmPanningHeight: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _devicemodeW__bindgen_ty_1 { + pub __bindgen_anon_1: _devicemodeW__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: _devicemodeW__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _devicemodeW__bindgen_ty_1__bindgen_ty_1 { + pub dmOrientation: ::std::os::raw::c_short, + pub dmPaperSize: ::std::os::raw::c_short, + pub dmPaperLength: ::std::os::raw::c_short, + pub dmPaperWidth: ::std::os::raw::c_short, + pub dmScale: ::std::os::raw::c_short, + pub dmCopies: ::std::os::raw::c_short, + pub dmDefaultSource: ::std::os::raw::c_short, + pub dmPrintQuality: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__devicemodeW__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeW__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmOrientation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperSize) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPaperWidth) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPaperWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmScale) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmCopies) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDefaultSource) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmDefaultSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPrintQuality) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dmPrintQuality) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _devicemodeW__bindgen_ty_1__bindgen_ty_2 { + pub dmPosition: POINTL, + pub dmDisplayOrientation: DWORD, + pub dmDisplayFixedOutput: DWORD, +} +#[test] +fn bindgen_test_layout__devicemodeW__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeW__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeW__bindgen_ty_1__bindgen_ty_2>(), + 16usize, + concat!( + "Size of: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayOrientation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmDisplayOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFixedOutput) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dmDisplayFixedOutput) + ) + ); +} +#[test] +fn bindgen_test_layout__devicemodeW__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_devicemodeW__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_devicemodeW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeW__bindgen_ty_1)) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _devicemodeW__bindgen_ty_2 { + pub dmDisplayFlags: DWORD, + pub dmNup: DWORD, +} +#[test] +fn bindgen_test_layout__devicemodeW__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeW__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeW__bindgen_ty_2>(), + 4usize, + concat!("Size of: ", stringify!(_devicemodeW__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW__bindgen_ty_2>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeW__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_2), + "::", + stringify!(dmDisplayFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmNup) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW__bindgen_ty_2), + "::", + stringify!(dmNup) + ) + ); +} +#[test] +fn bindgen_test_layout__devicemodeW() { + const UNINIT: ::std::mem::MaybeUninit<_devicemodeW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_devicemodeW>(), + 220usize, + concat!("Size of: ", stringify!(_devicemodeW)) + ); + assert_eq!( + ::std::mem::align_of::<_devicemodeW>(), + 4usize, + concat!("Alignment of ", stringify!(_devicemodeW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDeviceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmSpecVersion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmSpecVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDriverVersion) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmSize) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDriverExtra) as usize - ptr as usize }, + 70usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDriverExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmFields) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmFields) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmColor) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDuplex) as usize - ptr as usize }, + 94usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDuplex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmYResolution) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmYResolution) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmTTOption) as usize - ptr as usize }, + 98usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmTTOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmCollate) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmCollate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmFormName) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmFormName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmLogPixels) as usize - ptr as usize }, + 166usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmLogPixels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmBitsPerPel) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmBitsPerPel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPelsWidth) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmPelsWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPelsHeight) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmPelsHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDisplayFrequency) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDisplayFrequency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmICMMethod) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmICMMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmICMIntent) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmICMIntent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmMediaType) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmMediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmDitherType) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmDitherType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmReserved1) as usize - ptr as usize }, + 204usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmReserved2) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPanningWidth) as usize - ptr as usize }, + 212usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmPanningWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmPanningHeight) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_devicemodeW), + "::", + stringify!(dmPanningHeight) + ) + ); +} +pub type DEVMODEW = _devicemodeW; +pub type PDEVMODEW = *mut _devicemodeW; +pub type NPDEVMODEW = *mut _devicemodeW; +pub type LPDEVMODEW = *mut _devicemodeW; +pub type DEVMODE = DEVMODEA; +pub type PDEVMODE = PDEVMODEA; +pub type NPDEVMODE = NPDEVMODEA; +pub type LPDEVMODE = LPDEVMODEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAY_DEVICEA { + pub cb: DWORD, + pub DeviceName: [CHAR; 32usize], + pub DeviceString: [CHAR; 128usize], + pub StateFlags: DWORD, + pub DeviceID: [CHAR; 128usize], + pub DeviceKey: [CHAR; 128usize], +} +#[test] +fn bindgen_test_layout__DISPLAY_DEVICEA() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAY_DEVICEA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAY_DEVICEA>(), + 424usize, + concat!("Size of: ", stringify!(_DISPLAY_DEVICEA)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAY_DEVICEA>(), + 4usize, + concat!("Alignment of ", stringify!(_DISPLAY_DEVICEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(DeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceString) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(DeviceString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateFlags) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(StateFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceID) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(DeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceKey) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEA), + "::", + stringify!(DeviceKey) + ) + ); +} +pub type DISPLAY_DEVICEA = _DISPLAY_DEVICEA; +pub type PDISPLAY_DEVICEA = *mut _DISPLAY_DEVICEA; +pub type LPDISPLAY_DEVICEA = *mut _DISPLAY_DEVICEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAY_DEVICEW { + pub cb: DWORD, + pub DeviceName: [WCHAR; 32usize], + pub DeviceString: [WCHAR; 128usize], + pub StateFlags: DWORD, + pub DeviceID: [WCHAR; 128usize], + pub DeviceKey: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout__DISPLAY_DEVICEW() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAY_DEVICEW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAY_DEVICEW>(), + 840usize, + concat!("Size of: ", stringify!(_DISPLAY_DEVICEW)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAY_DEVICEW>(), + 4usize, + concat!("Alignment of ", stringify!(_DISPLAY_DEVICEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(DeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceString) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(DeviceString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StateFlags) as usize - ptr as usize }, + 324usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(StateFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceID) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(DeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceKey) as usize - ptr as usize }, + 584usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAY_DEVICEW), + "::", + stringify!(DeviceKey) + ) + ); +} +pub type DISPLAY_DEVICEW = _DISPLAY_DEVICEW; +pub type PDISPLAY_DEVICEW = *mut _DISPLAY_DEVICEW; +pub type LPDISPLAY_DEVICEW = *mut _DISPLAY_DEVICEW; +pub type DISPLAY_DEVICE = DISPLAY_DEVICEA; +pub type PDISPLAY_DEVICE = PDISPLAY_DEVICEA; +pub type LPDISPLAY_DEVICE = LPDISPLAY_DEVICEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_RATIONAL { + pub Numerator: UINT32, + pub Denominator: UINT32, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_RATIONAL() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_RATIONAL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_RATIONAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Numerator) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_RATIONAL), + "::", + stringify!(Numerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Denominator) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_RATIONAL), + "::", + stringify!(Denominator) + ) + ); +} +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = -1; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 0; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 1; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 2; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 3; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 4; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 5; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 6; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 8; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 9; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 10 ; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED : DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 11 ; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 12; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 13; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 14; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 15; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 16; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = 17; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = -2147483648; +pub const DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY_DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32: + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = -1; +pub type DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED: + DISPLAYCONFIG_SCANLINE_ORDERING = 0; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE: + DISPLAYCONFIG_SCANLINE_ORDERING = 1; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED: + DISPLAYCONFIG_SCANLINE_ORDERING = 2; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST : DISPLAYCONFIG_SCANLINE_ORDERING = 2 ; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST : DISPLAYCONFIG_SCANLINE_ORDERING = 3 ; +pub const DISPLAYCONFIG_SCANLINE_ORDERING_DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32: + DISPLAYCONFIG_SCANLINE_ORDERING = -1; +pub type DISPLAYCONFIG_SCANLINE_ORDERING = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_2DREGION { + pub cx: UINT32, + pub cy: UINT32, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_2DREGION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_2DREGION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_2DREGION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_2DREGION), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_2DREGION), + "::", + stringify!(cy) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO { + pub pixelRate: UINT64, + pub hSyncFreq: DISPLAYCONFIG_RATIONAL, + pub vSyncFreq: DISPLAYCONFIG_RATIONAL, + pub activeSize: DISPLAYCONFIG_2DREGION, + pub totalSize: DISPLAYCONFIG_2DREGION, + pub __bindgen_anon_1: DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1, + pub scanLineOrdering: DISPLAYCONFIG_SCANLINE_ORDERING, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1 { + pub AdditionalSignalInfo: DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1, + pub videoStandard: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn videoStandard(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_videoStandard(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn vSyncFreqDivider(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 6u8) as u32) } + } + #[inline] + pub fn set_vSyncFreqDivider(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 6u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 10u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(22usize, 10u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + videoStandard: UINT32, + vSyncFreqDivider: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let videoStandard: u32 = unsafe { ::std::mem::transmute(videoStandard) }; + videoStandard as u64 + }); + __bindgen_bitfield_unit.set(16usize, 6u8, { + let vSyncFreqDivider: u32 = unsafe { ::std::mem::transmute(vSyncFreqDivider) }; + vSyncFreqDivider as u64 + }); + __bindgen_bitfield_unit.set(22usize, 10u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSignalInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1), + "::", + stringify!(AdditionalSignalInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).videoStandard) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO__bindgen_ty_1), + "::", + stringify!(videoStandard) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_VIDEO_SIGNAL_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pixelRate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(pixelRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSyncFreq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(hSyncFreq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vSyncFreq) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(vSyncFreq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).activeSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(activeSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).totalSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(totalSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scanLineOrdering) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_VIDEO_SIGNAL_INFO), + "::", + stringify!(scanLineOrdering) + ) + ); +} +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_IDENTITY: DISPLAYCONFIG_SCALING = 1; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_CENTERED: DISPLAYCONFIG_SCALING = 2; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_STRETCHED: DISPLAYCONFIG_SCALING = 3; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX: + DISPLAYCONFIG_SCALING = 4; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_CUSTOM: DISPLAYCONFIG_SCALING = 5; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_PREFERRED: DISPLAYCONFIG_SCALING = 128; +pub const DISPLAYCONFIG_SCALING_DISPLAYCONFIG_SCALING_FORCE_UINT32: DISPLAYCONFIG_SCALING = -1; +pub type DISPLAYCONFIG_SCALING = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_IDENTITY: DISPLAYCONFIG_ROTATION = 1; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_ROTATE90: DISPLAYCONFIG_ROTATION = 2; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_ROTATE180: DISPLAYCONFIG_ROTATION = 3; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_ROTATE270: DISPLAYCONFIG_ROTATION = 4; +pub const DISPLAYCONFIG_ROTATION_DISPLAYCONFIG_ROTATION_FORCE_UINT32: DISPLAYCONFIG_ROTATION = -1; +pub type DISPLAYCONFIG_ROTATION = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_MODE_INFO_TYPE_DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE: + DISPLAYCONFIG_MODE_INFO_TYPE = 1; +pub const DISPLAYCONFIG_MODE_INFO_TYPE_DISPLAYCONFIG_MODE_INFO_TYPE_TARGET: + DISPLAYCONFIG_MODE_INFO_TYPE = 2; +pub const DISPLAYCONFIG_MODE_INFO_TYPE_DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE: + DISPLAYCONFIG_MODE_INFO_TYPE = 3; +pub const DISPLAYCONFIG_MODE_INFO_TYPE_DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32: + DISPLAYCONFIG_MODE_INFO_TYPE = -1; +pub type DISPLAYCONFIG_MODE_INFO_TYPE = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_8BPP: DISPLAYCONFIG_PIXELFORMAT = 1; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_16BPP: DISPLAYCONFIG_PIXELFORMAT = 2; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_24BPP: DISPLAYCONFIG_PIXELFORMAT = 3; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_32BPP: DISPLAYCONFIG_PIXELFORMAT = 4; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_NONGDI: DISPLAYCONFIG_PIXELFORMAT = 5; +pub const DISPLAYCONFIG_PIXELFORMAT_DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32: + DISPLAYCONFIG_PIXELFORMAT = -1; +pub type DISPLAYCONFIG_PIXELFORMAT = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_SOURCE_MODE { + pub width: UINT32, + pub height: UINT32, + pub pixelFormat: DISPLAYCONFIG_PIXELFORMAT, + pub position: POINTL, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SOURCE_MODE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_SOURCE_MODE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_SOURCE_MODE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_MODE), + "::", + stringify!(width) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_MODE), + "::", + stringify!(height) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pixelFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_MODE), + "::", + stringify!(pixelFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).position) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_MODE), + "::", + stringify!(position) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_MODE { + pub targetVideoSignalInfo: DISPLAYCONFIG_VIDEO_SIGNAL_INFO, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_MODE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_TARGET_MODE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_TARGET_MODE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetVideoSignalInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_MODE), + "::", + stringify!(targetVideoSignalInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO { + pub PathSourceSize: POINTL, + pub DesktopImageRegion: RECTL, + pub DesktopImageClip: RECTL, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_DESKTOP_IMAGE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathSourceSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO), + "::", + stringify!(PathSourceSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesktopImageRegion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO), + "::", + stringify!(DesktopImageRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesktopImageClip) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DESKTOP_IMAGE_INFO), + "::", + stringify!(DesktopImageClip) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_MODE_INFO { + pub infoType: DISPLAYCONFIG_MODE_INFO_TYPE, + pub id: UINT32, + pub adapterId: LUID, + pub __bindgen_anon_1: DISPLAYCONFIG_MODE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_MODE_INFO__bindgen_ty_1 { + pub targetMode: DISPLAYCONFIG_TARGET_MODE, + pub sourceMode: DISPLAYCONFIG_SOURCE_MODE, + pub desktopImageInfo: DISPLAYCONFIG_DESKTOP_IMAGE_INFO, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_MODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1), + "::", + stringify!(targetMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sourceMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1), + "::", + stringify!(sourceMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).desktopImageInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO__bindgen_ty_1), + "::", + stringify!(desktopImageInfo) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_MODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_MODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_MODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).infoType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO), + "::", + stringify!(infoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_MODE_INFO), + "::", + stringify!(adapterId) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_SOURCE_INFO { + pub adapterId: LUID, + pub id: UINT32, + pub __bindgen_anon_1: DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1, + pub statusFlags: UINT32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1 { + pub modeInfoIdx: UINT32, + pub __bindgen_anon_1: DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn cloneGroupId(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_cloneGroupId(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn sourceModeInfoIdx(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_sourceModeInfoIdx(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + cloneGroupId: UINT32, + sourceModeInfoIdx: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let cloneGroupId: u32 = unsafe { ::std::mem::transmute(cloneGroupId) }; + cloneGroupId as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let sourceModeInfoIdx: u32 = unsafe { ::std::mem::transmute(sourceModeInfoIdx) }; + sourceModeInfoIdx as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).modeInfoIdx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO__bindgen_ty_1), + "::", + stringify!(modeInfoIdx) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_SOURCE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO), + "::", + stringify!(adapterId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).statusFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_SOURCE_INFO), + "::", + stringify!(statusFlags) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_TARGET_INFO { + pub adapterId: LUID, + pub id: UINT32, + pub __bindgen_anon_1: DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1, + pub outputTechnology: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, + pub rotation: DISPLAYCONFIG_ROTATION, + pub scaling: DISPLAYCONFIG_SCALING, + pub refreshRate: DISPLAYCONFIG_RATIONAL, + pub scanLineOrdering: DISPLAYCONFIG_SCANLINE_ORDERING, + pub targetAvailable: BOOL, + pub statusFlags: UINT32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1 { + pub modeInfoIdx: UINT32, + pub __bindgen_anon_1: DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn desktopModeInfoIdx(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) } + } + #[inline] + pub fn set_desktopModeInfoIdx(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 16u8, val as u64) + } + } + #[inline] + pub fn targetModeInfoIdx(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_targetModeInfoIdx(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + desktopModeInfoIdx: UINT32, + targetModeInfoIdx: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 16u8, { + let desktopModeInfoIdx: u32 = unsafe { ::std::mem::transmute(desktopModeInfoIdx) }; + desktopModeInfoIdx as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let targetModeInfoIdx: u32 = unsafe { ::std::mem::transmute(targetModeInfoIdx) }; + targetModeInfoIdx as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).modeInfoIdx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO__bindgen_ty_1), + "::", + stringify!(modeInfoIdx) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_TARGET_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_PATH_TARGET_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(adapterId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).outputTechnology) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(outputTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rotation) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(rotation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scaling) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(scaling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).refreshRate) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(refreshRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scanLineOrdering) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(scanLineOrdering) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetAvailable) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(targetAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).statusFlags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_TARGET_INFO), + "::", + stringify!(statusFlags) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_PATH_INFO { + pub sourceInfo: DISPLAYCONFIG_PATH_SOURCE_INFO, + pub targetInfo: DISPLAYCONFIG_PATH_TARGET_INFO, + pub flags: UINT32, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_PATH_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_PATH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_PATH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sourceInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_INFO), + "::", + stringify!(sourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetInfo) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_INFO), + "::", + stringify!(targetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_PATH_INFO), + "::", + stringify!(flags) + ) + ); +} +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_INTERNAL: DISPLAYCONFIG_TOPOLOGY_ID = 1; +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_CLONE: DISPLAYCONFIG_TOPOLOGY_ID = 2; +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_EXTEND: DISPLAYCONFIG_TOPOLOGY_ID = 4; +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_EXTERNAL: DISPLAYCONFIG_TOPOLOGY_ID = 8; +pub const DISPLAYCONFIG_TOPOLOGY_ID_DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32: DISPLAYCONFIG_TOPOLOGY_ID = + -1; +pub type DISPLAYCONFIG_TOPOLOGY_ID = ::std::os::raw::c_int; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 1; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 2; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 3; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 4; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 5; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 6; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION : DISPLAYCONFIG_DEVICE_INFO_TYPE = 7 ; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION : DISPLAYCONFIG_DEVICE_INFO_TYPE = 8 ; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 9; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 10; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL: + DISPLAYCONFIG_DEVICE_INFO_TYPE = 11; +pub const DISPLAYCONFIG_DEVICE_INFO_TYPE_DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32: + DISPLAYCONFIG_DEVICE_INFO_TYPE = -1; +pub type DISPLAYCONFIG_DEVICE_INFO_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_DEVICE_INFO_HEADER { + pub type_: DISPLAYCONFIG_DEVICE_INFO_TYPE, + pub size: UINT32, + pub adapterId: LUID, + pub id: UINT32, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_DEVICE_INFO_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), + "::", + stringify!(size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), + "::", + stringify!(adapterId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_DEVICE_INFO_HEADER), + "::", + stringify!(id) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_SOURCE_DEVICE_NAME { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub viewGdiDeviceName: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SOURCE_DEVICE_NAME() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 84usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_SOURCE_DEVICE_NAME)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SOURCE_DEVICE_NAME) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_DEVICE_NAME), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).viewGdiDeviceName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SOURCE_DEVICE_NAME), + "::", + stringify!(viewGdiDeviceName) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS { + pub __bindgen_anon_1: DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1 { + pub __bindgen_anon_1: DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn friendlyNameFromEdid(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_friendlyNameFromEdid(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn friendlyNameForced(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_friendlyNameForced(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn edidIdsValid(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_edidIdsValid(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 29u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 29u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + friendlyNameFromEdid: UINT32, + friendlyNameForced: UINT32, + edidIdsValid: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let friendlyNameFromEdid: u32 = unsafe { ::std::mem::transmute(friendlyNameFromEdid) }; + friendlyNameFromEdid as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let friendlyNameForced: u32 = unsafe { ::std::mem::transmute(friendlyNameForced) }; + friendlyNameForced as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let edidIdsValid: u32 = unsafe { ::std::mem::transmute(edidIdsValid) }; + edidIdsValid as u64 + }); + __bindgen_bitfield_unit.set(3usize, 29u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_DEVICE_NAME { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub flags: DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS, + pub outputTechnology: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, + pub edidManufactureId: UINT16, + pub edidProductCodeId: UINT16, + pub connectorInstance: UINT32, + pub monitorFriendlyDeviceName: [WCHAR; 64usize], + pub monitorDevicePath: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_DEVICE_NAME() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 420usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).outputTechnology) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(outputTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).edidManufactureId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(edidManufactureId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).edidProductCodeId) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(edidProductCodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).connectorInstance) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(connectorInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).monitorFriendlyDeviceName) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(monitorFriendlyDeviceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).monitorDevicePath) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_DEVICE_NAME), + "::", + stringify!(monitorDevicePath) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_PREFERRED_MODE { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub width: UINT32, + pub height: UINT32, + pub targetMode: DISPLAYCONFIG_TARGET_MODE, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_PREFERRED_MODE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), + "::", + stringify!(width) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), + "::", + stringify!(height) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).targetMode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_PREFERRED_MODE), + "::", + stringify!(targetMode) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_ADAPTER_NAME { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub adapterDevicePath: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_ADAPTER_NAME() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 276usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_ADAPTER_NAME)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_ADAPTER_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_ADAPTER_NAME), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapterDevicePath) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_ADAPTER_NAME), + "::", + stringify!(adapterDevicePath) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_TARGET_BASE_TYPE { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub baseOutputTechnology: DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_TARGET_BASE_TYPE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(DISPLAYCONFIG_TARGET_BASE_TYPE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(DISPLAYCONFIG_TARGET_BASE_TYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_BASE_TYPE), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).baseOutputTechnology) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_TARGET_BASE_TYPE), + "::", + stringify!(baseOutputTechnology) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1 { + pub __bindgen_anon_1: DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn bootPersistenceOn(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_bootPersistenceOn(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + bootPersistenceOn: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let bootPersistenceOn: u32 = unsafe { ::std::mem::transmute(bootPersistenceOn) }; + bootPersistenceOn as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SET_TARGET_PERSISTENCE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SET_TARGET_PERSISTENCE), + "::", + stringify!(header) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1 { + pub __bindgen_anon_1: DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::( + ), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn disableMonitorVirtualResolution(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_disableMonitorVirtualResolution(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + disableMonitorVirtualResolution: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let disableMonitorVirtualResolution: u32 = + unsafe { ::std::mem::transmute(disableMonitorVirtualResolution) }; + disableMonitorVirtualResolution as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout_DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION), + "::", + stringify!(header) + ) + ); +} +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_RGB: + _DISPLAYCONFIG_COLOR_ENCODING = 0; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_YCBCR444: + _DISPLAYCONFIG_COLOR_ENCODING = 1; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_YCBCR422: + _DISPLAYCONFIG_COLOR_ENCODING = 2; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_YCBCR420: + _DISPLAYCONFIG_COLOR_ENCODING = 3; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_INTENSITY: + _DISPLAYCONFIG_COLOR_ENCODING = 4; +pub const _DISPLAYCONFIG_COLOR_ENCODING_DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32: + _DISPLAYCONFIG_COLOR_ENCODING = -1; +pub type _DISPLAYCONFIG_COLOR_ENCODING = ::std::os::raw::c_int; +pub use self::_DISPLAYCONFIG_COLOR_ENCODING as DISPLAYCONFIG_COLOR_ENCODING; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1, + pub colorEncoding: DISPLAYCONFIG_COLOR_ENCODING, + pub bitsPerColorChannel: UINT32, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1 { + pub __bindgen_anon_1: _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn advancedColorSupported(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_advancedColorSupported(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn advancedColorEnabled(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_advancedColorEnabled(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn wideColorEnforced(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_wideColorEnforced(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn advancedColorForceDisabled(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_advancedColorForceDisabled(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 28u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 28u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + advancedColorSupported: UINT32, + advancedColorEnabled: UINT32, + wideColorEnforced: UINT32, + advancedColorForceDisabled: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let advancedColorSupported: u32 = + unsafe { ::std::mem::transmute(advancedColorSupported) }; + advancedColorSupported as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let advancedColorEnabled: u32 = unsafe { ::std::mem::transmute(advancedColorEnabled) }; + advancedColorEnabled as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let wideColorEnforced: u32 = unsafe { ::std::mem::transmute(wideColorEnforced) }; + wideColorEnforced as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let advancedColorForceDisabled: u32 = + unsafe { ::std::mem::transmute(advancedColorForceDisabled) }; + advancedColorForceDisabled as u64 + }); + __bindgen_bitfield_unit.set(4usize, 28u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).colorEncoding) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO), + "::", + stringify!(colorEncoding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitsPerColorChannel) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO), + "::", + stringify!(bitsPerColorChannel) + ) + ); +} +pub type DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO = _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub __bindgen_anon_1: _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1 { + pub __bindgen_anon_1: _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1, + pub value: UINT32, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1>( + ), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn enableAdvancedColor(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_enableAdvancedColor(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> UINT32 { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_reserved(&mut self, val: UINT32) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + enableAdvancedColor: UINT32, + reserved: UINT32, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let enableAdvancedColor: u32 = unsafe { ::std::mem::transmute(enableAdvancedColor) }; + enableAdvancedColor as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let reserved: u32 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE__bindgen_ty_1), + "::", + stringify!(value) + ) + ); +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE>(), + 24usize, + concat!( + "Size of: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE), + "::", + stringify!(header) + ) + ); +} +pub type DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE = _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISPLAYCONFIG_SDR_WHITE_LEVEL { + pub header: DISPLAYCONFIG_DEVICE_INFO_HEADER, + pub SDRWhiteLevel: ULONG, +} +#[test] +fn bindgen_test_layout__DISPLAYCONFIG_SDR_WHITE_LEVEL() { + const UNINIT: ::std::mem::MaybeUninit<_DISPLAYCONFIG_SDR_WHITE_LEVEL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISPLAYCONFIG_SDR_WHITE_LEVEL>(), + 24usize, + concat!("Size of: ", stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL)) + ); + assert_eq!( + ::std::mem::align_of::<_DISPLAYCONFIG_SDR_WHITE_LEVEL>(), + 4usize, + concat!("Alignment of ", stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SDRWhiteLevel) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DISPLAYCONFIG_SDR_WHITE_LEVEL), + "::", + stringify!(SDRWhiteLevel) + ) + ); +} +pub type DISPLAYCONFIG_SDR_WHITE_LEVEL = _DISPLAYCONFIG_SDR_WHITE_LEVEL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RGNDATAHEADER { + pub dwSize: DWORD, + pub iType: DWORD, + pub nCount: DWORD, + pub nRgnSize: DWORD, + pub rcBound: RECT, +} +#[test] +fn bindgen_test_layout__RGNDATAHEADER() { + const UNINIT: ::std::mem::MaybeUninit<_RGNDATAHEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RGNDATAHEADER>(), + 32usize, + concat!("Size of: ", stringify!(_RGNDATAHEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_RGNDATAHEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_RGNDATAHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(iType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(nCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nRgnSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(nRgnSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcBound) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATAHEADER), + "::", + stringify!(rcBound) + ) + ); +} +pub type RGNDATAHEADER = _RGNDATAHEADER; +pub type PRGNDATAHEADER = *mut _RGNDATAHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RGNDATA { + pub rdh: RGNDATAHEADER, + pub Buffer: [::std::os::raw::c_char; 1usize], +} +#[test] +fn bindgen_test_layout__RGNDATA() { + const UNINIT: ::std::mem::MaybeUninit<_RGNDATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RGNDATA>(), + 36usize, + concat!("Size of: ", stringify!(_RGNDATA)) + ); + assert_eq!( + ::std::mem::align_of::<_RGNDATA>(), + 4usize, + concat!("Alignment of ", stringify!(_RGNDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rdh) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATA), + "::", + stringify!(rdh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RGNDATA), + "::", + stringify!(Buffer) + ) + ); +} +pub type RGNDATA = _RGNDATA; +pub type PRGNDATA = *mut _RGNDATA; +pub type NPRGNDATA = *mut _RGNDATA; +pub type LPRGNDATA = *mut _RGNDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ABC { + pub abcA: ::std::os::raw::c_int, + pub abcB: UINT, + pub abcC: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__ABC() { + const UNINIT: ::std::mem::MaybeUninit<_ABC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ABC>(), + 12usize, + concat!("Size of: ", stringify!(_ABC)) + ); + assert_eq!( + ::std::mem::align_of::<_ABC>(), + 4usize, + concat!("Alignment of ", stringify!(_ABC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ABC), + "::", + stringify!(abcA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcB) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ABC), + "::", + stringify!(abcB) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcC) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ABC), + "::", + stringify!(abcC) + ) + ); +} +pub type ABC = _ABC; +pub type PABC = *mut _ABC; +pub type NPABC = *mut _ABC; +pub type LPABC = *mut _ABC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ABCFLOAT { + pub abcfA: FLOAT, + pub abcfB: FLOAT, + pub abcfC: FLOAT, +} +#[test] +fn bindgen_test_layout__ABCFLOAT() { + const UNINIT: ::std::mem::MaybeUninit<_ABCFLOAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ABCFLOAT>(), + 12usize, + concat!("Size of: ", stringify!(_ABCFLOAT)) + ); + assert_eq!( + ::std::mem::align_of::<_ABCFLOAT>(), + 4usize, + concat!("Alignment of ", stringify!(_ABCFLOAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcfA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ABCFLOAT), + "::", + stringify!(abcfA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcfB) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ABCFLOAT), + "::", + stringify!(abcfB) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abcfC) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ABCFLOAT), + "::", + stringify!(abcfC) + ) + ); +} +pub type ABCFLOAT = _ABCFLOAT; +pub type PABCFLOAT = *mut _ABCFLOAT; +pub type NPABCFLOAT = *mut _ABCFLOAT; +pub type LPABCFLOAT = *mut _ABCFLOAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OUTLINETEXTMETRICA { + pub otmSize: UINT, + pub otmTextMetrics: TEXTMETRICA, + pub otmFiller: BYTE, + pub otmPanoseNumber: PANOSE, + pub otmfsSelection: UINT, + pub otmfsType: UINT, + pub otmsCharSlopeRise: ::std::os::raw::c_int, + pub otmsCharSlopeRun: ::std::os::raw::c_int, + pub otmItalicAngle: ::std::os::raw::c_int, + pub otmEMSquare: UINT, + pub otmAscent: ::std::os::raw::c_int, + pub otmDescent: ::std::os::raw::c_int, + pub otmLineGap: UINT, + pub otmsCapEmHeight: UINT, + pub otmsXHeight: UINT, + pub otmrcFontBox: RECT, + pub otmMacAscent: ::std::os::raw::c_int, + pub otmMacDescent: ::std::os::raw::c_int, + pub otmMacLineGap: UINT, + pub otmusMinimumPPEM: UINT, + pub otmptSubscriptSize: POINT, + pub otmptSubscriptOffset: POINT, + pub otmptSuperscriptSize: POINT, + pub otmptSuperscriptOffset: POINT, + pub otmsStrikeoutSize: UINT, + pub otmsStrikeoutPosition: ::std::os::raw::c_int, + pub otmsUnderscoreSize: ::std::os::raw::c_int, + pub otmsUnderscorePosition: ::std::os::raw::c_int, + pub otmpFamilyName: PSTR, + pub otmpFaceName: PSTR, + pub otmpStyleName: PSTR, + pub otmpFullName: PSTR, +} +#[test] +fn bindgen_test_layout__OUTLINETEXTMETRICA() { + const UNINIT: ::std::mem::MaybeUninit<_OUTLINETEXTMETRICA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OUTLINETEXTMETRICA>(), + 232usize, + concat!("Size of: ", stringify!(_OUTLINETEXTMETRICA)) + ); + assert_eq!( + ::std::mem::align_of::<_OUTLINETEXTMETRICA>(), + 8usize, + concat!("Alignment of ", stringify!(_OUTLINETEXTMETRICA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmTextMetrics) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmTextMetrics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmFiller) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmFiller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmPanoseNumber) as usize - ptr as usize }, + 61usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmPanoseNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmfsSelection) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmfsSelection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmfsType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmfsType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCharSlopeRise) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsCharSlopeRise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCharSlopeRun) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsCharSlopeRun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmItalicAngle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmItalicAngle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmEMSquare) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmEMSquare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmAscent) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmDescent) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmLineGap) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmLineGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCapEmHeight) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsCapEmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsXHeight) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsXHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmrcFontBox) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmrcFontBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacAscent) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmMacAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacDescent) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmMacDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacLineGap) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmMacLineGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmusMinimumPPEM) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmusMinimumPPEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSubscriptSize) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmptSubscriptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSubscriptOffset) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmptSubscriptOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSuperscriptSize) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmptSuperscriptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSuperscriptOffset) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmptSuperscriptOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsStrikeoutSize) as usize - ptr as usize }, + 180usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsStrikeoutSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsStrikeoutPosition) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsStrikeoutPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsUnderscoreSize) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsUnderscoreSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsUnderscorePosition) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmsUnderscorePosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFamilyName) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmpFamilyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFaceName) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmpFaceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpStyleName) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmpStyleName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFullName) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICA), + "::", + stringify!(otmpFullName) + ) + ); +} +pub type OUTLINETEXTMETRICA = _OUTLINETEXTMETRICA; +pub type POUTLINETEXTMETRICA = *mut _OUTLINETEXTMETRICA; +pub type NPOUTLINETEXTMETRICA = *mut _OUTLINETEXTMETRICA; +pub type LPOUTLINETEXTMETRICA = *mut _OUTLINETEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OUTLINETEXTMETRICW { + pub otmSize: UINT, + pub otmTextMetrics: TEXTMETRICW, + pub otmFiller: BYTE, + pub otmPanoseNumber: PANOSE, + pub otmfsSelection: UINT, + pub otmfsType: UINT, + pub otmsCharSlopeRise: ::std::os::raw::c_int, + pub otmsCharSlopeRun: ::std::os::raw::c_int, + pub otmItalicAngle: ::std::os::raw::c_int, + pub otmEMSquare: UINT, + pub otmAscent: ::std::os::raw::c_int, + pub otmDescent: ::std::os::raw::c_int, + pub otmLineGap: UINT, + pub otmsCapEmHeight: UINT, + pub otmsXHeight: UINT, + pub otmrcFontBox: RECT, + pub otmMacAscent: ::std::os::raw::c_int, + pub otmMacDescent: ::std::os::raw::c_int, + pub otmMacLineGap: UINT, + pub otmusMinimumPPEM: UINT, + pub otmptSubscriptSize: POINT, + pub otmptSubscriptOffset: POINT, + pub otmptSuperscriptSize: POINT, + pub otmptSuperscriptOffset: POINT, + pub otmsStrikeoutSize: UINT, + pub otmsStrikeoutPosition: ::std::os::raw::c_int, + pub otmsUnderscoreSize: ::std::os::raw::c_int, + pub otmsUnderscorePosition: ::std::os::raw::c_int, + pub otmpFamilyName: PSTR, + pub otmpFaceName: PSTR, + pub otmpStyleName: PSTR, + pub otmpFullName: PSTR, +} +#[test] +fn bindgen_test_layout__OUTLINETEXTMETRICW() { + const UNINIT: ::std::mem::MaybeUninit<_OUTLINETEXTMETRICW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OUTLINETEXTMETRICW>(), + 232usize, + concat!("Size of: ", stringify!(_OUTLINETEXTMETRICW)) + ); + assert_eq!( + ::std::mem::align_of::<_OUTLINETEXTMETRICW>(), + 8usize, + concat!("Alignment of ", stringify!(_OUTLINETEXTMETRICW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmTextMetrics) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmTextMetrics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmFiller) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmFiller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmPanoseNumber) as usize - ptr as usize }, + 65usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmPanoseNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmfsSelection) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmfsSelection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmfsType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmfsType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCharSlopeRise) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsCharSlopeRise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCharSlopeRun) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsCharSlopeRun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmItalicAngle) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmItalicAngle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmEMSquare) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmEMSquare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmAscent) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmDescent) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmLineGap) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmLineGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsCapEmHeight) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsCapEmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsXHeight) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsXHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmrcFontBox) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmrcFontBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacAscent) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmMacAscent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacDescent) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmMacDescent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmMacLineGap) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmMacLineGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmusMinimumPPEM) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmusMinimumPPEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSubscriptSize) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmptSubscriptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSubscriptOffset) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmptSubscriptOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSuperscriptSize) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmptSuperscriptSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmptSuperscriptOffset) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmptSuperscriptOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsStrikeoutSize) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsStrikeoutSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsStrikeoutPosition) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsStrikeoutPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsUnderscoreSize) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsUnderscoreSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmsUnderscorePosition) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmsUnderscorePosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFamilyName) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmpFamilyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFaceName) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmpFaceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpStyleName) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmpStyleName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).otmpFullName) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_OUTLINETEXTMETRICW), + "::", + stringify!(otmpFullName) + ) + ); +} +pub type OUTLINETEXTMETRICW = _OUTLINETEXTMETRICW; +pub type POUTLINETEXTMETRICW = *mut _OUTLINETEXTMETRICW; +pub type NPOUTLINETEXTMETRICW = *mut _OUTLINETEXTMETRICW; +pub type LPOUTLINETEXTMETRICW = *mut _OUTLINETEXTMETRICW; +pub type OUTLINETEXTMETRIC = OUTLINETEXTMETRICA; +pub type POUTLINETEXTMETRIC = POUTLINETEXTMETRICA; +pub type NPOUTLINETEXTMETRIC = NPOUTLINETEXTMETRICA; +pub type LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOLYTEXTA { + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub n: UINT, + pub lpstr: LPCSTR, + pub uiFlags: UINT, + pub rcl: RECT, + pub pdx: *mut ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagPOLYTEXTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagPOLYTEXTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOLYTEXTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(n) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(lpstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(uiFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(rcl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTA), + "::", + stringify!(pdx) + ) + ); +} +pub type POLYTEXTA = tagPOLYTEXTA; +pub type PPOLYTEXTA = *mut tagPOLYTEXTA; +pub type NPPOLYTEXTA = *mut tagPOLYTEXTA; +pub type LPPOLYTEXTA = *mut tagPOLYTEXTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOLYTEXTW { + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub n: UINT, + pub lpstr: LPCWSTR, + pub uiFlags: UINT, + pub rcl: RECT, + pub pdx: *mut ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagPOLYTEXTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagPOLYTEXTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOLYTEXTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(n) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(lpstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(uiFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(rcl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPOLYTEXTW), + "::", + stringify!(pdx) + ) + ); +} +pub type POLYTEXTW = tagPOLYTEXTW; +pub type PPOLYTEXTW = *mut tagPOLYTEXTW; +pub type NPPOLYTEXTW = *mut tagPOLYTEXTW; +pub type LPPOLYTEXTW = *mut tagPOLYTEXTW; +pub type POLYTEXT = POLYTEXTA; +pub type PPOLYTEXT = PPOLYTEXTA; +pub type NPPOLYTEXT = NPPOLYTEXTA; +pub type LPPOLYTEXT = LPPOLYTEXTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FIXED { + pub fract: WORD, + pub value: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__FIXED() { + const UNINIT: ::std::mem::MaybeUninit<_FIXED> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FIXED>(), + 4usize, + concat!("Size of: ", stringify!(_FIXED)) + ); + assert_eq!( + ::std::mem::align_of::<_FIXED>(), + 2usize, + concat!("Alignment of ", stringify!(_FIXED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fract) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FIXED), + "::", + stringify!(fract) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FIXED), + "::", + stringify!(value) + ) + ); +} +pub type FIXED = _FIXED; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MAT2 { + pub eM11: FIXED, + pub eM12: FIXED, + pub eM21: FIXED, + pub eM22: FIXED, +} +#[test] +fn bindgen_test_layout__MAT2() { + const UNINIT: ::std::mem::MaybeUninit<_MAT2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MAT2>(), + 16usize, + concat!("Size of: ", stringify!(_MAT2)) + ); + assert_eq!( + ::std::mem::align_of::<_MAT2>(), + 2usize, + concat!("Alignment of ", stringify!(_MAT2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM11) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MAT2), + "::", + stringify!(eM11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM12) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MAT2), + "::", + stringify!(eM12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM21) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MAT2), + "::", + stringify!(eM21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eM22) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MAT2), + "::", + stringify!(eM22) + ) + ); +} +pub type MAT2 = _MAT2; +pub type LPMAT2 = *mut _MAT2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GLYPHMETRICS { + pub gmBlackBoxX: UINT, + pub gmBlackBoxY: UINT, + pub gmptGlyphOrigin: POINT, + pub gmCellIncX: ::std::os::raw::c_short, + pub gmCellIncY: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__GLYPHMETRICS() { + const UNINIT: ::std::mem::MaybeUninit<_GLYPHMETRICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GLYPHMETRICS>(), + 20usize, + concat!("Size of: ", stringify!(_GLYPHMETRICS)) + ); + assert_eq!( + ::std::mem::align_of::<_GLYPHMETRICS>(), + 4usize, + concat!("Alignment of ", stringify!(_GLYPHMETRICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmBlackBoxX) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmBlackBoxX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmBlackBoxY) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmBlackBoxY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmptGlyphOrigin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmptGlyphOrigin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmCellIncX) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmCellIncX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmCellIncY) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICS), + "::", + stringify!(gmCellIncY) + ) + ); +} +pub type GLYPHMETRICS = _GLYPHMETRICS; +pub type LPGLYPHMETRICS = *mut _GLYPHMETRICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTFX { + pub x: FIXED, + pub y: FIXED, +} +#[test] +fn bindgen_test_layout_tagPOINTFX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPOINTFX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagPOINTFX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTFX), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTFX), + "::", + stringify!(y) + ) + ); +} +pub type POINTFX = tagPOINTFX; +pub type LPPOINTFX = *mut tagPOINTFX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTTPOLYCURVE { + pub wType: WORD, + pub cpfx: WORD, + pub apfx: [POINTFX; 1usize], +} +#[test] +fn bindgen_test_layout_tagTTPOLYCURVE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagTTPOLYCURVE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagTTPOLYCURVE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYCURVE), + "::", + stringify!(wType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cpfx) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYCURVE), + "::", + stringify!(cpfx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apfx) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYCURVE), + "::", + stringify!(apfx) + ) + ); +} +pub type TTPOLYCURVE = tagTTPOLYCURVE; +pub type LPTTPOLYCURVE = *mut tagTTPOLYCURVE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTTPOLYGONHEADER { + pub cb: DWORD, + pub dwType: DWORD, + pub pfxStart: POINTFX, +} +#[test] +fn bindgen_test_layout_tagTTPOLYGONHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagTTPOLYGONHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTTPOLYGONHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYGONHEADER), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYGONHEADER), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfxStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTTPOLYGONHEADER), + "::", + stringify!(pfxStart) + ) + ); +} +pub type TTPOLYGONHEADER = tagTTPOLYGONHEADER; +pub type LPTTPOLYGONHEADER = *mut tagTTPOLYGONHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGCP_RESULTSA { + pub lStructSize: DWORD, + pub lpOutString: LPSTR, + pub lpOrder: *mut UINT, + pub lpDx: *mut ::std::os::raw::c_int, + pub lpCaretPos: *mut ::std::os::raw::c_int, + pub lpClass: LPSTR, + pub lpGlyphs: LPWSTR, + pub nGlyphs: UINT, + pub nMaxFit: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagGCP_RESULTSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagGCP_RESULTSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGCP_RESULTSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOutString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpOutString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOrder) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpDx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCaretPos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpCaretPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClass) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpGlyphs) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(lpGlyphs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nGlyphs) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(nGlyphs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFit) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSA), + "::", + stringify!(nMaxFit) + ) + ); +} +pub type GCP_RESULTSA = tagGCP_RESULTSA; +pub type LPGCP_RESULTSA = *mut tagGCP_RESULTSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGCP_RESULTSW { + pub lStructSize: DWORD, + pub lpOutString: LPWSTR, + pub lpOrder: *mut UINT, + pub lpDx: *mut ::std::os::raw::c_int, + pub lpCaretPos: *mut ::std::os::raw::c_int, + pub lpClass: LPSTR, + pub lpGlyphs: LPWSTR, + pub nGlyphs: UINT, + pub nMaxFit: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagGCP_RESULTSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagGCP_RESULTSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGCP_RESULTSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOutString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpOutString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOrder) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpDx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCaretPos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpCaretPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClass) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpGlyphs) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(lpGlyphs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nGlyphs) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(nGlyphs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFit) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagGCP_RESULTSW), + "::", + stringify!(nMaxFit) + ) + ); +} +pub type GCP_RESULTSW = tagGCP_RESULTSW; +pub type LPGCP_RESULTSW = *mut tagGCP_RESULTSW; +pub type GCP_RESULTS = GCP_RESULTSA; +pub type LPGCP_RESULTS = LPGCP_RESULTSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RASTERIZER_STATUS { + pub nSize: ::std::os::raw::c_short, + pub wFlags: ::std::os::raw::c_short, + pub nLanguageID: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__RASTERIZER_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_RASTERIZER_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RASTERIZER_STATUS>(), + 6usize, + concat!("Size of: ", stringify!(_RASTERIZER_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_RASTERIZER_STATUS>(), + 2usize, + concat!("Alignment of ", stringify!(_RASTERIZER_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RASTERIZER_STATUS), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFlags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_RASTERIZER_STATUS), + "::", + stringify!(wFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nLanguageID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RASTERIZER_STATUS), + "::", + stringify!(nLanguageID) + ) + ); +} +pub type RASTERIZER_STATUS = _RASTERIZER_STATUS; +pub type LPRASTERIZER_STATUS = *mut _RASTERIZER_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPIXELFORMATDESCRIPTOR { + pub nSize: WORD, + pub nVersion: WORD, + pub dwFlags: DWORD, + pub iPixelType: BYTE, + pub cColorBits: BYTE, + pub cRedBits: BYTE, + pub cRedShift: BYTE, + pub cGreenBits: BYTE, + pub cGreenShift: BYTE, + pub cBlueBits: BYTE, + pub cBlueShift: BYTE, + pub cAlphaBits: BYTE, + pub cAlphaShift: BYTE, + pub cAccumBits: BYTE, + pub cAccumRedBits: BYTE, + pub cAccumGreenBits: BYTE, + pub cAccumBlueBits: BYTE, + pub cAccumAlphaBits: BYTE, + pub cDepthBits: BYTE, + pub cStencilBits: BYTE, + pub cAuxBuffers: BYTE, + pub iLayerType: BYTE, + pub bReserved: BYTE, + pub dwLayerMask: DWORD, + pub dwVisibleMask: DWORD, + pub dwDamageMask: DWORD, +} +#[test] +fn bindgen_test_layout_tagPIXELFORMATDESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagPIXELFORMATDESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPIXELFORMATDESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(nVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPixelType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(iPixelType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cColorBits) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cColorBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRedBits) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cRedBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRedShift) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cRedShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGreenBits) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cGreenBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGreenShift) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cGreenShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlueBits) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cBlueBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlueShift) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cBlueShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlphaBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAlphaBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlphaShift) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAlphaShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumBits) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumRedBits) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumRedBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumGreenBits) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumGreenBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumBlueBits) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumBlueBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumAlphaBits) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAccumAlphaBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDepthBits) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cDepthBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStencilBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cStencilBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuxBuffers) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(cAuxBuffers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iLayerType) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(iLayerType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLayerMask) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(dwLayerMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVisibleMask) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(dwVisibleMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDamageMask) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPIXELFORMATDESCRIPTOR), + "::", + stringify!(dwDamageMask) + ) + ); +} +pub type PIXELFORMATDESCRIPTOR = tagPIXELFORMATDESCRIPTOR; +pub type PPIXELFORMATDESCRIPTOR = *mut tagPIXELFORMATDESCRIPTOR; +pub type LPPIXELFORMATDESCRIPTOR = *mut tagPIXELFORMATDESCRIPTOR; +pub type OLDFONTENUMPROCA = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const LOGFONTA, + arg2: *const TEXTMETRICA, + arg3: DWORD, + arg4: LPARAM, + ) -> ::std::os::raw::c_int, +>; +pub type OLDFONTENUMPROCW = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const LOGFONTW, + arg2: *const TEXTMETRICW, + arg3: DWORD, + arg4: LPARAM, + ) -> ::std::os::raw::c_int, +>; +pub type FONTENUMPROCA = OLDFONTENUMPROCA; +pub type FONTENUMPROCW = OLDFONTENUMPROCW; +pub type FONTENUMPROC = FONTENUMPROCA; +pub type GOBJENUMPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: LPVOID, arg2: LPARAM) -> ::std::os::raw::c_int, +>; +pub type LINEDDAPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int, arg3: LPARAM), +>; +extern "C" { + pub fn AddFontResourceA(arg1: LPCSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AddFontResourceW(arg1: LPCWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AnimatePalette( + hPal: HPALETTE, + iStartIndex: UINT, + cEntries: UINT, + ppe: *const PALETTEENTRY, + ) -> BOOL; +} +extern "C" { + pub fn Arc( + hdc: HDC, + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + x3: ::std::os::raw::c_int, + y3: ::std::os::raw::c_int, + x4: ::std::os::raw::c_int, + y4: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn BitBlt( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + hdcSrc: HDC, + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + rop: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CancelDC(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn Chord( + hdc: HDC, + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + x3: ::std::os::raw::c_int, + y3: ::std::os::raw::c_int, + x4: ::std::os::raw::c_int, + y4: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn ChoosePixelFormat(hdc: HDC, ppfd: *const PIXELFORMATDESCRIPTOR) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CloseMetaFile(hdc: HDC) -> HMETAFILE; +} +extern "C" { + pub fn CombineRgn( + hrgnDst: HRGN, + hrgnSrc1: HRGN, + hrgnSrc2: HRGN, + iMode: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CopyMetaFileA(arg1: HMETAFILE, arg2: LPCSTR) -> HMETAFILE; +} +extern "C" { + pub fn CopyMetaFileW(arg1: HMETAFILE, arg2: LPCWSTR) -> HMETAFILE; +} +extern "C" { + pub fn CreateBitmap( + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + nPlanes: UINT, + nBitCount: UINT, + lpBits: *const ::std::os::raw::c_void, + ) -> HBITMAP; +} +extern "C" { + pub fn CreateBitmapIndirect(pbm: *const BITMAP) -> HBITMAP; +} +extern "C" { + pub fn CreateBrushIndirect(plbrush: *const LOGBRUSH) -> HBRUSH; +} +extern "C" { + pub fn CreateCompatibleBitmap( + hdc: HDC, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + ) -> HBITMAP; +} +extern "C" { + pub fn CreateDiscardableBitmap( + hdc: HDC, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + ) -> HBITMAP; +} +extern "C" { + pub fn CreateCompatibleDC(hdc: HDC) -> HDC; +} +extern "C" { + pub fn CreateDCA( + pwszDriver: LPCSTR, + pwszDevice: LPCSTR, + pszPort: LPCSTR, + pdm: *const DEVMODEA, + ) -> HDC; +} +extern "C" { + pub fn CreateDCW( + pwszDriver: LPCWSTR, + pwszDevice: LPCWSTR, + pszPort: LPCWSTR, + pdm: *const DEVMODEW, + ) -> HDC; +} +extern "C" { + pub fn CreateDIBitmap( + hdc: HDC, + pbmih: *const BITMAPINFOHEADER, + flInit: DWORD, + pjBits: *const ::std::os::raw::c_void, + pbmi: *const BITMAPINFO, + iUsage: UINT, + ) -> HBITMAP; +} +extern "C" { + pub fn CreateDIBPatternBrush(h: HGLOBAL, iUsage: UINT) -> HBRUSH; +} +extern "C" { + pub fn CreateDIBPatternBrushPt( + lpPackedDIB: *const ::std::os::raw::c_void, + iUsage: UINT, + ) -> HBRUSH; +} +extern "C" { + pub fn CreateEllipticRgn( + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn CreateEllipticRgnIndirect(lprect: *const RECT) -> HRGN; +} +extern "C" { + pub fn CreateFontIndirectA(lplf: *const LOGFONTA) -> HFONT; +} +extern "C" { + pub fn CreateFontIndirectW(lplf: *const LOGFONTW) -> HFONT; +} +extern "C" { + pub fn CreateFontA( + cHeight: ::std::os::raw::c_int, + cWidth: ::std::os::raw::c_int, + cEscapement: ::std::os::raw::c_int, + cOrientation: ::std::os::raw::c_int, + cWeight: ::std::os::raw::c_int, + bItalic: DWORD, + bUnderline: DWORD, + bStrikeOut: DWORD, + iCharSet: DWORD, + iOutPrecision: DWORD, + iClipPrecision: DWORD, + iQuality: DWORD, + iPitchAndFamily: DWORD, + pszFaceName: LPCSTR, + ) -> HFONT; +} +extern "C" { + pub fn CreateFontW( + cHeight: ::std::os::raw::c_int, + cWidth: ::std::os::raw::c_int, + cEscapement: ::std::os::raw::c_int, + cOrientation: ::std::os::raw::c_int, + cWeight: ::std::os::raw::c_int, + bItalic: DWORD, + bUnderline: DWORD, + bStrikeOut: DWORD, + iCharSet: DWORD, + iOutPrecision: DWORD, + iClipPrecision: DWORD, + iQuality: DWORD, + iPitchAndFamily: DWORD, + pszFaceName: LPCWSTR, + ) -> HFONT; +} +extern "C" { + pub fn CreateHatchBrush(iHatch: ::std::os::raw::c_int, color: COLORREF) -> HBRUSH; +} +extern "C" { + pub fn CreateICA( + pszDriver: LPCSTR, + pszDevice: LPCSTR, + pszPort: LPCSTR, + pdm: *const DEVMODEA, + ) -> HDC; +} +extern "C" { + pub fn CreateICW( + pszDriver: LPCWSTR, + pszDevice: LPCWSTR, + pszPort: LPCWSTR, + pdm: *const DEVMODEW, + ) -> HDC; +} +extern "C" { + pub fn CreateMetaFileA(pszFile: LPCSTR) -> HDC; +} +extern "C" { + pub fn CreateMetaFileW(pszFile: LPCWSTR) -> HDC; +} +extern "C" { + pub fn CreatePalette(plpal: *const LOGPALETTE) -> HPALETTE; +} +extern "C" { + pub fn CreatePen( + iStyle: ::std::os::raw::c_int, + cWidth: ::std::os::raw::c_int, + color: COLORREF, + ) -> HPEN; +} +extern "C" { + pub fn CreatePenIndirect(plpen: *const LOGPEN) -> HPEN; +} +extern "C" { + pub fn CreatePolyPolygonRgn( + pptl: *const POINT, + pc: *const INT, + cPoly: ::std::os::raw::c_int, + iMode: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn CreatePatternBrush(hbm: HBITMAP) -> HBRUSH; +} +extern "C" { + pub fn CreateRectRgn( + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn CreateRectRgnIndirect(lprect: *const RECT) -> HRGN; +} +extern "C" { + pub fn CreateRoundRectRgn( + x1: ::std::os::raw::c_int, + y1: ::std::os::raw::c_int, + x2: ::std::os::raw::c_int, + y2: ::std::os::raw::c_int, + w: ::std::os::raw::c_int, + h: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn CreateScalableFontResourceA( + fdwHidden: DWORD, + lpszFont: LPCSTR, + lpszFile: LPCSTR, + lpszPath: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CreateScalableFontResourceW( + fdwHidden: DWORD, + lpszFont: LPCWSTR, + lpszFile: LPCWSTR, + lpszPath: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn CreateSolidBrush(color: COLORREF) -> HBRUSH; +} +extern "C" { + pub fn DeleteDC(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn DeleteMetaFile(hmf: HMETAFILE) -> BOOL; +} +extern "C" { + pub fn DeleteObject(ho: HGDIOBJ) -> BOOL; +} +extern "C" { + pub fn DescribePixelFormat( + hdc: HDC, + iPixelFormat: ::std::os::raw::c_int, + nBytes: UINT, + ppfd: LPPIXELFORMATDESCRIPTOR, + ) -> ::std::os::raw::c_int; +} +pub type LPFNDEVMODE = ::std::option::Option< + unsafe extern "C" fn( + arg1: HWND, + arg2: HMODULE, + arg3: LPDEVMODE, + arg4: LPSTR, + arg5: LPSTR, + arg6: LPDEVMODE, + arg7: LPSTR, + arg8: UINT, + ) -> UINT, +>; +pub type LPFNDEVCAPS = ::std::option::Option< + unsafe extern "C" fn( + arg1: LPSTR, + arg2: LPSTR, + arg3: UINT, + arg4: LPSTR, + arg5: LPDEVMODE, + ) -> DWORD, +>; +extern "C" { + pub fn DeviceCapabilitiesA( + pDevice: LPCSTR, + pPort: LPCSTR, + fwCapability: WORD, + pOutput: LPSTR, + pDevMode: *const DEVMODEA, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DeviceCapabilitiesW( + pDevice: LPCWSTR, + pPort: LPCWSTR, + fwCapability: WORD, + pOutput: LPWSTR, + pDevMode: *const DEVMODEW, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DrawEscape( + hdc: HDC, + iEscape: ::std::os::raw::c_int, + cjIn: ::std::os::raw::c_int, + lpIn: LPCSTR, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn Ellipse( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn EnumFontFamiliesExA( + hdc: HDC, + lpLogfont: LPLOGFONTA, + lpProc: FONTENUMPROCA, + lParam: LPARAM, + dwFlags: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontFamiliesExW( + hdc: HDC, + lpLogfont: LPLOGFONTW, + lpProc: FONTENUMPROCW, + lParam: LPARAM, + dwFlags: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontFamiliesA( + hdc: HDC, + lpLogfont: LPCSTR, + lpProc: FONTENUMPROCA, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontFamiliesW( + hdc: HDC, + lpLogfont: LPCWSTR, + lpProc: FONTENUMPROCW, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontsA( + hdc: HDC, + lpLogfont: LPCSTR, + lpProc: FONTENUMPROCA, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumFontsW( + hdc: HDC, + lpLogfont: LPCWSTR, + lpProc: FONTENUMPROCW, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumObjects( + hdc: HDC, + nType: ::std::os::raw::c_int, + lpFunc: GOBJENUMPROC, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EqualRgn(hrgn1: HRGN, hrgn2: HRGN) -> BOOL; +} +extern "C" { + pub fn Escape( + hdc: HDC, + iEscape: ::std::os::raw::c_int, + cjIn: ::std::os::raw::c_int, + pvIn: LPCSTR, + pvOut: LPVOID, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExtEscape( + hdc: HDC, + iEscape: ::std::os::raw::c_int, + cjInput: ::std::os::raw::c_int, + lpInData: LPCSTR, + cjOutput: ::std::os::raw::c_int, + lpOutData: LPSTR, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExcludeClipRect( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExtCreateRegion(lpx: *const XFORM, nCount: DWORD, lpData: *const RGNDATA) -> HRGN; +} +extern "C" { + pub fn ExtFloodFill( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + color: COLORREF, + type_: UINT, + ) -> BOOL; +} +extern "C" { + pub fn FillRgn(hdc: HDC, hrgn: HRGN, hbr: HBRUSH) -> BOOL; +} +extern "C" { + pub fn FloodFill( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + color: COLORREF, + ) -> BOOL; +} +extern "C" { + pub fn FrameRgn( + hdc: HDC, + hrgn: HRGN, + hbr: HBRUSH, + w: ::std::os::raw::c_int, + h: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn GetROP2(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetAspectRatioFilterEx(hdc: HDC, lpsize: LPSIZE) -> BOOL; +} +extern "C" { + pub fn GetBkColor(hdc: HDC) -> COLORREF; +} +extern "C" { + pub fn GetDCBrushColor(hdc: HDC) -> COLORREF; +} +extern "C" { + pub fn GetDCPenColor(hdc: HDC) -> COLORREF; +} +extern "C" { + pub fn GetBkMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetBitmapBits(hbit: HBITMAP, cb: LONG, lpvBits: LPVOID) -> LONG; +} +extern "C" { + pub fn GetBitmapDimensionEx(hbit: HBITMAP, lpsize: LPSIZE) -> BOOL; +} +extern "C" { + pub fn GetBoundsRect(hdc: HDC, lprect: LPRECT, flags: UINT) -> UINT; +} +extern "C" { + pub fn GetBrushOrgEx(hdc: HDC, lppt: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidthA(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidthW(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidth32A(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidth32W(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharWidthFloatA(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: PFLOAT) -> BOOL; +} +extern "C" { + pub fn GetCharWidthFloatW(hdc: HDC, iFirst: UINT, iLast: UINT, lpBuffer: PFLOAT) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsA(hdc: HDC, wFirst: UINT, wLast: UINT, lpABC: LPABC) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsW(hdc: HDC, wFirst: UINT, wLast: UINT, lpABC: LPABC) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsFloatA(hdc: HDC, iFirst: UINT, iLast: UINT, lpABC: LPABCFLOAT) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsFloatW(hdc: HDC, iFirst: UINT, iLast: UINT, lpABC: LPABCFLOAT) -> BOOL; +} +extern "C" { + pub fn GetClipBox(hdc: HDC, lprect: LPRECT) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetClipRgn(hdc: HDC, hrgn: HRGN) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMetaRgn(hdc: HDC, hrgn: HRGN) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCurrentObject(hdc: HDC, type_: UINT) -> HGDIOBJ; +} +extern "C" { + pub fn GetCurrentPositionEx(hdc: HDC, lppt: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetDeviceCaps(hdc: HDC, index: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDIBits( + hdc: HDC, + hbm: HBITMAP, + start: UINT, + cLines: UINT, + lpvBits: LPVOID, + lpbmi: LPBITMAPINFO, + usage: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetFontData( + hdc: HDC, + dwTable: DWORD, + dwOffset: DWORD, + pvBuffer: PVOID, + cjBuffer: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetGlyphOutlineA( + hdc: HDC, + uChar: UINT, + fuFormat: UINT, + lpgm: LPGLYPHMETRICS, + cjBuffer: DWORD, + pvBuffer: LPVOID, + lpmat2: *const MAT2, + ) -> DWORD; +} +extern "C" { + pub fn GetGlyphOutlineW( + hdc: HDC, + uChar: UINT, + fuFormat: UINT, + lpgm: LPGLYPHMETRICS, + cjBuffer: DWORD, + pvBuffer: LPVOID, + lpmat2: *const MAT2, + ) -> DWORD; +} +extern "C" { + pub fn GetGraphicsMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMapMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMetaFileBitsEx(hMF: HMETAFILE, cbBuffer: UINT, lpData: LPVOID) -> UINT; +} +extern "C" { + pub fn GetMetaFileA(lpName: LPCSTR) -> HMETAFILE; +} +extern "C" { + pub fn GetMetaFileW(lpName: LPCWSTR) -> HMETAFILE; +} +extern "C" { + pub fn GetNearestColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn GetNearestPaletteIndex(h: HPALETTE, color: COLORREF) -> UINT; +} +extern "C" { + pub fn GetObjectType(h: HGDIOBJ) -> DWORD; +} +extern "C" { + pub fn GetOutlineTextMetricsA(hdc: HDC, cjCopy: UINT, potm: LPOUTLINETEXTMETRICA) -> UINT; +} +extern "C" { + pub fn GetOutlineTextMetricsW(hdc: HDC, cjCopy: UINT, potm: LPOUTLINETEXTMETRICW) -> UINT; +} +extern "C" { + pub fn GetPaletteEntries( + hpal: HPALETTE, + iStart: UINT, + cEntries: UINT, + pPalEntries: LPPALETTEENTRY, + ) -> UINT; +} +extern "C" { + pub fn GetPixel(hdc: HDC, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int) -> COLORREF; +} +extern "C" { + pub fn GetPixelFormat(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetPolyFillMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetRasterizerCaps(lpraststat: LPRASTERIZER_STATUS, cjBytes: UINT) -> BOOL; +} +extern "C" { + pub fn GetRandomRgn(hdc: HDC, hrgn: HRGN, i: INT) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetRegionData(hrgn: HRGN, nCount: DWORD, lpRgnData: LPRGNDATA) -> DWORD; +} +extern "C" { + pub fn GetRgnBox(hrgn: HRGN, lprc: LPRECT) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetStockObject(i: ::std::os::raw::c_int) -> HGDIOBJ; +} +extern "C" { + pub fn GetStretchBltMode(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetSystemPaletteEntries( + hdc: HDC, + iStart: UINT, + cEntries: UINT, + pPalEntries: LPPALETTEENTRY, + ) -> UINT; +} +extern "C" { + pub fn GetSystemPaletteUse(hdc: HDC) -> UINT; +} +extern "C" { + pub fn GetTextCharacterExtra(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTextAlign(hdc: HDC) -> UINT; +} +extern "C" { + pub fn GetTextColor(hdc: HDC) -> COLORREF; +} +extern "C" { + pub fn GetTextExtentPointA( + hdc: HDC, + lpString: LPCSTR, + c: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentPointW( + hdc: HDC, + lpString: LPCWSTR, + c: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentPoint32A( + hdc: HDC, + lpString: LPCSTR, + c: ::std::os::raw::c_int, + psizl: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentPoint32W( + hdc: HDC, + lpString: LPCWSTR, + c: ::std::os::raw::c_int, + psizl: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentExPointA( + hdc: HDC, + lpszString: LPCSTR, + cchString: ::std::os::raw::c_int, + nMaxExtent: ::std::os::raw::c_int, + lpnFit: LPINT, + lpnDx: LPINT, + lpSize: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentExPointW( + hdc: HDC, + lpszString: LPCWSTR, + cchString: ::std::os::raw::c_int, + nMaxExtent: ::std::os::raw::c_int, + lpnFit: LPINT, + lpnDx: LPINT, + lpSize: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextCharset(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTextCharsetInfo( + hdc: HDC, + lpSig: LPFONTSIGNATURE, + dwFlags: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn TranslateCharsetInfo(lpSrc: *mut DWORD, lpCs: LPCHARSETINFO, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetFontLanguageInfo(hdc: HDC) -> DWORD; +} +extern "C" { + pub fn GetCharacterPlacementA( + hdc: HDC, + lpString: LPCSTR, + nCount: ::std::os::raw::c_int, + nMexExtent: ::std::os::raw::c_int, + lpResults: LPGCP_RESULTSA, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetCharacterPlacementW( + hdc: HDC, + lpString: LPCWSTR, + nCount: ::std::os::raw::c_int, + nMexExtent: ::std::os::raw::c_int, + lpResults: LPGCP_RESULTSW, + dwFlags: DWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWCRANGE { + pub wcLow: WCHAR, + pub cGlyphs: USHORT, +} +#[test] +fn bindgen_test_layout_tagWCRANGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagWCRANGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagWCRANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wcLow) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWCRANGE), + "::", + stringify!(wcLow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGlyphs) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWCRANGE), + "::", + stringify!(cGlyphs) + ) + ); +} +pub type WCRANGE = tagWCRANGE; +pub type PWCRANGE = *mut tagWCRANGE; +pub type LPWCRANGE = *mut tagWCRANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGLYPHSET { + pub cbThis: DWORD, + pub flAccel: DWORD, + pub cGlyphsSupported: DWORD, + pub cRanges: DWORD, + pub ranges: [WCRANGE; 1usize], +} +#[test] +fn bindgen_test_layout_tagGLYPHSET() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagGLYPHSET)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagGLYPHSET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbThis) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(cbThis) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flAccel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(flAccel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGlyphsSupported) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(cGlyphsSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRanges) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(cRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ranges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGLYPHSET), + "::", + stringify!(ranges) + ) + ); +} +pub type GLYPHSET = tagGLYPHSET; +pub type PGLYPHSET = *mut tagGLYPHSET; +pub type LPGLYPHSET = *mut tagGLYPHSET; +extern "C" { + pub fn GetFontUnicodeRanges(hdc: HDC, lpgs: LPGLYPHSET) -> DWORD; +} +extern "C" { + pub fn GetGlyphIndicesA( + hdc: HDC, + lpstr: LPCSTR, + c: ::std::os::raw::c_int, + pgi: LPWORD, + fl: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetGlyphIndicesW( + hdc: HDC, + lpstr: LPCWSTR, + c: ::std::os::raw::c_int, + pgi: LPWORD, + fl: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetTextExtentPointI( + hdc: HDC, + pgiIn: LPWORD, + cgi: ::std::os::raw::c_int, + psize: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetTextExtentExPointI( + hdc: HDC, + lpwszString: LPWORD, + cwchString: ::std::os::raw::c_int, + nMaxExtent: ::std::os::raw::c_int, + lpnFit: LPINT, + lpnDx: LPINT, + lpSize: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn GetCharWidthI(hdc: HDC, giFirst: UINT, cgi: UINT, pgi: LPWORD, piWidths: LPINT) -> BOOL; +} +extern "C" { + pub fn GetCharABCWidthsI(hdc: HDC, giFirst: UINT, cgi: UINT, pgi: LPWORD, pabc: LPABC) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDESIGNVECTOR { + pub dvReserved: DWORD, + pub dvNumAxes: DWORD, + pub dvValues: [LONG; 16usize], +} +#[test] +fn bindgen_test_layout_tagDESIGNVECTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagDESIGNVECTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagDESIGNVECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dvReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDESIGNVECTOR), + "::", + stringify!(dvReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dvNumAxes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDESIGNVECTOR), + "::", + stringify!(dvNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dvValues) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDESIGNVECTOR), + "::", + stringify!(dvValues) + ) + ); +} +pub type DESIGNVECTOR = tagDESIGNVECTOR; +pub type PDESIGNVECTOR = *mut tagDESIGNVECTOR; +pub type LPDESIGNVECTOR = *mut tagDESIGNVECTOR; +extern "C" { + pub fn AddFontResourceExA(name: LPCSTR, fl: DWORD, res: PVOID) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AddFontResourceExW(name: LPCWSTR, fl: DWORD, res: PVOID) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn RemoveFontResourceExA(name: LPCSTR, fl: DWORD, pdv: PVOID) -> BOOL; +} +extern "C" { + pub fn RemoveFontResourceExW(name: LPCWSTR, fl: DWORD, pdv: PVOID) -> BOOL; +} +extern "C" { + pub fn AddFontMemResourceEx( + pFileView: PVOID, + cjSize: DWORD, + pvResrved: PVOID, + pNumFonts: *mut DWORD, + ) -> HANDLE; +} +extern "C" { + pub fn RemoveFontMemResourceEx(h: HANDLE) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAXISINFOA { + pub axMinValue: LONG, + pub axMaxValue: LONG, + pub axAxisName: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout_tagAXISINFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagAXISINFOA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAXISINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axMinValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOA), + "::", + stringify!(axMinValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axMaxValue) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOA), + "::", + stringify!(axMaxValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axAxisName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOA), + "::", + stringify!(axAxisName) + ) + ); +} +pub type AXISINFOA = tagAXISINFOA; +pub type PAXISINFOA = *mut tagAXISINFOA; +pub type LPAXISINFOA = *mut tagAXISINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAXISINFOW { + pub axMinValue: LONG, + pub axMaxValue: LONG, + pub axAxisName: [WCHAR; 16usize], +} +#[test] +fn bindgen_test_layout_tagAXISINFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagAXISINFOW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAXISINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axMinValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOW), + "::", + stringify!(axMinValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axMaxValue) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOW), + "::", + stringify!(axMaxValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axAxisName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAXISINFOW), + "::", + stringify!(axAxisName) + ) + ); +} +pub type AXISINFOW = tagAXISINFOW; +pub type PAXISINFOW = *mut tagAXISINFOW; +pub type LPAXISINFOW = *mut tagAXISINFOW; +pub type AXISINFO = AXISINFOA; +pub type PAXISINFO = PAXISINFOA; +pub type LPAXISINFO = LPAXISINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAXESLISTA { + pub axlReserved: DWORD, + pub axlNumAxes: DWORD, + pub axlAxisInfo: [AXISINFOA; 16usize], +} +#[test] +fn bindgen_test_layout_tagAXESLISTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 392usize, + concat!("Size of: ", stringify!(tagAXESLISTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAXESLISTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTA), + "::", + stringify!(axlReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlNumAxes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTA), + "::", + stringify!(axlNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlAxisInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTA), + "::", + stringify!(axlAxisInfo) + ) + ); +} +pub type AXESLISTA = tagAXESLISTA; +pub type PAXESLISTA = *mut tagAXESLISTA; +pub type LPAXESLISTA = *mut tagAXESLISTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAXESLISTW { + pub axlReserved: DWORD, + pub axlNumAxes: DWORD, + pub axlAxisInfo: [AXISINFOW; 16usize], +} +#[test] +fn bindgen_test_layout_tagAXESLISTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 648usize, + concat!("Size of: ", stringify!(tagAXESLISTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAXESLISTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTW), + "::", + stringify!(axlReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlNumAxes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTW), + "::", + stringify!(axlNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).axlAxisInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAXESLISTW), + "::", + stringify!(axlAxisInfo) + ) + ); +} +pub type AXESLISTW = tagAXESLISTW; +pub type PAXESLISTW = *mut tagAXESLISTW; +pub type LPAXESLISTW = *mut tagAXESLISTW; +pub type AXESLIST = AXESLISTA; +pub type PAXESLIST = PAXESLISTA; +pub type LPAXESLIST = LPAXESLISTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTEXDVA { + pub elfEnumLogfontEx: ENUMLOGFONTEXA, + pub elfDesignVector: DESIGNVECTOR, +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTEXDVA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 260usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTEXDVA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTEXDVA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfEnumLogfontEx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXDVA), + "::", + stringify!(elfEnumLogfontEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfDesignVector) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXDVA), + "::", + stringify!(elfDesignVector) + ) + ); +} +pub type ENUMLOGFONTEXDVA = tagENUMLOGFONTEXDVA; +pub type PENUMLOGFONTEXDVA = *mut tagENUMLOGFONTEXDVA; +pub type LPENUMLOGFONTEXDVA = *mut tagENUMLOGFONTEXDVA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMLOGFONTEXDVW { + pub elfEnumLogfontEx: ENUMLOGFONTEXW, + pub elfDesignVector: DESIGNVECTOR, +} +#[test] +fn bindgen_test_layout_tagENUMLOGFONTEXDVW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 420usize, + concat!("Size of: ", stringify!(tagENUMLOGFONTEXDVW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMLOGFONTEXDVW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfEnumLogfontEx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXDVW), + "::", + stringify!(elfEnumLogfontEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfDesignVector) as usize - ptr as usize }, + 348usize, + concat!( + "Offset of field: ", + stringify!(tagENUMLOGFONTEXDVW), + "::", + stringify!(elfDesignVector) + ) + ); +} +pub type ENUMLOGFONTEXDVW = tagENUMLOGFONTEXDVW; +pub type PENUMLOGFONTEXDVW = *mut tagENUMLOGFONTEXDVW; +pub type LPENUMLOGFONTEXDVW = *mut tagENUMLOGFONTEXDVW; +pub type ENUMLOGFONTEXDV = ENUMLOGFONTEXDVA; +pub type PENUMLOGFONTEXDV = PENUMLOGFONTEXDVA; +pub type LPENUMLOGFONTEXDV = LPENUMLOGFONTEXDVA; +extern "C" { + pub fn CreateFontIndirectExA(arg1: *const ENUMLOGFONTEXDVA) -> HFONT; +} +extern "C" { + pub fn CreateFontIndirectExW(arg1: *const ENUMLOGFONTEXDVW) -> HFONT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMTEXTMETRICA { + pub etmNewTextMetricEx: NEWTEXTMETRICEXA, + pub etmAxesList: AXESLISTA, +} +#[test] +fn bindgen_test_layout_tagENUMTEXTMETRICA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 488usize, + concat!("Size of: ", stringify!(tagENUMTEXTMETRICA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMTEXTMETRICA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).etmNewTextMetricEx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMTEXTMETRICA), + "::", + stringify!(etmNewTextMetricEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).etmAxesList) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagENUMTEXTMETRICA), + "::", + stringify!(etmAxesList) + ) + ); +} +pub type ENUMTEXTMETRICA = tagENUMTEXTMETRICA; +pub type PENUMTEXTMETRICA = *mut tagENUMTEXTMETRICA; +pub type LPENUMTEXTMETRICA = *mut tagENUMTEXTMETRICA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagENUMTEXTMETRICW { + pub etmNewTextMetricEx: NEWTEXTMETRICEXW, + pub etmAxesList: AXESLISTW, +} +#[test] +fn bindgen_test_layout_tagENUMTEXTMETRICW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 748usize, + concat!("Size of: ", stringify!(tagENUMTEXTMETRICW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagENUMTEXTMETRICW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).etmNewTextMetricEx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagENUMTEXTMETRICW), + "::", + stringify!(etmNewTextMetricEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).etmAxesList) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagENUMTEXTMETRICW), + "::", + stringify!(etmAxesList) + ) + ); +} +pub type ENUMTEXTMETRICW = tagENUMTEXTMETRICW; +pub type PENUMTEXTMETRICW = *mut tagENUMTEXTMETRICW; +pub type LPENUMTEXTMETRICW = *mut tagENUMTEXTMETRICW; +pub type ENUMTEXTMETRIC = ENUMTEXTMETRICA; +pub type PENUMTEXTMETRIC = PENUMTEXTMETRICA; +pub type LPENUMTEXTMETRIC = LPENUMTEXTMETRICA; +extern "C" { + pub fn GetViewportExtEx(hdc: HDC, lpsize: LPSIZE) -> BOOL; +} +extern "C" { + pub fn GetViewportOrgEx(hdc: HDC, lppoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetWindowExtEx(hdc: HDC, lpsize: LPSIZE) -> BOOL; +} +extern "C" { + pub fn GetWindowOrgEx(hdc: HDC, lppoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn IntersectClipRect( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn InvertRgn(hdc: HDC, hrgn: HRGN) -> BOOL; +} +extern "C" { + pub fn LineDDA( + xStart: ::std::os::raw::c_int, + yStart: ::std::os::raw::c_int, + xEnd: ::std::os::raw::c_int, + yEnd: ::std::os::raw::c_int, + lpProc: LINEDDAPROC, + data: LPARAM, + ) -> BOOL; +} +extern "C" { + pub fn LineTo(hdc: HDC, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn MaskBlt( + hdcDest: HDC, + xDest: ::std::os::raw::c_int, + yDest: ::std::os::raw::c_int, + width: ::std::os::raw::c_int, + height: ::std::os::raw::c_int, + hdcSrc: HDC, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + hbmMask: HBITMAP, + xMask: ::std::os::raw::c_int, + yMask: ::std::os::raw::c_int, + rop: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn PlgBlt( + hdcDest: HDC, + lpPoint: *const POINT, + hdcSrc: HDC, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + width: ::std::os::raw::c_int, + height: ::std::os::raw::c_int, + hbmMask: HBITMAP, + xMask: ::std::os::raw::c_int, + yMask: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn OffsetClipRgn( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn OffsetRgn( + hrgn: HRGN, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn PatBlt( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + w: ::std::os::raw::c_int, + h: ::std::os::raw::c_int, + rop: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn Pie( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + xr1: ::std::os::raw::c_int, + yr1: ::std::os::raw::c_int, + xr2: ::std::os::raw::c_int, + yr2: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn PlayMetaFile(hdc: HDC, hmf: HMETAFILE) -> BOOL; +} +extern "C" { + pub fn PaintRgn(hdc: HDC, hrgn: HRGN) -> BOOL; +} +extern "C" { + pub fn PolyPolygon( + hdc: HDC, + apt: *const POINT, + asz: *const INT, + csz: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn PtInRegion(hrgn: HRGN, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn PtVisible(hdc: HDC, x: ::std::os::raw::c_int, y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn RectInRegion(hrgn: HRGN, lprect: *const RECT) -> BOOL; +} +extern "C" { + pub fn RectVisible(hdc: HDC, lprect: *const RECT) -> BOOL; +} +extern "C" { + pub fn Rectangle( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn RestoreDC(hdc: HDC, nSavedDC: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn ResetDCA(hdc: HDC, lpdm: *const DEVMODEA) -> HDC; +} +extern "C" { + pub fn ResetDCW(hdc: HDC, lpdm: *const DEVMODEW) -> HDC; +} +extern "C" { + pub fn RealizePalette(hdc: HDC) -> UINT; +} +extern "C" { + pub fn RemoveFontResourceA(lpFileName: LPCSTR) -> BOOL; +} +extern "C" { + pub fn RemoveFontResourceW(lpFileName: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn RoundRect( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + width: ::std::os::raw::c_int, + height: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn ResizePalette(hpal: HPALETTE, n: UINT) -> BOOL; +} +extern "C" { + pub fn SaveDC(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SelectClipRgn(hdc: HDC, hrgn: HRGN) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExtSelectClipRgn( + hdc: HDC, + hrgn: HRGN, + mode: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetMetaRgn(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SelectObject(hdc: HDC, h: HGDIOBJ) -> HGDIOBJ; +} +extern "C" { + pub fn SelectPalette(hdc: HDC, hPal: HPALETTE, bForceBkgd: BOOL) -> HPALETTE; +} +extern "C" { + pub fn SetBkColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn SetDCBrushColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn SetDCPenColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn SetBkMode(hdc: HDC, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetBitmapBits(hbm: HBITMAP, cb: DWORD, pvBits: *const ::std::os::raw::c_void) -> LONG; +} +extern "C" { + pub fn SetBoundsRect(hdc: HDC, lprect: *const RECT, flags: UINT) -> UINT; +} +extern "C" { + pub fn SetDIBits( + hdc: HDC, + hbm: HBITMAP, + start: UINT, + cLines: UINT, + lpBits: *const ::std::os::raw::c_void, + lpbmi: *const BITMAPINFO, + ColorUse: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetDIBitsToDevice( + hdc: HDC, + xDest: ::std::os::raw::c_int, + yDest: ::std::os::raw::c_int, + w: DWORD, + h: DWORD, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + StartScan: UINT, + cLines: UINT, + lpvBits: *const ::std::os::raw::c_void, + lpbmi: *const BITMAPINFO, + ColorUse: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetMapperFlags(hdc: HDC, flags: DWORD) -> DWORD; +} +extern "C" { + pub fn SetGraphicsMode(hdc: HDC, iMode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetMapMode(hdc: HDC, iMode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetLayout(hdc: HDC, l: DWORD) -> DWORD; +} +extern "C" { + pub fn GetLayout(hdc: HDC) -> DWORD; +} +extern "C" { + pub fn SetMetaFileBitsEx(cbBuffer: UINT, lpData: *const BYTE) -> HMETAFILE; +} +extern "C" { + pub fn SetPaletteEntries( + hpal: HPALETTE, + iStart: UINT, + cEntries: UINT, + pPalEntries: *const PALETTEENTRY, + ) -> UINT; +} +extern "C" { + pub fn SetPixel( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + color: COLORREF, + ) -> COLORREF; +} +extern "C" { + pub fn SetPixelV( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + color: COLORREF, + ) -> BOOL; +} +extern "C" { + pub fn SetPixelFormat( + hdc: HDC, + format: ::std::os::raw::c_int, + ppfd: *const PIXELFORMATDESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn SetPolyFillMode(hdc: HDC, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn StretchBlt( + hdcDest: HDC, + xDest: ::std::os::raw::c_int, + yDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + rop: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetRectRgn( + hrgn: HRGN, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn StretchDIBits( + hdc: HDC, + xDest: ::std::os::raw::c_int, + yDest: ::std::os::raw::c_int, + DestWidth: ::std::os::raw::c_int, + DestHeight: ::std::os::raw::c_int, + xSrc: ::std::os::raw::c_int, + ySrc: ::std::os::raw::c_int, + SrcWidth: ::std::os::raw::c_int, + SrcHeight: ::std::os::raw::c_int, + lpBits: *const ::std::os::raw::c_void, + lpbmi: *const BITMAPINFO, + iUsage: UINT, + rop: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetROP2(hdc: HDC, rop2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetStretchBltMode(hdc: HDC, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetSystemPaletteUse(hdc: HDC, use_: UINT) -> UINT; +} +extern "C" { + pub fn SetTextCharacterExtra(hdc: HDC, extra: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetTextColor(hdc: HDC, color: COLORREF) -> COLORREF; +} +extern "C" { + pub fn SetTextAlign(hdc: HDC, align: UINT) -> UINT; +} +extern "C" { + pub fn SetTextJustification( + hdc: HDC, + extra: ::std::os::raw::c_int, + count: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn UpdateColors(hdc: HDC) -> BOOL; +} +pub type COLOR16 = USHORT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TRIVERTEX { + pub x: LONG, + pub y: LONG, + pub Red: COLOR16, + pub Green: COLOR16, + pub Blue: COLOR16, + pub Alpha: COLOR16, +} +#[test] +fn bindgen_test_layout__TRIVERTEX() { + const UNINIT: ::std::mem::MaybeUninit<_TRIVERTEX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TRIVERTEX>(), + 16usize, + concat!("Size of: ", stringify!(_TRIVERTEX)) + ); + assert_eq!( + ::std::mem::align_of::<_TRIVERTEX>(), + 4usize, + concat!("Alignment of ", stringify!(_TRIVERTEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Red) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(Red) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Green) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(Green) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Blue) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(Blue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alpha) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_TRIVERTEX), + "::", + stringify!(Alpha) + ) + ); +} +pub type TRIVERTEX = _TRIVERTEX; +pub type PTRIVERTEX = *mut _TRIVERTEX; +pub type LPTRIVERTEX = *mut _TRIVERTEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GRADIENT_TRIANGLE { + pub Vertex1: ULONG, + pub Vertex2: ULONG, + pub Vertex3: ULONG, +} +#[test] +fn bindgen_test_layout__GRADIENT_TRIANGLE() { + const UNINIT: ::std::mem::MaybeUninit<_GRADIENT_TRIANGLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GRADIENT_TRIANGLE>(), + 12usize, + concat!("Size of: ", stringify!(_GRADIENT_TRIANGLE)) + ); + assert_eq!( + ::std::mem::align_of::<_GRADIENT_TRIANGLE>(), + 4usize, + concat!("Alignment of ", stringify!(_GRADIENT_TRIANGLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vertex1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_TRIANGLE), + "::", + stringify!(Vertex1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vertex2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_TRIANGLE), + "::", + stringify!(Vertex2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vertex3) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_TRIANGLE), + "::", + stringify!(Vertex3) + ) + ); +} +pub type GRADIENT_TRIANGLE = _GRADIENT_TRIANGLE; +pub type PGRADIENT_TRIANGLE = *mut _GRADIENT_TRIANGLE; +pub type LPGRADIENT_TRIANGLE = *mut _GRADIENT_TRIANGLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GRADIENT_RECT { + pub UpperLeft: ULONG, + pub LowerRight: ULONG, +} +#[test] +fn bindgen_test_layout__GRADIENT_RECT() { + const UNINIT: ::std::mem::MaybeUninit<_GRADIENT_RECT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GRADIENT_RECT>(), + 8usize, + concat!("Size of: ", stringify!(_GRADIENT_RECT)) + ); + assert_eq!( + ::std::mem::align_of::<_GRADIENT_RECT>(), + 4usize, + concat!("Alignment of ", stringify!(_GRADIENT_RECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UpperLeft) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_RECT), + "::", + stringify!(UpperLeft) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowerRight) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GRADIENT_RECT), + "::", + stringify!(LowerRight) + ) + ); +} +pub type GRADIENT_RECT = _GRADIENT_RECT; +pub type PGRADIENT_RECT = *mut _GRADIENT_RECT; +pub type LPGRADIENT_RECT = *mut _GRADIENT_RECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BLENDFUNCTION { + pub BlendOp: BYTE, + pub BlendFlags: BYTE, + pub SourceConstantAlpha: BYTE, + pub AlphaFormat: BYTE, +} +#[test] +fn bindgen_test_layout__BLENDFUNCTION() { + const UNINIT: ::std::mem::MaybeUninit<_BLENDFUNCTION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BLENDFUNCTION>(), + 4usize, + concat!("Size of: ", stringify!(_BLENDFUNCTION)) + ); + assert_eq!( + ::std::mem::align_of::<_BLENDFUNCTION>(), + 1usize, + concat!("Alignment of ", stringify!(_BLENDFUNCTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlendOp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BLENDFUNCTION), + "::", + stringify!(BlendOp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlendFlags) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_BLENDFUNCTION), + "::", + stringify!(BlendFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceConstantAlpha) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_BLENDFUNCTION), + "::", + stringify!(SourceConstantAlpha) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlphaFormat) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_BLENDFUNCTION), + "::", + stringify!(AlphaFormat) + ) + ); +} +pub type BLENDFUNCTION = _BLENDFUNCTION; +pub type PBLENDFUNCTION = *mut _BLENDFUNCTION; +extern "C" { + pub fn AlphaBlend( + hdcDest: HDC, + xoriginDest: ::std::os::raw::c_int, + yoriginDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xoriginSrc: ::std::os::raw::c_int, + yoriginSrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + ftn: BLENDFUNCTION, + ) -> BOOL; +} +extern "C" { + pub fn TransparentBlt( + hdcDest: HDC, + xoriginDest: ::std::os::raw::c_int, + yoriginDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xoriginSrc: ::std::os::raw::c_int, + yoriginSrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + crTransparent: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GradientFill( + hdc: HDC, + pVertex: PTRIVERTEX, + nVertex: ULONG, + pMesh: PVOID, + nMesh: ULONG, + ulMode: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn GdiAlphaBlend( + hdcDest: HDC, + xoriginDest: ::std::os::raw::c_int, + yoriginDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xoriginSrc: ::std::os::raw::c_int, + yoriginSrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + ftn: BLENDFUNCTION, + ) -> BOOL; +} +extern "C" { + pub fn GdiTransparentBlt( + hdcDest: HDC, + xoriginDest: ::std::os::raw::c_int, + yoriginDest: ::std::os::raw::c_int, + wDest: ::std::os::raw::c_int, + hDest: ::std::os::raw::c_int, + hdcSrc: HDC, + xoriginSrc: ::std::os::raw::c_int, + yoriginSrc: ::std::os::raw::c_int, + wSrc: ::std::os::raw::c_int, + hSrc: ::std::os::raw::c_int, + crTransparent: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GdiGradientFill( + hdc: HDC, + pVertex: PTRIVERTEX, + nVertex: ULONG, + pMesh: PVOID, + nCount: ULONG, + ulMode: ULONG, + ) -> BOOL; +} +extern "C" { + pub fn PlayMetaFileRecord( + hdc: HDC, + lpHandleTable: LPHANDLETABLE, + lpMR: LPMETARECORD, + noObjs: UINT, + ) -> BOOL; +} +pub type MFENUMPROC = ::std::option::Option< + unsafe extern "C" fn( + hdc: HDC, + lpht: *mut HANDLETABLE, + lpMR: *mut METARECORD, + nObj: ::std::os::raw::c_int, + param: LPARAM, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn EnumMetaFile(hdc: HDC, hmf: HMETAFILE, proc_: MFENUMPROC, param: LPARAM) -> BOOL; +} +pub type ENHMFENUMPROC = ::std::option::Option< + unsafe extern "C" fn( + hdc: HDC, + lpht: *mut HANDLETABLE, + lpmr: *const ENHMETARECORD, + nHandles: ::std::os::raw::c_int, + data: LPARAM, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn CloseEnhMetaFile(hdc: HDC) -> HENHMETAFILE; +} +extern "C" { + pub fn CopyEnhMetaFileA(hEnh: HENHMETAFILE, lpFileName: LPCSTR) -> HENHMETAFILE; +} +extern "C" { + pub fn CopyEnhMetaFileW(hEnh: HENHMETAFILE, lpFileName: LPCWSTR) -> HENHMETAFILE; +} +extern "C" { + pub fn CreateEnhMetaFileA( + hdc: HDC, + lpFilename: LPCSTR, + lprc: *const RECT, + lpDesc: LPCSTR, + ) -> HDC; +} +extern "C" { + pub fn CreateEnhMetaFileW( + hdc: HDC, + lpFilename: LPCWSTR, + lprc: *const RECT, + lpDesc: LPCWSTR, + ) -> HDC; +} +extern "C" { + pub fn DeleteEnhMetaFile(hmf: HENHMETAFILE) -> BOOL; +} +extern "C" { + pub fn EnumEnhMetaFile( + hdc: HDC, + hmf: HENHMETAFILE, + proc_: ENHMFENUMPROC, + param: LPVOID, + lpRect: *const RECT, + ) -> BOOL; +} +extern "C" { + pub fn GetEnhMetaFileA(lpName: LPCSTR) -> HENHMETAFILE; +} +extern "C" { + pub fn GetEnhMetaFileW(lpName: LPCWSTR) -> HENHMETAFILE; +} +extern "C" { + pub fn GetEnhMetaFileBits(hEMF: HENHMETAFILE, nSize: UINT, lpData: LPBYTE) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFileDescriptionA( + hemf: HENHMETAFILE, + cchBuffer: UINT, + lpDescription: LPSTR, + ) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFileDescriptionW( + hemf: HENHMETAFILE, + cchBuffer: UINT, + lpDescription: LPWSTR, + ) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFileHeader( + hemf: HENHMETAFILE, + nSize: UINT, + lpEnhMetaHeader: LPENHMETAHEADER, + ) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFilePaletteEntries( + hemf: HENHMETAFILE, + nNumEntries: UINT, + lpPaletteEntries: LPPALETTEENTRY, + ) -> UINT; +} +extern "C" { + pub fn GetEnhMetaFilePixelFormat( + hemf: HENHMETAFILE, + cbBuffer: UINT, + ppfd: *mut PIXELFORMATDESCRIPTOR, + ) -> UINT; +} +extern "C" { + pub fn GetWinMetaFileBits( + hemf: HENHMETAFILE, + cbData16: UINT, + pData16: LPBYTE, + iMapMode: INT, + hdcRef: HDC, + ) -> UINT; +} +extern "C" { + pub fn PlayEnhMetaFile(hdc: HDC, hmf: HENHMETAFILE, lprect: *const RECT) -> BOOL; +} +extern "C" { + pub fn PlayEnhMetaFileRecord( + hdc: HDC, + pht: LPHANDLETABLE, + pmr: *const ENHMETARECORD, + cht: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SetEnhMetaFileBits(nSize: UINT, pb: *const BYTE) -> HENHMETAFILE; +} +extern "C" { + pub fn SetWinMetaFileBits( + nSize: UINT, + lpMeta16Data: *const BYTE, + hdcRef: HDC, + lpMFP: *const METAFILEPICT, + ) -> HENHMETAFILE; +} +extern "C" { + pub fn GdiComment(hdc: HDC, nSize: UINT, lpData: *const BYTE) -> BOOL; +} +extern "C" { + pub fn GetTextMetricsA(hdc: HDC, lptm: LPTEXTMETRICA) -> BOOL; +} +extern "C" { + pub fn GetTextMetricsW(hdc: HDC, lptm: LPTEXTMETRICW) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDIBSECTION { + pub dsBm: BITMAP, + pub dsBmih: BITMAPINFOHEADER, + pub dsBitfields: [DWORD; 3usize], + pub dshSection: HANDLE, + pub dsOffset: DWORD, +} +#[test] +fn bindgen_test_layout_tagDIBSECTION() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(tagDIBSECTION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDIBSECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dsBm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dsBm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dsBmih) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dsBmih) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dsBitfields) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dsBitfields) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dshSection) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dshSection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dsOffset) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagDIBSECTION), + "::", + stringify!(dsOffset) + ) + ); +} +pub type DIBSECTION = tagDIBSECTION; +pub type LPDIBSECTION = *mut tagDIBSECTION; +pub type PDIBSECTION = *mut tagDIBSECTION; +extern "C" { + pub fn AngleArc( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + r: DWORD, + StartAngle: FLOAT, + SweepAngle: FLOAT, + ) -> BOOL; +} +extern "C" { + pub fn PolyPolyline(hdc: HDC, apt: *const POINT, asz: *const DWORD, csz: DWORD) -> BOOL; +} +extern "C" { + pub fn GetWorldTransform(hdc: HDC, lpxf: LPXFORM) -> BOOL; +} +extern "C" { + pub fn SetWorldTransform(hdc: HDC, lpxf: *const XFORM) -> BOOL; +} +extern "C" { + pub fn ModifyWorldTransform(hdc: HDC, lpxf: *const XFORM, mode: DWORD) -> BOOL; +} +extern "C" { + pub fn CombineTransform(lpxfOut: LPXFORM, lpxf1: *const XFORM, lpxf2: *const XFORM) -> BOOL; +} +extern "C" { + pub fn CreateDIBSection( + hdc: HDC, + pbmi: *const BITMAPINFO, + usage: UINT, + ppvBits: *mut *mut ::std::os::raw::c_void, + hSection: HANDLE, + offset: DWORD, + ) -> HBITMAP; +} +extern "C" { + pub fn GetDIBColorTable(hdc: HDC, iStart: UINT, cEntries: UINT, prgbq: *mut RGBQUAD) -> UINT; +} +extern "C" { + pub fn SetDIBColorTable(hdc: HDC, iStart: UINT, cEntries: UINT, prgbq: *const RGBQUAD) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOLORADJUSTMENT { + pub caSize: WORD, + pub caFlags: WORD, + pub caIlluminantIndex: WORD, + pub caRedGamma: WORD, + pub caGreenGamma: WORD, + pub caBlueGamma: WORD, + pub caReferenceBlack: WORD, + pub caReferenceWhite: WORD, + pub caContrast: SHORT, + pub caBrightness: SHORT, + pub caColorfulness: SHORT, + pub caRedGreenTint: SHORT, +} +#[test] +fn bindgen_test_layout_tagCOLORADJUSTMENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCOLORADJUSTMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagCOLORADJUSTMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caFlags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caIlluminantIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caIlluminantIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caRedGamma) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caRedGamma) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caGreenGamma) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caGreenGamma) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caBlueGamma) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caBlueGamma) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caReferenceBlack) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caReferenceBlack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caReferenceWhite) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caReferenceWhite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caContrast) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caContrast) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caBrightness) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caBrightness) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caColorfulness) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caColorfulness) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caRedGreenTint) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORADJUSTMENT), + "::", + stringify!(caRedGreenTint) + ) + ); +} +pub type COLORADJUSTMENT = tagCOLORADJUSTMENT; +pub type PCOLORADJUSTMENT = *mut tagCOLORADJUSTMENT; +pub type LPCOLORADJUSTMENT = *mut tagCOLORADJUSTMENT; +extern "C" { + pub fn SetColorAdjustment(hdc: HDC, lpca: *const COLORADJUSTMENT) -> BOOL; +} +extern "C" { + pub fn GetColorAdjustment(hdc: HDC, lpca: LPCOLORADJUSTMENT) -> BOOL; +} +extern "C" { + pub fn CreateHalftonePalette(hdc: HDC) -> HPALETTE; +} +pub type ABORTPROC = + ::std::option::Option BOOL>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOCINFOA { + pub cbSize: ::std::os::raw::c_int, + pub lpszDocName: LPCSTR, + pub lpszOutput: LPCSTR, + pub lpszDatatype: LPCSTR, + pub fwType: DWORD, +} +#[test] +fn bindgen_test_layout__DOCINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_DOCINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOCINFOA>(), + 40usize, + concat!("Size of: ", stringify!(_DOCINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_DOCINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_DOCINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDocName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(lpszDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszOutput) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(lpszOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDatatype) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(lpszDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fwType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOA), + "::", + stringify!(fwType) + ) + ); +} +pub type DOCINFOA = _DOCINFOA; +pub type LPDOCINFOA = *mut _DOCINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOCINFOW { + pub cbSize: ::std::os::raw::c_int, + pub lpszDocName: LPCWSTR, + pub lpszOutput: LPCWSTR, + pub lpszDatatype: LPCWSTR, + pub fwType: DWORD, +} +#[test] +fn bindgen_test_layout__DOCINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_DOCINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOCINFOW>(), + 40usize, + concat!("Size of: ", stringify!(_DOCINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_DOCINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_DOCINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDocName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(lpszDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszOutput) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(lpszOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDatatype) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(lpszDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fwType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DOCINFOW), + "::", + stringify!(fwType) + ) + ); +} +pub type DOCINFOW = _DOCINFOW; +pub type LPDOCINFOW = *mut _DOCINFOW; +pub type DOCINFO = DOCINFOA; +pub type LPDOCINFO = LPDOCINFOA; +extern "C" { + pub fn StartDocA(hdc: HDC, lpdi: *const DOCINFOA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn StartDocW(hdc: HDC, lpdi: *const DOCINFOW) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EndDoc(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn StartPage(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EndPage(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AbortDoc(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetAbortProc(hdc: HDC, proc_: ABORTPROC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn AbortPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn ArcTo( + hdc: HDC, + left: ::std::os::raw::c_int, + top: ::std::os::raw::c_int, + right: ::std::os::raw::c_int, + bottom: ::std::os::raw::c_int, + xr1: ::std::os::raw::c_int, + yr1: ::std::os::raw::c_int, + xr2: ::std::os::raw::c_int, + yr2: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn BeginPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn CloseFigure(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn EndPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn FillPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn FlattenPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn GetPath( + hdc: HDC, + apt: LPPOINT, + aj: LPBYTE, + cpt: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn PathToRegion(hdc: HDC) -> HRGN; +} +extern "C" { + pub fn PolyDraw( + hdc: HDC, + apt: *const POINT, + aj: *const BYTE, + cpt: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn SelectClipPath(hdc: HDC, mode: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn SetArcDirection(hdc: HDC, dir: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetMiterLimit(hdc: HDC, limit: FLOAT, old: PFLOAT) -> BOOL; +} +extern "C" { + pub fn StrokeAndFillPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn StrokePath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn WidenPath(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn ExtCreatePen( + iPenStyle: DWORD, + cWidth: DWORD, + plbrush: *const LOGBRUSH, + cStyle: DWORD, + pstyle: *const DWORD, + ) -> HPEN; +} +extern "C" { + pub fn GetMiterLimit(hdc: HDC, plimit: PFLOAT) -> BOOL; +} +extern "C" { + pub fn GetArcDirection(hdc: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetObjectA(h: HANDLE, c: ::std::os::raw::c_int, pv: LPVOID) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetObjectW(h: HANDLE, c: ::std::os::raw::c_int, pv: LPVOID) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MoveToEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn TextOutA( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpString: LPCSTR, + c: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn TextOutW( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpString: LPCWSTR, + c: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn ExtTextOutA( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + options: UINT, + lprect: *const RECT, + lpString: LPCSTR, + c: UINT, + lpDx: *const INT, + ) -> BOOL; +} +extern "C" { + pub fn ExtTextOutW( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + options: UINT, + lprect: *const RECT, + lpString: LPCWSTR, + c: UINT, + lpDx: *const INT, + ) -> BOOL; +} +extern "C" { + pub fn PolyTextOutA(hdc: HDC, ppt: *const POLYTEXTA, nstrings: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn PolyTextOutW(hdc: HDC, ppt: *const POLYTEXTW, nstrings: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn CreatePolygonRgn( + pptl: *const POINT, + cPoint: ::std::os::raw::c_int, + iMode: ::std::os::raw::c_int, + ) -> HRGN; +} +extern "C" { + pub fn DPtoLP(hdc: HDC, lppt: LPPOINT, c: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn LPtoDP(hdc: HDC, lppt: LPPOINT, c: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn Polygon(hdc: HDC, apt: *const POINT, cpt: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn Polyline(hdc: HDC, apt: *const POINT, cpt: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn PolyBezier(hdc: HDC, apt: *const POINT, cpt: DWORD) -> BOOL; +} +extern "C" { + pub fn PolyBezierTo(hdc: HDC, apt: *const POINT, cpt: DWORD) -> BOOL; +} +extern "C" { + pub fn PolylineTo(hdc: HDC, apt: *const POINT, cpt: DWORD) -> BOOL; +} +extern "C" { + pub fn SetViewportExtEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn SetViewportOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn SetWindowExtEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn SetWindowOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn OffsetViewportOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn OffsetWindowOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn ScaleViewportExtEx( + hdc: HDC, + xn: ::std::os::raw::c_int, + dx: ::std::os::raw::c_int, + yn: ::std::os::raw::c_int, + yd: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn ScaleWindowExtEx( + hdc: HDC, + xn: ::std::os::raw::c_int, + xd: ::std::os::raw::c_int, + yn: ::std::os::raw::c_int, + yd: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn SetBitmapDimensionEx( + hbm: HBITMAP, + w: ::std::os::raw::c_int, + h: ::std::os::raw::c_int, + lpsz: LPSIZE, + ) -> BOOL; +} +extern "C" { + pub fn SetBrushOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lppt: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn GetTextFaceA(hdc: HDC, c: ::std::os::raw::c_int, lpName: LPSTR) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTextFaceW( + hdc: HDC, + c: ::std::os::raw::c_int, + lpName: LPWSTR, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagKERNINGPAIR { + pub wFirst: WORD, + pub wSecond: WORD, + pub iKernAmount: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagKERNINGPAIR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagKERNINGPAIR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagKERNINGPAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFirst) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagKERNINGPAIR), + "::", + stringify!(wFirst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wSecond) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagKERNINGPAIR), + "::", + stringify!(wSecond) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iKernAmount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagKERNINGPAIR), + "::", + stringify!(iKernAmount) + ) + ); +} +pub type KERNINGPAIR = tagKERNINGPAIR; +pub type LPKERNINGPAIR = *mut tagKERNINGPAIR; +extern "C" { + pub fn GetKerningPairsA(hdc: HDC, nPairs: DWORD, lpKernPair: LPKERNINGPAIR) -> DWORD; +} +extern "C" { + pub fn GetKerningPairsW(hdc: HDC, nPairs: DWORD, lpKernPair: LPKERNINGPAIR) -> DWORD; +} +extern "C" { + pub fn GetDCOrgEx(hdc: HDC, lppt: LPPOINT) -> BOOL; +} +extern "C" { + pub fn FixBrushOrgEx( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + ptl: LPPOINT, + ) -> BOOL; +} +extern "C" { + pub fn UnrealizeObject(h: HGDIOBJ) -> BOOL; +} +extern "C" { + pub fn GdiFlush() -> BOOL; +} +extern "C" { + pub fn GdiSetBatchLimit(dw: DWORD) -> DWORD; +} +extern "C" { + pub fn GdiGetBatchLimit() -> DWORD; +} +pub type ICMENUMPROCA = + ::std::option::Option ::std::os::raw::c_int>; +pub type ICMENUMPROCW = ::std::option::Option< + unsafe extern "C" fn(arg1: LPWSTR, arg2: LPARAM) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn SetICMMode(hdc: HDC, mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CheckColorsInGamut( + hdc: HDC, + lpRGBTriple: LPRGBTRIPLE, + dlpBuffer: LPVOID, + nCount: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetColorSpace(hdc: HDC) -> HCOLORSPACE; +} +extern "C" { + pub fn GetLogColorSpaceA( + hColorSpace: HCOLORSPACE, + lpBuffer: LPLOGCOLORSPACEA, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetLogColorSpaceW( + hColorSpace: HCOLORSPACE, + lpBuffer: LPLOGCOLORSPACEW, + nSize: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CreateColorSpaceA(lplcs: LPLOGCOLORSPACEA) -> HCOLORSPACE; +} +extern "C" { + pub fn CreateColorSpaceW(lplcs: LPLOGCOLORSPACEW) -> HCOLORSPACE; +} +extern "C" { + pub fn SetColorSpace(hdc: HDC, hcs: HCOLORSPACE) -> HCOLORSPACE; +} +extern "C" { + pub fn DeleteColorSpace(hcs: HCOLORSPACE) -> BOOL; +} +extern "C" { + pub fn GetICMProfileA(hdc: HDC, pBufSize: LPDWORD, pszFilename: LPSTR) -> BOOL; +} +extern "C" { + pub fn GetICMProfileW(hdc: HDC, pBufSize: LPDWORD, pszFilename: LPWSTR) -> BOOL; +} +extern "C" { + pub fn SetICMProfileA(hdc: HDC, lpFileName: LPSTR) -> BOOL; +} +extern "C" { + pub fn SetICMProfileW(hdc: HDC, lpFileName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetDeviceGammaRamp(hdc: HDC, lpRamp: LPVOID) -> BOOL; +} +extern "C" { + pub fn SetDeviceGammaRamp(hdc: HDC, lpRamp: LPVOID) -> BOOL; +} +extern "C" { + pub fn ColorMatchToTarget(hdc: HDC, hdcTarget: HDC, action: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumICMProfilesA(hdc: HDC, proc_: ICMENUMPROCA, param: LPARAM) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumICMProfilesW(hdc: HDC, proc_: ICMENUMPROCW, param: LPARAM) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn UpdateICMRegKeyA( + reserved: DWORD, + lpszCMID: LPSTR, + lpszFileName: LPSTR, + command: UINT, + ) -> BOOL; +} +extern "C" { + pub fn UpdateICMRegKeyW( + reserved: DWORD, + lpszCMID: LPWSTR, + lpszFileName: LPWSTR, + command: UINT, + ) -> BOOL; +} +extern "C" { + pub fn ColorCorrectPalette(hdc: HDC, hPal: HPALETTE, deFirst: DWORD, num: DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMR { + pub iType: DWORD, + pub nSize: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagEMR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMR), + "::", + stringify!(iType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEMR), + "::", + stringify!(nSize) + ) + ); +} +pub type EMR = tagEMR; +pub type PEMR = *mut tagEMR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRTEXT { + pub ptlReference: POINTL, + pub nChars: DWORD, + pub offString: DWORD, + pub fOptions: DWORD, + pub rcl: RECTL, + pub offDx: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRTEXT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagEMRTEXT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(ptlReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nChars) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(nChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offString) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(offString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fOptions) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(fOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcl) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(rcl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offDx) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTEXT), + "::", + stringify!(offDx) + ) + ); +} +pub type EMRTEXT = tagEMRTEXT; +pub type PEMRTEXT = *mut tagEMRTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagABORTPATH { + pub emr: EMR, +} +#[test] +fn bindgen_test_layout_tagABORTPATH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagABORTPATH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagABORTPATH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagABORTPATH), + "::", + stringify!(emr) + ) + ); +} +pub type EMRABORTPATH = tagABORTPATH; +pub type PEMRABORTPATH = *mut tagABORTPATH; +pub type EMRBEGINPATH = tagABORTPATH; +pub type PEMRBEGINPATH = *mut tagABORTPATH; +pub type EMRENDPATH = tagABORTPATH; +pub type PEMRENDPATH = *mut tagABORTPATH; +pub type EMRCLOSEFIGURE = tagABORTPATH; +pub type PEMRCLOSEFIGURE = *mut tagABORTPATH; +pub type EMRFLATTENPATH = tagABORTPATH; +pub type PEMRFLATTENPATH = *mut tagABORTPATH; +pub type EMRWIDENPATH = tagABORTPATH; +pub type PEMRWIDENPATH = *mut tagABORTPATH; +pub type EMRSETMETARGN = tagABORTPATH; +pub type PEMRSETMETARGN = *mut tagABORTPATH; +pub type EMRSAVEDC = tagABORTPATH; +pub type PEMRSAVEDC = *mut tagABORTPATH; +pub type EMRREALIZEPALETTE = tagABORTPATH; +pub type PEMRREALIZEPALETTE = *mut tagABORTPATH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSELECTCLIPPATH { + pub emr: EMR, + pub iMode: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSELECTCLIPPATH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSELECTCLIPPATH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSELECTCLIPPATH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTCLIPPATH), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTCLIPPATH), + "::", + stringify!(iMode) + ) + ); +} +pub type EMRSELECTCLIPPATH = tagEMRSELECTCLIPPATH; +pub type PEMRSELECTCLIPPATH = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETBKMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETBKMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETMAPMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETMAPMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETLAYOUT = tagEMRSELECTCLIPPATH; +pub type PEMRSETLAYOUT = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETPOLYFILLMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETPOLYFILLMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETROP2 = tagEMRSELECTCLIPPATH; +pub type PEMRSETROP2 = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETSTRETCHBLTMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETSTRETCHBLTMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETICMMODE = tagEMRSELECTCLIPPATH; +pub type PEMRSETICMMODE = *mut tagEMRSELECTCLIPPATH; +pub type EMRSETTEXTALIGN = tagEMRSELECTCLIPPATH; +pub type PEMRSETTEXTALIGN = *mut tagEMRSELECTCLIPPATH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETMITERLIMIT { + pub emr: EMR, + pub eMiterLimit: FLOAT, +} +#[test] +fn bindgen_test_layout_tagEMRSETMITERLIMIT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETMITERLIMIT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETMITERLIMIT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETMITERLIMIT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eMiterLimit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETMITERLIMIT), + "::", + stringify!(eMiterLimit) + ) + ); +} +pub type EMRSETMITERLIMIT = tagEMRSETMITERLIMIT; +pub type PEMRSETMITERLIMIT = *mut tagEMRSETMITERLIMIT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRRESTOREDC { + pub emr: EMR, + pub iRelative: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRRESTOREDC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRRESTOREDC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRRESTOREDC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESTOREDC), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRelative) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESTOREDC), + "::", + stringify!(iRelative) + ) + ); +} +pub type EMRRESTOREDC = tagEMRRESTOREDC; +pub type PEMRRESTOREDC = *mut tagEMRRESTOREDC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETARCDIRECTION { + pub emr: EMR, + pub iArcDirection: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSETARCDIRECTION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETARCDIRECTION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETARCDIRECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETARCDIRECTION), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iArcDirection) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETARCDIRECTION), + "::", + stringify!(iArcDirection) + ) + ); +} +pub type EMRSETARCDIRECTION = tagEMRSETARCDIRECTION; +pub type PEMRSETARCDIRECTION = *mut tagEMRSETARCDIRECTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETMAPPERFLAGS { + pub emr: EMR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSETMAPPERFLAGS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETMAPPERFLAGS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETMAPPERFLAGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETMAPPERFLAGS), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETMAPPERFLAGS), + "::", + stringify!(dwFlags) + ) + ); +} +pub type EMRSETMAPPERFLAGS = tagEMRSETMAPPERFLAGS; +pub type PEMRSETMAPPERFLAGS = *mut tagEMRSETMAPPERFLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETTEXTCOLOR { + pub emr: EMR, + pub crColor: COLORREF, +} +#[test] +fn bindgen_test_layout_tagEMRSETTEXTCOLOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETTEXTCOLOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETTEXTCOLOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETTEXTCOLOR), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crColor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETTEXTCOLOR), + "::", + stringify!(crColor) + ) + ); +} +pub type EMRSETBKCOLOR = tagEMRSETTEXTCOLOR; +pub type PEMRSETBKCOLOR = *mut tagEMRSETTEXTCOLOR; +pub type EMRSETTEXTCOLOR = tagEMRSETTEXTCOLOR; +pub type PEMRSETTEXTCOLOR = *mut tagEMRSETTEXTCOLOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSELECTOBJECT { + pub emr: EMR, + pub ihObject: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSELECTOBJECT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSELECTOBJECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSELECTOBJECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTOBJECT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihObject) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTOBJECT), + "::", + stringify!(ihObject) + ) + ); +} +pub type EMRSELECTOBJECT = tagEMRSELECTOBJECT; +pub type PEMRSELECTOBJECT = *mut tagEMRSELECTOBJECT; +pub type EMRDELETEOBJECT = tagEMRSELECTOBJECT; +pub type PEMRDELETEOBJECT = *mut tagEMRSELECTOBJECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSELECTPALETTE { + pub emr: EMR, + pub ihPal: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSELECTPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSELECTPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSELECTPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTPALETTE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSELECTPALETTE), + "::", + stringify!(ihPal) + ) + ); +} +pub type EMRSELECTPALETTE = tagEMRSELECTPALETTE; +pub type PEMRSELECTPALETTE = *mut tagEMRSELECTPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRRESIZEPALETTE { + pub emr: EMR, + pub ihPal: DWORD, + pub cEntries: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRRESIZEPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRRESIZEPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRRESIZEPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESIZEPALETTE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESIZEPALETTE), + "::", + stringify!(ihPal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cEntries) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRRESIZEPALETTE), + "::", + stringify!(cEntries) + ) + ); +} +pub type EMRRESIZEPALETTE = tagEMRRESIZEPALETTE; +pub type PEMRRESIZEPALETTE = *mut tagEMRRESIZEPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETPALETTEENTRIES { + pub emr: EMR, + pub ihPal: DWORD, + pub iStart: DWORD, + pub cEntries: DWORD, + pub aPalEntries: [PALETTEENTRY; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRSETPALETTEENTRIES() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRSETPALETTEENTRIES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETPALETTEENTRIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(ihPal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iStart) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(iStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cEntries) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(cEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aPalEntries) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPALETTEENTRIES), + "::", + stringify!(aPalEntries) + ) + ); +} +pub type EMRSETPALETTEENTRIES = tagEMRSETPALETTEENTRIES; +pub type PEMRSETPALETTEENTRIES = *mut tagEMRSETPALETTEENTRIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETCOLORADJUSTMENT { + pub emr: EMR, + pub ColorAdjustment: COLORADJUSTMENT, +} +#[test] +fn bindgen_test_layout_tagEMRSETCOLORADJUSTMENT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRSETCOLORADJUSTMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETCOLORADJUSTMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETCOLORADJUSTMENT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ColorAdjustment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETCOLORADJUSTMENT), + "::", + stringify!(ColorAdjustment) + ) + ); +} +pub type EMRSETCOLORADJUSTMENT = tagEMRSETCOLORADJUSTMENT; +pub type PEMRSETCOLORADJUSTMENT = *mut tagEMRSETCOLORADJUSTMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRGDICOMMENT { + pub emr: EMR, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRGDICOMMENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRGDICOMMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRGDICOMMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGDICOMMENT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGDICOMMENT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGDICOMMENT), + "::", + stringify!(Data) + ) + ); +} +pub type EMRGDICOMMENT = tagEMRGDICOMMENT; +pub type PEMRGDICOMMENT = *mut tagEMRGDICOMMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREOF { + pub emr: EMR, + pub nPalEntries: DWORD, + pub offPalEntries: DWORD, + pub nSizeLast: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMREOF() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMREOF)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREOF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREOF), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPalEntries) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREOF), + "::", + stringify!(nPalEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offPalEntries) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREOF), + "::", + stringify!(offPalEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeLast) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREOF), + "::", + stringify!(nSizeLast) + ) + ); +} +pub type EMREOF = tagEMREOF; +pub type PEMREOF = *mut tagEMREOF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRLINETO { + pub emr: EMR, + pub ptl: POINTL, +} +#[test] +fn bindgen_test_layout_tagEMRLINETO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRLINETO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRLINETO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRLINETO), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRLINETO), + "::", + stringify!(ptl) + ) + ); +} +pub type EMRLINETO = tagEMRLINETO; +pub type PEMRLINETO = *mut tagEMRLINETO; +pub type EMRMOVETOEX = tagEMRLINETO; +pub type PEMRMOVETOEX = *mut tagEMRLINETO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMROFFSETCLIPRGN { + pub emr: EMR, + pub ptlOffset: POINTL, +} +#[test] +fn bindgen_test_layout_tagEMROFFSETCLIPRGN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMROFFSETCLIPRGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMROFFSETCLIPRGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMROFFSETCLIPRGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMROFFSETCLIPRGN), + "::", + stringify!(ptlOffset) + ) + ); +} +pub type EMROFFSETCLIPRGN = tagEMROFFSETCLIPRGN; +pub type PEMROFFSETCLIPRGN = *mut tagEMROFFSETCLIPRGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRFILLPATH { + pub emr: EMR, + pub rclBounds: RECTL, +} +#[test] +fn bindgen_test_layout_tagEMRFILLPATH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRFILLPATH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRFILLPATH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLPATH), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLPATH), + "::", + stringify!(rclBounds) + ) + ); +} +pub type EMRFILLPATH = tagEMRFILLPATH; +pub type PEMRFILLPATH = *mut tagEMRFILLPATH; +pub type EMRSTROKEANDFILLPATH = tagEMRFILLPATH; +pub type PEMRSTROKEANDFILLPATH = *mut tagEMRFILLPATH; +pub type EMRSTROKEPATH = tagEMRFILLPATH; +pub type PEMRSTROKEPATH = *mut tagEMRFILLPATH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXCLUDECLIPRECT { + pub emr: EMR, + pub rclClip: RECTL, +} +#[test] +fn bindgen_test_layout_tagEMREXCLUDECLIPRECT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMREXCLUDECLIPRECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXCLUDECLIPRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXCLUDECLIPRECT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclClip) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXCLUDECLIPRECT), + "::", + stringify!(rclClip) + ) + ); +} +pub type EMREXCLUDECLIPRECT = tagEMREXCLUDECLIPRECT; +pub type PEMREXCLUDECLIPRECT = *mut tagEMREXCLUDECLIPRECT; +pub type EMRINTERSECTCLIPRECT = tagEMREXCLUDECLIPRECT; +pub type PEMRINTERSECTCLIPRECT = *mut tagEMREXCLUDECLIPRECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETVIEWPORTORGEX { + pub emr: EMR, + pub ptlOrigin: POINTL, +} +#[test] +fn bindgen_test_layout_tagEMRSETVIEWPORTORGEX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRSETVIEWPORTORGEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETVIEWPORTORGEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETVIEWPORTORGEX), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlOrigin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETVIEWPORTORGEX), + "::", + stringify!(ptlOrigin) + ) + ); +} +pub type EMRSETVIEWPORTORGEX = tagEMRSETVIEWPORTORGEX; +pub type PEMRSETVIEWPORTORGEX = *mut tagEMRSETVIEWPORTORGEX; +pub type EMRSETWINDOWORGEX = tagEMRSETVIEWPORTORGEX; +pub type PEMRSETWINDOWORGEX = *mut tagEMRSETVIEWPORTORGEX; +pub type EMRSETBRUSHORGEX = tagEMRSETVIEWPORTORGEX; +pub type PEMRSETBRUSHORGEX = *mut tagEMRSETVIEWPORTORGEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETVIEWPORTEXTEX { + pub emr: EMR, + pub szlExtent: SIZEL, +} +#[test] +fn bindgen_test_layout_tagEMRSETVIEWPORTEXTEX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRSETVIEWPORTEXTEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETVIEWPORTEXTEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETVIEWPORTEXTEX), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlExtent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETVIEWPORTEXTEX), + "::", + stringify!(szlExtent) + ) + ); +} +pub type EMRSETVIEWPORTEXTEX = tagEMRSETVIEWPORTEXTEX; +pub type PEMRSETVIEWPORTEXTEX = *mut tagEMRSETVIEWPORTEXTEX; +pub type EMRSETWINDOWEXTEX = tagEMRSETVIEWPORTEXTEX; +pub type PEMRSETWINDOWEXTEX = *mut tagEMRSETVIEWPORTEXTEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSCALEVIEWPORTEXTEX { + pub emr: EMR, + pub xNum: LONG, + pub xDenom: LONG, + pub yNum: LONG, + pub yDenom: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRSCALEVIEWPORTEXTEX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRSCALEVIEWPORTEXTEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSCALEVIEWPORTEXTEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xNum) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(xNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDenom) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(xDenom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yNum) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(yNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDenom) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSCALEVIEWPORTEXTEX), + "::", + stringify!(yDenom) + ) + ); +} +pub type EMRSCALEVIEWPORTEXTEX = tagEMRSCALEVIEWPORTEXTEX; +pub type PEMRSCALEVIEWPORTEXTEX = *mut tagEMRSCALEVIEWPORTEXTEX; +pub type EMRSCALEWINDOWEXTEX = tagEMRSCALEVIEWPORTEXTEX; +pub type PEMRSCALEWINDOWEXTEX = *mut tagEMRSCALEVIEWPORTEXTEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETWORLDTRANSFORM { + pub emr: EMR, + pub xform: XFORM, +} +#[test] +fn bindgen_test_layout_tagEMRSETWORLDTRANSFORM() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRSETWORLDTRANSFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETWORLDTRANSFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETWORLDTRANSFORM), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xform) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETWORLDTRANSFORM), + "::", + stringify!(xform) + ) + ); +} +pub type EMRSETWORLDTRANSFORM = tagEMRSETWORLDTRANSFORM; +pub type PEMRSETWORLDTRANSFORM = *mut tagEMRSETWORLDTRANSFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRMODIFYWORLDTRANSFORM { + pub emr: EMR, + pub xform: XFORM, + pub iMode: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRMODIFYWORLDTRANSFORM() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagEMRMODIFYWORLDTRANSFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRMODIFYWORLDTRANSFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMODIFYWORLDTRANSFORM), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xform) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMODIFYWORLDTRANSFORM), + "::", + stringify!(xform) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMODIFYWORLDTRANSFORM), + "::", + stringify!(iMode) + ) + ); +} +pub type EMRMODIFYWORLDTRANSFORM = tagEMRMODIFYWORLDTRANSFORM; +pub type PEMRMODIFYWORLDTRANSFORM = *mut tagEMRMODIFYWORLDTRANSFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETPIXELV { + pub emr: EMR, + pub ptlPixel: POINTL, + pub crColor: COLORREF, +} +#[test] +fn bindgen_test_layout_tagEMRSETPIXELV() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMRSETPIXELV)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETPIXELV)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPIXELV), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlPixel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPIXELV), + "::", + stringify!(ptlPixel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crColor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETPIXELV), + "::", + stringify!(crColor) + ) + ); +} +pub type EMRSETPIXELV = tagEMRSETPIXELV; +pub type PEMRSETPIXELV = *mut tagEMRSETPIXELV; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTFLOODFILL { + pub emr: EMR, + pub ptlStart: POINTL, + pub crColor: COLORREF, + pub iMode: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMREXTFLOODFILL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMREXTFLOODFILL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTFLOODFILL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTFLOODFILL), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlStart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTFLOODFILL), + "::", + stringify!(ptlStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crColor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTFLOODFILL), + "::", + stringify!(crColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTFLOODFILL), + "::", + stringify!(iMode) + ) + ); +} +pub type EMREXTFLOODFILL = tagEMREXTFLOODFILL; +pub type PEMREXTFLOODFILL = *mut tagEMREXTFLOODFILL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRELLIPSE { + pub emr: EMR, + pub rclBox: RECTL, +} +#[test] +fn bindgen_test_layout_tagEMRELLIPSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRELLIPSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRELLIPSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRELLIPSE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBox) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRELLIPSE), + "::", + stringify!(rclBox) + ) + ); +} +pub type EMRELLIPSE = tagEMRELLIPSE; +pub type PEMRELLIPSE = *mut tagEMRELLIPSE; +pub type EMRRECTANGLE = tagEMRELLIPSE; +pub type PEMRRECTANGLE = *mut tagEMRELLIPSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRROUNDRECT { + pub emr: EMR, + pub rclBox: RECTL, + pub szlCorner: SIZEL, +} +#[test] +fn bindgen_test_layout_tagEMRROUNDRECT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRROUNDRECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRROUNDRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRROUNDRECT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBox) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRROUNDRECT), + "::", + stringify!(rclBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlCorner) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRROUNDRECT), + "::", + stringify!(szlCorner) + ) + ); +} +pub type EMRROUNDRECT = tagEMRROUNDRECT; +pub type PEMRROUNDRECT = *mut tagEMRROUNDRECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRARC { + pub emr: EMR, + pub rclBox: RECTL, + pub ptlStart: POINTL, + pub ptlEnd: POINTL, +} +#[test] +fn bindgen_test_layout_tagEMRARC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagEMRARC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRARC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRARC), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBox) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRARC), + "::", + stringify!(rclBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlStart) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRARC), + "::", + stringify!(ptlStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlEnd) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRARC), + "::", + stringify!(ptlEnd) + ) + ); +} +pub type EMRARC = tagEMRARC; +pub type PEMRARC = *mut tagEMRARC; +pub type EMRARCTO = tagEMRARC; +pub type PEMRARCTO = *mut tagEMRARC; +pub type EMRCHORD = tagEMRARC; +pub type PEMRCHORD = *mut tagEMRARC; +pub type EMRPIE = tagEMRARC; +pub type PEMRPIE = *mut tagEMRARC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRANGLEARC { + pub emr: EMR, + pub ptlCenter: POINTL, + pub nRadius: DWORD, + pub eStartAngle: FLOAT, + pub eSweepAngle: FLOAT, +} +#[test] +fn bindgen_test_layout_tagEMRANGLEARC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagEMRANGLEARC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRANGLEARC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptlCenter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(ptlCenter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nRadius) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(nRadius) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eStartAngle) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(eStartAngle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eSweepAngle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRANGLEARC), + "::", + stringify!(eSweepAngle) + ) + ); +} +pub type EMRANGLEARC = tagEMRANGLEARC; +pub type PEMRANGLEARC = *mut tagEMRANGLEARC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYLINE { + pub emr: EMR, + pub rclBounds: RECTL, + pub cptl: DWORD, + pub aptl: [POINTL; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYLINE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagEMRPOLYLINE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYLINE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cptl) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE), + "::", + stringify!(cptl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aptl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE), + "::", + stringify!(aptl) + ) + ); +} +pub type EMRPOLYLINE = tagEMRPOLYLINE; +pub type PEMRPOLYLINE = *mut tagEMRPOLYLINE; +pub type EMRPOLYBEZIER = tagEMRPOLYLINE; +pub type PEMRPOLYBEZIER = *mut tagEMRPOLYLINE; +pub type EMRPOLYGON = tagEMRPOLYLINE; +pub type PEMRPOLYGON = *mut tagEMRPOLYLINE; +pub type EMRPOLYBEZIERTO = tagEMRPOLYLINE; +pub type PEMRPOLYBEZIERTO = *mut tagEMRPOLYLINE; +pub type EMRPOLYLINETO = tagEMRPOLYLINE; +pub type PEMRPOLYLINETO = *mut tagEMRPOLYLINE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYLINE16 { + pub emr: EMR, + pub rclBounds: RECTL, + pub cpts: DWORD, + pub apts: [POINTS; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYLINE16() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRPOLYLINE16)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYLINE16)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE16), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE16), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cpts) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE16), + "::", + stringify!(cpts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apts) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYLINE16), + "::", + stringify!(apts) + ) + ); +} +pub type EMRPOLYLINE16 = tagEMRPOLYLINE16; +pub type PEMRPOLYLINE16 = *mut tagEMRPOLYLINE16; +pub type EMRPOLYBEZIER16 = tagEMRPOLYLINE16; +pub type PEMRPOLYBEZIER16 = *mut tagEMRPOLYLINE16; +pub type EMRPOLYGON16 = tagEMRPOLYLINE16; +pub type PEMRPOLYGON16 = *mut tagEMRPOLYLINE16; +pub type EMRPOLYBEZIERTO16 = tagEMRPOLYLINE16; +pub type PEMRPOLYBEZIERTO16 = *mut tagEMRPOLYLINE16; +pub type EMRPOLYLINETO16 = tagEMRPOLYLINE16; +pub type PEMRPOLYLINETO16 = *mut tagEMRPOLYLINE16; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYDRAW { + pub emr: EMR, + pub rclBounds: RECTL, + pub cptl: DWORD, + pub aptl: [POINTL; 1usize], + pub abTypes: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYDRAW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagEMRPOLYDRAW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYDRAW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cptl) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(cptl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aptl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(aptl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abTypes) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW), + "::", + stringify!(abTypes) + ) + ); +} +pub type EMRPOLYDRAW = tagEMRPOLYDRAW; +pub type PEMRPOLYDRAW = *mut tagEMRPOLYDRAW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYDRAW16 { + pub emr: EMR, + pub rclBounds: RECTL, + pub cpts: DWORD, + pub apts: [POINTS; 1usize], + pub abTypes: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYDRAW16() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagEMRPOLYDRAW16)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYDRAW16)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cpts) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(cpts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apts) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(apts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abTypes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYDRAW16), + "::", + stringify!(abTypes) + ) + ); +} +pub type EMRPOLYDRAW16 = tagEMRPOLYDRAW16; +pub type PEMRPOLYDRAW16 = *mut tagEMRPOLYDRAW16; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYPOLYLINE { + pub emr: EMR, + pub rclBounds: RECTL, + pub nPolys: DWORD, + pub cptl: DWORD, + pub aPolyCounts: [DWORD; 1usize], + pub aptl: [POINTL; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYPOLYLINE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagEMRPOLYPOLYLINE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYPOLYLINE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPolys) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(nPolys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cptl) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(cptl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aPolyCounts) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(aPolyCounts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aptl) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE), + "::", + stringify!(aptl) + ) + ); +} +pub type EMRPOLYPOLYLINE = tagEMRPOLYPOLYLINE; +pub type PEMRPOLYPOLYLINE = *mut tagEMRPOLYPOLYLINE; +pub type EMRPOLYPOLYGON = tagEMRPOLYPOLYLINE; +pub type PEMRPOLYPOLYGON = *mut tagEMRPOLYPOLYLINE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYPOLYLINE16 { + pub emr: EMR, + pub rclBounds: RECTL, + pub nPolys: DWORD, + pub cpts: DWORD, + pub aPolyCounts: [DWORD; 1usize], + pub apts: [POINTS; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYPOLYLINE16() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagEMRPOLYPOLYLINE16)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYPOLYLINE16)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPolys) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(nPolys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cpts) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(cpts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aPolyCounts) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(aPolyCounts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apts) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYPOLYLINE16), + "::", + stringify!(apts) + ) + ); +} +pub type EMRPOLYPOLYLINE16 = tagEMRPOLYPOLYLINE16; +pub type PEMRPOLYPOLYLINE16 = *mut tagEMRPOLYPOLYLINE16; +pub type EMRPOLYPOLYGON16 = tagEMRPOLYPOLYLINE16; +pub type PEMRPOLYPOLYGON16 = *mut tagEMRPOLYPOLYLINE16; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRINVERTRGN { + pub emr: EMR, + pub rclBounds: RECTL, + pub cbRgnData: DWORD, + pub RgnData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRINVERTRGN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRINVERTRGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRINVERTRGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRINVERTRGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRINVERTRGN), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbRgnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRINVERTRGN), + "::", + stringify!(cbRgnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RgnData) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRINVERTRGN), + "::", + stringify!(RgnData) + ) + ); +} +pub type EMRINVERTRGN = tagEMRINVERTRGN; +pub type PEMRINVERTRGN = *mut tagEMRINVERTRGN; +pub type EMRPAINTRGN = tagEMRINVERTRGN; +pub type PEMRPAINTRGN = *mut tagEMRINVERTRGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRFILLRGN { + pub emr: EMR, + pub rclBounds: RECTL, + pub cbRgnData: DWORD, + pub ihBrush: DWORD, + pub RgnData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRFILLRGN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagEMRFILLRGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRFILLRGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbRgnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(cbRgnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RgnData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFILLRGN), + "::", + stringify!(RgnData) + ) + ); +} +pub type EMRFILLRGN = tagEMRFILLRGN; +pub type PEMRFILLRGN = *mut tagEMRFILLRGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRFRAMERGN { + pub emr: EMR, + pub rclBounds: RECTL, + pub cbRgnData: DWORD, + pub ihBrush: DWORD, + pub szlStroke: SIZEL, + pub RgnData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRFRAMERGN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagEMRFRAMERGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRFRAMERGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbRgnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(cbRgnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szlStroke) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(szlStroke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RgnData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFRAMERGN), + "::", + stringify!(RgnData) + ) + ); +} +pub type EMRFRAMERGN = tagEMRFRAMERGN; +pub type PEMRFRAMERGN = *mut tagEMRFRAMERGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTSELECTCLIPRGN { + pub emr: EMR, + pub cbRgnData: DWORD, + pub iMode: DWORD, + pub RgnData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMREXTSELECTCLIPRGN() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMREXTSELECTCLIPRGN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTSELECTCLIPRGN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTSELECTCLIPRGN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbRgnData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTSELECTCLIPRGN), + "::", + stringify!(cbRgnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMode) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTSELECTCLIPRGN), + "::", + stringify!(iMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RgnData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTSELECTCLIPRGN), + "::", + stringify!(RgnData) + ) + ); +} +pub type EMREXTSELECTCLIPRGN = tagEMREXTSELECTCLIPRGN; +pub type PEMREXTSELECTCLIPRGN = *mut tagEMREXTSELECTCLIPRGN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTTEXTOUTA { + pub emr: EMR, + pub rclBounds: RECTL, + pub iGraphicsMode: DWORD, + pub exScale: FLOAT, + pub eyScale: FLOAT, + pub emrtext: EMRTEXT, +} +#[test] +fn bindgen_test_layout_tagEMREXTTEXTOUTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagEMREXTTEXTOUTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTTEXTOUTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iGraphicsMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(iGraphicsMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).exScale) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(exScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eyScale) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(eyScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emrtext) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTTEXTOUTA), + "::", + stringify!(emrtext) + ) + ); +} +pub type EMREXTTEXTOUTA = tagEMREXTTEXTOUTA; +pub type PEMREXTTEXTOUTA = *mut tagEMREXTTEXTOUTA; +pub type EMREXTTEXTOUTW = tagEMREXTTEXTOUTA; +pub type PEMREXTTEXTOUTW = *mut tagEMREXTTEXTOUTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPOLYTEXTOUTA { + pub emr: EMR, + pub rclBounds: RECTL, + pub iGraphicsMode: DWORD, + pub exScale: FLOAT, + pub eyScale: FLOAT, + pub cStrings: LONG, + pub aemrtext: [EMRTEXT; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRPOLYTEXTOUTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagEMRPOLYTEXTOUTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPOLYTEXTOUTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iGraphicsMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(iGraphicsMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).exScale) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(exScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).eyScale) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(eyScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStrings) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(cStrings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aemrtext) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPOLYTEXTOUTA), + "::", + stringify!(aemrtext) + ) + ); +} +pub type EMRPOLYTEXTOUTA = tagEMRPOLYTEXTOUTA; +pub type PEMRPOLYTEXTOUTA = *mut tagEMRPOLYTEXTOUTA; +pub type EMRPOLYTEXTOUTW = tagEMRPOLYTEXTOUTA; +pub type PEMRPOLYTEXTOUTW = *mut tagEMRPOLYTEXTOUTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRBITBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRBITBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 100usize, + concat!("Size of: ", stringify!(tagEMRBITBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRBITBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRBITBLT), + "::", + stringify!(cbBitsSrc) + ) + ); +} +pub type EMRBITBLT = tagEMRBITBLT; +pub type PEMRBITBLT = *mut tagEMRBITBLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSTRETCHBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub cxSrc: LONG, + pub cySrc: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRSTRETCHBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagEMRSTRETCHBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSTRETCHBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHBLT), + "::", + stringify!(cySrc) + ) + ); +} +pub type EMRSTRETCHBLT = tagEMRSTRETCHBLT; +pub type PEMRSTRETCHBLT = *mut tagEMRSTRETCHBLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRMASKBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub xMask: LONG, + pub yMask: LONG, + pub iUsageMask: DWORD, + pub offBmiMask: DWORD, + pub cbBmiMask: DWORD, + pub offBitsMask: DWORD, + pub cbBitsMask: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRMASKBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagEMRMASKBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRMASKBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xMask) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(xMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yMask) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(yMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageMask) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(iUsageMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiMask) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(offBmiMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiMask) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cbBmiMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsMask) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(offBitsMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsMask) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagEMRMASKBLT), + "::", + stringify!(cbBitsMask) + ) + ); +} +pub type EMRMASKBLT = tagEMRMASKBLT; +pub type PEMRMASKBLT = *mut tagEMRMASKBLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPLGBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub aptlDest: [POINTL; 3usize], + pub xSrc: LONG, + pub ySrc: LONG, + pub cxSrc: LONG, + pub cySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub xMask: LONG, + pub yMask: LONG, + pub iUsageMask: DWORD, + pub offBmiMask: DWORD, + pub cbBmiMask: DWORD, + pub offBitsMask: DWORD, + pub cbBitsMask: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRPLGBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 140usize, + concat!("Size of: ", stringify!(tagEMRPLGBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPLGBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aptlDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(aptlDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xMask) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(xMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yMask) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(yMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageMask) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(iUsageMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiMask) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(offBmiMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiMask) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cbBmiMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsMask) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(offBitsMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsMask) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPLGBLT), + "::", + stringify!(cbBitsMask) + ) + ); +} +pub type EMRPLGBLT = tagEMRPLGBLT; +pub type PEMRPLGBLT = *mut tagEMRPLGBLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETDIBITSTODEVICE { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub xSrc: LONG, + pub ySrc: LONG, + pub cxSrc: LONG, + pub cySrc: LONG, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub iUsageSrc: DWORD, + pub iStartScan: DWORD, + pub cScans: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSETDIBITSTODEVICE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagEMRSETDIBITSTODEVICE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETDIBITSTODEVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iStartScan) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(iStartScan) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cScans) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETDIBITSTODEVICE), + "::", + stringify!(cScans) + ) + ); +} +pub type EMRSETDIBITSTODEVICE = tagEMRSETDIBITSTODEVICE; +pub type PEMRSETDIBITSTODEVICE = *mut tagEMRSETDIBITSTODEVICE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSTRETCHDIBITS { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub xSrc: LONG, + pub ySrc: LONG, + pub cxSrc: LONG, + pub cySrc: LONG, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub iUsageSrc: DWORD, + pub dwRop: DWORD, + pub cxDest: LONG, + pub cyDest: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRSTRETCHDIBITS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagEMRSTRETCHDIBITS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSTRETCHDIBITS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSTRETCHDIBITS), + "::", + stringify!(cyDest) + ) + ); +} +pub type EMRSTRETCHDIBITS = tagEMRSTRETCHDIBITS; +pub type PEMRSTRETCHDIBITS = *mut tagEMRSTRETCHDIBITS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTCREATEFONTINDIRECTW { + pub emr: EMR, + pub ihFont: DWORD, + pub elfw: EXTLOGFONTW, +} +#[test] +fn bindgen_test_layout_tagEMREXTCREATEFONTINDIRECTW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 332usize, + concat!("Size of: ", stringify!(tagEMREXTCREATEFONTINDIRECTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTCREATEFONTINDIRECTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEFONTINDIRECTW), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihFont) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEFONTINDIRECTW), + "::", + stringify!(ihFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elfw) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEFONTINDIRECTW), + "::", + stringify!(elfw) + ) + ); +} +pub type EMREXTCREATEFONTINDIRECTW = tagEMREXTCREATEFONTINDIRECTW; +pub type PEMREXTCREATEFONTINDIRECTW = *mut tagEMREXTCREATEFONTINDIRECTW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEPALETTE { + pub emr: EMR, + pub ihPal: DWORD, + pub lgpl: LOGPALETTE, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMRCREATEPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPALETTE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPALETTE), + "::", + stringify!(ihPal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lgpl) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPALETTE), + "::", + stringify!(lgpl) + ) + ); +} +pub type EMRCREATEPALETTE = tagEMRCREATEPALETTE; +pub type PEMRCREATEPALETTE = *mut tagEMRCREATEPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEPEN { + pub emr: EMR, + pub ihPen: DWORD, + pub lopn: LOGPEN, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEPEN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagEMRCREATEPEN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEPEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPEN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPEN), + "::", + stringify!(ihPen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lopn) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEPEN), + "::", + stringify!(lopn) + ) + ); +} +pub type EMRCREATEPEN = tagEMRCREATEPEN; +pub type PEMRCREATEPEN = *mut tagEMRCREATEPEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTCREATEPEN { + pub emr: EMR, + pub ihPen: DWORD, + pub offBmi: DWORD, + pub cbBmi: DWORD, + pub offBits: DWORD, + pub cbBits: DWORD, + pub elp: EXTLOGPEN32, +} +#[test] +fn bindgen_test_layout_tagEMREXTCREATEPEN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagEMREXTCREATEPEN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTCREATEPEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(ihPen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmi) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(offBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmi) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(cbBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBits) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(offBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(cbBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elp) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTCREATEPEN), + "::", + stringify!(elp) + ) + ); +} +pub type EMREXTCREATEPEN = tagEMREXTCREATEPEN; +pub type PEMREXTCREATEPEN = *mut tagEMREXTCREATEPEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEBRUSHINDIRECT { + pub emr: EMR, + pub ihBrush: DWORD, + pub lb: LOGBRUSH32, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEBRUSHINDIRECT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRCREATEBRUSHINDIRECT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEBRUSHINDIRECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEBRUSHINDIRECT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEBRUSHINDIRECT), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lb) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEBRUSHINDIRECT), + "::", + stringify!(lb) + ) + ); +} +pub type EMRCREATEBRUSHINDIRECT = tagEMRCREATEBRUSHINDIRECT; +pub type PEMRCREATEBRUSHINDIRECT = *mut tagEMRCREATEBRUSHINDIRECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEMONOBRUSH { + pub emr: EMR, + pub ihBrush: DWORD, + pub iUsage: DWORD, + pub offBmi: DWORD, + pub cbBmi: DWORD, + pub offBits: DWORD, + pub cbBits: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEMONOBRUSH() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRCREATEMONOBRUSH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEMONOBRUSH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(iUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmi) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(offBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmi) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(cbBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(offBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBits) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEMONOBRUSH), + "::", + stringify!(cbBits) + ) + ); +} +pub type EMRCREATEMONOBRUSH = tagEMRCREATEMONOBRUSH; +pub type PEMRCREATEMONOBRUSH = *mut tagEMRCREATEMONOBRUSH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATEDIBPATTERNBRUSHPT { + pub emr: EMR, + pub ihBrush: DWORD, + pub iUsage: DWORD, + pub offBmi: DWORD, + pub cbBmi: DWORD, + pub offBits: DWORD, + pub cbBits: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRCREATEDIBPATTERNBRUSHPT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATEDIBPATTERNBRUSHPT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihBrush) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(ihBrush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(iUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmi) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(offBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmi) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(cbBmi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(offBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBits) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATEDIBPATTERNBRUSHPT), + "::", + stringify!(cbBits) + ) + ); +} +pub type EMRCREATEDIBPATTERNBRUSHPT = tagEMRCREATEDIBPATTERNBRUSHPT; +pub type PEMRCREATEDIBPATTERNBRUSHPT = *mut tagEMRCREATEDIBPATTERNBRUSHPT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRFORMAT { + pub dSignature: DWORD, + pub nVersion: DWORD, + pub cbData: DWORD, + pub offData: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRFORMAT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRFORMAT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRFORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFORMAT), + "::", + stringify!(dSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFORMAT), + "::", + stringify!(nVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFORMAT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRFORMAT), + "::", + stringify!(offData) + ) + ); +} +pub type EMRFORMAT = tagEMRFORMAT; +pub type PEMRFORMAT = *mut tagEMRFORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRGLSRECORD { + pub emr: EMR, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRGLSRECORD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagEMRGLSRECORD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRGLSRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSRECORD), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSRECORD), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSRECORD), + "::", + stringify!(Data) + ) + ); +} +pub type EMRGLSRECORD = tagEMRGLSRECORD; +pub type PEMRGLSRECORD = *mut tagEMRGLSRECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRGLSBOUNDEDRECORD { + pub emr: EMR, + pub rclBounds: RECTL, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRGLSBOUNDEDRECORD() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagEMRGLSBOUNDEDRECORD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRGLSBOUNDEDRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSBOUNDEDRECORD), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSBOUNDEDRECORD), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSBOUNDEDRECORD), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGLSBOUNDEDRECORD), + "::", + stringify!(Data) + ) + ); +} +pub type EMRGLSBOUNDEDRECORD = tagEMRGLSBOUNDEDRECORD; +pub type PEMRGLSBOUNDEDRECORD = *mut tagEMRGLSBOUNDEDRECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRPIXELFORMAT { + pub emr: EMR, + pub pfd: PIXELFORMATDESCRIPTOR, +} +#[test] +fn bindgen_test_layout_tagEMRPIXELFORMAT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagEMRPIXELFORMAT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRPIXELFORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPIXELFORMAT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRPIXELFORMAT), + "::", + stringify!(pfd) + ) + ); +} +pub type EMRPIXELFORMAT = tagEMRPIXELFORMAT; +pub type PEMRPIXELFORMAT = *mut tagEMRPIXELFORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATECOLORSPACE { + pub emr: EMR, + pub ihCS: DWORD, + pub lcs: LOGCOLORSPACEA, +} +#[test] +fn bindgen_test_layout_tagEMRCREATECOLORSPACE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 340usize, + concat!("Size of: ", stringify!(tagEMRCREATECOLORSPACE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATECOLORSPACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihCS) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACE), + "::", + stringify!(ihCS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcs) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACE), + "::", + stringify!(lcs) + ) + ); +} +pub type EMRCREATECOLORSPACE = tagEMRCREATECOLORSPACE; +pub type PEMRCREATECOLORSPACE = *mut tagEMRCREATECOLORSPACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETCOLORSPACE { + pub emr: EMR, + pub ihCS: DWORD, +} +#[test] +fn bindgen_test_layout_tagEMRSETCOLORSPACE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagEMRSETCOLORSPACE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETCOLORSPACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETCOLORSPACE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihCS) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETCOLORSPACE), + "::", + stringify!(ihCS) + ) + ); +} +pub type EMRSETCOLORSPACE = tagEMRSETCOLORSPACE; +pub type PEMRSETCOLORSPACE = *mut tagEMRSETCOLORSPACE; +pub type EMRSELECTCOLORSPACE = tagEMRSETCOLORSPACE; +pub type PEMRSELECTCOLORSPACE = *mut tagEMRSETCOLORSPACE; +pub type EMRDELETECOLORSPACE = tagEMRSETCOLORSPACE; +pub type PEMRDELETECOLORSPACE = *mut tagEMRSETCOLORSPACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMREXTESCAPE { + pub emr: EMR, + pub iEscape: INT, + pub cbEscData: INT, + pub EscData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMREXTESCAPE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagEMREXTESCAPE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMREXTESCAPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTESCAPE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iEscape) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTESCAPE), + "::", + stringify!(iEscape) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEscData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTESCAPE), + "::", + stringify!(cbEscData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EscData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMREXTESCAPE), + "::", + stringify!(EscData) + ) + ); +} +pub type EMREXTESCAPE = tagEMREXTESCAPE; +pub type PEMREXTESCAPE = *mut tagEMREXTESCAPE; +pub type EMRDRAWESCAPE = tagEMREXTESCAPE; +pub type PEMRDRAWESCAPE = *mut tagEMREXTESCAPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRNAMEDESCAPE { + pub emr: EMR, + pub iEscape: INT, + pub cbDriver: INT, + pub cbEscData: INT, + pub EscData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRNAMEDESCAPE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRNAMEDESCAPE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRNAMEDESCAPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iEscape) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(iEscape) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbDriver) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(cbDriver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEscData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(cbEscData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EscData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRNAMEDESCAPE), + "::", + stringify!(EscData) + ) + ); +} +pub type EMRNAMEDESCAPE = tagEMRNAMEDESCAPE; +pub type PEMRNAMEDESCAPE = *mut tagEMRNAMEDESCAPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRSETICMPROFILE { + pub emr: EMR, + pub dwFlags: DWORD, + pub cbName: DWORD, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRSETICMPROFILE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEMRSETICMPROFILE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRSETICMPROFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(cbName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagEMRSETICMPROFILE), + "::", + stringify!(Data) + ) + ); +} +pub type EMRSETICMPROFILE = tagEMRSETICMPROFILE; +pub type PEMRSETICMPROFILE = *mut tagEMRSETICMPROFILE; +pub type EMRSETICMPROFILEA = tagEMRSETICMPROFILE; +pub type PEMRSETICMPROFILEA = *mut tagEMRSETICMPROFILE; +pub type EMRSETICMPROFILEW = tagEMRSETICMPROFILE; +pub type PEMRSETICMPROFILEW = *mut tagEMRSETICMPROFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRCREATECOLORSPACEW { + pub emr: EMR, + pub ihCS: DWORD, + pub lcs: LOGCOLORSPACEW, + pub dwFlags: DWORD, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRCREATECOLORSPACEW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 612usize, + concat!("Size of: ", stringify!(tagEMRCREATECOLORSPACEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRCREATECOLORSPACEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihCS) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(ihCS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcs) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(lcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 600usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 604usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 608usize, + concat!( + "Offset of field: ", + stringify!(tagEMRCREATECOLORSPACEW), + "::", + stringify!(Data) + ) + ); +} +pub type EMRCREATECOLORSPACEW = tagEMRCREATECOLORSPACEW; +pub type PEMRCREATECOLORSPACEW = *mut tagEMRCREATECOLORSPACEW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOLORMATCHTOTARGET { + pub emr: EMR, + pub dwAction: DWORD, + pub dwFlags: DWORD, + pub cbName: DWORD, + pub cbData: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagCOLORMATCHTOTARGET() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagCOLORMATCHTOTARGET)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCOLORMATCHTOTARGET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAction) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(dwAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(cbName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORMATCHTOTARGET), + "::", + stringify!(Data) + ) + ); +} +pub type EMRCOLORMATCHTOTARGET = tagCOLORMATCHTOTARGET; +pub type PEMRCOLORMATCHTOTARGET = *mut tagCOLORMATCHTOTARGET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOLORCORRECTPALETTE { + pub emr: EMR, + pub ihPalette: DWORD, + pub nFirstEntry: DWORD, + pub nPalEntries: DWORD, + pub nReserved: DWORD, +} +#[test] +fn bindgen_test_layout_tagCOLORCORRECTPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCOLORCORRECTPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCOLORCORRECTPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ihPalette) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(ihPalette) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFirstEntry) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(nFirstEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPalEntries) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(nPalEntries) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nReserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCOLORCORRECTPALETTE), + "::", + stringify!(nReserved) + ) + ); +} +pub type EMRCOLORCORRECTPALETTE = tagCOLORCORRECTPALETTE; +pub type PEMRCOLORCORRECTPALETTE = *mut tagCOLORCORRECTPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRALPHABLEND { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub cxSrc: LONG, + pub cySrc: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRALPHABLEND() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagEMRALPHABLEND)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRALPHABLEND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRALPHABLEND), + "::", + stringify!(cySrc) + ) + ); +} +pub type EMRALPHABLEND = tagEMRALPHABLEND; +pub type PEMRALPHABLEND = *mut tagEMRALPHABLEND; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRGRADIENTFILL { + pub emr: EMR, + pub rclBounds: RECTL, + pub nVer: DWORD, + pub nTri: DWORD, + pub ulMode: ULONG, + pub Ver: [TRIVERTEX; 1usize], +} +#[test] +fn bindgen_test_layout_tagEMRGRADIENTFILL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagEMRGRADIENTFILL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRGRADIENTFILL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(nVer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nTri) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(nTri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulMode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(ulMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ver) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRGRADIENTFILL), + "::", + stringify!(Ver) + ) + ); +} +pub type EMRGRADIENTFILL = tagEMRGRADIENTFILL; +pub type PEMRGRADIENTFILL = *mut tagEMRGRADIENTFILL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEMRTRANSPARENTBLT { + pub emr: EMR, + pub rclBounds: RECTL, + pub xDest: LONG, + pub yDest: LONG, + pub cxDest: LONG, + pub cyDest: LONG, + pub dwRop: DWORD, + pub xSrc: LONG, + pub ySrc: LONG, + pub xformSrc: XFORM, + pub crBkColorSrc: COLORREF, + pub iUsageSrc: DWORD, + pub offBmiSrc: DWORD, + pub cbBmiSrc: DWORD, + pub offBitsSrc: DWORD, + pub cbBitsSrc: DWORD, + pub cxSrc: LONG, + pub cySrc: LONG, +} +#[test] +fn bindgen_test_layout_tagEMRTRANSPARENTBLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagEMRTRANSPARENTBLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagEMRTRANSPARENTBLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).emr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(emr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rclBounds) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(rclBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xDest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(xDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yDest) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(yDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxDest) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cxDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyDest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cyDest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRop) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(dwRop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xSrc) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(xSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ySrc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(ySrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xformSrc) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(xformSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crBkColorSrc) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(crBkColorSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iUsageSrc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(iUsageSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBmiSrc) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(offBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBmiSrc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cbBmiSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offBitsSrc) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(offBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBitsSrc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cbBitsSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxSrc) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cxSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cySrc) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagEMRTRANSPARENTBLT), + "::", + stringify!(cySrc) + ) + ); +} +pub type EMRTRANSPARENTBLT = tagEMRTRANSPARENTBLT; +pub type PEMRTRANSPARENTBLT = *mut tagEMRTRANSPARENTBLT; +extern "C" { + pub fn wglCopyContext(arg1: HGLRC, arg2: HGLRC, arg3: UINT) -> BOOL; +} +extern "C" { + pub fn wglCreateContext(arg1: HDC) -> HGLRC; +} +extern "C" { + pub fn wglCreateLayerContext(arg1: HDC, arg2: ::std::os::raw::c_int) -> HGLRC; +} +extern "C" { + pub fn wglDeleteContext(arg1: HGLRC) -> BOOL; +} +extern "C" { + pub fn wglGetCurrentContext() -> HGLRC; +} +extern "C" { + pub fn wglGetCurrentDC() -> HDC; +} +extern "C" { + pub fn wglGetProcAddress(arg1: LPCSTR) -> PROC; +} +extern "C" { + pub fn wglMakeCurrent(arg1: HDC, arg2: HGLRC) -> BOOL; +} +extern "C" { + pub fn wglShareLists(arg1: HGLRC, arg2: HGLRC) -> BOOL; +} +extern "C" { + pub fn wglUseFontBitmapsA(arg1: HDC, arg2: DWORD, arg3: DWORD, arg4: DWORD) -> BOOL; +} +extern "C" { + pub fn wglUseFontBitmapsW(arg1: HDC, arg2: DWORD, arg3: DWORD, arg4: DWORD) -> BOOL; +} +extern "C" { + pub fn SwapBuffers(arg1: HDC) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _POINTFLOAT { + pub x: FLOAT, + pub y: FLOAT, +} +#[test] +fn bindgen_test_layout__POINTFLOAT() { + const UNINIT: ::std::mem::MaybeUninit<_POINTFLOAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_POINTFLOAT>(), + 8usize, + concat!("Size of: ", stringify!(_POINTFLOAT)) + ); + assert_eq!( + ::std::mem::align_of::<_POINTFLOAT>(), + 4usize, + concat!("Alignment of ", stringify!(_POINTFLOAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_POINTFLOAT), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_POINTFLOAT), + "::", + stringify!(y) + ) + ); +} +pub type POINTFLOAT = _POINTFLOAT; +pub type PPOINTFLOAT = *mut _POINTFLOAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GLYPHMETRICSFLOAT { + pub gmfBlackBoxX: FLOAT, + pub gmfBlackBoxY: FLOAT, + pub gmfptGlyphOrigin: POINTFLOAT, + pub gmfCellIncX: FLOAT, + pub gmfCellIncY: FLOAT, +} +#[test] +fn bindgen_test_layout__GLYPHMETRICSFLOAT() { + const UNINIT: ::std::mem::MaybeUninit<_GLYPHMETRICSFLOAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GLYPHMETRICSFLOAT>(), + 24usize, + concat!("Size of: ", stringify!(_GLYPHMETRICSFLOAT)) + ); + assert_eq!( + ::std::mem::align_of::<_GLYPHMETRICSFLOAT>(), + 4usize, + concat!("Alignment of ", stringify!(_GLYPHMETRICSFLOAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfBlackBoxX) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfBlackBoxX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfBlackBoxY) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfBlackBoxY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfptGlyphOrigin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfptGlyphOrigin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfCellIncX) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfCellIncX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gmfCellIncY) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_GLYPHMETRICSFLOAT), + "::", + stringify!(gmfCellIncY) + ) + ); +} +pub type GLYPHMETRICSFLOAT = _GLYPHMETRICSFLOAT; +pub type PGLYPHMETRICSFLOAT = *mut _GLYPHMETRICSFLOAT; +pub type LPGLYPHMETRICSFLOAT = *mut _GLYPHMETRICSFLOAT; +extern "C" { + pub fn wglUseFontOutlinesA( + arg1: HDC, + arg2: DWORD, + arg3: DWORD, + arg4: DWORD, + arg5: FLOAT, + arg6: FLOAT, + arg7: ::std::os::raw::c_int, + arg8: LPGLYPHMETRICSFLOAT, + ) -> BOOL; +} +extern "C" { + pub fn wglUseFontOutlinesW( + arg1: HDC, + arg2: DWORD, + arg3: DWORD, + arg4: DWORD, + arg5: FLOAT, + arg6: FLOAT, + arg7: ::std::os::raw::c_int, + arg8: LPGLYPHMETRICSFLOAT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLAYERPLANEDESCRIPTOR { + pub nSize: WORD, + pub nVersion: WORD, + pub dwFlags: DWORD, + pub iPixelType: BYTE, + pub cColorBits: BYTE, + pub cRedBits: BYTE, + pub cRedShift: BYTE, + pub cGreenBits: BYTE, + pub cGreenShift: BYTE, + pub cBlueBits: BYTE, + pub cBlueShift: BYTE, + pub cAlphaBits: BYTE, + pub cAlphaShift: BYTE, + pub cAccumBits: BYTE, + pub cAccumRedBits: BYTE, + pub cAccumGreenBits: BYTE, + pub cAccumBlueBits: BYTE, + pub cAccumAlphaBits: BYTE, + pub cDepthBits: BYTE, + pub cStencilBits: BYTE, + pub cAuxBuffers: BYTE, + pub iLayerPlane: BYTE, + pub bReserved: BYTE, + pub crTransparent: COLORREF, +} +#[test] +fn bindgen_test_layout_tagLAYERPLANEDESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagLAYERPLANEDESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLAYERPLANEDESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(nSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(nVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPixelType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(iPixelType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cColorBits) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cColorBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRedBits) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cRedBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRedShift) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cRedShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGreenBits) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cGreenBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGreenShift) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cGreenShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlueBits) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cBlueBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlueShift) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cBlueShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlphaBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAlphaBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAlphaShift) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAlphaShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumBits) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumRedBits) as usize - ptr as usize }, + 19usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumRedBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumGreenBits) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumGreenBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumBlueBits) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumBlueBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccumAlphaBits) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAccumAlphaBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDepthBits) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cDepthBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStencilBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cStencilBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuxBuffers) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(cAuxBuffers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iLayerPlane) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(iLayerPlane) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crTransparent) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagLAYERPLANEDESCRIPTOR), + "::", + stringify!(crTransparent) + ) + ); +} +pub type LAYERPLANEDESCRIPTOR = tagLAYERPLANEDESCRIPTOR; +pub type PLAYERPLANEDESCRIPTOR = *mut tagLAYERPLANEDESCRIPTOR; +pub type LPLAYERPLANEDESCRIPTOR = *mut tagLAYERPLANEDESCRIPTOR; +extern "C" { + pub fn wglDescribeLayerPlane( + arg1: HDC, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: UINT, + arg5: LPLAYERPLANEDESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn wglSetLayerPaletteEntries( + arg1: HDC, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: ::std::os::raw::c_int, + arg5: *const COLORREF, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wglGetLayerPaletteEntries( + arg1: HDC, + arg2: ::std::os::raw::c_int, + arg3: ::std::os::raw::c_int, + arg4: ::std::os::raw::c_int, + arg5: *mut COLORREF, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wglRealizeLayerPalette(arg1: HDC, arg2: ::std::os::raw::c_int, arg3: BOOL) -> BOOL; +} +extern "C" { + pub fn wglSwapLayerBuffers(arg1: HDC, arg2: UINT) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WGLSWAP { + pub hdc: HDC, + pub uiFlags: UINT, +} +#[test] +fn bindgen_test_layout__WGLSWAP() { + const UNINIT: ::std::mem::MaybeUninit<_WGLSWAP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WGLSWAP>(), + 16usize, + concat!("Size of: ", stringify!(_WGLSWAP)) + ); + assert_eq!( + ::std::mem::align_of::<_WGLSWAP>(), + 8usize, + concat!("Alignment of ", stringify!(_WGLSWAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WGLSWAP), + "::", + stringify!(hdc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WGLSWAP), + "::", + stringify!(uiFlags) + ) + ); +} +pub type WGLSWAP = _WGLSWAP; +pub type PWGLSWAP = *mut _WGLSWAP; +pub type LPWGLSWAP = *mut _WGLSWAP; +extern "C" { + pub fn wglSwapMultipleBuffers(arg1: UINT, arg2: *const WGLSWAP) -> DWORD; +} +pub type HDWP = HANDLE; +pub type MENUTEMPLATEA = ::std::os::raw::c_void; +pub type MENUTEMPLATEW = ::std::os::raw::c_void; +pub type MENUTEMPLATE = MENUTEMPLATEA; +pub type LPMENUTEMPLATEA = PVOID; +pub type LPMENUTEMPLATEW = PVOID; +pub type LPMENUTEMPLATE = LPMENUTEMPLATEA; +pub type WNDPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> LRESULT, +>; +pub type DLGPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> INT_PTR, +>; +pub type TIMERPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: UINT_PTR, arg4: DWORD), +>; +pub type GRAYSTRINGPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HDC, arg2: LPARAM, arg3: ::std::os::raw::c_int) -> BOOL, +>; +pub type WNDENUMPROC = + ::std::option::Option BOOL>; +pub type HOOKPROC = ::std::option::Option< + unsafe extern "C" fn(code: ::std::os::raw::c_int, wParam: WPARAM, lParam: LPARAM) -> LRESULT, +>; +pub type SENDASYNCPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: ULONG_PTR, arg4: LRESULT), +>; +pub type PROPENUMPROCA = + ::std::option::Option BOOL>; +pub type PROPENUMPROCW = + ::std::option::Option BOOL>; +pub type PROPENUMPROCEXA = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: LPSTR, arg3: HANDLE, arg4: ULONG_PTR) -> BOOL, +>; +pub type PROPENUMPROCEXW = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: LPWSTR, arg3: HANDLE, arg4: ULONG_PTR) -> BOOL, +>; +pub type EDITWORDBREAKPROCA = ::std::option::Option< + unsafe extern "C" fn( + lpch: LPSTR, + ichCurrent: ::std::os::raw::c_int, + cch: ::std::os::raw::c_int, + code: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, +>; +pub type EDITWORDBREAKPROCW = ::std::option::Option< + unsafe extern "C" fn( + lpch: LPWSTR, + ichCurrent: ::std::os::raw::c_int, + cch: ::std::os::raw::c_int, + code: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, +>; +pub type DRAWSTATEPROC = ::std::option::Option< + unsafe extern "C" fn( + hdc: HDC, + lData: LPARAM, + wData: WPARAM, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + ) -> BOOL, +>; +pub type PROPENUMPROC = PROPENUMPROCA; +pub type PROPENUMPROCEX = PROPENUMPROCEXA; +pub type EDITWORDBREAKPROC = EDITWORDBREAKPROCA; +pub type NAMEENUMPROCA = + ::std::option::Option BOOL>; +pub type NAMEENUMPROCW = + ::std::option::Option BOOL>; +pub type WINSTAENUMPROCA = NAMEENUMPROCA; +pub type DESKTOPENUMPROCA = NAMEENUMPROCA; +pub type WINSTAENUMPROCW = NAMEENUMPROCW; +pub type DESKTOPENUMPROCW = NAMEENUMPROCW; +pub type WINSTAENUMPROC = WINSTAENUMPROCA; +pub type DESKTOPENUMPROC = DESKTOPENUMPROCA; +extern "C" { + pub fn wvsprintfA(arg1: LPSTR, arg2: LPCSTR, arglist: va_list) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wvsprintfW(arg1: LPWSTR, arg2: LPCWSTR, arglist: va_list) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wsprintfA(arg1: LPSTR, arg2: LPCSTR, ...) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wsprintfW(arg1: LPWSTR, arg2: LPCWSTR, ...) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCBT_CREATEWNDA { + pub lpcs: *mut tagCREATESTRUCTA, + pub hwndInsertAfter: HWND, +} +#[test] +fn bindgen_test_layout_tagCBT_CREATEWNDA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCBT_CREATEWNDA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCBT_CREATEWNDA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpcs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCBT_CREATEWNDA), + "::", + stringify!(lpcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndInsertAfter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCBT_CREATEWNDA), + "::", + stringify!(hwndInsertAfter) + ) + ); +} +pub type CBT_CREATEWNDA = tagCBT_CREATEWNDA; +pub type LPCBT_CREATEWNDA = *mut tagCBT_CREATEWNDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCBT_CREATEWNDW { + pub lpcs: *mut tagCREATESTRUCTW, + pub hwndInsertAfter: HWND, +} +#[test] +fn bindgen_test_layout_tagCBT_CREATEWNDW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCBT_CREATEWNDW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCBT_CREATEWNDW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpcs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCBT_CREATEWNDW), + "::", + stringify!(lpcs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndInsertAfter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCBT_CREATEWNDW), + "::", + stringify!(hwndInsertAfter) + ) + ); +} +pub type CBT_CREATEWNDW = tagCBT_CREATEWNDW; +pub type LPCBT_CREATEWNDW = *mut tagCBT_CREATEWNDW; +pub type CBT_CREATEWND = CBT_CREATEWNDA; +pub type LPCBT_CREATEWND = LPCBT_CREATEWNDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCBTACTIVATESTRUCT { + pub fMouse: BOOL, + pub hWndActive: HWND, +} +#[test] +fn bindgen_test_layout_tagCBTACTIVATESTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCBTACTIVATESTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCBTACTIVATESTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMouse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCBTACTIVATESTRUCT), + "::", + stringify!(fMouse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndActive) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCBTACTIVATESTRUCT), + "::", + stringify!(hWndActive) + ) + ); +} +pub type CBTACTIVATESTRUCT = tagCBTACTIVATESTRUCT; +pub type LPCBTACTIVATESTRUCT = *mut tagCBTACTIVATESTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWTSSESSION_NOTIFICATION { + pub cbSize: DWORD, + pub dwSessionId: DWORD, +} +#[test] +fn bindgen_test_layout_tagWTSSESSION_NOTIFICATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagWTSSESSION_NOTIFICATION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagWTSSESSION_NOTIFICATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWTSSESSION_NOTIFICATION), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSessionId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWTSSESSION_NOTIFICATION), + "::", + stringify!(dwSessionId) + ) + ); +} +pub type WTSSESSION_NOTIFICATION = tagWTSSESSION_NOTIFICATION; +pub type PWTSSESSION_NOTIFICATION = *mut tagWTSSESSION_NOTIFICATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SHELLHOOKINFO { + pub hwnd: HWND, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_SHELLHOOKINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(SHELLHOOKINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(SHELLHOOKINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SHELLHOOKINFO), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SHELLHOOKINFO), + "::", + stringify!(rc) + ) + ); +} +pub type LPSHELLHOOKINFO = *mut SHELLHOOKINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEVENTMSG { + pub message: UINT, + pub paramL: UINT, + pub paramH: UINT, + pub time: DWORD, + pub hwnd: HWND, +} +#[test] +fn bindgen_test_layout_tagEVENTMSG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagEVENTMSG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagEVENTMSG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paramL) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(paramL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paramH) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(paramH) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEVENTMSG), + "::", + stringify!(hwnd) + ) + ); +} +pub type EVENTMSG = tagEVENTMSG; +pub type PEVENTMSGMSG = *mut tagEVENTMSG; +pub type NPEVENTMSGMSG = *mut tagEVENTMSG; +pub type LPEVENTMSGMSG = *mut tagEVENTMSG; +pub type PEVENTMSG = *mut tagEVENTMSG; +pub type NPEVENTMSG = *mut tagEVENTMSG; +pub type LPEVENTMSG = *mut tagEVENTMSG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCWPSTRUCT { + pub lParam: LPARAM, + pub wParam: WPARAM, + pub message: UINT, + pub hwnd: HWND, +} +#[test] +fn bindgen_test_layout_tagCWPSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagCWPSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCWPSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCWPSTRUCT), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCWPSTRUCT), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCWPSTRUCT), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCWPSTRUCT), + "::", + stringify!(hwnd) + ) + ); +} +pub type CWPSTRUCT = tagCWPSTRUCT; +pub type PCWPSTRUCT = *mut tagCWPSTRUCT; +pub type NPCWPSTRUCT = *mut tagCWPSTRUCT; +pub type LPCWPSTRUCT = *mut tagCWPSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCWPRETSTRUCT { + pub lResult: LRESULT, + pub lParam: LPARAM, + pub wParam: WPARAM, + pub message: UINT, + pub hwnd: HWND, +} +#[test] +fn bindgen_test_layout_tagCWPRETSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagCWPRETSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCWPRETSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lResult) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(lResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCWPRETSTRUCT), + "::", + stringify!(hwnd) + ) + ); +} +pub type CWPRETSTRUCT = tagCWPRETSTRUCT; +pub type PCWPRETSTRUCT = *mut tagCWPRETSTRUCT; +pub type NPCWPRETSTRUCT = *mut tagCWPRETSTRUCT; +pub type LPCWPRETSTRUCT = *mut tagCWPRETSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagKBDLLHOOKSTRUCT { + pub vkCode: DWORD, + pub scanCode: DWORD, + pub flags: DWORD, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagKBDLLHOOKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagKBDLLHOOKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagKBDLLHOOKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vkCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(vkCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scanCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(scanCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagKBDLLHOOKSTRUCT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type KBDLLHOOKSTRUCT = tagKBDLLHOOKSTRUCT; +pub type LPKBDLLHOOKSTRUCT = *mut tagKBDLLHOOKSTRUCT; +pub type PKBDLLHOOKSTRUCT = *mut tagKBDLLHOOKSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMSLLHOOKSTRUCT { + pub pt: POINT, + pub mouseData: DWORD, + pub flags: DWORD, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMSLLHOOKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMSLLHOOKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMSLLHOOKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(pt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouseData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(mouseData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMSLLHOOKSTRUCT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type MSLLHOOKSTRUCT = tagMSLLHOOKSTRUCT; +pub type LPMSLLHOOKSTRUCT = *mut tagMSLLHOOKSTRUCT; +pub type PMSLLHOOKSTRUCT = *mut tagMSLLHOOKSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDEBUGHOOKINFO { + pub idThread: DWORD, + pub idThreadInstaller: DWORD, + pub lParam: LPARAM, + pub wParam: WPARAM, + pub code: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagDEBUGHOOKINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagDEBUGHOOKINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDEBUGHOOKINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idThread) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(idThread) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idThreadInstaller) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(idThreadInstaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagDEBUGHOOKINFO), + "::", + stringify!(code) + ) + ); +} +pub type DEBUGHOOKINFO = tagDEBUGHOOKINFO; +pub type PDEBUGHOOKINFO = *mut tagDEBUGHOOKINFO; +pub type NPDEBUGHOOKINFO = *mut tagDEBUGHOOKINFO; +pub type LPDEBUGHOOKINFO = *mut tagDEBUGHOOKINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEHOOKSTRUCT { + pub pt: POINT, + pub hwnd: HWND, + pub wHitTestCode: UINT, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMOUSEHOOKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMOUSEHOOKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMOUSEHOOKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCT), + "::", + stringify!(pt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCT), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wHitTestCode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCT), + "::", + stringify!(wHitTestCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type MOUSEHOOKSTRUCT = tagMOUSEHOOKSTRUCT; +pub type LPMOUSEHOOKSTRUCT = *mut tagMOUSEHOOKSTRUCT; +pub type PMOUSEHOOKSTRUCT = *mut tagMOUSEHOOKSTRUCT; +#[repr(C)] +#[repr(align(8))] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEHOOKSTRUCTEX { + pub __bindgen_padding_0: [u32; 8usize], + pub mouseData: DWORD, +} +#[test] +fn bindgen_test_layout_tagMOUSEHOOKSTRUCTEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMOUSEHOOKSTRUCTEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMOUSEHOOKSTRUCTEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouseData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEHOOKSTRUCTEX), + "::", + stringify!(mouseData) + ) + ); +} +pub type MOUSEHOOKSTRUCTEX = tagMOUSEHOOKSTRUCTEX; +pub type LPMOUSEHOOKSTRUCTEX = *mut tagMOUSEHOOKSTRUCTEX; +pub type PMOUSEHOOKSTRUCTEX = *mut tagMOUSEHOOKSTRUCTEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHARDWAREHOOKSTRUCT { + pub hwnd: HWND, + pub message: UINT, + pub wParam: WPARAM, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout_tagHARDWAREHOOKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagHARDWAREHOOKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHARDWAREHOOKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREHOOKSTRUCT), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREHOOKSTRUCT), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREHOOKSTRUCT), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREHOOKSTRUCT), + "::", + stringify!(lParam) + ) + ); +} +pub type HARDWAREHOOKSTRUCT = tagHARDWAREHOOKSTRUCT; +pub type LPHARDWAREHOOKSTRUCT = *mut tagHARDWAREHOOKSTRUCT; +pub type PHARDWAREHOOKSTRUCT = *mut tagHARDWAREHOOKSTRUCT; +extern "C" { + pub fn LoadKeyboardLayoutA(pwszKLID: LPCSTR, Flags: UINT) -> HKL; +} +extern "C" { + pub fn LoadKeyboardLayoutW(pwszKLID: LPCWSTR, Flags: UINT) -> HKL; +} +extern "C" { + pub fn ActivateKeyboardLayout(hkl: HKL, Flags: UINT) -> HKL; +} +extern "C" { + pub fn ToUnicodeEx( + wVirtKey: UINT, + wScanCode: UINT, + lpKeyState: *const BYTE, + pwszBuff: LPWSTR, + cchBuff: ::std::os::raw::c_int, + wFlags: UINT, + dwhkl: HKL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn UnloadKeyboardLayout(hkl: HKL) -> BOOL; +} +extern "C" { + pub fn GetKeyboardLayoutNameA(pwszKLID: LPSTR) -> BOOL; +} +extern "C" { + pub fn GetKeyboardLayoutNameW(pwszKLID: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetKeyboardLayoutList( + nBuff: ::std::os::raw::c_int, + lpList: *mut HKL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetKeyboardLayout(idThread: DWORD) -> HKL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEMOVEPOINT { + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMOUSEMOVEPOINT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMOUSEMOVEPOINT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMOUSEMOVEPOINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEMOVEPOINT), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEMOVEPOINT), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEMOVEPOINT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEMOVEPOINT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type MOUSEMOVEPOINT = tagMOUSEMOVEPOINT; +pub type PMOUSEMOVEPOINT = *mut tagMOUSEMOVEPOINT; +pub type LPMOUSEMOVEPOINT = *mut tagMOUSEMOVEPOINT; +extern "C" { + pub fn GetMouseMovePointsEx( + cbSize: UINT, + lppt: LPMOUSEMOVEPOINT, + lpptBuf: LPMOUSEMOVEPOINT, + nBufPoints: ::std::os::raw::c_int, + resolution: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CreateDesktopA( + lpszDesktop: LPCSTR, + lpszDevice: LPCSTR, + pDevmode: *mut DEVMODEA, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ) -> HDESK; +} +extern "C" { + pub fn CreateDesktopW( + lpszDesktop: LPCWSTR, + lpszDevice: LPCWSTR, + pDevmode: *mut DEVMODEW, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ) -> HDESK; +} +extern "C" { + pub fn CreateDesktopExA( + lpszDesktop: LPCSTR, + lpszDevice: LPCSTR, + pDevmode: *mut DEVMODEA, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ulHeapSize: ULONG, + pvoid: PVOID, + ) -> HDESK; +} +extern "C" { + pub fn CreateDesktopExW( + lpszDesktop: LPCWSTR, + lpszDevice: LPCWSTR, + pDevmode: *mut DEVMODEW, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ulHeapSize: ULONG, + pvoid: PVOID, + ) -> HDESK; +} +extern "C" { + pub fn OpenDesktopA( + lpszDesktop: LPCSTR, + dwFlags: DWORD, + fInherit: BOOL, + dwDesiredAccess: ACCESS_MASK, + ) -> HDESK; +} +extern "C" { + pub fn OpenDesktopW( + lpszDesktop: LPCWSTR, + dwFlags: DWORD, + fInherit: BOOL, + dwDesiredAccess: ACCESS_MASK, + ) -> HDESK; +} +extern "C" { + pub fn OpenInputDesktop(dwFlags: DWORD, fInherit: BOOL, dwDesiredAccess: ACCESS_MASK) -> HDESK; +} +extern "C" { + pub fn EnumDesktopsA(hwinsta: HWINSTA, lpEnumFunc: DESKTOPENUMPROCA, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn EnumDesktopsW(hwinsta: HWINSTA, lpEnumFunc: DESKTOPENUMPROCW, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn EnumDesktopWindows(hDesktop: HDESK, lpfn: WNDENUMPROC, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn SwitchDesktop(hDesktop: HDESK) -> BOOL; +} +extern "C" { + pub fn SetThreadDesktop(hDesktop: HDESK) -> BOOL; +} +extern "C" { + pub fn CloseDesktop(hDesktop: HDESK) -> BOOL; +} +extern "C" { + pub fn GetThreadDesktop(dwThreadId: DWORD) -> HDESK; +} +extern "C" { + pub fn CreateWindowStationA( + lpwinsta: LPCSTR, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ) -> HWINSTA; +} +extern "C" { + pub fn CreateWindowStationW( + lpwinsta: LPCWSTR, + dwFlags: DWORD, + dwDesiredAccess: ACCESS_MASK, + lpsa: LPSECURITY_ATTRIBUTES, + ) -> HWINSTA; +} +extern "C" { + pub fn OpenWindowStationA( + lpszWinSta: LPCSTR, + fInherit: BOOL, + dwDesiredAccess: ACCESS_MASK, + ) -> HWINSTA; +} +extern "C" { + pub fn OpenWindowStationW( + lpszWinSta: LPCWSTR, + fInherit: BOOL, + dwDesiredAccess: ACCESS_MASK, + ) -> HWINSTA; +} +extern "C" { + pub fn EnumWindowStationsA(lpEnumFunc: WINSTAENUMPROCA, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn EnumWindowStationsW(lpEnumFunc: WINSTAENUMPROCW, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn CloseWindowStation(hWinSta: HWINSTA) -> BOOL; +} +extern "C" { + pub fn SetProcessWindowStation(hWinSta: HWINSTA) -> BOOL; +} +extern "C" { + pub fn GetProcessWindowStation() -> HWINSTA; +} +extern "C" { + pub fn SetUserObjectSecurity( + hObj: HANDLE, + pSIRequested: PSECURITY_INFORMATION, + pSID: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn GetUserObjectSecurity( + hObj: HANDLE, + pSIRequested: PSECURITY_INFORMATION, + pSID: PSECURITY_DESCRIPTOR, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagUSEROBJECTFLAGS { + pub fInherit: BOOL, + pub fReserved: BOOL, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagUSEROBJECTFLAGS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagUSEROBJECTFLAGS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagUSEROBJECTFLAGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fInherit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagUSEROBJECTFLAGS), + "::", + stringify!(fInherit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagUSEROBJECTFLAGS), + "::", + stringify!(fReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagUSEROBJECTFLAGS), + "::", + stringify!(dwFlags) + ) + ); +} +pub type USEROBJECTFLAGS = tagUSEROBJECTFLAGS; +pub type PUSEROBJECTFLAGS = *mut tagUSEROBJECTFLAGS; +extern "C" { + pub fn GetUserObjectInformationA( + hObj: HANDLE, + nIndex: ::std::os::raw::c_int, + pvInfo: PVOID, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetUserObjectInformationW( + hObj: HANDLE, + nIndex: ::std::os::raw::c_int, + pvInfo: PVOID, + nLength: DWORD, + lpnLengthNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetUserObjectInformationA( + hObj: HANDLE, + nIndex: ::std::os::raw::c_int, + pvInfo: PVOID, + nLength: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetUserObjectInformationW( + hObj: HANDLE, + nIndex: ::std::os::raw::c_int, + pvInfo: PVOID, + nLength: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWNDCLASSEXA { + pub cbSize: UINT, + pub style: UINT, + pub lpfnWndProc: WNDPROC, + pub cbClsExtra: ::std::os::raw::c_int, + pub cbWndExtra: ::std::os::raw::c_int, + pub hInstance: HINSTANCE, + pub hIcon: HICON, + pub hCursor: HCURSOR, + pub hbrBackground: HBRUSH, + pub lpszMenuName: LPCSTR, + pub lpszClassName: LPCSTR, + pub hIconSm: HICON, +} +#[test] +fn bindgen_test_layout_tagWNDCLASSEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagWNDCLASSEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWNDCLASSEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnWndProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(lpfnWndProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbClsExtra) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(cbClsExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWndExtra) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(cbWndExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBackground) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hbrBackground) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszMenuName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(lpszMenuName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClassName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(lpszClassName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIconSm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXA), + "::", + stringify!(hIconSm) + ) + ); +} +pub type WNDCLASSEXA = tagWNDCLASSEXA; +pub type PWNDCLASSEXA = *mut tagWNDCLASSEXA; +pub type NPWNDCLASSEXA = *mut tagWNDCLASSEXA; +pub type LPWNDCLASSEXA = *mut tagWNDCLASSEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWNDCLASSEXW { + pub cbSize: UINT, + pub style: UINT, + pub lpfnWndProc: WNDPROC, + pub cbClsExtra: ::std::os::raw::c_int, + pub cbWndExtra: ::std::os::raw::c_int, + pub hInstance: HINSTANCE, + pub hIcon: HICON, + pub hCursor: HCURSOR, + pub hbrBackground: HBRUSH, + pub lpszMenuName: LPCWSTR, + pub lpszClassName: LPCWSTR, + pub hIconSm: HICON, +} +#[test] +fn bindgen_test_layout_tagWNDCLASSEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagWNDCLASSEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWNDCLASSEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnWndProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(lpfnWndProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbClsExtra) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(cbClsExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWndExtra) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(cbWndExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBackground) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hbrBackground) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszMenuName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(lpszMenuName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClassName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(lpszClassName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIconSm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSEXW), + "::", + stringify!(hIconSm) + ) + ); +} +pub type WNDCLASSEXW = tagWNDCLASSEXW; +pub type PWNDCLASSEXW = *mut tagWNDCLASSEXW; +pub type NPWNDCLASSEXW = *mut tagWNDCLASSEXW; +pub type LPWNDCLASSEXW = *mut tagWNDCLASSEXW; +pub type WNDCLASSEX = WNDCLASSEXA; +pub type PWNDCLASSEX = PWNDCLASSEXA; +pub type NPWNDCLASSEX = NPWNDCLASSEXA; +pub type LPWNDCLASSEX = LPWNDCLASSEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWNDCLASSA { + pub style: UINT, + pub lpfnWndProc: WNDPROC, + pub cbClsExtra: ::std::os::raw::c_int, + pub cbWndExtra: ::std::os::raw::c_int, + pub hInstance: HINSTANCE, + pub hIcon: HICON, + pub hCursor: HCURSOR, + pub hbrBackground: HBRUSH, + pub lpszMenuName: LPCSTR, + pub lpszClassName: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagWNDCLASSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagWNDCLASSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWNDCLASSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnWndProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(lpfnWndProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbClsExtra) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(cbClsExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWndExtra) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(cbWndExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBackground) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(hbrBackground) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszMenuName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(lpszMenuName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClassName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSA), + "::", + stringify!(lpszClassName) + ) + ); +} +pub type WNDCLASSA = tagWNDCLASSA; +pub type PWNDCLASSA = *mut tagWNDCLASSA; +pub type NPWNDCLASSA = *mut tagWNDCLASSA; +pub type LPWNDCLASSA = *mut tagWNDCLASSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWNDCLASSW { + pub style: UINT, + pub lpfnWndProc: WNDPROC, + pub cbClsExtra: ::std::os::raw::c_int, + pub cbWndExtra: ::std::os::raw::c_int, + pub hInstance: HINSTANCE, + pub hIcon: HICON, + pub hCursor: HCURSOR, + pub hbrBackground: HBRUSH, + pub lpszMenuName: LPCWSTR, + pub lpszClassName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagWNDCLASSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagWNDCLASSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWNDCLASSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnWndProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(lpfnWndProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbClsExtra) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(cbClsExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWndExtra) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(cbWndExtra) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBackground) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(hbrBackground) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszMenuName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(lpszMenuName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClassName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWNDCLASSW), + "::", + stringify!(lpszClassName) + ) + ); +} +pub type WNDCLASSW = tagWNDCLASSW; +pub type PWNDCLASSW = *mut tagWNDCLASSW; +pub type NPWNDCLASSW = *mut tagWNDCLASSW; +pub type LPWNDCLASSW = *mut tagWNDCLASSW; +pub type WNDCLASS = WNDCLASSA; +pub type PWNDCLASS = PWNDCLASSA; +pub type NPWNDCLASS = NPWNDCLASSA; +pub type LPWNDCLASS = LPWNDCLASSA; +extern "C" { + pub fn IsHungAppWindow(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn DisableProcessWindowsGhosting(); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMSG { + pub hwnd: HWND, + pub message: UINT, + pub wParam: WPARAM, + pub lParam: LPARAM, + pub time: DWORD, + pub pt: POINT, +} +#[test] +fn bindgen_test_layout_tagMSG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMSG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMSG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMSG), + "::", + stringify!(pt) + ) + ); +} +pub type MSG = tagMSG; +pub type PMSG = *mut tagMSG; +pub type NPMSG = *mut tagMSG; +pub type LPMSG = *mut tagMSG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMINMAXINFO { + pub ptReserved: POINT, + pub ptMaxSize: POINT, + pub ptMaxPosition: POINT, + pub ptMinTrackSize: POINT, + pub ptMaxTrackSize: POINT, +} +#[test] +fn bindgen_test_layout_tagMINMAXINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMINMAXINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMINMAXINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMaxSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptMaxSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMaxPosition) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptMaxPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMinTrackSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptMinTrackSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMaxTrackSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMINMAXINFO), + "::", + stringify!(ptMaxTrackSize) + ) + ); +} +pub type MINMAXINFO = tagMINMAXINFO; +pub type PMINMAXINFO = *mut tagMINMAXINFO; +pub type LPMINMAXINFO = *mut tagMINMAXINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOPYDATASTRUCT { + pub dwData: ULONG_PTR, + pub cbData: DWORD, + pub lpData: PVOID, +} +#[test] +fn bindgen_test_layout_tagCOPYDATASTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCOPYDATASTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCOPYDATASTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOPYDATASTRUCT), + "::", + stringify!(dwData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOPYDATASTRUCT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOPYDATASTRUCT), + "::", + stringify!(lpData) + ) + ); +} +pub type COPYDATASTRUCT = tagCOPYDATASTRUCT; +pub type PCOPYDATASTRUCT = *mut tagCOPYDATASTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMDINEXTMENU { + pub hmenuIn: HMENU, + pub hmenuNext: HMENU, + pub hwndNext: HWND, +} +#[test] +fn bindgen_test_layout_tagMDINEXTMENU() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMDINEXTMENU)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMDINEXTMENU)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hmenuIn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMDINEXTMENU), + "::", + stringify!(hmenuIn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hmenuNext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMDINEXTMENU), + "::", + stringify!(hmenuNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndNext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMDINEXTMENU), + "::", + stringify!(hwndNext) + ) + ); +} +pub type MDINEXTMENU = tagMDINEXTMENU; +pub type PMDINEXTMENU = *mut tagMDINEXTMENU; +pub type LPMDINEXTMENU = *mut tagMDINEXTMENU; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct POWERBROADCAST_SETTING { + pub PowerSetting: GUID, + pub DataLength: DWORD, + pub Data: [UCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_POWERBROADCAST_SETTING() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(POWERBROADCAST_SETTING)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(POWERBROADCAST_SETTING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerSetting) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(POWERBROADCAST_SETTING), + "::", + stringify!(PowerSetting) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(POWERBROADCAST_SETTING), + "::", + stringify!(DataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(POWERBROADCAST_SETTING), + "::", + stringify!(Data) + ) + ); +} +pub type PPOWERBROADCAST_SETTING = *mut POWERBROADCAST_SETTING; +extern "C" { + pub fn RegisterWindowMessageA(lpString: LPCSTR) -> UINT; +} +extern "C" { + pub fn RegisterWindowMessageW(lpString: LPCWSTR) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWINDOWPOS { + pub hwnd: HWND, + pub hwndInsertAfter: HWND, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub cy: ::std::os::raw::c_int, + pub flags: UINT, +} +#[test] +fn bindgen_test_layout_tagWINDOWPOS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagWINDOWPOS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagWINDOWPOS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndInsertAfter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(hwndInsertAfter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPOS), + "::", + stringify!(flags) + ) + ); +} +pub type WINDOWPOS = tagWINDOWPOS; +pub type LPWINDOWPOS = *mut tagWINDOWPOS; +pub type PWINDOWPOS = *mut tagWINDOWPOS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNCCALCSIZE_PARAMS { + pub rgrc: [RECT; 3usize], + pub lppos: PWINDOWPOS, +} +#[test] +fn bindgen_test_layout_tagNCCALCSIZE_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagNCCALCSIZE_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagNCCALCSIZE_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgrc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNCCALCSIZE_PARAMS), + "::", + stringify!(rgrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lppos) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagNCCALCSIZE_PARAMS), + "::", + stringify!(lppos) + ) + ); +} +pub type NCCALCSIZE_PARAMS = tagNCCALCSIZE_PARAMS; +pub type LPNCCALCSIZE_PARAMS = *mut tagNCCALCSIZE_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTRACKMOUSEEVENT { + pub cbSize: DWORD, + pub dwFlags: DWORD, + pub hwndTrack: HWND, + pub dwHoverTime: DWORD, +} +#[test] +fn bindgen_test_layout_tagTRACKMOUSEEVENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagTRACKMOUSEEVENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTRACKMOUSEEVENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTRACKMOUSEEVENT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTRACKMOUSEEVENT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTrack) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTRACKMOUSEEVENT), + "::", + stringify!(hwndTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHoverTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTRACKMOUSEEVENT), + "::", + stringify!(dwHoverTime) + ) + ); +} +pub type TRACKMOUSEEVENT = tagTRACKMOUSEEVENT; +pub type LPTRACKMOUSEEVENT = *mut tagTRACKMOUSEEVENT; +extern "C" { + pub fn TrackMouseEvent(lpEventTrack: LPTRACKMOUSEEVENT) -> BOOL; +} +extern "C" { + pub fn DrawEdge(hdc: HDC, qrc: LPRECT, edge: UINT, grfFlags: UINT) -> BOOL; +} +extern "C" { + pub fn DrawFrameControl(arg1: HDC, arg2: LPRECT, arg3: UINT, arg4: UINT) -> BOOL; +} +extern "C" { + pub fn DrawCaption(hwnd: HWND, hdc: HDC, lprect: *const RECT, flags: UINT) -> BOOL; +} +extern "C" { + pub fn DrawAnimatedRects( + hwnd: HWND, + idAni: ::std::os::raw::c_int, + lprcFrom: *const RECT, + lprcTo: *const RECT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACCEL { + pub fVirt: BYTE, + pub key: WORD, + pub cmd: WORD, +} +#[test] +fn bindgen_test_layout_tagACCEL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(tagACCEL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagACCEL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fVirt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACCEL), + "::", + stringify!(fVirt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagACCEL), + "::", + stringify!(key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cmd) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACCEL), + "::", + stringify!(cmd) + ) + ); +} +pub type ACCEL = tagACCEL; +pub type LPACCEL = *mut tagACCEL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPAINTSTRUCT { + pub hdc: HDC, + pub fErase: BOOL, + pub rcPaint: RECT, + pub fRestore: BOOL, + pub fIncUpdate: BOOL, + pub rgbReserved: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout_tagPAINTSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagPAINTSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPAINTSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(hdc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fErase) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(fErase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcPaint) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(rcPaint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fRestore) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(fRestore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIncUpdate) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(fIncUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbReserved) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPAINTSTRUCT), + "::", + stringify!(rgbReserved) + ) + ); +} +pub type PAINTSTRUCT = tagPAINTSTRUCT; +pub type PPAINTSTRUCT = *mut tagPAINTSTRUCT; +pub type NPPAINTSTRUCT = *mut tagPAINTSTRUCT; +pub type LPPAINTSTRUCT = *mut tagPAINTSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCREATESTRUCTA { + pub lpCreateParams: LPVOID, + pub hInstance: HINSTANCE, + pub hMenu: HMENU, + pub hwndParent: HWND, + pub cy: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub x: ::std::os::raw::c_int, + pub style: LONG, + pub lpszName: LPCSTR, + pub lpszClass: LPCSTR, + pub dwExStyle: DWORD, +} +#[test] +fn bindgen_test_layout_tagCREATESTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagCREATESTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCREATESTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCreateParams) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(lpCreateParams) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMenu) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(hMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(lpszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClass) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(lpszClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExStyle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTA), + "::", + stringify!(dwExStyle) + ) + ); +} +pub type CREATESTRUCTA = tagCREATESTRUCTA; +pub type LPCREATESTRUCTA = *mut tagCREATESTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCREATESTRUCTW { + pub lpCreateParams: LPVOID, + pub hInstance: HINSTANCE, + pub hMenu: HMENU, + pub hwndParent: HWND, + pub cy: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub x: ::std::os::raw::c_int, + pub style: LONG, + pub lpszName: LPCWSTR, + pub lpszClass: LPCWSTR, + pub dwExStyle: DWORD, +} +#[test] +fn bindgen_test_layout_tagCREATESTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagCREATESTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCREATESTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCreateParams) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(lpCreateParams) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMenu) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(hMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(lpszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszClass) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(lpszClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExStyle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCREATESTRUCTW), + "::", + stringify!(dwExStyle) + ) + ); +} +pub type CREATESTRUCTW = tagCREATESTRUCTW; +pub type LPCREATESTRUCTW = *mut tagCREATESTRUCTW; +pub type CREATESTRUCT = CREATESTRUCTA; +pub type LPCREATESTRUCT = LPCREATESTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWINDOWPLACEMENT { + pub length: UINT, + pub flags: UINT, + pub showCmd: UINT, + pub ptMinPosition: POINT, + pub ptMaxPosition: POINT, + pub rcNormalPosition: RECT, +} +#[test] +fn bindgen_test_layout_tagWINDOWPLACEMENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagWINDOWPLACEMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagWINDOWPLACEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).showCmd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(showCmd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMinPosition) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(ptMinPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptMaxPosition) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(ptMaxPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcNormalPosition) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWPLACEMENT), + "::", + stringify!(rcNormalPosition) + ) + ); +} +pub type WINDOWPLACEMENT = tagWINDOWPLACEMENT; +pub type PWINDOWPLACEMENT = *mut WINDOWPLACEMENT; +pub type LPWINDOWPLACEMENT = *mut WINDOWPLACEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNMHDR { + pub hwndFrom: HWND, + pub idFrom: UINT_PTR, + pub code: UINT, +} +#[test] +fn bindgen_test_layout_tagNMHDR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagNMHDR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagNMHDR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndFrom) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNMHDR), + "::", + stringify!(hwndFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNMHDR), + "::", + stringify!(idFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNMHDR), + "::", + stringify!(code) + ) + ); +} +pub type NMHDR = tagNMHDR; +pub type LPNMHDR = *mut NMHDR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTYLESTRUCT { + pub styleOld: DWORD, + pub styleNew: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTYLESTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSTYLESTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTYLESTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).styleOld) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTYLESTRUCT), + "::", + stringify!(styleOld) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).styleNew) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSTYLESTRUCT), + "::", + stringify!(styleNew) + ) + ); +} +pub type STYLESTRUCT = tagSTYLESTRUCT; +pub type LPSTYLESTRUCT = *mut tagSTYLESTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMEASUREITEMSTRUCT { + pub CtlType: UINT, + pub CtlID: UINT, + pub itemID: UINT, + pub itemWidth: UINT, + pub itemHeight: UINT, + pub itemData: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMEASUREITEMSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMEASUREITEMSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMEASUREITEMSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(CtlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(CtlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(itemID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemWidth) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(itemWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemHeight) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(itemHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMEASUREITEMSTRUCT), + "::", + stringify!(itemData) + ) + ); +} +pub type MEASUREITEMSTRUCT = tagMEASUREITEMSTRUCT; +pub type PMEASUREITEMSTRUCT = *mut tagMEASUREITEMSTRUCT; +pub type LPMEASUREITEMSTRUCT = *mut tagMEASUREITEMSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDRAWITEMSTRUCT { + pub CtlType: UINT, + pub CtlID: UINT, + pub itemID: UINT, + pub itemAction: UINT, + pub itemState: UINT, + pub hwndItem: HWND, + pub hDC: HDC, + pub rcItem: RECT, + pub itemData: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagDRAWITEMSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagDRAWITEMSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDRAWITEMSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(CtlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(CtlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(itemID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemAction) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(itemAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(itemState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndItem) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(hwndItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcItem) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(rcItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWITEMSTRUCT), + "::", + stringify!(itemData) + ) + ); +} +pub type DRAWITEMSTRUCT = tagDRAWITEMSTRUCT; +pub type PDRAWITEMSTRUCT = *mut tagDRAWITEMSTRUCT; +pub type LPDRAWITEMSTRUCT = *mut tagDRAWITEMSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDELETEITEMSTRUCT { + pub CtlType: UINT, + pub CtlID: UINT, + pub itemID: UINT, + pub hwndItem: HWND, + pub itemData: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagDELETEITEMSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagDELETEITEMSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDELETEITEMSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(CtlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(CtlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(itemID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndItem) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(hwndItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagDELETEITEMSTRUCT), + "::", + stringify!(itemData) + ) + ); +} +pub type DELETEITEMSTRUCT = tagDELETEITEMSTRUCT; +pub type PDELETEITEMSTRUCT = *mut tagDELETEITEMSTRUCT; +pub type LPDELETEITEMSTRUCT = *mut tagDELETEITEMSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOMPAREITEMSTRUCT { + pub CtlType: UINT, + pub CtlID: UINT, + pub hwndItem: HWND, + pub itemID1: UINT, + pub itemData1: ULONG_PTR, + pub itemID2: UINT, + pub itemData2: ULONG_PTR, + pub dwLocaleId: DWORD, +} +#[test] +fn bindgen_test_layout_tagCOMPAREITEMSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagCOMPAREITEMSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCOMPAREITEMSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(CtlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CtlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(CtlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndItem) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(hwndItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID1) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(itemID1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData1) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(itemData1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemID2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(itemID2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).itemData2) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(itemData2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLocaleId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPAREITEMSTRUCT), + "::", + stringify!(dwLocaleId) + ) + ); +} +pub type COMPAREITEMSTRUCT = tagCOMPAREITEMSTRUCT; +pub type PCOMPAREITEMSTRUCT = *mut tagCOMPAREITEMSTRUCT; +pub type LPCOMPAREITEMSTRUCT = *mut tagCOMPAREITEMSTRUCT; +extern "C" { + pub fn GetMessageA(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT) -> BOOL; +} +extern "C" { + pub fn GetMessageW(lpMsg: LPMSG, hWnd: HWND, wMsgFilterMin: UINT, wMsgFilterMax: UINT) -> BOOL; +} +extern "C" { + pub fn TranslateMessage(lpMsg: *const MSG) -> BOOL; +} +extern "C" { + pub fn DispatchMessageA(lpMsg: *const MSG) -> LRESULT; +} +extern "C" { + pub fn DispatchMessageW(lpMsg: *const MSG) -> LRESULT; +} +extern "C" { + pub fn SetMessageQueue(cMessagesMax: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn PeekMessageA( + lpMsg: LPMSG, + hWnd: HWND, + wMsgFilterMin: UINT, + wMsgFilterMax: UINT, + wRemoveMsg: UINT, + ) -> BOOL; +} +extern "C" { + pub fn PeekMessageW( + lpMsg: LPMSG, + hWnd: HWND, + wMsgFilterMin: UINT, + wMsgFilterMax: UINT, + wRemoveMsg: UINT, + ) -> BOOL; +} +extern "C" { + pub fn RegisterHotKey( + hWnd: HWND, + id: ::std::os::raw::c_int, + fsModifiers: UINT, + vk: UINT, + ) -> BOOL; +} +extern "C" { + pub fn UnregisterHotKey(hWnd: HWND, id: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn ExitWindowsEx(uFlags: UINT, dwReason: DWORD) -> BOOL; +} +extern "C" { + pub fn SwapMouseButton(fSwap: BOOL) -> BOOL; +} +extern "C" { + pub fn GetMessagePos() -> DWORD; +} +extern "C" { + pub fn GetMessageTime() -> LONG; +} +extern "C" { + pub fn GetMessageExtraInfo() -> LPARAM; +} +extern "C" { + pub fn GetUnpredictedMessagePos() -> DWORD; +} +extern "C" { + pub fn IsWow64Message() -> BOOL; +} +extern "C" { + pub fn SetMessageExtraInfo(lParam: LPARAM) -> LPARAM; +} +extern "C" { + pub fn SendMessageA(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn SendMessageW(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn SendMessageTimeoutA( + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + fuFlags: UINT, + uTimeout: UINT, + lpdwResult: PDWORD_PTR, + ) -> LRESULT; +} +extern "C" { + pub fn SendMessageTimeoutW( + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + fuFlags: UINT, + uTimeout: UINT, + lpdwResult: PDWORD_PTR, + ) -> LRESULT; +} +extern "C" { + pub fn SendNotifyMessageA(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn SendNotifyMessageW(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn SendMessageCallbackA( + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + lpResultCallBack: SENDASYNCPROC, + dwData: ULONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn SendMessageCallbackW( + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + lpResultCallBack: SENDASYNCPROC, + dwData: ULONG_PTR, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BSMINFO { + pub cbSize: UINT, + pub hdesk: HDESK, + pub hwnd: HWND, + pub luid: LUID, +} +#[test] +fn bindgen_test_layout_BSMINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(BSMINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(BSMINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BSMINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdesk) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(BSMINFO), + "::", + stringify!(hdesk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(BSMINFO), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).luid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(BSMINFO), + "::", + stringify!(luid) + ) + ); +} +pub type PBSMINFO = *mut BSMINFO; +extern "C" { + pub fn BroadcastSystemMessageExA( + flags: DWORD, + lpInfo: LPDWORD, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + pbsmInfo: PBSMINFO, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn BroadcastSystemMessageExW( + flags: DWORD, + lpInfo: LPDWORD, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + pbsmInfo: PBSMINFO, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn BroadcastSystemMessageA( + flags: DWORD, + lpInfo: LPDWORD, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn BroadcastSystemMessageW( + flags: DWORD, + lpInfo: LPDWORD, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> ::std::os::raw::c_long; +} +pub type HDEVNOTIFY = PVOID; +pub type PHDEVNOTIFY = *mut HDEVNOTIFY; +extern "C" { + pub fn RegisterDeviceNotificationA( + hRecipient: HANDLE, + NotificationFilter: LPVOID, + Flags: DWORD, + ) -> HDEVNOTIFY; +} +extern "C" { + pub fn RegisterDeviceNotificationW( + hRecipient: HANDLE, + NotificationFilter: LPVOID, + Flags: DWORD, + ) -> HDEVNOTIFY; +} +extern "C" { + pub fn UnregisterDeviceNotification(Handle: HDEVNOTIFY) -> BOOL; +} +pub type HPOWERNOTIFY = PVOID; +pub type PHPOWERNOTIFY = *mut HPOWERNOTIFY; +extern "C" { + pub fn RegisterPowerSettingNotification( + hRecipient: HANDLE, + PowerSettingGuid: LPCGUID, + Flags: DWORD, + ) -> HPOWERNOTIFY; +} +extern "C" { + pub fn UnregisterPowerSettingNotification(Handle: HPOWERNOTIFY) -> BOOL; +} +extern "C" { + pub fn RegisterSuspendResumeNotification(hRecipient: HANDLE, Flags: DWORD) -> HPOWERNOTIFY; +} +extern "C" { + pub fn UnregisterSuspendResumeNotification(Handle: HPOWERNOTIFY) -> BOOL; +} +extern "C" { + pub fn PostMessageA(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn PostMessageW(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn PostThreadMessageA(idThread: DWORD, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn PostThreadMessageW(idThread: DWORD, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn AttachThreadInput(idAttach: DWORD, idAttachTo: DWORD, fAttach: BOOL) -> BOOL; +} +extern "C" { + pub fn ReplyMessage(lResult: LRESULT) -> BOOL; +} +extern "C" { + pub fn WaitMessage() -> BOOL; +} +extern "C" { + pub fn WaitForInputIdle(hProcess: HANDLE, dwMilliseconds: DWORD) -> DWORD; +} +extern "C" { + pub fn DefWindowProcA(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn DefWindowProcW(hWnd: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn PostQuitMessage(nExitCode: ::std::os::raw::c_int); +} +extern "C" { + pub fn CallWindowProcA( + lpPrevWndFunc: WNDPROC, + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn CallWindowProcW( + lpPrevWndFunc: WNDPROC, + hWnd: HWND, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn InSendMessage() -> BOOL; +} +extern "C" { + pub fn InSendMessageEx(lpReserved: LPVOID) -> DWORD; +} +extern "C" { + pub fn GetDoubleClickTime() -> UINT; +} +extern "C" { + pub fn SetDoubleClickTime(arg1: UINT) -> BOOL; +} +extern "C" { + pub fn RegisterClassA(lpWndClass: *const WNDCLASSA) -> ATOM; +} +extern "C" { + pub fn RegisterClassW(lpWndClass: *const WNDCLASSW) -> ATOM; +} +extern "C" { + pub fn UnregisterClassA(lpClassName: LPCSTR, hInstance: HINSTANCE) -> BOOL; +} +extern "C" { + pub fn UnregisterClassW(lpClassName: LPCWSTR, hInstance: HINSTANCE) -> BOOL; +} +extern "C" { + pub fn GetClassInfoA( + hInstance: HINSTANCE, + lpClassName: LPCSTR, + lpWndClass: LPWNDCLASSA, + ) -> BOOL; +} +extern "C" { + pub fn GetClassInfoW( + hInstance: HINSTANCE, + lpClassName: LPCWSTR, + lpWndClass: LPWNDCLASSW, + ) -> BOOL; +} +extern "C" { + pub fn RegisterClassExA(arg1: *const WNDCLASSEXA) -> ATOM; +} +extern "C" { + pub fn RegisterClassExW(arg1: *const WNDCLASSEXW) -> ATOM; +} +extern "C" { + pub fn GetClassInfoExA(hInstance: HINSTANCE, lpszClass: LPCSTR, lpwcx: LPWNDCLASSEXA) -> BOOL; +} +extern "C" { + pub fn GetClassInfoExW(hInstance: HINSTANCE, lpszClass: LPCWSTR, lpwcx: LPWNDCLASSEXW) -> BOOL; +} +pub type PREGISTERCLASSNAMEW = + ::std::option::Option BOOLEAN>; +extern "C" { + pub fn CreateWindowExA( + dwExStyle: DWORD, + lpClassName: LPCSTR, + lpWindowName: LPCSTR, + dwStyle: DWORD, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + hWndParent: HWND, + hMenu: HMENU, + hInstance: HINSTANCE, + lpParam: LPVOID, + ) -> HWND; +} +extern "C" { + pub fn CreateWindowExW( + dwExStyle: DWORD, + lpClassName: LPCWSTR, + lpWindowName: LPCWSTR, + dwStyle: DWORD, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + hWndParent: HWND, + hMenu: HMENU, + hInstance: HINSTANCE, + lpParam: LPVOID, + ) -> HWND; +} +extern "C" { + pub fn IsWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn IsMenu(hMenu: HMENU) -> BOOL; +} +extern "C" { + pub fn IsChild(hWndParent: HWND, hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn DestroyWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn ShowWindow(hWnd: HWND, nCmdShow: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn AnimateWindow(hWnd: HWND, dwTime: DWORD, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn UpdateLayeredWindow( + hWnd: HWND, + hdcDst: HDC, + pptDst: *mut POINT, + psize: *mut SIZE, + hdcSrc: HDC, + pptSrc: *mut POINT, + crKey: COLORREF, + pblend: *mut BLENDFUNCTION, + dwFlags: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagUPDATELAYEREDWINDOWINFO { + pub cbSize: DWORD, + pub hdcDst: HDC, + pub pptDst: *const POINT, + pub psize: *const SIZE, + pub hdcSrc: HDC, + pub pptSrc: *const POINT, + pub crKey: COLORREF, + pub pblend: *const BLENDFUNCTION, + pub dwFlags: DWORD, + pub prcDirty: *const RECT, +} +#[test] +fn bindgen_test_layout_tagUPDATELAYEREDWINDOWINFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagUPDATELAYEREDWINDOWINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagUPDATELAYEREDWINDOWINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdcDst) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(hdcDst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pptDst) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(pptDst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).psize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(psize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdcSrc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(hdcSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pptSrc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(pptSrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).crKey) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(crKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pblend) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(pblend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).prcDirty) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagUPDATELAYEREDWINDOWINFO), + "::", + stringify!(prcDirty) + ) + ); +} +pub type UPDATELAYEREDWINDOWINFO = tagUPDATELAYEREDWINDOWINFO; +pub type PUPDATELAYEREDWINDOWINFO = *mut tagUPDATELAYEREDWINDOWINFO; +extern "C" { + pub fn UpdateLayeredWindowIndirect( + hWnd: HWND, + pULWInfo: *const UPDATELAYEREDWINDOWINFO, + ) -> BOOL; +} +extern "C" { + pub fn GetLayeredWindowAttributes( + hwnd: HWND, + pcrKey: *mut COLORREF, + pbAlpha: *mut BYTE, + pdwFlags: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn PrintWindow(hwnd: HWND, hdcBlt: HDC, nFlags: UINT) -> BOOL; +} +extern "C" { + pub fn SetLayeredWindowAttributes( + hwnd: HWND, + crKey: COLORREF, + bAlpha: BYTE, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ShowWindowAsync(hWnd: HWND, nCmdShow: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn FlashWindow(hWnd: HWND, bInvert: BOOL) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FLASHWINFO { + pub cbSize: UINT, + pub hwnd: HWND, + pub dwFlags: DWORD, + pub uCount: UINT, + pub dwTimeout: DWORD, +} +#[test] +fn bindgen_test_layout_FLASHWINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(FLASHWINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(FLASHWINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCount) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(uCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeout) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(FLASHWINFO), + "::", + stringify!(dwTimeout) + ) + ); +} +pub type PFLASHWINFO = *mut FLASHWINFO; +extern "C" { + pub fn FlashWindowEx(pfwi: PFLASHWINFO) -> BOOL; +} +extern "C" { + pub fn ShowOwnedPopups(hWnd: HWND, fShow: BOOL) -> BOOL; +} +extern "C" { + pub fn OpenIcon(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn CloseWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn MoveWindow( + hWnd: HWND, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + bRepaint: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetWindowPos( + hWnd: HWND, + hWndInsertAfter: HWND, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetWindowPlacement(hWnd: HWND, lpwndpl: *mut WINDOWPLACEMENT) -> BOOL; +} +extern "C" { + pub fn SetWindowPlacement(hWnd: HWND, lpwndpl: *const WINDOWPLACEMENT) -> BOOL; +} +extern "C" { + pub fn GetWindowDisplayAffinity(hWnd: HWND, pdwAffinity: *mut DWORD) -> BOOL; +} +extern "C" { + pub fn SetWindowDisplayAffinity(hWnd: HWND, dwAffinity: DWORD) -> BOOL; +} +extern "C" { + pub fn BeginDeferWindowPos(nNumWindows: ::std::os::raw::c_int) -> HDWP; +} +extern "C" { + pub fn DeferWindowPos( + hWinPosInfo: HDWP, + hWnd: HWND, + hWndInsertAfter: HWND, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + uFlags: UINT, + ) -> HDWP; +} +extern "C" { + pub fn EndDeferWindowPos(hWinPosInfo: HDWP) -> BOOL; +} +extern "C" { + pub fn IsWindowVisible(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn IsIconic(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn AnyPopup() -> BOOL; +} +extern "C" { + pub fn BringWindowToTop(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn IsZoomed(hWnd: HWND) -> BOOL; +} +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct DLGTEMPLATE { + pub style: DWORD, + pub dwExtendedStyle: DWORD, + pub cdit: WORD, + pub x: ::std::os::raw::c_short, + pub y: ::std::os::raw::c_short, + pub cx: ::std::os::raw::c_short, + pub cy: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_DLGTEMPLATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(DLGTEMPLATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DLGTEMPLATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtendedStyle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(dwExtendedStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cdit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(cdit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DLGTEMPLATE), + "::", + stringify!(cy) + ) + ); +} +pub type LPDLGTEMPLATEA = *mut DLGTEMPLATE; +pub type LPDLGTEMPLATEW = *mut DLGTEMPLATE; +pub type LPDLGTEMPLATE = LPDLGTEMPLATEA; +pub type LPCDLGTEMPLATEA = *const DLGTEMPLATE; +pub type LPCDLGTEMPLATEW = *const DLGTEMPLATE; +pub type LPCDLGTEMPLATE = LPCDLGTEMPLATEA; +#[repr(C, packed(2))] +#[derive(Debug, Copy, Clone)] +pub struct DLGITEMTEMPLATE { + pub style: DWORD, + pub dwExtendedStyle: DWORD, + pub x: ::std::os::raw::c_short, + pub y: ::std::os::raw::c_short, + pub cx: ::std::os::raw::c_short, + pub cy: ::std::os::raw::c_short, + pub id: WORD, +} +#[test] +fn bindgen_test_layout_DLGITEMTEMPLATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(DLGITEMTEMPLATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DLGITEMTEMPLATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtendedStyle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(dwExtendedStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(DLGITEMTEMPLATE), + "::", + stringify!(id) + ) + ); +} +pub type PDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE; +pub type PDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE; +pub type PDLGITEMTEMPLATE = PDLGITEMTEMPLATEA; +pub type LPDLGITEMTEMPLATEA = *mut DLGITEMTEMPLATE; +pub type LPDLGITEMTEMPLATEW = *mut DLGITEMTEMPLATE; +pub type LPDLGITEMTEMPLATE = LPDLGITEMTEMPLATEA; +extern "C" { + pub fn CreateDialogParamA( + hInstance: HINSTANCE, + lpTemplateName: LPCSTR, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn CreateDialogParamW( + hInstance: HINSTANCE, + lpTemplateName: LPCWSTR, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn CreateDialogIndirectParamA( + hInstance: HINSTANCE, + lpTemplate: LPCDLGTEMPLATEA, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn CreateDialogIndirectParamW( + hInstance: HINSTANCE, + lpTemplate: LPCDLGTEMPLATEW, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn DialogBoxParamA( + hInstance: HINSTANCE, + lpTemplateName: LPCSTR, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> INT_PTR; +} +extern "C" { + pub fn DialogBoxParamW( + hInstance: HINSTANCE, + lpTemplateName: LPCWSTR, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> INT_PTR; +} +extern "C" { + pub fn DialogBoxIndirectParamA( + hInstance: HINSTANCE, + hDialogTemplate: LPCDLGTEMPLATEA, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> INT_PTR; +} +extern "C" { + pub fn DialogBoxIndirectParamW( + hInstance: HINSTANCE, + hDialogTemplate: LPCDLGTEMPLATEW, + hWndParent: HWND, + lpDialogFunc: DLGPROC, + dwInitParam: LPARAM, + ) -> INT_PTR; +} +extern "C" { + pub fn EndDialog(hDlg: HWND, nResult: INT_PTR) -> BOOL; +} +extern "C" { + pub fn GetDlgItem(hDlg: HWND, nIDDlgItem: ::std::os::raw::c_int) -> HWND; +} +extern "C" { + pub fn SetDlgItemInt( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + uValue: UINT, + bSigned: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetDlgItemInt( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + lpTranslated: *mut BOOL, + bSigned: BOOL, + ) -> UINT; +} +extern "C" { + pub fn SetDlgItemTextA(hDlg: HWND, nIDDlgItem: ::std::os::raw::c_int, lpString: LPCSTR) + -> BOOL; +} +extern "C" { + pub fn SetDlgItemTextW( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + lpString: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetDlgItemTextA( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + lpString: LPSTR, + cchMax: ::std::os::raw::c_int, + ) -> UINT; +} +extern "C" { + pub fn GetDlgItemTextW( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + lpString: LPWSTR, + cchMax: ::std::os::raw::c_int, + ) -> UINT; +} +extern "C" { + pub fn CheckDlgButton(hDlg: HWND, nIDButton: ::std::os::raw::c_int, uCheck: UINT) -> BOOL; +} +extern "C" { + pub fn CheckRadioButton( + hDlg: HWND, + nIDFirstButton: ::std::os::raw::c_int, + nIDLastButton: ::std::os::raw::c_int, + nIDCheckButton: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn IsDlgButtonChecked(hDlg: HWND, nIDButton: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn SendDlgItemMessageA( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn SendDlgItemMessageW( + hDlg: HWND, + nIDDlgItem: ::std::os::raw::c_int, + Msg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn GetNextDlgGroupItem(hDlg: HWND, hCtl: HWND, bPrevious: BOOL) -> HWND; +} +extern "C" { + pub fn GetNextDlgTabItem(hDlg: HWND, hCtl: HWND, bPrevious: BOOL) -> HWND; +} +extern "C" { + pub fn GetDlgCtrlID(hWnd: HWND) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDialogBaseUnits() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn DefDlgProcA(hDlg: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn DefDlgProcW(hDlg: HWND, Msg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +pub const DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS_DCDC_DEFAULT: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = 0; +pub const DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS_DCDC_DISABLE_FONT_UPDATE: + DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = 1; +pub const DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS_DCDC_DISABLE_RELAYOUT: + DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = 2; +pub type DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = ::std::os::raw::c_int; +extern "C" { + pub fn SetDialogControlDpiChangeBehavior( + hWnd: HWND, + mask: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS, + values: DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS, + ) -> BOOL; +} +extern "C" { + pub fn GetDialogControlDpiChangeBehavior(hWnd: HWND) -> DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS; +} +pub const DIALOG_DPI_CHANGE_BEHAVIORS_DDC_DEFAULT: DIALOG_DPI_CHANGE_BEHAVIORS = 0; +pub const DIALOG_DPI_CHANGE_BEHAVIORS_DDC_DISABLE_ALL: DIALOG_DPI_CHANGE_BEHAVIORS = 1; +pub const DIALOG_DPI_CHANGE_BEHAVIORS_DDC_DISABLE_RESIZE: DIALOG_DPI_CHANGE_BEHAVIORS = 2; +pub const DIALOG_DPI_CHANGE_BEHAVIORS_DDC_DISABLE_CONTROL_RELAYOUT: DIALOG_DPI_CHANGE_BEHAVIORS = 4; +pub type DIALOG_DPI_CHANGE_BEHAVIORS = ::std::os::raw::c_int; +extern "C" { + pub fn SetDialogDpiChangeBehavior( + hDlg: HWND, + mask: DIALOG_DPI_CHANGE_BEHAVIORS, + values: DIALOG_DPI_CHANGE_BEHAVIORS, + ) -> BOOL; +} +extern "C" { + pub fn GetDialogDpiChangeBehavior(hDlg: HWND) -> DIALOG_DPI_CHANGE_BEHAVIORS; +} +extern "C" { + pub fn CallMsgFilterA(lpMsg: LPMSG, nCode: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn CallMsgFilterW(lpMsg: LPMSG, nCode: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn OpenClipboard(hWndNewOwner: HWND) -> BOOL; +} +extern "C" { + pub fn CloseClipboard() -> BOOL; +} +extern "C" { + pub fn GetClipboardSequenceNumber() -> DWORD; +} +extern "C" { + pub fn GetClipboardOwner() -> HWND; +} +extern "C" { + pub fn SetClipboardViewer(hWndNewViewer: HWND) -> HWND; +} +extern "C" { + pub fn GetClipboardViewer() -> HWND; +} +extern "C" { + pub fn ChangeClipboardChain(hWndRemove: HWND, hWndNewNext: HWND) -> BOOL; +} +extern "C" { + pub fn SetClipboardData(uFormat: UINT, hMem: HANDLE) -> HANDLE; +} +extern "C" { + pub fn GetClipboardData(uFormat: UINT) -> HANDLE; +} +extern "C" { + pub fn RegisterClipboardFormatA(lpszFormat: LPCSTR) -> UINT; +} +extern "C" { + pub fn RegisterClipboardFormatW(lpszFormat: LPCWSTR) -> UINT; +} +extern "C" { + pub fn CountClipboardFormats() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumClipboardFormats(format: UINT) -> UINT; +} +extern "C" { + pub fn GetClipboardFormatNameA( + format: UINT, + lpszFormatName: LPSTR, + cchMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetClipboardFormatNameW( + format: UINT, + lpszFormatName: LPWSTR, + cchMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EmptyClipboard() -> BOOL; +} +extern "C" { + pub fn IsClipboardFormatAvailable(format: UINT) -> BOOL; +} +extern "C" { + pub fn GetPriorityClipboardFormat( + paFormatPriorityList: *mut UINT, + cFormats: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetOpenClipboardWindow() -> HWND; +} +extern "C" { + pub fn AddClipboardFormatListener(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn RemoveClipboardFormatListener(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn GetUpdatedClipboardFormats( + lpuiFormats: PUINT, + cFormats: UINT, + pcFormatsOut: PUINT, + ) -> BOOL; +} +extern "C" { + pub fn CharToOemA(pSrc: LPCSTR, pDst: LPSTR) -> BOOL; +} +extern "C" { + pub fn CharToOemW(pSrc: LPCWSTR, pDst: LPSTR) -> BOOL; +} +extern "C" { + pub fn OemToCharA(pSrc: LPCSTR, pDst: LPSTR) -> BOOL; +} +extern "C" { + pub fn OemToCharW(pSrc: LPCSTR, pDst: LPWSTR) -> BOOL; +} +extern "C" { + pub fn CharToOemBuffA(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD) -> BOOL; +} +extern "C" { + pub fn CharToOemBuffW(lpszSrc: LPCWSTR, lpszDst: LPSTR, cchDstLength: DWORD) -> BOOL; +} +extern "C" { + pub fn OemToCharBuffA(lpszSrc: LPCSTR, lpszDst: LPSTR, cchDstLength: DWORD) -> BOOL; +} +extern "C" { + pub fn OemToCharBuffW(lpszSrc: LPCSTR, lpszDst: LPWSTR, cchDstLength: DWORD) -> BOOL; +} +extern "C" { + pub fn CharUpperA(lpsz: LPSTR) -> LPSTR; +} +extern "C" { + pub fn CharUpperW(lpsz: LPWSTR) -> LPWSTR; +} +extern "C" { + pub fn CharUpperBuffA(lpsz: LPSTR, cchLength: DWORD) -> DWORD; +} +extern "C" { + pub fn CharUpperBuffW(lpsz: LPWSTR, cchLength: DWORD) -> DWORD; +} +extern "C" { + pub fn CharLowerA(lpsz: LPSTR) -> LPSTR; +} +extern "C" { + pub fn CharLowerW(lpsz: LPWSTR) -> LPWSTR; +} +extern "C" { + pub fn CharLowerBuffA(lpsz: LPSTR, cchLength: DWORD) -> DWORD; +} +extern "C" { + pub fn CharLowerBuffW(lpsz: LPWSTR, cchLength: DWORD) -> DWORD; +} +extern "C" { + pub fn CharNextA(lpsz: LPCSTR) -> LPSTR; +} +extern "C" { + pub fn CharNextW(lpsz: LPCWSTR) -> LPWSTR; +} +extern "C" { + pub fn CharPrevA(lpszStart: LPCSTR, lpszCurrent: LPCSTR) -> LPSTR; +} +extern "C" { + pub fn CharPrevW(lpszStart: LPCWSTR, lpszCurrent: LPCWSTR) -> LPWSTR; +} +extern "C" { + pub fn CharNextExA(CodePage: WORD, lpCurrentChar: LPCSTR, dwFlags: DWORD) -> LPSTR; +} +extern "C" { + pub fn CharPrevExA( + CodePage: WORD, + lpStart: LPCSTR, + lpCurrentChar: LPCSTR, + dwFlags: DWORD, + ) -> LPSTR; +} +extern "C" { + pub fn IsCharAlphaA(ch: CHAR) -> BOOL; +} +extern "C" { + pub fn IsCharAlphaW(ch: WCHAR) -> BOOL; +} +extern "C" { + pub fn IsCharAlphaNumericA(ch: CHAR) -> BOOL; +} +extern "C" { + pub fn IsCharAlphaNumericW(ch: WCHAR) -> BOOL; +} +extern "C" { + pub fn IsCharUpperA(ch: CHAR) -> BOOL; +} +extern "C" { + pub fn IsCharUpperW(ch: WCHAR) -> BOOL; +} +extern "C" { + pub fn IsCharLowerA(ch: CHAR) -> BOOL; +} +extern "C" { + pub fn IsCharLowerW(ch: WCHAR) -> BOOL; +} +extern "C" { + pub fn SetFocus(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn GetActiveWindow() -> HWND; +} +extern "C" { + pub fn GetFocus() -> HWND; +} +extern "C" { + pub fn GetKBCodePage() -> UINT; +} +extern "C" { + pub fn GetKeyState(nVirtKey: ::std::os::raw::c_int) -> SHORT; +} +extern "C" { + pub fn GetAsyncKeyState(vKey: ::std::os::raw::c_int) -> SHORT; +} +extern "C" { + pub fn GetKeyboardState(lpKeyState: PBYTE) -> BOOL; +} +extern "C" { + pub fn SetKeyboardState(lpKeyState: LPBYTE) -> BOOL; +} +extern "C" { + pub fn GetKeyNameTextA( + lParam: LONG, + lpString: LPSTR, + cchSize: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetKeyNameTextW( + lParam: LONG, + lpString: LPWSTR, + cchSize: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetKeyboardType(nTypeFlag: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ToAscii( + uVirtKey: UINT, + uScanCode: UINT, + lpKeyState: *const BYTE, + lpChar: LPWORD, + uFlags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ToAsciiEx( + uVirtKey: UINT, + uScanCode: UINT, + lpKeyState: *const BYTE, + lpChar: LPWORD, + uFlags: UINT, + dwhkl: HKL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ToUnicode( + wVirtKey: UINT, + wScanCode: UINT, + lpKeyState: *const BYTE, + pwszBuff: LPWSTR, + cchBuff: ::std::os::raw::c_int, + wFlags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn OemKeyScan(wOemChar: WORD) -> DWORD; +} +extern "C" { + pub fn VkKeyScanA(ch: CHAR) -> SHORT; +} +extern "C" { + pub fn VkKeyScanW(ch: WCHAR) -> SHORT; +} +extern "C" { + pub fn VkKeyScanExA(ch: CHAR, dwhkl: HKL) -> SHORT; +} +extern "C" { + pub fn VkKeyScanExW(ch: WCHAR, dwhkl: HKL) -> SHORT; +} +extern "C" { + pub fn keybd_event(bVk: BYTE, bScan: BYTE, dwFlags: DWORD, dwExtraInfo: ULONG_PTR); +} +extern "C" { + pub fn mouse_event(dwFlags: DWORD, dx: DWORD, dy: DWORD, dwData: DWORD, dwExtraInfo: ULONG_PTR); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEINPUT { + pub dx: LONG, + pub dy: LONG, + pub mouseData: DWORD, + pub dwFlags: DWORD, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMOUSEINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMOUSEINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMOUSEINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(dx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(dy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouseData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(mouseData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEINPUT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type MOUSEINPUT = tagMOUSEINPUT; +pub type PMOUSEINPUT = *mut tagMOUSEINPUT; +pub type LPMOUSEINPUT = *mut tagMOUSEINPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagKEYBDINPUT { + pub wVk: WORD, + pub wScan: WORD, + pub dwFlags: DWORD, + pub time: DWORD, + pub dwExtraInfo: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagKEYBDINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagKEYBDINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagKEYBDINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVk) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(wVk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wScan) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(wScan) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagKEYBDINPUT), + "::", + stringify!(dwExtraInfo) + ) + ); +} +pub type KEYBDINPUT = tagKEYBDINPUT; +pub type PKEYBDINPUT = *mut tagKEYBDINPUT; +pub type LPKEYBDINPUT = *mut tagKEYBDINPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHARDWAREINPUT { + pub uMsg: DWORD, + pub wParamL: WORD, + pub wParamH: WORD, +} +#[test] +fn bindgen_test_layout_tagHARDWAREINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagHARDWAREINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHARDWAREINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uMsg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREINPUT), + "::", + stringify!(uMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParamL) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREINPUT), + "::", + stringify!(wParamL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParamH) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagHARDWAREINPUT), + "::", + stringify!(wParamH) + ) + ); +} +pub type HARDWAREINPUT = tagHARDWAREINPUT; +pub type PHARDWAREINPUT = *mut tagHARDWAREINPUT; +pub type LPHARDWAREINPUT = *mut tagHARDWAREINPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagINPUT { + pub type_: DWORD, + pub __bindgen_anon_1: tagINPUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagINPUT__bindgen_ty_1 { + pub mi: MOUSEINPUT, + pub ki: KEYBDINPUT, + pub hi: HARDWAREINPUT, +} +#[test] +fn bindgen_test_layout_tagINPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagINPUT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagINPUT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mi) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT__bindgen_ty_1), + "::", + stringify!(mi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ki) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT__bindgen_ty_1), + "::", + stringify!(ki) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hi) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT__bindgen_ty_1), + "::", + stringify!(hi) + ) + ); +} +#[test] +fn bindgen_test_layout_tagINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT), + "::", + stringify!(type_) + ) + ); +} +pub type INPUT = tagINPUT; +pub type PINPUT = *mut tagINPUT; +pub type LPINPUT = *mut tagINPUT; +extern "C" { + pub fn SendInput(cInputs: UINT, pInputs: LPINPUT, cbSize: ::std::os::raw::c_int) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HTOUCHINPUT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HTOUCHINPUT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HTOUCHINPUT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HTOUCHINPUT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HTOUCHINPUT__), + "::", + stringify!(unused) + ) + ); +} +pub type HTOUCHINPUT = *mut HTOUCHINPUT__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTOUCHINPUT { + pub x: LONG, + pub y: LONG, + pub hSource: HANDLE, + pub dwID: DWORD, + pub dwFlags: DWORD, + pub dwMask: DWORD, + pub dwTime: DWORD, + pub dwExtraInfo: ULONG_PTR, + pub cxContact: DWORD, + pub cyContact: DWORD, +} +#[test] +fn bindgen_test_layout_tagTOUCHINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagTOUCHINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTOUCHINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(hSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExtraInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(dwExtraInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxContact) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(cxContact) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyContact) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCHINPUT), + "::", + stringify!(cyContact) + ) + ); +} +pub type TOUCHINPUT = tagTOUCHINPUT; +pub type PTOUCHINPUT = *mut tagTOUCHINPUT; +pub type PCTOUCHINPUT = *const TOUCHINPUT; +extern "C" { + pub fn GetTouchInputInfo( + hTouchInput: HTOUCHINPUT, + cInputs: UINT, + pInputs: PTOUCHINPUT, + cbSize: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn CloseTouchInputHandle(hTouchInput: HTOUCHINPUT) -> BOOL; +} +extern "C" { + pub fn RegisterTouchWindow(hwnd: HWND, ulFlags: ULONG) -> BOOL; +} +extern "C" { + pub fn UnregisterTouchWindow(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn IsTouchWindow(hwnd: HWND, pulFlags: PULONG) -> BOOL; +} +pub const tagPOINTER_INPUT_TYPE_PT_POINTER: tagPOINTER_INPUT_TYPE = 1; +pub const tagPOINTER_INPUT_TYPE_PT_TOUCH: tagPOINTER_INPUT_TYPE = 2; +pub const tagPOINTER_INPUT_TYPE_PT_PEN: tagPOINTER_INPUT_TYPE = 3; +pub const tagPOINTER_INPUT_TYPE_PT_MOUSE: tagPOINTER_INPUT_TYPE = 4; +pub const tagPOINTER_INPUT_TYPE_PT_TOUCHPAD: tagPOINTER_INPUT_TYPE = 5; +pub type tagPOINTER_INPUT_TYPE = ::std::os::raw::c_int; +pub type POINTER_INPUT_TYPE = DWORD; +pub type POINTER_FLAGS = UINT32; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_NONE: tagPOINTER_BUTTON_CHANGE_TYPE = 0; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FIRSTBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 1; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FIRSTBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 2; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_SECONDBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 3; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_SECONDBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 4; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_THIRDBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 5; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_THIRDBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 6; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FOURTHBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 7; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FOURTHBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 8; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FIFTHBUTTON_DOWN: + tagPOINTER_BUTTON_CHANGE_TYPE = 9; +pub const tagPOINTER_BUTTON_CHANGE_TYPE_POINTER_CHANGE_FIFTHBUTTON_UP: + tagPOINTER_BUTTON_CHANGE_TYPE = 10; +pub type tagPOINTER_BUTTON_CHANGE_TYPE = ::std::os::raw::c_int; +pub use self::tagPOINTER_BUTTON_CHANGE_TYPE as POINTER_BUTTON_CHANGE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_INFO { + pub pointerType: POINTER_INPUT_TYPE, + pub pointerId: UINT32, + pub frameId: UINT32, + pub pointerFlags: POINTER_FLAGS, + pub sourceDevice: HANDLE, + pub hwndTarget: HWND, + pub ptPixelLocation: POINT, + pub ptHimetricLocation: POINT, + pub ptPixelLocationRaw: POINT, + pub ptHimetricLocationRaw: POINT, + pub dwTime: DWORD, + pub historyCount: UINT32, + pub InputData: INT32, + pub dwKeyStates: DWORD, + pub PerformanceCount: UINT64, + pub ButtonChangeType: POINTER_BUTTON_CHANGE_TYPE, +} +#[test] +fn bindgen_test_layout_tagPOINTER_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagPOINTER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(pointerType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(pointerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frameId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(frameId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(pointerFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sourceDevice) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(sourceDevice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTarget) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(hwndTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPixelLocation) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ptPixelLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptHimetricLocation) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ptHimetricLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPixelLocationRaw) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ptPixelLocationRaw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptHimetricLocationRaw) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ptHimetricLocationRaw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).historyCount) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(historyCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InputData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(InputData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyStates) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(dwKeyStates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerformanceCount) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(PerformanceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ButtonChangeType) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_INFO), + "::", + stringify!(ButtonChangeType) + ) + ); +} +pub type POINTER_INFO = tagPOINTER_INFO; +pub type TOUCH_FLAGS = UINT32; +pub type TOUCH_MASK = UINT32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_TOUCH_INFO { + pub pointerInfo: POINTER_INFO, + pub touchFlags: TOUCH_FLAGS, + pub touchMask: TOUCH_MASK, + pub rcContact: RECT, + pub rcContactRaw: RECT, + pub orientation: UINT32, + pub pressure: UINT32, +} +#[test] +fn bindgen_test_layout_tagPOINTER_TOUCH_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(tagPOINTER_TOUCH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_TOUCH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(pointerInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).touchFlags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(touchFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).touchMask) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(touchMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcContact) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(rcContact) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcContactRaw) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(rcContactRaw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).orientation) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(orientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pressure) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TOUCH_INFO), + "::", + stringify!(pressure) + ) + ); +} +pub type POINTER_TOUCH_INFO = tagPOINTER_TOUCH_INFO; +pub type PEN_FLAGS = UINT32; +pub type PEN_MASK = UINT32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_PEN_INFO { + pub pointerInfo: POINTER_INFO, + pub penFlags: PEN_FLAGS, + pub penMask: PEN_MASK, + pub pressure: UINT32, + pub rotation: UINT32, + pub tiltX: INT32, + pub tiltY: INT32, +} +#[test] +fn bindgen_test_layout_tagPOINTER_PEN_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagPOINTER_PEN_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_PEN_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(pointerInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).penFlags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(penFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).penMask) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(penMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pressure) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(pressure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rotation) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(rotation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tiltX) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(tiltX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tiltY) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_PEN_INFO), + "::", + stringify!(tiltY) + ) + ); +} +pub type POINTER_PEN_INFO = tagPOINTER_PEN_INFO; +pub const POINTER_FEEDBACK_MODE_POINTER_FEEDBACK_DEFAULT: POINTER_FEEDBACK_MODE = 1; +pub const POINTER_FEEDBACK_MODE_POINTER_FEEDBACK_INDIRECT: POINTER_FEEDBACK_MODE = 2; +pub const POINTER_FEEDBACK_MODE_POINTER_FEEDBACK_NONE: POINTER_FEEDBACK_MODE = 3; +pub type POINTER_FEEDBACK_MODE = ::std::os::raw::c_int; +extern "C" { + pub fn InitializeTouchInjection(maxCount: UINT32, dwMode: DWORD) -> BOOL; +} +extern "C" { + pub fn InjectTouchInput(count: UINT32, contacts: *const POINTER_TOUCH_INFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagUSAGE_PROPERTIES { + pub level: USHORT, + pub page: USHORT, + pub usage: USHORT, + pub logicalMinimum: INT32, + pub logicalMaximum: INT32, + pub unit: USHORT, + pub exponent: USHORT, + pub count: BYTE, + pub physicalMinimum: INT32, + pub physicalMaximum: INT32, +} +#[test] +fn bindgen_test_layout_tagUSAGE_PROPERTIES() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagUSAGE_PROPERTIES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagUSAGE_PROPERTIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).level) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).page) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(page) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(usage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).logicalMinimum) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(logicalMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).logicalMaximum) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(logicalMaximum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(unit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(exponent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).physicalMinimum) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(physicalMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).physicalMaximum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagUSAGE_PROPERTIES), + "::", + stringify!(physicalMaximum) + ) + ); +} +pub type USAGE_PROPERTIES = tagUSAGE_PROPERTIES; +pub type PUSAGE_PROPERTIES = *mut tagUSAGE_PROPERTIES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPOINTER_TYPE_INFO { + pub type_: POINTER_INPUT_TYPE, + pub __bindgen_anon_1: tagPOINTER_TYPE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagPOINTER_TYPE_INFO__bindgen_ty_1 { + pub touchInfo: POINTER_TOUCH_INFO, + pub penInfo: POINTER_PEN_INFO, +} +#[test] +fn bindgen_test_layout_tagPOINTER_TYPE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).touchInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1), + "::", + stringify!(touchInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).penInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TYPE_INFO__bindgen_ty_1), + "::", + stringify!(penInfo) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPOINTER_TYPE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagPOINTER_TYPE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_TYPE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_TYPE_INFO), + "::", + stringify!(type_) + ) + ); +} +pub type POINTER_TYPE_INFO = tagPOINTER_TYPE_INFO; +pub type PPOINTER_TYPE_INFO = *mut tagPOINTER_TYPE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINPUT_INJECTION_VALUE { + pub page: USHORT, + pub usage: USHORT, + pub value: INT32, + pub index: USHORT, +} +#[test] +fn bindgen_test_layout_tagINPUT_INJECTION_VALUE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagINPUT_INJECTION_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagINPUT_INJECTION_VALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).page) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_INJECTION_VALUE), + "::", + stringify!(page) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_INJECTION_VALUE), + "::", + stringify!(usage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_INJECTION_VALUE), + "::", + stringify!(value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_INJECTION_VALUE), + "::", + stringify!(index) + ) + ); +} +pub type INPUT_INJECTION_VALUE = tagINPUT_INJECTION_VALUE; +pub type PINPUT_INJECTION_VALUE = *mut tagINPUT_INJECTION_VALUE; +extern "C" { + pub fn GetPointerType(pointerId: UINT32, pointerType: *mut POINTER_INPUT_TYPE) -> BOOL; +} +extern "C" { + pub fn GetPointerCursorId(pointerId: UINT32, cursorId: *mut UINT32) -> BOOL; +} +extern "C" { + pub fn GetPointerInfo(pointerId: UINT32, pointerInfo: *mut POINTER_INFO) -> BOOL; +} +extern "C" { + pub fn GetPointerInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + pointerInfo: *mut POINTER_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFrameInfo( + pointerId: UINT32, + pointerCount: *mut UINT32, + pointerInfo: *mut POINTER_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFrameInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + pointerCount: *mut UINT32, + pointerInfo: *mut POINTER_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerTouchInfo(pointerId: UINT32, touchInfo: *mut POINTER_TOUCH_INFO) -> BOOL; +} +extern "C" { + pub fn GetPointerTouchInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + touchInfo: *mut POINTER_TOUCH_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFrameTouchInfo( + pointerId: UINT32, + pointerCount: *mut UINT32, + touchInfo: *mut POINTER_TOUCH_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFrameTouchInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + pointerCount: *mut UINT32, + touchInfo: *mut POINTER_TOUCH_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerPenInfo(pointerId: UINT32, penInfo: *mut POINTER_PEN_INFO) -> BOOL; +} +extern "C" { + pub fn GetPointerPenInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + penInfo: *mut POINTER_PEN_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFramePenInfo( + pointerId: UINT32, + pointerCount: *mut UINT32, + penInfo: *mut POINTER_PEN_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerFramePenInfoHistory( + pointerId: UINT32, + entriesCount: *mut UINT32, + pointerCount: *mut UINT32, + penInfo: *mut POINTER_PEN_INFO, + ) -> BOOL; +} +extern "C" { + pub fn SkipPointerFrameMessages(pointerId: UINT32) -> BOOL; +} +extern "C" { + pub fn RegisterPointerInputTarget(hwnd: HWND, pointerType: POINTER_INPUT_TYPE) -> BOOL; +} +extern "C" { + pub fn UnregisterPointerInputTarget(hwnd: HWND, pointerType: POINTER_INPUT_TYPE) -> BOOL; +} +extern "C" { + pub fn RegisterPointerInputTargetEx( + hwnd: HWND, + pointerType: POINTER_INPUT_TYPE, + fObserve: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn UnregisterPointerInputTargetEx(hwnd: HWND, pointerType: POINTER_INPUT_TYPE) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSYNTHETICPOINTERDEVICE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSYNTHETICPOINTERDEVICE__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSYNTHETICPOINTERDEVICE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSYNTHETICPOINTERDEVICE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSYNTHETICPOINTERDEVICE__), + "::", + stringify!(unused) + ) + ); +} +pub type HSYNTHETICPOINTERDEVICE = *mut HSYNTHETICPOINTERDEVICE__; +extern "C" { + pub fn CreateSyntheticPointerDevice( + pointerType: POINTER_INPUT_TYPE, + maxCount: ULONG, + mode: POINTER_FEEDBACK_MODE, + ) -> HSYNTHETICPOINTERDEVICE; +} +extern "C" { + pub fn InjectSyntheticPointerInput( + device: HSYNTHETICPOINTERDEVICE, + pointerInfo: *const POINTER_TYPE_INFO, + count: UINT32, + ) -> BOOL; +} +extern "C" { + pub fn DestroySyntheticPointerDevice(device: HSYNTHETICPOINTERDEVICE); +} +extern "C" { + pub fn EnableMouseInPointer(fEnable: BOOL) -> BOOL; +} +extern "C" { + pub fn IsMouseInPointerEnabled() -> BOOL; +} +extern "C" { + pub fn EnableMouseInPointerForThread() -> BOOL; +} +extern "C" { + pub fn RegisterTouchHitTestingWindow(hwnd: HWND, value: ULONG) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION { + pub score: UINT16, + pub adjustedPoint: POINT, +} +#[test] +fn bindgen_test_layout_tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!( + "Size of: ", + stringify!(tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).score) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION), + "::", + stringify!(score) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adjustedPoint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION), + "::", + stringify!(adjustedPoint) + ) + ); +} +pub type TOUCH_HIT_TESTING_PROXIMITY_EVALUATION = tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION; +pub type PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION = *mut tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTOUCH_HIT_TESTING_INPUT { + pub pointerId: UINT32, + pub point: POINT, + pub boundingBox: RECT, + pub nonOccludedBoundingBox: RECT, + pub orientation: UINT32, +} +#[test] +fn bindgen_test_layout_tagTOUCH_HIT_TESTING_INPUT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagTOUCH_HIT_TESTING_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTOUCH_HIT_TESTING_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(pointerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).point) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(point) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).boundingBox) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(boundingBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nonOccludedBoundingBox) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(nonOccludedBoundingBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).orientation) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTOUCH_HIT_TESTING_INPUT), + "::", + stringify!(orientation) + ) + ); +} +pub type TOUCH_HIT_TESTING_INPUT = tagTOUCH_HIT_TESTING_INPUT; +pub type PTOUCH_HIT_TESTING_INPUT = *mut tagTOUCH_HIT_TESTING_INPUT; +extern "C" { + pub fn EvaluateProximityToRect( + controlBoundingBox: *const RECT, + pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT, + pProximityEval: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, + ) -> BOOL; +} +extern "C" { + pub fn EvaluateProximityToPolygon( + numVertices: UINT32, + controlPolygon: *const POINT, + pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT, + pProximityEval: *mut TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, + ) -> BOOL; +} +extern "C" { + pub fn PackTouchHitTestingProximityEvaluation( + pHitTestingInput: *const TOUCH_HIT_TESTING_INPUT, + pProximityEval: *const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, + ) -> LRESULT; +} +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_CONTACTVISUALIZATION: tagFEEDBACK_TYPE = 1; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_BARRELVISUALIZATION: tagFEEDBACK_TYPE = 2; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_TAP: tagFEEDBACK_TYPE = 3; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_DOUBLETAP: tagFEEDBACK_TYPE = 4; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_PRESSANDHOLD: tagFEEDBACK_TYPE = 5; +pub const tagFEEDBACK_TYPE_FEEDBACK_PEN_RIGHTTAP: tagFEEDBACK_TYPE = 6; +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_TAP: tagFEEDBACK_TYPE = 7; +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_DOUBLETAP: tagFEEDBACK_TYPE = 8; +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_PRESSANDHOLD: tagFEEDBACK_TYPE = 9; +pub const tagFEEDBACK_TYPE_FEEDBACK_TOUCH_RIGHTTAP: tagFEEDBACK_TYPE = 10; +pub const tagFEEDBACK_TYPE_FEEDBACK_GESTURE_PRESSANDTAP: tagFEEDBACK_TYPE = 11; +pub const tagFEEDBACK_TYPE_FEEDBACK_MAX: tagFEEDBACK_TYPE = -1; +pub type tagFEEDBACK_TYPE = ::std::os::raw::c_int; +pub use self::tagFEEDBACK_TYPE as FEEDBACK_TYPE; +extern "C" { + pub fn GetWindowFeedbackSetting( + hwnd: HWND, + feedback: FEEDBACK_TYPE, + dwFlags: DWORD, + pSize: *mut UINT32, + config: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn SetWindowFeedbackSetting( + hwnd: HWND, + feedback: FEEDBACK_TYPE, + dwFlags: DWORD, + size: UINT32, + configuration: *const ::std::os::raw::c_void, + ) -> BOOL; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagINPUT_TRANSFORM { + pub __bindgen_anon_1: tagINPUT_TRANSFORM__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagINPUT_TRANSFORM__bindgen_ty_1 { + pub __bindgen_anon_1: tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1, + pub m: [[f32; 4usize]; 4usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1 { + pub _11: f32, + pub _12: f32, + pub _13: f32, + pub _14: f32, + pub _21: f32, + pub _22: f32, + pub _23: f32, + pub _24: f32, + pub _31: f32, + pub _32: f32, + pub _33: f32, + pub _34: f32, + pub _41: f32, + pub _42: f32, + pub _43: f32, + pub _44: f32, +} +#[test] +fn bindgen_test_layout_tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!( + "Size of: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._11) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_11) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._12) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_12) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._13) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._14) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_14) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._21) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_21) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._22) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_22) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._23) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_23) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._24) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_24) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._31) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_31) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._32) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_32) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._33) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_33) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._34) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_34) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._41) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_41) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._42) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_42) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._43) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_43) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._44) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(_44) + ) + ); +} +#[test] +fn bindgen_test_layout_tagINPUT_TRANSFORM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagINPUT_TRANSFORM__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_TRANSFORM__bindgen_ty_1), + "::", + stringify!(m) + ) + ); +} +#[test] +fn bindgen_test_layout_tagINPUT_TRANSFORM() { + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagINPUT_TRANSFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagINPUT_TRANSFORM)) + ); +} +pub type INPUT_TRANSFORM = tagINPUT_TRANSFORM; +extern "C" { + pub fn GetPointerInputTransform( + pointerId: UINT32, + historyCount: UINT32, + inputTransform: *mut INPUT_TRANSFORM, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagLASTINPUTINFO { + pub cbSize: UINT, + pub dwTime: DWORD, +} +#[test] +fn bindgen_test_layout_tagLASTINPUTINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagLASTINPUTINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagLASTINPUTINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagLASTINPUTINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagLASTINPUTINFO), + "::", + stringify!(dwTime) + ) + ); +} +pub type LASTINPUTINFO = tagLASTINPUTINFO; +pub type PLASTINPUTINFO = *mut tagLASTINPUTINFO; +extern "C" { + pub fn GetLastInputInfo(plii: PLASTINPUTINFO) -> BOOL; +} +extern "C" { + pub fn MapVirtualKeyA(uCode: UINT, uMapType: UINT) -> UINT; +} +extern "C" { + pub fn MapVirtualKeyW(uCode: UINT, uMapType: UINT) -> UINT; +} +extern "C" { + pub fn MapVirtualKeyExA(uCode: UINT, uMapType: UINT, dwhkl: HKL) -> UINT; +} +extern "C" { + pub fn MapVirtualKeyExW(uCode: UINT, uMapType: UINT, dwhkl: HKL) -> UINT; +} +extern "C" { + pub fn GetInputState() -> BOOL; +} +extern "C" { + pub fn GetQueueStatus(flags: UINT) -> DWORD; +} +extern "C" { + pub fn GetCapture() -> HWND; +} +extern "C" { + pub fn SetCapture(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn ReleaseCapture() -> BOOL; +} +extern "C" { + pub fn MsgWaitForMultipleObjects( + nCount: DWORD, + pHandles: *const HANDLE, + fWaitAll: BOOL, + dwMilliseconds: DWORD, + dwWakeMask: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn MsgWaitForMultipleObjectsEx( + nCount: DWORD, + pHandles: *const HANDLE, + dwMilliseconds: DWORD, + dwWakeMask: DWORD, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetTimer( + hWnd: HWND, + nIDEvent: UINT_PTR, + uElapse: UINT, + lpTimerFunc: TIMERPROC, + ) -> UINT_PTR; +} +extern "C" { + pub fn SetCoalescableTimer( + hWnd: HWND, + nIDEvent: UINT_PTR, + uElapse: UINT, + lpTimerFunc: TIMERPROC, + uToleranceDelay: ULONG, + ) -> UINT_PTR; +} +extern "C" { + pub fn KillTimer(hWnd: HWND, uIDEvent: UINT_PTR) -> BOOL; +} +extern "C" { + pub fn IsWindowUnicode(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn EnableWindow(hWnd: HWND, bEnable: BOOL) -> BOOL; +} +extern "C" { + pub fn IsWindowEnabled(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn LoadAcceleratorsA(hInstance: HINSTANCE, lpTableName: LPCSTR) -> HACCEL; +} +extern "C" { + pub fn LoadAcceleratorsW(hInstance: HINSTANCE, lpTableName: LPCWSTR) -> HACCEL; +} +extern "C" { + pub fn CreateAcceleratorTableA(paccel: LPACCEL, cAccel: ::std::os::raw::c_int) -> HACCEL; +} +extern "C" { + pub fn CreateAcceleratorTableW(paccel: LPACCEL, cAccel: ::std::os::raw::c_int) -> HACCEL; +} +extern "C" { + pub fn DestroyAcceleratorTable(hAccel: HACCEL) -> BOOL; +} +extern "C" { + pub fn CopyAcceleratorTableA( + hAccelSrc: HACCEL, + lpAccelDst: LPACCEL, + cAccelEntries: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CopyAcceleratorTableW( + hAccelSrc: HACCEL, + lpAccelDst: LPACCEL, + cAccelEntries: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn TranslateAcceleratorA( + hWnd: HWND, + hAccTable: HACCEL, + lpMsg: LPMSG, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn TranslateAcceleratorW( + hWnd: HWND, + hAccTable: HACCEL, + lpMsg: LPMSG, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetSystemMetrics(nIndex: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetSystemMetricsForDpi( + nIndex: ::std::os::raw::c_int, + dpi: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LoadMenuA(hInstance: HINSTANCE, lpMenuName: LPCSTR) -> HMENU; +} +extern "C" { + pub fn LoadMenuW(hInstance: HINSTANCE, lpMenuName: LPCWSTR) -> HMENU; +} +extern "C" { + pub fn LoadMenuIndirectA(lpMenuTemplate: *const MENUTEMPLATEA) -> HMENU; +} +extern "C" { + pub fn LoadMenuIndirectW(lpMenuTemplate: *const MENUTEMPLATEW) -> HMENU; +} +extern "C" { + pub fn GetMenu(hWnd: HWND) -> HMENU; +} +extern "C" { + pub fn SetMenu(hWnd: HWND, hMenu: HMENU) -> BOOL; +} +extern "C" { + pub fn ChangeMenuA( + hMenu: HMENU, + cmd: UINT, + lpszNewItem: LPCSTR, + cmdInsert: UINT, + flags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn ChangeMenuW( + hMenu: HMENU, + cmd: UINT, + lpszNewItem: LPCWSTR, + cmdInsert: UINT, + flags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn HiliteMenuItem(hWnd: HWND, hMenu: HMENU, uIDHiliteItem: UINT, uHilite: UINT) -> BOOL; +} +extern "C" { + pub fn GetMenuStringA( + hMenu: HMENU, + uIDItem: UINT, + lpString: LPSTR, + cchMax: ::std::os::raw::c_int, + flags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMenuStringW( + hMenu: HMENU, + uIDItem: UINT, + lpString: LPWSTR, + cchMax: ::std::os::raw::c_int, + flags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetMenuState(hMenu: HMENU, uId: UINT, uFlags: UINT) -> UINT; +} +extern "C" { + pub fn DrawMenuBar(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn GetSystemMenu(hWnd: HWND, bRevert: BOOL) -> HMENU; +} +extern "C" { + pub fn CreateMenu() -> HMENU; +} +extern "C" { + pub fn CreatePopupMenu() -> HMENU; +} +extern "C" { + pub fn DestroyMenu(hMenu: HMENU) -> BOOL; +} +extern "C" { + pub fn CheckMenuItem(hMenu: HMENU, uIDCheckItem: UINT, uCheck: UINT) -> DWORD; +} +extern "C" { + pub fn EnableMenuItem(hMenu: HMENU, uIDEnableItem: UINT, uEnable: UINT) -> BOOL; +} +extern "C" { + pub fn GetSubMenu(hMenu: HMENU, nPos: ::std::os::raw::c_int) -> HMENU; +} +extern "C" { + pub fn GetMenuItemID(hMenu: HMENU, nPos: ::std::os::raw::c_int) -> UINT; +} +extern "C" { + pub fn GetMenuItemCount(hMenu: HMENU) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn InsertMenuA( + hMenu: HMENU, + uPosition: UINT, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn InsertMenuW( + hMenu: HMENU, + uPosition: UINT, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn AppendMenuA(hMenu: HMENU, uFlags: UINT, uIDNewItem: UINT_PTR, lpNewItem: LPCSTR) + -> BOOL; +} +extern "C" { + pub fn AppendMenuW( + hMenu: HMENU, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn ModifyMenuA( + hMnu: HMENU, + uPosition: UINT, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn ModifyMenuW( + hMnu: HMENU, + uPosition: UINT, + uFlags: UINT, + uIDNewItem: UINT_PTR, + lpNewItem: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn RemoveMenu(hMenu: HMENU, uPosition: UINT, uFlags: UINT) -> BOOL; +} +extern "C" { + pub fn DeleteMenu(hMenu: HMENU, uPosition: UINT, uFlags: UINT) -> BOOL; +} +extern "C" { + pub fn SetMenuItemBitmaps( + hMenu: HMENU, + uPosition: UINT, + uFlags: UINT, + hBitmapUnchecked: HBITMAP, + hBitmapChecked: HBITMAP, + ) -> BOOL; +} +extern "C" { + pub fn GetMenuCheckMarkDimensions() -> LONG; +} +extern "C" { + pub fn TrackPopupMenu( + hMenu: HMENU, + uFlags: UINT, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + nReserved: ::std::os::raw::c_int, + hWnd: HWND, + prcRect: *const RECT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTPMPARAMS { + pub cbSize: UINT, + pub rcExclude: RECT, +} +#[test] +fn bindgen_test_layout_tagTPMPARAMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagTPMPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTPMPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTPMPARAMS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcExclude) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTPMPARAMS), + "::", + stringify!(rcExclude) + ) + ); +} +pub type TPMPARAMS = tagTPMPARAMS; +pub type LPTPMPARAMS = *mut TPMPARAMS; +extern "C" { + pub fn TrackPopupMenuEx( + hMenu: HMENU, + uFlags: UINT, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + hwnd: HWND, + lptpm: LPTPMPARAMS, + ) -> BOOL; +} +extern "C" { + pub fn CalculatePopupWindowPosition( + anchorPoint: *const POINT, + windowSize: *const SIZE, + flags: UINT, + excludeRect: *mut RECT, + popupWindowPosition: *mut RECT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUINFO { + pub cbSize: DWORD, + pub fMask: DWORD, + pub dwStyle: DWORD, + pub cyMax: UINT, + pub hbrBack: HBRUSH, + pub dwContextHelpID: DWORD, + pub dwMenuData: ULONG_PTR, +} +#[test] +fn bindgen_test_layout_tagMENUINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMENUINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyMax) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(cyMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbrBack) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(hbrBack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContextHelpID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(dwContextHelpID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMenuData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMENUINFO), + "::", + stringify!(dwMenuData) + ) + ); +} +pub type MENUINFO = tagMENUINFO; +pub type LPMENUINFO = *mut tagMENUINFO; +pub type LPCMENUINFO = *const MENUINFO; +extern "C" { + pub fn GetMenuInfo(arg1: HMENU, arg2: LPMENUINFO) -> BOOL; +} +extern "C" { + pub fn SetMenuInfo(arg1: HMENU, arg2: LPCMENUINFO) -> BOOL; +} +extern "C" { + pub fn EndMenu() -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUGETOBJECTINFO { + pub dwFlags: DWORD, + pub uPos: UINT, + pub hmenu: HMENU, + pub riid: PVOID, + pub pvObj: PVOID, +} +#[test] +fn bindgen_test_layout_tagMENUGETOBJECTINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMENUGETOBJECTINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUGETOBJECTINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uPos) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(uPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hmenu) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(hmenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).riid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(riid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvObj) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUGETOBJECTINFO), + "::", + stringify!(pvObj) + ) + ); +} +pub type MENUGETOBJECTINFO = tagMENUGETOBJECTINFO; +pub type PMENUGETOBJECTINFO = *mut tagMENUGETOBJECTINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUITEMINFOA { + pub cbSize: UINT, + pub fMask: UINT, + pub fType: UINT, + pub fState: UINT, + pub wID: UINT, + pub hSubMenu: HMENU, + pub hbmpChecked: HBITMAP, + pub hbmpUnchecked: HBITMAP, + pub dwItemData: ULONG_PTR, + pub dwTypeData: LPSTR, + pub cch: UINT, + pub hbmpItem: HBITMAP, +} +#[test] +fn bindgen_test_layout_tagMENUITEMINFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMENUITEMINFOA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUITEMINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(fType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(fState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(wID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSubMenu) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(hSubMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpChecked) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(hbmpChecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpUnchecked) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(hbmpUnchecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItemData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(dwItemData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(dwTypeData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(cch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpItem) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOA), + "::", + stringify!(hbmpItem) + ) + ); +} +pub type MENUITEMINFOA = tagMENUITEMINFOA; +pub type LPMENUITEMINFOA = *mut tagMENUITEMINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUITEMINFOW { + pub cbSize: UINT, + pub fMask: UINT, + pub fType: UINT, + pub fState: UINT, + pub wID: UINT, + pub hSubMenu: HMENU, + pub hbmpChecked: HBITMAP, + pub hbmpUnchecked: HBITMAP, + pub dwItemData: ULONG_PTR, + pub dwTypeData: LPWSTR, + pub cch: UINT, + pub hbmpItem: HBITMAP, +} +#[test] +fn bindgen_test_layout_tagMENUITEMINFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMENUITEMINFOW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUITEMINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(fType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(fState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(wID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSubMenu) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(hSubMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpChecked) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(hbmpChecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpUnchecked) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(hbmpUnchecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItemData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(dwItemData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(dwTypeData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(cch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpItem) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMENUITEMINFOW), + "::", + stringify!(hbmpItem) + ) + ); +} +pub type MENUITEMINFOW = tagMENUITEMINFOW; +pub type LPMENUITEMINFOW = *mut tagMENUITEMINFOW; +pub type MENUITEMINFO = MENUITEMINFOA; +pub type LPMENUITEMINFO = LPMENUITEMINFOA; +pub type LPCMENUITEMINFOA = *const MENUITEMINFOA; +pub type LPCMENUITEMINFOW = *const MENUITEMINFOW; +pub type LPCMENUITEMINFO = LPCMENUITEMINFOA; +extern "C" { + pub fn InsertMenuItemA( + hmenu: HMENU, + item: UINT, + fByPosition: BOOL, + lpmi: LPCMENUITEMINFOA, + ) -> BOOL; +} +extern "C" { + pub fn InsertMenuItemW( + hmenu: HMENU, + item: UINT, + fByPosition: BOOL, + lpmi: LPCMENUITEMINFOW, + ) -> BOOL; +} +extern "C" { + pub fn GetMenuItemInfoA( + hmenu: HMENU, + item: UINT, + fByPosition: BOOL, + lpmii: LPMENUITEMINFOA, + ) -> BOOL; +} +extern "C" { + pub fn GetMenuItemInfoW( + hmenu: HMENU, + item: UINT, + fByPosition: BOOL, + lpmii: LPMENUITEMINFOW, + ) -> BOOL; +} +extern "C" { + pub fn SetMenuItemInfoA( + hmenu: HMENU, + item: UINT, + fByPositon: BOOL, + lpmii: LPCMENUITEMINFOA, + ) -> BOOL; +} +extern "C" { + pub fn SetMenuItemInfoW( + hmenu: HMENU, + item: UINT, + fByPositon: BOOL, + lpmii: LPCMENUITEMINFOW, + ) -> BOOL; +} +extern "C" { + pub fn GetMenuDefaultItem(hMenu: HMENU, fByPos: UINT, gmdiFlags: UINT) -> UINT; +} +extern "C" { + pub fn SetMenuDefaultItem(hMenu: HMENU, uItem: UINT, fByPos: UINT) -> BOOL; +} +extern "C" { + pub fn GetMenuItemRect(hWnd: HWND, hMenu: HMENU, uItem: UINT, lprcItem: LPRECT) -> BOOL; +} +extern "C" { + pub fn MenuItemFromPoint(hWnd: HWND, hMenu: HMENU, ptScreen: POINT) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDROPSTRUCT { + pub hwndSource: HWND, + pub hwndSink: HWND, + pub wFmt: DWORD, + pub dwData: ULONG_PTR, + pub ptDrop: POINT, + pub dwControlData: DWORD, +} +#[test] +fn bindgen_test_layout_tagDROPSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagDROPSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDROPSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndSource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(hwndSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndSink) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(hwndSink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFmt) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(wFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(dwData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptDrop) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(ptDrop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagDROPSTRUCT), + "::", + stringify!(dwControlData) + ) + ); +} +pub type DROPSTRUCT = tagDROPSTRUCT; +pub type PDROPSTRUCT = *mut tagDROPSTRUCT; +pub type LPDROPSTRUCT = *mut tagDROPSTRUCT; +extern "C" { + pub fn DragObject( + hwndParent: HWND, + hwndFrom: HWND, + fmt: UINT, + data: ULONG_PTR, + hcur: HCURSOR, + ) -> DWORD; +} +extern "C" { + pub fn DragDetect(hwnd: HWND, pt: POINT) -> BOOL; +} +extern "C" { + pub fn DrawIcon( + hDC: HDC, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + hIcon: HICON, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDRAWTEXTPARAMS { + pub cbSize: UINT, + pub iTabLength: ::std::os::raw::c_int, + pub iLeftMargin: ::std::os::raw::c_int, + pub iRightMargin: ::std::os::raw::c_int, + pub uiLengthDrawn: UINT, +} +#[test] +fn bindgen_test_layout_tagDRAWTEXTPARAMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagDRAWTEXTPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagDRAWTEXTPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTabLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(iTabLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iLeftMargin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(iLeftMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRightMargin) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(iRightMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiLengthDrawn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDRAWTEXTPARAMS), + "::", + stringify!(uiLengthDrawn) + ) + ); +} +pub type DRAWTEXTPARAMS = tagDRAWTEXTPARAMS; +pub type LPDRAWTEXTPARAMS = *mut tagDRAWTEXTPARAMS; +extern "C" { + pub fn DrawTextA( + hdc: HDC, + lpchText: LPCSTR, + cchText: ::std::os::raw::c_int, + lprc: LPRECT, + format: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DrawTextW( + hdc: HDC, + lpchText: LPCWSTR, + cchText: ::std::os::raw::c_int, + lprc: LPRECT, + format: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DrawTextExA( + hdc: HDC, + lpchText: LPSTR, + cchText: ::std::os::raw::c_int, + lprc: LPRECT, + format: UINT, + lpdtp: LPDRAWTEXTPARAMS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DrawTextExW( + hdc: HDC, + lpchText: LPWSTR, + cchText: ::std::os::raw::c_int, + lprc: LPRECT, + format: UINT, + lpdtp: LPDRAWTEXTPARAMS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GrayStringA( + hDC: HDC, + hBrush: HBRUSH, + lpOutputFunc: GRAYSTRINGPROC, + lpData: LPARAM, + nCount: ::std::os::raw::c_int, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn GrayStringW( + hDC: HDC, + hBrush: HBRUSH, + lpOutputFunc: GRAYSTRINGPROC, + lpData: LPARAM, + nCount: ::std::os::raw::c_int, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn DrawStateA( + hdc: HDC, + hbrFore: HBRUSH, + qfnCallBack: DRAWSTATEPROC, + lData: LPARAM, + wData: WPARAM, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn DrawStateW( + hdc: HDC, + hbrFore: HBRUSH, + qfnCallBack: DRAWSTATEPROC, + lData: LPARAM, + wData: WPARAM, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn TabbedTextOutA( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpString: LPCSTR, + chCount: ::std::os::raw::c_int, + nTabPositions: ::std::os::raw::c_int, + lpnTabStopPositions: *const INT, + nTabOrigin: ::std::os::raw::c_int, + ) -> LONG; +} +extern "C" { + pub fn TabbedTextOutW( + hdc: HDC, + x: ::std::os::raw::c_int, + y: ::std::os::raw::c_int, + lpString: LPCWSTR, + chCount: ::std::os::raw::c_int, + nTabPositions: ::std::os::raw::c_int, + lpnTabStopPositions: *const INT, + nTabOrigin: ::std::os::raw::c_int, + ) -> LONG; +} +extern "C" { + pub fn GetTabbedTextExtentA( + hdc: HDC, + lpString: LPCSTR, + chCount: ::std::os::raw::c_int, + nTabPositions: ::std::os::raw::c_int, + lpnTabStopPositions: *const INT, + ) -> DWORD; +} +extern "C" { + pub fn GetTabbedTextExtentW( + hdc: HDC, + lpString: LPCWSTR, + chCount: ::std::os::raw::c_int, + nTabPositions: ::std::os::raw::c_int, + lpnTabStopPositions: *const INT, + ) -> DWORD; +} +extern "C" { + pub fn UpdateWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn SetActiveWindow(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn GetForegroundWindow() -> HWND; +} +extern "C" { + pub fn PaintDesktop(hdc: HDC) -> BOOL; +} +extern "C" { + pub fn SwitchToThisWindow(hwnd: HWND, fUnknown: BOOL); +} +extern "C" { + pub fn SetForegroundWindow(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn AllowSetForegroundWindow(dwProcessId: DWORD) -> BOOL; +} +extern "C" { + pub fn LockSetForegroundWindow(uLockCode: UINT) -> BOOL; +} +extern "C" { + pub fn WindowFromDC(hDC: HDC) -> HWND; +} +extern "C" { + pub fn GetDC(hWnd: HWND) -> HDC; +} +extern "C" { + pub fn GetDCEx(hWnd: HWND, hrgnClip: HRGN, flags: DWORD) -> HDC; +} +extern "C" { + pub fn GetWindowDC(hWnd: HWND) -> HDC; +} +extern "C" { + pub fn ReleaseDC(hWnd: HWND, hDC: HDC) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn BeginPaint(hWnd: HWND, lpPaint: LPPAINTSTRUCT) -> HDC; +} +extern "C" { + pub fn EndPaint(hWnd: HWND, lpPaint: *const PAINTSTRUCT) -> BOOL; +} +extern "C" { + pub fn GetUpdateRect(hWnd: HWND, lpRect: LPRECT, bErase: BOOL) -> BOOL; +} +extern "C" { + pub fn GetUpdateRgn(hWnd: HWND, hRgn: HRGN, bErase: BOOL) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetWindowRgn(hWnd: HWND, hRgn: HRGN, bRedraw: BOOL) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowRgn(hWnd: HWND, hRgn: HRGN) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowRgnBox(hWnd: HWND, lprc: LPRECT) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ExcludeUpdateRgn(hDC: HDC, hWnd: HWND) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn InvalidateRect(hWnd: HWND, lpRect: *const RECT, bErase: BOOL) -> BOOL; +} +extern "C" { + pub fn ValidateRect(hWnd: HWND, lpRect: *const RECT) -> BOOL; +} +extern "C" { + pub fn InvalidateRgn(hWnd: HWND, hRgn: HRGN, bErase: BOOL) -> BOOL; +} +extern "C" { + pub fn ValidateRgn(hWnd: HWND, hRgn: HRGN) -> BOOL; +} +extern "C" { + pub fn RedrawWindow(hWnd: HWND, lprcUpdate: *const RECT, hrgnUpdate: HRGN, flags: UINT) + -> BOOL; +} +extern "C" { + pub fn LockWindowUpdate(hWndLock: HWND) -> BOOL; +} +extern "C" { + pub fn ScrollWindow( + hWnd: HWND, + XAmount: ::std::os::raw::c_int, + YAmount: ::std::os::raw::c_int, + lpRect: *const RECT, + lpClipRect: *const RECT, + ) -> BOOL; +} +extern "C" { + pub fn ScrollDC( + hDC: HDC, + dx: ::std::os::raw::c_int, + dy: ::std::os::raw::c_int, + lprcScroll: *const RECT, + lprcClip: *const RECT, + hrgnUpdate: HRGN, + lprcUpdate: LPRECT, + ) -> BOOL; +} +extern "C" { + pub fn ScrollWindowEx( + hWnd: HWND, + dx: ::std::os::raw::c_int, + dy: ::std::os::raw::c_int, + prcScroll: *const RECT, + prcClip: *const RECT, + hrgnUpdate: HRGN, + prcUpdate: LPRECT, + flags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetScrollPos( + hWnd: HWND, + nBar: ::std::os::raw::c_int, + nPos: ::std::os::raw::c_int, + bRedraw: BOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetScrollPos(hWnd: HWND, nBar: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetScrollRange( + hWnd: HWND, + nBar: ::std::os::raw::c_int, + nMinPos: ::std::os::raw::c_int, + nMaxPos: ::std::os::raw::c_int, + bRedraw: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn GetScrollRange( + hWnd: HWND, + nBar: ::std::os::raw::c_int, + lpMinPos: LPINT, + lpMaxPos: LPINT, + ) -> BOOL; +} +extern "C" { + pub fn ShowScrollBar(hWnd: HWND, wBar: ::std::os::raw::c_int, bShow: BOOL) -> BOOL; +} +extern "C" { + pub fn EnableScrollBar(hWnd: HWND, wSBflags: UINT, wArrows: UINT) -> BOOL; +} +extern "C" { + pub fn SetPropA(hWnd: HWND, lpString: LPCSTR, hData: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetPropW(hWnd: HWND, lpString: LPCWSTR, hData: HANDLE) -> BOOL; +} +extern "C" { + pub fn GetPropA(hWnd: HWND, lpString: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn GetPropW(hWnd: HWND, lpString: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn RemovePropA(hWnd: HWND, lpString: LPCSTR) -> HANDLE; +} +extern "C" { + pub fn RemovePropW(hWnd: HWND, lpString: LPCWSTR) -> HANDLE; +} +extern "C" { + pub fn EnumPropsExA( + hWnd: HWND, + lpEnumFunc: PROPENUMPROCEXA, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumPropsExW( + hWnd: HWND, + lpEnumFunc: PROPENUMPROCEXW, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumPropsA(hWnd: HWND, lpEnumFunc: PROPENUMPROCA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumPropsW(hWnd: HWND, lpEnumFunc: PROPENUMPROCW) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetWindowTextA(hWnd: HWND, lpString: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetWindowTextW(hWnd: HWND, lpString: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetWindowTextA( + hWnd: HWND, + lpString: LPSTR, + nMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowTextW( + hWnd: HWND, + lpString: LPWSTR, + nMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowTextLengthA(hWnd: HWND) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetWindowTextLengthW(hWnd: HWND) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetClientRect(hWnd: HWND, lpRect: LPRECT) -> BOOL; +} +extern "C" { + pub fn GetWindowRect(hWnd: HWND, lpRect: LPRECT) -> BOOL; +} +extern "C" { + pub fn AdjustWindowRect(lpRect: LPRECT, dwStyle: DWORD, bMenu: BOOL) -> BOOL; +} +extern "C" { + pub fn AdjustWindowRectEx( + lpRect: LPRECT, + dwStyle: DWORD, + bMenu: BOOL, + dwExStyle: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn AdjustWindowRectExForDpi( + lpRect: LPRECT, + dwStyle: DWORD, + bMenu: BOOL, + dwExStyle: DWORD, + dpi: UINT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHELPINFO { + pub cbSize: UINT, + pub iContextType: ::std::os::raw::c_int, + pub iCtrlId: ::std::os::raw::c_int, + pub hItemHandle: HANDLE, + pub dwContextId: DWORD_PTR, + pub MousePos: POINT, +} +#[test] +fn bindgen_test_layout_tagHELPINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagHELPINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHELPINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iContextType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(iContextType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCtrlId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(iCtrlId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hItemHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(hItemHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContextId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(dwContextId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MousePos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagHELPINFO), + "::", + stringify!(MousePos) + ) + ); +} +pub type HELPINFO = tagHELPINFO; +pub type LPHELPINFO = *mut tagHELPINFO; +extern "C" { + pub fn SetWindowContextHelpId(arg1: HWND, arg2: DWORD) -> BOOL; +} +extern "C" { + pub fn GetWindowContextHelpId(arg1: HWND) -> DWORD; +} +extern "C" { + pub fn SetMenuContextHelpId(arg1: HMENU, arg2: DWORD) -> BOOL; +} +extern "C" { + pub fn GetMenuContextHelpId(arg1: HMENU) -> DWORD; +} +extern "C" { + pub fn MessageBoxA( + hWnd: HWND, + lpText: LPCSTR, + lpCaption: LPCSTR, + uType: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBoxW( + hWnd: HWND, + lpText: LPCWSTR, + lpCaption: LPCWSTR, + uType: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBoxExA( + hWnd: HWND, + lpText: LPCSTR, + lpCaption: LPCSTR, + uType: UINT, + wLanguageId: WORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBoxExW( + hWnd: HWND, + lpText: LPCWSTR, + lpCaption: LPCWSTR, + uType: UINT, + wLanguageId: WORD, + ) -> ::std::os::raw::c_int; +} +pub type MSGBOXCALLBACK = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMSGBOXPARAMSA { + pub cbSize: UINT, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpszText: LPCSTR, + pub lpszCaption: LPCSTR, + pub dwStyle: DWORD, + pub lpszIcon: LPCSTR, + pub dwContextHelpId: DWORD_PTR, + pub lpfnMsgBoxCallback: MSGBOXCALLBACK, + pub dwLanguageId: DWORD, +} +#[test] +fn bindgen_test_layout_tagMSGBOXPARAMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMSGBOXPARAMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMSGBOXPARAMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszText) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(lpszText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(lpszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszIcon) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(lpszIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContextHelpId) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(dwContextHelpId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnMsgBoxCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(lpfnMsgBoxCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLanguageId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSA), + "::", + stringify!(dwLanguageId) + ) + ); +} +pub type MSGBOXPARAMSA = tagMSGBOXPARAMSA; +pub type PMSGBOXPARAMSA = *mut tagMSGBOXPARAMSA; +pub type LPMSGBOXPARAMSA = *mut tagMSGBOXPARAMSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMSGBOXPARAMSW { + pub cbSize: UINT, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpszText: LPCWSTR, + pub lpszCaption: LPCWSTR, + pub dwStyle: DWORD, + pub lpszIcon: LPCWSTR, + pub dwContextHelpId: DWORD_PTR, + pub lpfnMsgBoxCallback: MSGBOXCALLBACK, + pub dwLanguageId: DWORD, +} +#[test] +fn bindgen_test_layout_tagMSGBOXPARAMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMSGBOXPARAMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMSGBOXPARAMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszText) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(lpszText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(lpszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszIcon) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(lpszIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContextHelpId) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(dwContextHelpId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnMsgBoxCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(lpfnMsgBoxCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLanguageId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMSGBOXPARAMSW), + "::", + stringify!(dwLanguageId) + ) + ); +} +pub type MSGBOXPARAMSW = tagMSGBOXPARAMSW; +pub type PMSGBOXPARAMSW = *mut tagMSGBOXPARAMSW; +pub type LPMSGBOXPARAMSW = *mut tagMSGBOXPARAMSW; +pub type MSGBOXPARAMS = MSGBOXPARAMSA; +pub type PMSGBOXPARAMS = PMSGBOXPARAMSA; +pub type LPMSGBOXPARAMS = LPMSGBOXPARAMSA; +extern "C" { + pub fn MessageBoxIndirectA(lpmbp: *const MSGBOXPARAMSA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBoxIndirectW(lpmbp: *const MSGBOXPARAMSW) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn MessageBeep(uType: UINT) -> BOOL; +} +extern "C" { + pub fn ShowCursor(bShow: BOOL) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetCursorPos(X: ::std::os::raw::c_int, Y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn SetPhysicalCursorPos(X: ::std::os::raw::c_int, Y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn SetCursor(hCursor: HCURSOR) -> HCURSOR; +} +extern "C" { + pub fn GetCursorPos(lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetPhysicalCursorPos(lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn GetClipCursor(lpRect: LPRECT) -> BOOL; +} +extern "C" { + pub fn GetCursor() -> HCURSOR; +} +extern "C" { + pub fn CreateCaret( + hWnd: HWND, + hBitmap: HBITMAP, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn GetCaretBlinkTime() -> UINT; +} +extern "C" { + pub fn SetCaretBlinkTime(uMSeconds: UINT) -> BOOL; +} +extern "C" { + pub fn DestroyCaret() -> BOOL; +} +extern "C" { + pub fn HideCaret(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn ShowCaret(hWnd: HWND) -> BOOL; +} +extern "C" { + pub fn SetCaretPos(X: ::std::os::raw::c_int, Y: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn GetCaretPos(lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn ClientToScreen(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn ScreenToClient(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn LogicalToPhysicalPoint(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn PhysicalToLogicalPoint(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn LogicalToPhysicalPointForPerMonitorDPI(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn PhysicalToLogicalPointForPerMonitorDPI(hWnd: HWND, lpPoint: LPPOINT) -> BOOL; +} +extern "C" { + pub fn MapWindowPoints( + hWndFrom: HWND, + hWndTo: HWND, + lpPoints: LPPOINT, + cPoints: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WindowFromPoint(Point: POINT) -> HWND; +} +extern "C" { + pub fn WindowFromPhysicalPoint(Point: POINT) -> HWND; +} +extern "C" { + pub fn ChildWindowFromPoint(hWndParent: HWND, Point: POINT) -> HWND; +} +extern "C" { + pub fn ClipCursor(lpRect: *const RECT) -> BOOL; +} +extern "C" { + pub fn ChildWindowFromPointEx(hwnd: HWND, pt: POINT, flags: UINT) -> HWND; +} +extern "C" { + pub fn GetSysColor(nIndex: ::std::os::raw::c_int) -> DWORD; +} +extern "C" { + pub fn GetSysColorBrush(nIndex: ::std::os::raw::c_int) -> HBRUSH; +} +extern "C" { + pub fn SetSysColors( + cElements: ::std::os::raw::c_int, + lpaElements: *const INT, + lpaRgbValues: *const COLORREF, + ) -> BOOL; +} +extern "C" { + pub fn DrawFocusRect(hDC: HDC, lprc: *const RECT) -> BOOL; +} +extern "C" { + pub fn FillRect(hDC: HDC, lprc: *const RECT, hbr: HBRUSH) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn FrameRect(hDC: HDC, lprc: *const RECT, hbr: HBRUSH) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn InvertRect(hDC: HDC, lprc: *const RECT) -> BOOL; +} +extern "C" { + pub fn SetRect( + lprc: LPRECT, + xLeft: ::std::os::raw::c_int, + yTop: ::std::os::raw::c_int, + xRight: ::std::os::raw::c_int, + yBottom: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn SetRectEmpty(lprc: LPRECT) -> BOOL; +} +extern "C" { + pub fn CopyRect(lprcDst: LPRECT, lprcSrc: *const RECT) -> BOOL; +} +extern "C" { + pub fn InflateRect(lprc: LPRECT, dx: ::std::os::raw::c_int, dy: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn IntersectRect(lprcDst: LPRECT, lprcSrc1: *const RECT, lprcSrc2: *const RECT) -> BOOL; +} +extern "C" { + pub fn UnionRect(lprcDst: LPRECT, lprcSrc1: *const RECT, lprcSrc2: *const RECT) -> BOOL; +} +extern "C" { + pub fn SubtractRect(lprcDst: LPRECT, lprcSrc1: *const RECT, lprcSrc2: *const RECT) -> BOOL; +} +extern "C" { + pub fn OffsetRect(lprc: LPRECT, dx: ::std::os::raw::c_int, dy: ::std::os::raw::c_int) -> BOOL; +} +extern "C" { + pub fn IsRectEmpty(lprc: *const RECT) -> BOOL; +} +extern "C" { + pub fn EqualRect(lprc1: *const RECT, lprc2: *const RECT) -> BOOL; +} +extern "C" { + pub fn PtInRect(lprc: *const RECT, pt: POINT) -> BOOL; +} +extern "C" { + pub fn GetWindowWord(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> WORD; +} +extern "C" { + pub fn SetWindowWord(hWnd: HWND, nIndex: ::std::os::raw::c_int, wNewWord: WORD) -> WORD; +} +extern "C" { + pub fn GetWindowLongA(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> LONG; +} +extern "C" { + pub fn GetWindowLongW(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> LONG; +} +extern "C" { + pub fn SetWindowLongA(hWnd: HWND, nIndex: ::std::os::raw::c_int, dwNewLong: LONG) -> LONG; +} +extern "C" { + pub fn SetWindowLongW(hWnd: HWND, nIndex: ::std::os::raw::c_int, dwNewLong: LONG) -> LONG; +} +extern "C" { + pub fn GetWindowLongPtrA(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> LONG_PTR; +} +extern "C" { + pub fn GetWindowLongPtrW(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> LONG_PTR; +} +extern "C" { + pub fn SetWindowLongPtrA( + hWnd: HWND, + nIndex: ::std::os::raw::c_int, + dwNewLong: LONG_PTR, + ) -> LONG_PTR; +} +extern "C" { + pub fn SetWindowLongPtrW( + hWnd: HWND, + nIndex: ::std::os::raw::c_int, + dwNewLong: LONG_PTR, + ) -> LONG_PTR; +} +extern "C" { + pub fn GetClassWord(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> WORD; +} +extern "C" { + pub fn SetClassWord(hWnd: HWND, nIndex: ::std::os::raw::c_int, wNewWord: WORD) -> WORD; +} +extern "C" { + pub fn GetClassLongA(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> DWORD; +} +extern "C" { + pub fn GetClassLongW(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> DWORD; +} +extern "C" { + pub fn SetClassLongA(hWnd: HWND, nIndex: ::std::os::raw::c_int, dwNewLong: LONG) -> DWORD; +} +extern "C" { + pub fn SetClassLongW(hWnd: HWND, nIndex: ::std::os::raw::c_int, dwNewLong: LONG) -> DWORD; +} +extern "C" { + pub fn GetClassLongPtrA(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> ULONG_PTR; +} +extern "C" { + pub fn GetClassLongPtrW(hWnd: HWND, nIndex: ::std::os::raw::c_int) -> ULONG_PTR; +} +extern "C" { + pub fn SetClassLongPtrA( + hWnd: HWND, + nIndex: ::std::os::raw::c_int, + dwNewLong: LONG_PTR, + ) -> ULONG_PTR; +} +extern "C" { + pub fn SetClassLongPtrW( + hWnd: HWND, + nIndex: ::std::os::raw::c_int, + dwNewLong: LONG_PTR, + ) -> ULONG_PTR; +} +extern "C" { + pub fn GetProcessDefaultLayout(pdwDefaultLayout: *mut DWORD) -> BOOL; +} +extern "C" { + pub fn SetProcessDefaultLayout(dwDefaultLayout: DWORD) -> BOOL; +} +extern "C" { + pub fn GetDesktopWindow() -> HWND; +} +extern "C" { + pub fn GetParent(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn SetParent(hWndChild: HWND, hWndNewParent: HWND) -> HWND; +} +extern "C" { + pub fn EnumChildWindows(hWndParent: HWND, lpEnumFunc: WNDENUMPROC, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn FindWindowA(lpClassName: LPCSTR, lpWindowName: LPCSTR) -> HWND; +} +extern "C" { + pub fn FindWindowW(lpClassName: LPCWSTR, lpWindowName: LPCWSTR) -> HWND; +} +extern "C" { + pub fn FindWindowExA( + hWndParent: HWND, + hWndChildAfter: HWND, + lpszClass: LPCSTR, + lpszWindow: LPCSTR, + ) -> HWND; +} +extern "C" { + pub fn FindWindowExW( + hWndParent: HWND, + hWndChildAfter: HWND, + lpszClass: LPCWSTR, + lpszWindow: LPCWSTR, + ) -> HWND; +} +extern "C" { + pub fn GetShellWindow() -> HWND; +} +extern "C" { + pub fn RegisterShellHookWindow(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn DeregisterShellHookWindow(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn EnumWindows(lpEnumFunc: WNDENUMPROC, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn EnumThreadWindows(dwThreadId: DWORD, lpfn: WNDENUMPROC, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn GetClassNameA( + hWnd: HWND, + lpClassName: LPSTR, + nMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetClassNameW( + hWnd: HWND, + lpClassName: LPWSTR, + nMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTopWindow(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn GetWindowThreadProcessId(hWnd: HWND, lpdwProcessId: LPDWORD) -> DWORD; +} +extern "C" { + pub fn IsGUIThread(bConvert: BOOL) -> BOOL; +} +extern "C" { + pub fn GetLastActivePopup(hWnd: HWND) -> HWND; +} +extern "C" { + pub fn GetWindow(hWnd: HWND, uCmd: UINT) -> HWND; +} +extern "C" { + pub fn SetWindowsHookA(nFilterType: ::std::os::raw::c_int, pfnFilterProc: HOOKPROC) -> HHOOK; +} +extern "C" { + pub fn SetWindowsHookW(nFilterType: ::std::os::raw::c_int, pfnFilterProc: HOOKPROC) -> HHOOK; +} +extern "C" { + pub fn UnhookWindowsHook(nCode: ::std::os::raw::c_int, pfnFilterProc: HOOKPROC) -> BOOL; +} +extern "C" { + pub fn SetWindowsHookExA( + idHook: ::std::os::raw::c_int, + lpfn: HOOKPROC, + hmod: HINSTANCE, + dwThreadId: DWORD, + ) -> HHOOK; +} +extern "C" { + pub fn SetWindowsHookExW( + idHook: ::std::os::raw::c_int, + lpfn: HOOKPROC, + hmod: HINSTANCE, + dwThreadId: DWORD, + ) -> HHOOK; +} +extern "C" { + pub fn UnhookWindowsHookEx(hhk: HHOOK) -> BOOL; +} +extern "C" { + pub fn CallNextHookEx( + hhk: HHOOK, + nCode: ::std::os::raw::c_int, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn CheckMenuRadioItem( + hmenu: HMENU, + first: UINT, + last: UINT, + check: UINT, + flags: UINT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MENUITEMTEMPLATEHEADER { + pub versionNumber: WORD, + pub offset: WORD, +} +#[test] +fn bindgen_test_layout_MENUITEMTEMPLATEHEADER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(MENUITEMTEMPLATEHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(MENUITEMTEMPLATEHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).versionNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATEHEADER), + "::", + stringify!(versionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATEHEADER), + "::", + stringify!(offset) + ) + ); +} +pub type PMENUITEMTEMPLATEHEADER = *mut MENUITEMTEMPLATEHEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MENUITEMTEMPLATE { + pub mtOption: WORD, + pub mtID: WORD, + pub mtString: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_MENUITEMTEMPLATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(MENUITEMTEMPLATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(MENUITEMTEMPLATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtOption) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATE), + "::", + stringify!(mtOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtID) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATE), + "::", + stringify!(mtID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtString) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(MENUITEMTEMPLATE), + "::", + stringify!(mtString) + ) + ); +} +pub type PMENUITEMTEMPLATE = *mut MENUITEMTEMPLATE; +extern "C" { + pub fn LoadBitmapA(hInstance: HINSTANCE, lpBitmapName: LPCSTR) -> HBITMAP; +} +extern "C" { + pub fn LoadBitmapW(hInstance: HINSTANCE, lpBitmapName: LPCWSTR) -> HBITMAP; +} +extern "C" { + pub fn LoadCursorA(hInstance: HINSTANCE, lpCursorName: LPCSTR) -> HCURSOR; +} +extern "C" { + pub fn LoadCursorW(hInstance: HINSTANCE, lpCursorName: LPCWSTR) -> HCURSOR; +} +extern "C" { + pub fn LoadCursorFromFileA(lpFileName: LPCSTR) -> HCURSOR; +} +extern "C" { + pub fn LoadCursorFromFileW(lpFileName: LPCWSTR) -> HCURSOR; +} +extern "C" { + pub fn CreateCursor( + hInst: HINSTANCE, + xHotSpot: ::std::os::raw::c_int, + yHotSpot: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + pvANDPlane: *const ::std::os::raw::c_void, + pvXORPlane: *const ::std::os::raw::c_void, + ) -> HCURSOR; +} +extern "C" { + pub fn DestroyCursor(hCursor: HCURSOR) -> BOOL; +} +extern "C" { + pub fn SetSystemCursor(hcur: HCURSOR, id: DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ICONINFO { + pub fIcon: BOOL, + pub xHotspot: DWORD, + pub yHotspot: DWORD, + pub hbmMask: HBITMAP, + pub hbmColor: HBITMAP, +} +#[test] +fn bindgen_test_layout__ICONINFO() { + const UNINIT: ::std::mem::MaybeUninit<_ICONINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ICONINFO>(), + 32usize, + concat!("Size of: ", stringify!(_ICONINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_ICONINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_ICONINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(fIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xHotspot) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(xHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yHotspot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(yHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(hbmMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmColor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFO), + "::", + stringify!(hbmColor) + ) + ); +} +pub type ICONINFO = _ICONINFO; +pub type PICONINFO = *mut ICONINFO; +extern "C" { + pub fn LoadIconA(hInstance: HINSTANCE, lpIconName: LPCSTR) -> HICON; +} +extern "C" { + pub fn LoadIconW(hInstance: HINSTANCE, lpIconName: LPCWSTR) -> HICON; +} +extern "C" { + pub fn PrivateExtractIconsA( + szFileName: LPCSTR, + nIconIndex: ::std::os::raw::c_int, + cxIcon: ::std::os::raw::c_int, + cyIcon: ::std::os::raw::c_int, + phicon: *mut HICON, + piconid: *mut UINT, + nIcons: UINT, + flags: UINT, + ) -> UINT; +} +extern "C" { + pub fn PrivateExtractIconsW( + szFileName: LPCWSTR, + nIconIndex: ::std::os::raw::c_int, + cxIcon: ::std::os::raw::c_int, + cyIcon: ::std::os::raw::c_int, + phicon: *mut HICON, + piconid: *mut UINT, + nIcons: UINT, + flags: UINT, + ) -> UINT; +} +extern "C" { + pub fn CreateIcon( + hInstance: HINSTANCE, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + cPlanes: BYTE, + cBitsPixel: BYTE, + lpbANDbits: *const BYTE, + lpbXORbits: *const BYTE, + ) -> HICON; +} +extern "C" { + pub fn DestroyIcon(hIcon: HICON) -> BOOL; +} +extern "C" { + pub fn LookupIconIdFromDirectory(presbits: PBYTE, fIcon: BOOL) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LookupIconIdFromDirectoryEx( + presbits: PBYTE, + fIcon: BOOL, + cxDesired: ::std::os::raw::c_int, + cyDesired: ::std::os::raw::c_int, + Flags: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CreateIconFromResource( + presbits: PBYTE, + dwResSize: DWORD, + fIcon: BOOL, + dwVer: DWORD, + ) -> HICON; +} +extern "C" { + pub fn CreateIconFromResourceEx( + presbits: PBYTE, + dwResSize: DWORD, + fIcon: BOOL, + dwVer: DWORD, + cxDesired: ::std::os::raw::c_int, + cyDesired: ::std::os::raw::c_int, + Flags: UINT, + ) -> HICON; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCURSORSHAPE { + pub xHotSpot: ::std::os::raw::c_int, + pub yHotSpot: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub cy: ::std::os::raw::c_int, + pub cbWidth: ::std::os::raw::c_int, + pub Planes: BYTE, + pub BitsPixel: BYTE, +} +#[test] +fn bindgen_test_layout_tagCURSORSHAPE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCURSORSHAPE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCURSORSHAPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xHotSpot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(xHotSpot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yHotSpot) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(yHotSpot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWidth) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(cbWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Planes) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(Planes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitsPixel) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORSHAPE), + "::", + stringify!(BitsPixel) + ) + ); +} +pub type CURSORSHAPE = tagCURSORSHAPE; +pub type LPCURSORSHAPE = *mut tagCURSORSHAPE; +extern "C" { + pub fn LoadImageA( + hInst: HINSTANCE, + name: LPCSTR, + type_: UINT, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + fuLoad: UINT, + ) -> HANDLE; +} +extern "C" { + pub fn LoadImageW( + hInst: HINSTANCE, + name: LPCWSTR, + type_: UINT, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + fuLoad: UINT, + ) -> HANDLE; +} +extern "C" { + pub fn CopyImage( + h: HANDLE, + type_: UINT, + cx: ::std::os::raw::c_int, + cy: ::std::os::raw::c_int, + flags: UINT, + ) -> HANDLE; +} +extern "C" { + pub fn DrawIconEx( + hdc: HDC, + xLeft: ::std::os::raw::c_int, + yTop: ::std::os::raw::c_int, + hIcon: HICON, + cxWidth: ::std::os::raw::c_int, + cyWidth: ::std::os::raw::c_int, + istepIfAniCur: UINT, + hbrFlickerFreeDraw: HBRUSH, + diFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn CreateIconIndirect(piconinfo: PICONINFO) -> HICON; +} +extern "C" { + pub fn CopyIcon(hIcon: HICON) -> HICON; +} +extern "C" { + pub fn GetIconInfo(hIcon: HICON, piconinfo: PICONINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ICONINFOEXA { + pub cbSize: DWORD, + pub fIcon: BOOL, + pub xHotspot: DWORD, + pub yHotspot: DWORD, + pub hbmMask: HBITMAP, + pub hbmColor: HBITMAP, + pub wResID: WORD, + pub szModName: [CHAR; 260usize], + pub szResName: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout__ICONINFOEXA() { + const UNINIT: ::std::mem::MaybeUninit<_ICONINFOEXA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ICONINFOEXA>(), + 560usize, + concat!("Size of: ", stringify!(_ICONINFOEXA)) + ); + assert_eq!( + ::std::mem::align_of::<_ICONINFOEXA>(), + 8usize, + concat!("Alignment of ", stringify!(_ICONINFOEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIcon) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(fIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xHotspot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(xHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yHotspot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(yHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(hbmMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmColor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(hbmColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wResID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(wResID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szModName) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(szModName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szResName) as usize - ptr as usize }, + 294usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXA), + "::", + stringify!(szResName) + ) + ); +} +pub type ICONINFOEXA = _ICONINFOEXA; +pub type PICONINFOEXA = *mut _ICONINFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ICONINFOEXW { + pub cbSize: DWORD, + pub fIcon: BOOL, + pub xHotspot: DWORD, + pub yHotspot: DWORD, + pub hbmMask: HBITMAP, + pub hbmColor: HBITMAP, + pub wResID: WORD, + pub szModName: [WCHAR; 260usize], + pub szResName: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout__ICONINFOEXW() { + const UNINIT: ::std::mem::MaybeUninit<_ICONINFOEXW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ICONINFOEXW>(), + 1080usize, + concat!("Size of: ", stringify!(_ICONINFOEXW)) + ); + assert_eq!( + ::std::mem::align_of::<_ICONINFOEXW>(), + 8usize, + concat!("Alignment of ", stringify!(_ICONINFOEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIcon) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(fIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xHotspot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(xHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yHotspot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(yHotspot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(hbmMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmColor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(hbmColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wResID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(wResID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szModName) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(szModName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szResName) as usize - ptr as usize }, + 554usize, + concat!( + "Offset of field: ", + stringify!(_ICONINFOEXW), + "::", + stringify!(szResName) + ) + ); +} +pub type ICONINFOEXW = _ICONINFOEXW; +pub type PICONINFOEXW = *mut _ICONINFOEXW; +pub type ICONINFOEX = ICONINFOEXA; +pub type PICONINFOEX = PICONINFOEXA; +extern "C" { + pub fn GetIconInfoExA(hicon: HICON, piconinfo: PICONINFOEXA) -> BOOL; +} +extern "C" { + pub fn GetIconInfoExW(hicon: HICON, piconinfo: PICONINFOEXW) -> BOOL; +} +pub const EDIT_CONTROL_FEATURE_EDIT_CONTROL_FEATURE_ENTERPRISE_DATA_PROTECTION_PASTE_SUPPORT: + EDIT_CONTROL_FEATURE = 0; +pub const EDIT_CONTROL_FEATURE_EDIT_CONTROL_FEATURE_PASTE_NOTIFICATIONS: EDIT_CONTROL_FEATURE = 1; +pub type EDIT_CONTROL_FEATURE = ::std::os::raw::c_int; +extern "C" { + pub fn IsDialogMessageA(hDlg: HWND, lpMsg: LPMSG) -> BOOL; +} +extern "C" { + pub fn IsDialogMessageW(hDlg: HWND, lpMsg: LPMSG) -> BOOL; +} +extern "C" { + pub fn MapDialogRect(hDlg: HWND, lpRect: LPRECT) -> BOOL; +} +extern "C" { + pub fn DlgDirListA( + hDlg: HWND, + lpPathSpec: LPSTR, + nIDListBox: ::std::os::raw::c_int, + nIDStaticPath: ::std::os::raw::c_int, + uFileType: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DlgDirListW( + hDlg: HWND, + lpPathSpec: LPWSTR, + nIDListBox: ::std::os::raw::c_int, + nIDStaticPath: ::std::os::raw::c_int, + uFileType: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DlgDirSelectExA( + hwndDlg: HWND, + lpString: LPSTR, + chCount: ::std::os::raw::c_int, + idListBox: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn DlgDirSelectExW( + hwndDlg: HWND, + lpString: LPWSTR, + chCount: ::std::os::raw::c_int, + idListBox: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn DlgDirListComboBoxA( + hDlg: HWND, + lpPathSpec: LPSTR, + nIDComboBox: ::std::os::raw::c_int, + nIDStaticPath: ::std::os::raw::c_int, + uFiletype: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DlgDirListComboBoxW( + hDlg: HWND, + lpPathSpec: LPWSTR, + nIDComboBox: ::std::os::raw::c_int, + nIDStaticPath: ::std::os::raw::c_int, + uFiletype: UINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn DlgDirSelectComboBoxExA( + hwndDlg: HWND, + lpString: LPSTR, + cchOut: ::std::os::raw::c_int, + idComboBox: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn DlgDirSelectComboBoxExW( + hwndDlg: HWND, + lpString: LPWSTR, + cchOut: ::std::os::raw::c_int, + idComboBox: ::std::os::raw::c_int, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSCROLLINFO { + pub cbSize: UINT, + pub fMask: UINT, + pub nMin: ::std::os::raw::c_int, + pub nMax: ::std::os::raw::c_int, + pub nPage: UINT, + pub nPos: ::std::os::raw::c_int, + pub nTrackPos: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagSCROLLINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagSCROLLINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSCROLLINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMax) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPos) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nTrackPos) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLINFO), + "::", + stringify!(nTrackPos) + ) + ); +} +pub type SCROLLINFO = tagSCROLLINFO; +pub type LPSCROLLINFO = *mut tagSCROLLINFO; +pub type LPCSCROLLINFO = *const SCROLLINFO; +extern "C" { + pub fn SetScrollInfo( + hwnd: HWND, + nBar: ::std::os::raw::c_int, + lpsi: LPCSCROLLINFO, + redraw: BOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetScrollInfo(hwnd: HWND, nBar: ::std::os::raw::c_int, lpsi: LPSCROLLINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMDICREATESTRUCTA { + pub szClass: LPCSTR, + pub szTitle: LPCSTR, + pub hOwner: HANDLE, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub cy: ::std::os::raw::c_int, + pub style: DWORD, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout_tagMDICREATESTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagMDICREATESTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMDICREATESTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(szClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTitle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(szTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hOwner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(hOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTA), + "::", + stringify!(lParam) + ) + ); +} +pub type MDICREATESTRUCTA = tagMDICREATESTRUCTA; +pub type LPMDICREATESTRUCTA = *mut tagMDICREATESTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMDICREATESTRUCTW { + pub szClass: LPCWSTR, + pub szTitle: LPCWSTR, + pub hOwner: HANDLE, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub cx: ::std::os::raw::c_int, + pub cy: ::std::os::raw::c_int, + pub style: DWORD, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout_tagMDICREATESTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagMDICREATESTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMDICREATESTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(szClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTitle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(szTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hOwner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(hOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(cx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cy) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(cy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).style) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(style) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMDICREATESTRUCTW), + "::", + stringify!(lParam) + ) + ); +} +pub type MDICREATESTRUCTW = tagMDICREATESTRUCTW; +pub type LPMDICREATESTRUCTW = *mut tagMDICREATESTRUCTW; +pub type MDICREATESTRUCT = MDICREATESTRUCTA; +pub type LPMDICREATESTRUCT = LPMDICREATESTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCLIENTCREATESTRUCT { + pub hWindowMenu: HANDLE, + pub idFirstChild: UINT, +} +#[test] +fn bindgen_test_layout_tagCLIENTCREATESTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCLIENTCREATESTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCLIENTCREATESTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWindowMenu) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCLIENTCREATESTRUCT), + "::", + stringify!(hWindowMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idFirstChild) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCLIENTCREATESTRUCT), + "::", + stringify!(idFirstChild) + ) + ); +} +pub type CLIENTCREATESTRUCT = tagCLIENTCREATESTRUCT; +pub type LPCLIENTCREATESTRUCT = *mut tagCLIENTCREATESTRUCT; +extern "C" { + pub fn DefFrameProcA( + hWnd: HWND, + hWndMDIClient: HWND, + uMsg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn DefFrameProcW( + hWnd: HWND, + hWndMDIClient: HWND, + uMsg: UINT, + wParam: WPARAM, + lParam: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn DefMDIChildProcA(hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn DefMDIChildProcW(hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM) -> LRESULT; +} +extern "C" { + pub fn TranslateMDISysAccel(hWndClient: HWND, lpMsg: LPMSG) -> BOOL; +} +extern "C" { + pub fn ArrangeIconicWindows(hWnd: HWND) -> UINT; +} +extern "C" { + pub fn CreateMDIWindowA( + lpClassName: LPCSTR, + lpWindowName: LPCSTR, + dwStyle: DWORD, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + hWndParent: HWND, + hInstance: HINSTANCE, + lParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn CreateMDIWindowW( + lpClassName: LPCWSTR, + lpWindowName: LPCWSTR, + dwStyle: DWORD, + X: ::std::os::raw::c_int, + Y: ::std::os::raw::c_int, + nWidth: ::std::os::raw::c_int, + nHeight: ::std::os::raw::c_int, + hWndParent: HWND, + hInstance: HINSTANCE, + lParam: LPARAM, + ) -> HWND; +} +extern "C" { + pub fn TileWindows( + hwndParent: HWND, + wHow: UINT, + lpRect: *const RECT, + cKids: UINT, + lpKids: *const HWND, + ) -> WORD; +} +extern "C" { + pub fn CascadeWindows( + hwndParent: HWND, + wHow: UINT, + lpRect: *const RECT, + cKids: UINT, + lpKids: *const HWND, + ) -> WORD; +} +pub type HELPPOLY = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMULTIKEYHELPA { + pub mkSize: DWORD, + pub mkKeylist: CHAR, + pub szKeyphrase: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagMULTIKEYHELPA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagMULTIKEYHELPA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMULTIKEYHELPA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mkSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPA), + "::", + stringify!(mkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mkKeylist) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPA), + "::", + stringify!(mkKeylist) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szKeyphrase) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPA), + "::", + stringify!(szKeyphrase) + ) + ); +} +pub type MULTIKEYHELPA = tagMULTIKEYHELPA; +pub type PMULTIKEYHELPA = *mut tagMULTIKEYHELPA; +pub type LPMULTIKEYHELPA = *mut tagMULTIKEYHELPA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMULTIKEYHELPW { + pub mkSize: DWORD, + pub mkKeylist: WCHAR, + pub szKeyphrase: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagMULTIKEYHELPW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagMULTIKEYHELPW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMULTIKEYHELPW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mkSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPW), + "::", + stringify!(mkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mkKeylist) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPW), + "::", + stringify!(mkKeylist) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szKeyphrase) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagMULTIKEYHELPW), + "::", + stringify!(szKeyphrase) + ) + ); +} +pub type MULTIKEYHELPW = tagMULTIKEYHELPW; +pub type PMULTIKEYHELPW = *mut tagMULTIKEYHELPW; +pub type LPMULTIKEYHELPW = *mut tagMULTIKEYHELPW; +pub type MULTIKEYHELP = MULTIKEYHELPA; +pub type PMULTIKEYHELP = PMULTIKEYHELPA; +pub type LPMULTIKEYHELP = LPMULTIKEYHELPA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHELPWININFOA { + pub wStructSize: ::std::os::raw::c_int, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub dx: ::std::os::raw::c_int, + pub dy: ::std::os::raw::c_int, + pub wMax: ::std::os::raw::c_int, + pub rgchMember: [CHAR; 2usize], +} +#[test] +fn bindgen_test_layout_tagHELPWININFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagHELPWININFOA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHELPWININFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(wStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(dx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dy) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(dy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMax) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(wMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgchMember) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOA), + "::", + stringify!(rgchMember) + ) + ); +} +pub type HELPWININFOA = tagHELPWININFOA; +pub type PHELPWININFOA = *mut tagHELPWININFOA; +pub type LPHELPWININFOA = *mut tagHELPWININFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHELPWININFOW { + pub wStructSize: ::std::os::raw::c_int, + pub x: ::std::os::raw::c_int, + pub y: ::std::os::raw::c_int, + pub dx: ::std::os::raw::c_int, + pub dy: ::std::os::raw::c_int, + pub wMax: ::std::os::raw::c_int, + pub rgchMember: [WCHAR; 2usize], +} +#[test] +fn bindgen_test_layout_tagHELPWININFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagHELPWININFOW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagHELPWININFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(wStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(x) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(y) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(dx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dy) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(dy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMax) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(wMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgchMember) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagHELPWININFOW), + "::", + stringify!(rgchMember) + ) + ); +} +pub type HELPWININFOW = tagHELPWININFOW; +pub type PHELPWININFOW = *mut tagHELPWININFOW; +pub type LPHELPWININFOW = *mut tagHELPWININFOW; +pub type HELPWININFO = HELPWININFOA; +pub type PHELPWININFO = PHELPWININFOA; +pub type LPHELPWININFO = LPHELPWININFOA; +extern "C" { + pub fn WinHelpA(hWndMain: HWND, lpszHelp: LPCSTR, uCommand: UINT, dwData: ULONG_PTR) -> BOOL; +} +extern "C" { + pub fn WinHelpW(hWndMain: HWND, lpszHelp: LPCWSTR, uCommand: UINT, dwData: ULONG_PTR) -> BOOL; +} +extern "C" { + pub fn GetGuiResources(hProcess: HANDLE, uiFlags: DWORD) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTouchPredictionParameters { + pub cbSize: UINT, + pub dwLatency: UINT, + pub dwSampleTime: UINT, + pub bUseHWTimeStamp: UINT, +} +#[test] +fn bindgen_test_layout_tagTouchPredictionParameters() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagTouchPredictionParameters)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTouchPredictionParameters)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTouchPredictionParameters), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLatency) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTouchPredictionParameters), + "::", + stringify!(dwLatency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSampleTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTouchPredictionParameters), + "::", + stringify!(dwSampleTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bUseHWTimeStamp) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagTouchPredictionParameters), + "::", + stringify!(bUseHWTimeStamp) + ) + ); +} +pub type TOUCHPREDICTIONPARAMETERS = tagTouchPredictionParameters; +pub type PTOUCHPREDICTIONPARAMETERS = *mut tagTouchPredictionParameters; +pub const tagHANDEDNESS_HANDEDNESS_LEFT: tagHANDEDNESS = 0; +pub const tagHANDEDNESS_HANDEDNESS_RIGHT: tagHANDEDNESS = 1; +pub type tagHANDEDNESS = ::std::os::raw::c_int; +pub use self::tagHANDEDNESS as HANDEDNESS; +pub type PHANDEDNESS = *mut tagHANDEDNESS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNONCLIENTMETRICSA { + pub cbSize: UINT, + pub iBorderWidth: ::std::os::raw::c_int, + pub iScrollWidth: ::std::os::raw::c_int, + pub iScrollHeight: ::std::os::raw::c_int, + pub iCaptionWidth: ::std::os::raw::c_int, + pub iCaptionHeight: ::std::os::raw::c_int, + pub lfCaptionFont: LOGFONTA, + pub iSmCaptionWidth: ::std::os::raw::c_int, + pub iSmCaptionHeight: ::std::os::raw::c_int, + pub lfSmCaptionFont: LOGFONTA, + pub iMenuWidth: ::std::os::raw::c_int, + pub iMenuHeight: ::std::os::raw::c_int, + pub lfMenuFont: LOGFONTA, + pub lfStatusFont: LOGFONTA, + pub lfMessageFont: LOGFONTA, + pub iPaddedBorderWidth: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagNONCLIENTMETRICSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 344usize, + concat!("Size of: ", stringify!(tagNONCLIENTMETRICSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNONCLIENTMETRICSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBorderWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iBorderWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iScrollWidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iScrollWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iScrollHeight) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iScrollHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCaptionWidth) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iCaptionWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCaptionHeight) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iCaptionHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfCaptionFont) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfCaptionFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSmCaptionWidth) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iSmCaptionWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSmCaptionHeight) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iSmCaptionHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfSmCaptionFont) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfSmCaptionFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMenuWidth) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iMenuWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMenuHeight) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iMenuHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfMenuFont) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfMenuFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfStatusFont) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfStatusFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfMessageFont) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(lfMessageFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPaddedBorderWidth) as usize - ptr as usize }, + 340usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSA), + "::", + stringify!(iPaddedBorderWidth) + ) + ); +} +pub type NONCLIENTMETRICSA = tagNONCLIENTMETRICSA; +pub type PNONCLIENTMETRICSA = *mut tagNONCLIENTMETRICSA; +pub type LPNONCLIENTMETRICSA = *mut tagNONCLIENTMETRICSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNONCLIENTMETRICSW { + pub cbSize: UINT, + pub iBorderWidth: ::std::os::raw::c_int, + pub iScrollWidth: ::std::os::raw::c_int, + pub iScrollHeight: ::std::os::raw::c_int, + pub iCaptionWidth: ::std::os::raw::c_int, + pub iCaptionHeight: ::std::os::raw::c_int, + pub lfCaptionFont: LOGFONTW, + pub iSmCaptionWidth: ::std::os::raw::c_int, + pub iSmCaptionHeight: ::std::os::raw::c_int, + pub lfSmCaptionFont: LOGFONTW, + pub iMenuWidth: ::std::os::raw::c_int, + pub iMenuHeight: ::std::os::raw::c_int, + pub lfMenuFont: LOGFONTW, + pub lfStatusFont: LOGFONTW, + pub lfMessageFont: LOGFONTW, + pub iPaddedBorderWidth: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagNONCLIENTMETRICSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 504usize, + concat!("Size of: ", stringify!(tagNONCLIENTMETRICSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagNONCLIENTMETRICSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBorderWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iBorderWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iScrollWidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iScrollWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iScrollHeight) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iScrollHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCaptionWidth) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iCaptionWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCaptionHeight) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iCaptionHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfCaptionFont) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfCaptionFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSmCaptionWidth) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iSmCaptionWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSmCaptionHeight) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iSmCaptionHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfSmCaptionFont) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfSmCaptionFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMenuWidth) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iMenuWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMenuHeight) as usize - ptr as usize }, + 220usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iMenuHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfMenuFont) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfMenuFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfStatusFont) as usize - ptr as usize }, + 316usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfStatusFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfMessageFont) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(lfMessageFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPaddedBorderWidth) as usize - ptr as usize }, + 500usize, + concat!( + "Offset of field: ", + stringify!(tagNONCLIENTMETRICSW), + "::", + stringify!(iPaddedBorderWidth) + ) + ); +} +pub type NONCLIENTMETRICSW = tagNONCLIENTMETRICSW; +pub type PNONCLIENTMETRICSW = *mut tagNONCLIENTMETRICSW; +pub type LPNONCLIENTMETRICSW = *mut tagNONCLIENTMETRICSW; +pub type NONCLIENTMETRICS = NONCLIENTMETRICSA; +pub type PNONCLIENTMETRICS = PNONCLIENTMETRICSA; +pub type LPNONCLIENTMETRICS = LPNONCLIENTMETRICSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMINIMIZEDMETRICS { + pub cbSize: UINT, + pub iWidth: ::std::os::raw::c_int, + pub iHorzGap: ::std::os::raw::c_int, + pub iVertGap: ::std::os::raw::c_int, + pub iArrange: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagMINIMIZEDMETRICS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMINIMIZEDMETRICS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMINIMIZEDMETRICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(iWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iHorzGap) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(iHorzGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVertGap) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(iVertGap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iArrange) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMINIMIZEDMETRICS), + "::", + stringify!(iArrange) + ) + ); +} +pub type MINIMIZEDMETRICS = tagMINIMIZEDMETRICS; +pub type PMINIMIZEDMETRICS = *mut tagMINIMIZEDMETRICS; +pub type LPMINIMIZEDMETRICS = *mut tagMINIMIZEDMETRICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagICONMETRICSA { + pub cbSize: UINT, + pub iHorzSpacing: ::std::os::raw::c_int, + pub iVertSpacing: ::std::os::raw::c_int, + pub iTitleWrap: ::std::os::raw::c_int, + pub lfFont: LOGFONTA, +} +#[test] +fn bindgen_test_layout_tagICONMETRICSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagICONMETRICSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagICONMETRICSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iHorzSpacing) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(iHorzSpacing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVertSpacing) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(iVertSpacing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTitleWrap) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(iTitleWrap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfFont) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSA), + "::", + stringify!(lfFont) + ) + ); +} +pub type ICONMETRICSA = tagICONMETRICSA; +pub type PICONMETRICSA = *mut tagICONMETRICSA; +pub type LPICONMETRICSA = *mut tagICONMETRICSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagICONMETRICSW { + pub cbSize: UINT, + pub iHorzSpacing: ::std::os::raw::c_int, + pub iVertSpacing: ::std::os::raw::c_int, + pub iTitleWrap: ::std::os::raw::c_int, + pub lfFont: LOGFONTW, +} +#[test] +fn bindgen_test_layout_tagICONMETRICSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 108usize, + concat!("Size of: ", stringify!(tagICONMETRICSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagICONMETRICSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iHorzSpacing) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(iHorzSpacing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVertSpacing) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(iVertSpacing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTitleWrap) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(iTitleWrap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lfFont) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagICONMETRICSW), + "::", + stringify!(lfFont) + ) + ); +} +pub type ICONMETRICSW = tagICONMETRICSW; +pub type PICONMETRICSW = *mut tagICONMETRICSW; +pub type LPICONMETRICSW = *mut tagICONMETRICSW; +pub type ICONMETRICS = ICONMETRICSA; +pub type PICONMETRICS = PICONMETRICSA; +pub type LPICONMETRICS = LPICONMETRICSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagANIMATIONINFO { + pub cbSize: UINT, + pub iMinAnimate: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tagANIMATIONINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagANIMATIONINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagANIMATIONINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagANIMATIONINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMinAnimate) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagANIMATIONINFO), + "::", + stringify!(iMinAnimate) + ) + ); +} +pub type ANIMATIONINFO = tagANIMATIONINFO; +pub type LPANIMATIONINFO = *mut tagANIMATIONINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSERIALKEYSA { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub lpszActivePort: LPSTR, + pub lpszPort: LPSTR, + pub iBaudRate: UINT, + pub iPortState: UINT, + pub iActive: UINT, +} +#[test] +fn bindgen_test_layout_tagSERIALKEYSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagSERIALKEYSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSERIALKEYSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszActivePort) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(lpszActivePort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszPort) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(lpszPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBaudRate) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(iBaudRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPortState) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(iPortState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iActive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSA), + "::", + stringify!(iActive) + ) + ); +} +pub type SERIALKEYSA = tagSERIALKEYSA; +pub type LPSERIALKEYSA = *mut tagSERIALKEYSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSERIALKEYSW { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub lpszActivePort: LPWSTR, + pub lpszPort: LPWSTR, + pub iBaudRate: UINT, + pub iPortState: UINT, + pub iActive: UINT, +} +#[test] +fn bindgen_test_layout_tagSERIALKEYSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagSERIALKEYSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSERIALKEYSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszActivePort) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(lpszActivePort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszPort) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(lpszPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBaudRate) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(iBaudRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPortState) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(iPortState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iActive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALKEYSW), + "::", + stringify!(iActive) + ) + ); +} +pub type SERIALKEYSW = tagSERIALKEYSW; +pub type LPSERIALKEYSW = *mut tagSERIALKEYSW; +pub type SERIALKEYS = SERIALKEYSA; +pub type LPSERIALKEYS = LPSERIALKEYSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHIGHCONTRASTA { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub lpszDefaultScheme: LPSTR, +} +#[test] +fn bindgen_test_layout_tagHIGHCONTRASTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagHIGHCONTRASTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHIGHCONTRASTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDefaultScheme) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTA), + "::", + stringify!(lpszDefaultScheme) + ) + ); +} +pub type HIGHCONTRASTA = tagHIGHCONTRASTA; +pub type LPHIGHCONTRASTA = *mut tagHIGHCONTRASTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHIGHCONTRASTW { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub lpszDefaultScheme: LPWSTR, +} +#[test] +fn bindgen_test_layout_tagHIGHCONTRASTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagHIGHCONTRASTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHIGHCONTRASTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDefaultScheme) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHIGHCONTRASTW), + "::", + stringify!(lpszDefaultScheme) + ) + ); +} +pub type HIGHCONTRASTW = tagHIGHCONTRASTW; +pub type LPHIGHCONTRASTW = *mut tagHIGHCONTRASTW; +pub type HIGHCONTRAST = HIGHCONTRASTA; +pub type LPHIGHCONTRAST = LPHIGHCONTRASTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIDEOPARAMETERS { + pub Guid: GUID, + pub dwOffset: ULONG, + pub dwCommand: ULONG, + pub dwFlags: ULONG, + pub dwMode: ULONG, + pub dwTVStandard: ULONG, + pub dwAvailableModes: ULONG, + pub dwAvailableTVStandard: ULONG, + pub dwFlickerFilter: ULONG, + pub dwOverScanX: ULONG, + pub dwOverScanY: ULONG, + pub dwMaxUnscaledX: ULONG, + pub dwMaxUnscaledY: ULONG, + pub dwPositionX: ULONG, + pub dwPositionY: ULONG, + pub dwBrightness: ULONG, + pub dwContrast: ULONG, + pub dwCPType: ULONG, + pub dwCPCommand: ULONG, + pub dwCPStandard: ULONG, + pub dwCPKey: ULONG, + pub bCP_APSTriggerBits: ULONG, + pub bOEMCopyProtection: [UCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__VIDEOPARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_VIDEOPARAMETERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIDEOPARAMETERS>(), + 356usize, + concat!("Size of: ", stringify!(_VIDEOPARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_VIDEOPARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_VIDEOPARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(Guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCommand) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCommand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMode) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTVStandard) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwTVStandard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailableModes) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwAvailableModes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAvailableTVStandard) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwAvailableTVStandard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlickerFilter) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwFlickerFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOverScanX) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwOverScanX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOverScanY) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwOverScanY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxUnscaledX) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwMaxUnscaledX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxUnscaledY) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwMaxUnscaledY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPositionX) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwPositionX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPositionY) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwPositionY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBrightness) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwBrightness) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContrast) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwContrast) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCPType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCPType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCPCommand) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCPCommand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCPStandard) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCPStandard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCPKey) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(dwCPKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCP_APSTriggerBits) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(bCP_APSTriggerBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bOEMCopyProtection) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_VIDEOPARAMETERS), + "::", + stringify!(bOEMCopyProtection) + ) + ); +} +pub type VIDEOPARAMETERS = _VIDEOPARAMETERS; +pub type PVIDEOPARAMETERS = *mut _VIDEOPARAMETERS; +pub type LPVIDEOPARAMETERS = *mut _VIDEOPARAMETERS; +extern "C" { + pub fn ChangeDisplaySettingsA(lpDevMode: *mut DEVMODEA, dwFlags: DWORD) -> LONG; +} +extern "C" { + pub fn ChangeDisplaySettingsW(lpDevMode: *mut DEVMODEW, dwFlags: DWORD) -> LONG; +} +extern "C" { + pub fn ChangeDisplaySettingsExA( + lpszDeviceName: LPCSTR, + lpDevMode: *mut DEVMODEA, + hwnd: HWND, + dwflags: DWORD, + lParam: LPVOID, + ) -> LONG; +} +extern "C" { + pub fn ChangeDisplaySettingsExW( + lpszDeviceName: LPCWSTR, + lpDevMode: *mut DEVMODEW, + hwnd: HWND, + dwflags: DWORD, + lParam: LPVOID, + ) -> LONG; +} +extern "C" { + pub fn EnumDisplaySettingsA( + lpszDeviceName: LPCSTR, + iModeNum: DWORD, + lpDevMode: *mut DEVMODEA, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplaySettingsW( + lpszDeviceName: LPCWSTR, + iModeNum: DWORD, + lpDevMode: *mut DEVMODEW, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplaySettingsExA( + lpszDeviceName: LPCSTR, + iModeNum: DWORD, + lpDevMode: *mut DEVMODEA, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplaySettingsExW( + lpszDeviceName: LPCWSTR, + iModeNum: DWORD, + lpDevMode: *mut DEVMODEW, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplayDevicesA( + lpDevice: LPCSTR, + iDevNum: DWORD, + lpDisplayDevice: PDISPLAY_DEVICEA, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDisplayDevicesW( + lpDevice: LPCWSTR, + iDevNum: DWORD, + lpDisplayDevice: PDISPLAY_DEVICEW, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetDisplayConfigBufferSizes( + flags: UINT32, + numPathArrayElements: *mut UINT32, + numModeInfoArrayElements: *mut UINT32, + ) -> LONG; +} +extern "C" { + pub fn SetDisplayConfig( + numPathArrayElements: UINT32, + pathArray: *mut DISPLAYCONFIG_PATH_INFO, + numModeInfoArrayElements: UINT32, + modeInfoArray: *mut DISPLAYCONFIG_MODE_INFO, + flags: UINT32, + ) -> LONG; +} +extern "C" { + pub fn QueryDisplayConfig( + flags: UINT32, + numPathArrayElements: *mut UINT32, + pathArray: *mut DISPLAYCONFIG_PATH_INFO, + numModeInfoArrayElements: *mut UINT32, + modeInfoArray: *mut DISPLAYCONFIG_MODE_INFO, + currentTopologyId: *mut DISPLAYCONFIG_TOPOLOGY_ID, + ) -> LONG; +} +extern "C" { + pub fn DisplayConfigGetDeviceInfo(requestPacket: *mut DISPLAYCONFIG_DEVICE_INFO_HEADER) + -> LONG; +} +extern "C" { + pub fn DisplayConfigSetDeviceInfo(setPacket: *mut DISPLAYCONFIG_DEVICE_INFO_HEADER) -> LONG; +} +extern "C" { + pub fn SystemParametersInfoA( + uiAction: UINT, + uiParam: UINT, + pvParam: PVOID, + fWinIni: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SystemParametersInfoW( + uiAction: UINT, + uiParam: UINT, + pvParam: PVOID, + fWinIni: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SystemParametersInfoForDpi( + uiAction: UINT, + uiParam: UINT, + pvParam: PVOID, + fWinIni: UINT, + dpi: UINT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFILTERKEYS { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iWaitMSec: DWORD, + pub iDelayMSec: DWORD, + pub iRepeatMSec: DWORD, + pub iBounceMSec: DWORD, +} +#[test] +fn bindgen_test_layout_tagFILTERKEYS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagFILTERKEYS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagFILTERKEYS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWaitMSec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(iWaitMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iDelayMSec) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(iDelayMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRepeatMSec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(iRepeatMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iBounceMSec) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagFILTERKEYS), + "::", + stringify!(iBounceMSec) + ) + ); +} +pub type FILTERKEYS = tagFILTERKEYS; +pub type LPFILTERKEYS = *mut tagFILTERKEYS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTICKYKEYS { + pub cbSize: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTICKYKEYS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSTICKYKEYS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTICKYKEYS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTICKYKEYS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSTICKYKEYS), + "::", + stringify!(dwFlags) + ) + ); +} +pub type STICKYKEYS = tagSTICKYKEYS; +pub type LPSTICKYKEYS = *mut tagSTICKYKEYS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMOUSEKEYS { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iMaxSpeed: DWORD, + pub iTimeToMaxSpeed: DWORD, + pub iCtrlSpeed: DWORD, + pub dwReserved1: DWORD, + pub dwReserved2: DWORD, +} +#[test] +fn bindgen_test_layout_tagMOUSEKEYS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMOUSEKEYS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMOUSEKEYS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMaxSpeed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(iMaxSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTimeToMaxSpeed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(iTimeToMaxSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCtrlSpeed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(iCtrlSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMOUSEKEYS), + "::", + stringify!(dwReserved2) + ) + ); +} +pub type MOUSEKEYS = tagMOUSEKEYS; +pub type LPMOUSEKEYS = *mut tagMOUSEKEYS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagACCESSTIMEOUT { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iTimeOutMSec: DWORD, +} +#[test] +fn bindgen_test_layout_tagACCESSTIMEOUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagACCESSTIMEOUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagACCESSTIMEOUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagACCESSTIMEOUT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagACCESSTIMEOUT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iTimeOutMSec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagACCESSTIMEOUT), + "::", + stringify!(iTimeOutMSec) + ) + ); +} +pub type ACCESSTIMEOUT = tagACCESSTIMEOUT; +pub type LPACCESSTIMEOUT = *mut tagACCESSTIMEOUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOUNDSENTRYA { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iFSTextEffect: DWORD, + pub iFSTextEffectMSec: DWORD, + pub iFSTextEffectColorBits: DWORD, + pub iFSGrafEffect: DWORD, + pub iFSGrafEffectMSec: DWORD, + pub iFSGrafEffectColor: DWORD, + pub iWindowsEffect: DWORD, + pub iWindowsEffectMSec: DWORD, + pub lpszWindowsEffectDLL: LPSTR, + pub iWindowsEffectOrdinal: DWORD, +} +#[test] +fn bindgen_test_layout_tagSOUNDSENTRYA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagSOUNDSENTRYA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOUNDSENTRYA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSTextEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffectMSec) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSTextEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffectColorBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSTextEffectColorBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffect) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSGrafEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffectMSec) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSGrafEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffectColor) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iFSGrafEffectColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffect) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iWindowsEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffectMSec) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iWindowsEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszWindowsEffectDLL) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(lpszWindowsEffectDLL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffectOrdinal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYA), + "::", + stringify!(iWindowsEffectOrdinal) + ) + ); +} +pub type SOUNDSENTRYA = tagSOUNDSENTRYA; +pub type LPSOUNDSENTRYA = *mut tagSOUNDSENTRYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOUNDSENTRYW { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub iFSTextEffect: DWORD, + pub iFSTextEffectMSec: DWORD, + pub iFSTextEffectColorBits: DWORD, + pub iFSGrafEffect: DWORD, + pub iFSGrafEffectMSec: DWORD, + pub iFSGrafEffectColor: DWORD, + pub iWindowsEffect: DWORD, + pub iWindowsEffectMSec: DWORD, + pub lpszWindowsEffectDLL: LPWSTR, + pub iWindowsEffectOrdinal: DWORD, +} +#[test] +fn bindgen_test_layout_tagSOUNDSENTRYW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagSOUNDSENTRYW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOUNDSENTRYW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSTextEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffectMSec) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSTextEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSTextEffectColorBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSTextEffectColorBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffect) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSGrafEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffectMSec) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSGrafEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iFSGrafEffectColor) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iFSGrafEffectColor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffect) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iWindowsEffect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffectMSec) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iWindowsEffectMSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszWindowsEffectDLL) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(lpszWindowsEffectDLL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iWindowsEffectOrdinal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagSOUNDSENTRYW), + "::", + stringify!(iWindowsEffectOrdinal) + ) + ); +} +pub type SOUNDSENTRYW = tagSOUNDSENTRYW; +pub type LPSOUNDSENTRYW = *mut tagSOUNDSENTRYW; +pub type SOUNDSENTRY = SOUNDSENTRYA; +pub type LPSOUNDSENTRY = LPSOUNDSENTRYA; +extern "C" { + pub fn SoundSentry() -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTOGGLEKEYS { + pub cbSize: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagTOGGLEKEYS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagTOGGLEKEYS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTOGGLEKEYS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTOGGLEKEYS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTOGGLEKEYS), + "::", + stringify!(dwFlags) + ) + ); +} +pub type TOGGLEKEYS = tagTOGGLEKEYS; +pub type LPTOGGLEKEYS = *mut tagTOGGLEKEYS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUDIODESCRIPTION { + pub cbSize: UINT, + pub Enabled: BOOL, + pub Locale: LCID, +} +#[test] +fn bindgen_test_layout_tagAUDIODESCRIPTION() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagAUDIODESCRIPTION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagAUDIODESCRIPTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUDIODESCRIPTION), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enabled) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUDIODESCRIPTION), + "::", + stringify!(Enabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Locale) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUDIODESCRIPTION), + "::", + stringify!(Locale) + ) + ); +} +pub type AUDIODESCRIPTION = tagAUDIODESCRIPTION; +pub type LPAUDIODESCRIPTION = *mut tagAUDIODESCRIPTION; +extern "C" { + pub fn SetDebugErrorLevel(dwLevel: DWORD); +} +extern "C" { + pub fn SetLastErrorEx(dwErrCode: DWORD, dwType: DWORD); +} +extern "C" { + pub fn InternalGetWindowText( + hWnd: HWND, + pString: LPWSTR, + cchMaxCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CancelShutdown() -> BOOL; +} +extern "C" { + pub fn MonitorFromPoint(pt: POINT, dwFlags: DWORD) -> HMONITOR; +} +extern "C" { + pub fn MonitorFromRect(lprc: LPCRECT, dwFlags: DWORD) -> HMONITOR; +} +extern "C" { + pub fn MonitorFromWindow(hwnd: HWND, dwFlags: DWORD) -> HMONITOR; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONITORINFO { + pub cbSize: DWORD, + pub rcMonitor: RECT, + pub rcWork: RECT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_tagMONITORINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMONITORINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMONITORINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcMonitor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFO), + "::", + stringify!(rcMonitor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcWork) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFO), + "::", + stringify!(rcWork) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type MONITORINFO = tagMONITORINFO; +pub type LPMONITORINFO = *mut tagMONITORINFO; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct tagMONITORINFOEXA { + pub __bindgen_padding_0: [u8; 40usize], + pub szDevice: [CHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagMONITORINFOEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagMONITORINFOEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMONITORINFOEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDevice) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFOEXA), + "::", + stringify!(szDevice) + ) + ); +} +pub type MONITORINFOEXA = tagMONITORINFOEXA; +pub type LPMONITORINFOEXA = *mut tagMONITORINFOEXA; +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct tagMONITORINFOEXW { + pub __bindgen_padding_0: [u16; 20usize], + pub szDevice: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagMONITORINFOEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(tagMONITORINFOEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagMONITORINFOEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDevice) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONITORINFOEXW), + "::", + stringify!(szDevice) + ) + ); +} +pub type MONITORINFOEXW = tagMONITORINFOEXW; +pub type LPMONITORINFOEXW = *mut tagMONITORINFOEXW; +pub type MONITORINFOEX = MONITORINFOEXA; +pub type LPMONITORINFOEX = LPMONITORINFOEXA; +extern "C" { + pub fn GetMonitorInfoA(hMonitor: HMONITOR, lpmi: LPMONITORINFO) -> BOOL; +} +extern "C" { + pub fn GetMonitorInfoW(hMonitor: HMONITOR, lpmi: LPMONITORINFO) -> BOOL; +} +pub type MONITORENUMPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HMONITOR, arg2: HDC, arg3: LPRECT, arg4: LPARAM) -> BOOL, +>; +extern "C" { + pub fn EnumDisplayMonitors( + hdc: HDC, + lprcClip: LPCRECT, + lpfnEnum: MONITORENUMPROC, + dwData: LPARAM, + ) -> BOOL; +} +extern "C" { + pub fn NotifyWinEvent(event: DWORD, hwnd: HWND, idObject: LONG, idChild: LONG); +} +pub type WINEVENTPROC = ::std::option::Option< + unsafe extern "C" fn( + hWinEventHook: HWINEVENTHOOK, + event: DWORD, + hwnd: HWND, + idObject: LONG, + idChild: LONG, + idEventThread: DWORD, + dwmsEventTime: DWORD, + ), +>; +extern "C" { + pub fn SetWinEventHook( + eventMin: DWORD, + eventMax: DWORD, + hmodWinEventProc: HMODULE, + pfnWinEventProc: WINEVENTPROC, + idProcess: DWORD, + idThread: DWORD, + dwFlags: DWORD, + ) -> HWINEVENTHOOK; +} +extern "C" { + pub fn IsWinEventHookInstalled(event: DWORD) -> BOOL; +} +extern "C" { + pub fn UnhookWinEvent(hWinEventHook: HWINEVENTHOOK) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGUITHREADINFO { + pub cbSize: DWORD, + pub flags: DWORD, + pub hwndActive: HWND, + pub hwndFocus: HWND, + pub hwndCapture: HWND, + pub hwndMenuOwner: HWND, + pub hwndMoveSize: HWND, + pub hwndCaret: HWND, + pub rcCaret: RECT, +} +#[test] +fn bindgen_test_layout_tagGUITHREADINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagGUITHREADINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGUITHREADINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndActive) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndActive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndFocus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndFocus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndCapture) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndCapture) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndMenuOwner) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndMenuOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndMoveSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndMoveSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndCaret) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(hwndCaret) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcCaret) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagGUITHREADINFO), + "::", + stringify!(rcCaret) + ) + ); +} +pub type GUITHREADINFO = tagGUITHREADINFO; +pub type PGUITHREADINFO = *mut tagGUITHREADINFO; +pub type LPGUITHREADINFO = *mut tagGUITHREADINFO; +extern "C" { + pub fn GetGUIThreadInfo(idThread: DWORD, pgui: PGUITHREADINFO) -> BOOL; +} +extern "C" { + pub fn BlockInput(fBlockIt: BOOL) -> BOOL; +} +extern "C" { + pub fn SetProcessDPIAware() -> BOOL; +} +extern "C" { + pub fn IsProcessDPIAware() -> BOOL; +} +extern "C" { + pub fn SetThreadDpiAwarenessContext(dpiContext: DPI_AWARENESS_CONTEXT) + -> DPI_AWARENESS_CONTEXT; +} +extern "C" { + pub fn GetThreadDpiAwarenessContext() -> DPI_AWARENESS_CONTEXT; +} +extern "C" { + pub fn GetWindowDpiAwarenessContext(hwnd: HWND) -> DPI_AWARENESS_CONTEXT; +} +extern "C" { + pub fn GetAwarenessFromDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> DPI_AWARENESS; +} +extern "C" { + pub fn GetDpiFromDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> UINT; +} +extern "C" { + pub fn AreDpiAwarenessContextsEqual( + dpiContextA: DPI_AWARENESS_CONTEXT, + dpiContextB: DPI_AWARENESS_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn IsValidDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn GetDpiForWindow(hwnd: HWND) -> UINT; +} +extern "C" { + pub fn GetDpiForSystem() -> UINT; +} +extern "C" { + pub fn GetSystemDpiForProcess(hProcess: HANDLE) -> UINT; +} +extern "C" { + pub fn EnableNonClientDpiScaling(hwnd: HWND) -> BOOL; +} +extern "C" { + pub fn InheritWindowMonitor(hwnd: HWND, hwndInherit: HWND) -> BOOL; +} +extern "C" { + pub fn SetProcessDpiAwarenessContext(value: DPI_AWARENESS_CONTEXT) -> BOOL; +} +extern "C" { + pub fn GetDpiAwarenessContextForProcess(hProcess: HANDLE) -> DPI_AWARENESS_CONTEXT; +} +extern "C" { + pub fn SetThreadDpiHostingBehavior(value: DPI_HOSTING_BEHAVIOR) -> DPI_HOSTING_BEHAVIOR; +} +extern "C" { + pub fn GetThreadDpiHostingBehavior() -> DPI_HOSTING_BEHAVIOR; +} +extern "C" { + pub fn GetWindowDpiHostingBehavior(hwnd: HWND) -> DPI_HOSTING_BEHAVIOR; +} +extern "C" { + pub fn GetWindowModuleFileNameA(hwnd: HWND, pszFileName: LPSTR, cchFileNameMax: UINT) -> UINT; +} +extern "C" { + pub fn GetWindowModuleFileNameW(hwnd: HWND, pszFileName: LPWSTR, cchFileNameMax: UINT) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCURSORINFO { + pub cbSize: DWORD, + pub flags: DWORD, + pub hCursor: HCURSOR, + pub ptScreenPos: POINT, +} +#[test] +fn bindgen_test_layout_tagCURSORINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCURSORINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCURSORINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORINFO), + "::", + stringify!(flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCursor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORINFO), + "::", + stringify!(hCursor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptScreenPos) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCURSORINFO), + "::", + stringify!(ptScreenPos) + ) + ); +} +pub type CURSORINFO = tagCURSORINFO; +pub type PCURSORINFO = *mut tagCURSORINFO; +pub type LPCURSORINFO = *mut tagCURSORINFO; +extern "C" { + pub fn GetCursorInfo(pci: PCURSORINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagWINDOWINFO { + pub cbSize: DWORD, + pub rcWindow: RECT, + pub rcClient: RECT, + pub dwStyle: DWORD, + pub dwExStyle: DWORD, + pub dwWindowStatus: DWORD, + pub cxWindowBorders: UINT, + pub cyWindowBorders: UINT, + pub atomWindowType: ATOM, + pub wCreatorVersion: WORD, +} +#[test] +fn bindgen_test_layout_tagWINDOWINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 60usize, + concat!("Size of: ", stringify!(tagWINDOWINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagWINDOWINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcWindow) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(rcWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcClient) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(rcClient) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExStyle) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(dwExStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWindowStatus) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(dwWindowStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxWindowBorders) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(cxWindowBorders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyWindowBorders) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(cyWindowBorders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).atomWindowType) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(atomWindowType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCreatorVersion) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(tagWINDOWINFO), + "::", + stringify!(wCreatorVersion) + ) + ); +} +pub type WINDOWINFO = tagWINDOWINFO; +pub type PWINDOWINFO = *mut tagWINDOWINFO; +pub type LPWINDOWINFO = *mut tagWINDOWINFO; +extern "C" { + pub fn GetWindowInfo(hwnd: HWND, pwi: PWINDOWINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTITLEBARINFO { + pub cbSize: DWORD, + pub rcTitleBar: RECT, + pub rgstate: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_tagTITLEBARINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagTITLEBARINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTITLEBARINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcTitleBar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFO), + "::", + stringify!(rcTitleBar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgstate) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFO), + "::", + stringify!(rgstate) + ) + ); +} +pub type TITLEBARINFO = tagTITLEBARINFO; +pub type PTITLEBARINFO = *mut tagTITLEBARINFO; +pub type LPTITLEBARINFO = *mut tagTITLEBARINFO; +extern "C" { + pub fn GetTitleBarInfo(hwnd: HWND, pti: PTITLEBARINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTITLEBARINFOEX { + pub cbSize: DWORD, + pub rcTitleBar: RECT, + pub rgstate: [DWORD; 6usize], + pub rgrect: [RECT; 6usize], +} +#[test] +fn bindgen_test_layout_tagTITLEBARINFOEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 140usize, + concat!("Size of: ", stringify!(tagTITLEBARINFOEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTITLEBARINFOEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFOEX), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcTitleBar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFOEX), + "::", + stringify!(rcTitleBar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgstate) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFOEX), + "::", + stringify!(rgstate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgrect) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTITLEBARINFOEX), + "::", + stringify!(rgrect) + ) + ); +} +pub type TITLEBARINFOEX = tagTITLEBARINFOEX; +pub type PTITLEBARINFOEX = *mut tagTITLEBARINFOEX; +pub type LPTITLEBARINFOEX = *mut tagTITLEBARINFOEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMENUBARINFO { + pub cbSize: DWORD, + pub rcBar: RECT, + pub hMenu: HMENU, + pub hwndMenu: HWND, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub __bindgen_padding_0: u32, +} +#[test] +fn bindgen_test_layout_tagMENUBARINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMENUBARINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMENUBARINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMENUBARINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcBar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMENUBARINFO), + "::", + stringify!(rcBar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMenu) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMENUBARINFO), + "::", + stringify!(hMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndMenu) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMENUBARINFO), + "::", + stringify!(hwndMenu) + ) + ); +} +impl tagMENUBARINFO { + #[inline] + pub fn fBarFocused(&self) -> BOOL { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_fBarFocused(&mut self, val: BOOL) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn fFocused(&self) -> BOOL { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_fFocused(&mut self, val: BOOL) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn fUnused(&self) -> BOOL { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_fUnused(&mut self, val: BOOL) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + fBarFocused: BOOL, + fFocused: BOOL, + fUnused: BOOL, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let fBarFocused: u32 = unsafe { ::std::mem::transmute(fBarFocused) }; + fBarFocused as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fFocused: u32 = unsafe { ::std::mem::transmute(fFocused) }; + fFocused as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let fUnused: u32 = unsafe { ::std::mem::transmute(fUnused) }; + fUnused as u64 + }); + __bindgen_bitfield_unit + } +} +pub type MENUBARINFO = tagMENUBARINFO; +pub type PMENUBARINFO = *mut tagMENUBARINFO; +pub type LPMENUBARINFO = *mut tagMENUBARINFO; +extern "C" { + pub fn GetMenuBarInfo(hwnd: HWND, idObject: LONG, idItem: LONG, pmbi: PMENUBARINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSCROLLBARINFO { + pub cbSize: DWORD, + pub rcScrollBar: RECT, + pub dxyLineButton: ::std::os::raw::c_int, + pub xyThumbTop: ::std::os::raw::c_int, + pub xyThumbBottom: ::std::os::raw::c_int, + pub reserved: ::std::os::raw::c_int, + pub rgstate: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_tagSCROLLBARINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 60usize, + concat!("Size of: ", stringify!(tagSCROLLBARINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSCROLLBARINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcScrollBar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(rcScrollBar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dxyLineButton) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(dxyLineButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xyThumbTop) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(xyThumbTop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xyThumbBottom) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(xyThumbBottom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgstate) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagSCROLLBARINFO), + "::", + stringify!(rgstate) + ) + ); +} +pub type SCROLLBARINFO = tagSCROLLBARINFO; +pub type PSCROLLBARINFO = *mut tagSCROLLBARINFO; +pub type LPSCROLLBARINFO = *mut tagSCROLLBARINFO; +extern "C" { + pub fn GetScrollBarInfo(hwnd: HWND, idObject: LONG, psbi: PSCROLLBARINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOMBOBOXINFO { + pub cbSize: DWORD, + pub rcItem: RECT, + pub rcButton: RECT, + pub stateButton: DWORD, + pub hwndCombo: HWND, + pub hwndItem: HWND, + pub hwndList: HWND, +} +#[test] +fn bindgen_test_layout_tagCOMBOBOXINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagCOMBOBOXINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCOMBOBOXINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcItem) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(rcItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcButton) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(rcButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).stateButton) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(stateButton) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndCombo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(hwndCombo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndItem) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(hwndItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndList) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCOMBOBOXINFO), + "::", + stringify!(hwndList) + ) + ); +} +pub type COMBOBOXINFO = tagCOMBOBOXINFO; +pub type PCOMBOBOXINFO = *mut tagCOMBOBOXINFO; +pub type LPCOMBOBOXINFO = *mut tagCOMBOBOXINFO; +extern "C" { + pub fn GetComboBoxInfo(hwndCombo: HWND, pcbi: PCOMBOBOXINFO) -> BOOL; +} +extern "C" { + pub fn GetAncestor(hwnd: HWND, gaFlags: UINT) -> HWND; +} +extern "C" { + pub fn RealChildWindowFromPoint(hwndParent: HWND, ptParentClientCoords: POINT) -> HWND; +} +extern "C" { + pub fn RealGetWindowClassA(hwnd: HWND, ptszClassName: LPSTR, cchClassNameMax: UINT) -> UINT; +} +extern "C" { + pub fn RealGetWindowClassW(hwnd: HWND, ptszClassName: LPWSTR, cchClassNameMax: UINT) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagALTTABINFO { + pub cbSize: DWORD, + pub cItems: ::std::os::raw::c_int, + pub cColumns: ::std::os::raw::c_int, + pub cRows: ::std::os::raw::c_int, + pub iColFocus: ::std::os::raw::c_int, + pub iRowFocus: ::std::os::raw::c_int, + pub cxItem: ::std::os::raw::c_int, + pub cyItem: ::std::os::raw::c_int, + pub ptStart: POINT, +} +#[test] +fn bindgen_test_layout_tagALTTABINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagALTTABINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagALTTABINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cItems) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cItems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cColumns) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cColumns) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRows) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cRows) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iColFocus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(iColFocus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iRowFocus) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(iRowFocus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cxItem) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cxItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyItem) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(cyItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptStart) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagALTTABINFO), + "::", + stringify!(ptStart) + ) + ); +} +pub type ALTTABINFO = tagALTTABINFO; +pub type PALTTABINFO = *mut tagALTTABINFO; +pub type LPALTTABINFO = *mut tagALTTABINFO; +extern "C" { + pub fn GetAltTabInfoA( + hwnd: HWND, + iItem: ::std::os::raw::c_int, + pati: PALTTABINFO, + pszItemText: LPSTR, + cchItemText: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetAltTabInfoW( + hwnd: HWND, + iItem: ::std::os::raw::c_int, + pati: PALTTABINFO, + pszItemText: LPWSTR, + cchItemText: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetListBoxInfo(hwnd: HWND) -> DWORD; +} +extern "C" { + pub fn LockWorkStation() -> BOOL; +} +extern "C" { + pub fn UserHandleGrantAccess(hUserHandle: HANDLE, hJob: HANDLE, bGrant: BOOL) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HRAWINPUT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HRAWINPUT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HRAWINPUT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HRAWINPUT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HRAWINPUT__), + "::", + stringify!(unused) + ) + ); +} +pub type HRAWINPUT = *mut HRAWINPUT__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWINPUTHEADER { + pub dwType: DWORD, + pub dwSize: DWORD, + pub hDevice: HANDLE, + pub wParam: WPARAM, +} +#[test] +fn bindgen_test_layout_tagRAWINPUTHEADER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRAWINPUTHEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRAWINPUTHEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTHEADER), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTHEADER), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevice) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTHEADER), + "::", + stringify!(hDevice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTHEADER), + "::", + stringify!(wParam) + ) + ); +} +pub type RAWINPUTHEADER = tagRAWINPUTHEADER; +pub type PRAWINPUTHEADER = *mut tagRAWINPUTHEADER; +pub type LPRAWINPUTHEADER = *mut tagRAWINPUTHEADER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRAWMOUSE { + pub usFlags: USHORT, + pub __bindgen_anon_1: tagRAWMOUSE__bindgen_ty_1, + pub ulRawButtons: ULONG, + pub lLastX: LONG, + pub lLastY: LONG, + pub ulExtraInformation: ULONG, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRAWMOUSE__bindgen_ty_1 { + pub ulButtons: ULONG, + pub __bindgen_anon_1: tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1 { + pub usButtonFlags: USHORT, + pub usButtonData: USHORT, +} +#[test] +fn bindgen_test_layout_tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usButtonFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(usButtonFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usButtonData) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(usButtonData) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRAWMOUSE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagRAWMOUSE__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWMOUSE__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulButtons) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE__bindgen_ty_1), + "::", + stringify!(ulButtons) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRAWMOUSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRAWMOUSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWMOUSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(usFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulRawButtons) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(ulRawButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lLastX) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(lLastX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lLastY) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(lLastY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulExtraInformation) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRAWMOUSE), + "::", + stringify!(ulExtraInformation) + ) + ); +} +pub type RAWMOUSE = tagRAWMOUSE; +pub type PRAWMOUSE = *mut tagRAWMOUSE; +pub type LPRAWMOUSE = *mut tagRAWMOUSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWKEYBOARD { + pub MakeCode: USHORT, + pub Flags: USHORT, + pub Reserved: USHORT, + pub VKey: USHORT, + pub Message: UINT, + pub ExtraInformation: ULONG, +} +#[test] +fn bindgen_test_layout_tagRAWKEYBOARD() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRAWKEYBOARD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWKEYBOARD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MakeCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(MakeCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VKey) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(VKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Message) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(Message) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraInformation) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRAWKEYBOARD), + "::", + stringify!(ExtraInformation) + ) + ); +} +pub type RAWKEYBOARD = tagRAWKEYBOARD; +pub type PRAWKEYBOARD = *mut tagRAWKEYBOARD; +pub type LPRAWKEYBOARD = *mut tagRAWKEYBOARD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWHID { + pub dwSizeHid: DWORD, + pub dwCount: DWORD, + pub bRawData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagRAWHID() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagRAWHID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWHID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSizeHid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWHID), + "::", + stringify!(dwSizeHid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRAWHID), + "::", + stringify!(dwCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bRawData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWHID), + "::", + stringify!(bRawData) + ) + ); +} +pub type RAWHID = tagRAWHID; +pub type PRAWHID = *mut tagRAWHID; +pub type LPRAWHID = *mut tagRAWHID; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRAWINPUT { + pub header: RAWINPUTHEADER, + pub data: tagRAWINPUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRAWINPUT__bindgen_ty_1 { + pub mouse: RAWMOUSE, + pub keyboard: RAWKEYBOARD, + pub hid: RAWHID, +} +#[test] +fn bindgen_test_layout_tagRAWINPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRAWINPUT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRAWINPUT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT__bindgen_ty_1), + "::", + stringify!(mouse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).keyboard) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT__bindgen_ty_1), + "::", + stringify!(keyboard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT__bindgen_ty_1), + "::", + stringify!(hid) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRAWINPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagRAWINPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRAWINPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT), + "::", + stringify!(header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUT), + "::", + stringify!(data) + ) + ); +} +pub type RAWINPUT = tagRAWINPUT; +pub type PRAWINPUT = *mut tagRAWINPUT; +pub type LPRAWINPUT = *mut tagRAWINPUT; +extern "C" { + pub fn GetRawInputData( + hRawInput: HRAWINPUT, + uiCommand: UINT, + pData: LPVOID, + pcbSize: PUINT, + cbSizeHeader: UINT, + ) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRID_DEVICE_INFO_MOUSE { + pub dwId: DWORD, + pub dwNumberOfButtons: DWORD, + pub dwSampleRate: DWORD, + pub fHasHorizontalWheel: BOOL, +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO_MOUSE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO_MOUSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRID_DEVICE_INFO_MOUSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_MOUSE), + "::", + stringify!(dwId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfButtons) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_MOUSE), + "::", + stringify!(dwNumberOfButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSampleRate) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_MOUSE), + "::", + stringify!(dwSampleRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasHorizontalWheel) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_MOUSE), + "::", + stringify!(fHasHorizontalWheel) + ) + ); +} +pub type RID_DEVICE_INFO_MOUSE = tagRID_DEVICE_INFO_MOUSE; +pub type PRID_DEVICE_INFO_MOUSE = *mut tagRID_DEVICE_INFO_MOUSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRID_DEVICE_INFO_KEYBOARD { + pub dwType: DWORD, + pub dwSubType: DWORD, + pub dwKeyboardMode: DWORD, + pub dwNumberOfFunctionKeys: DWORD, + pub dwNumberOfIndicators: DWORD, + pub dwNumberOfKeysTotal: DWORD, +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO_KEYBOARD() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO_KEYBOARD)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRID_DEVICE_INFO_KEYBOARD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSubType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwSubType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyboardMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwKeyboardMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfFunctionKeys) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwNumberOfFunctionKeys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfIndicators) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwNumberOfIndicators) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfKeysTotal) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_KEYBOARD), + "::", + stringify!(dwNumberOfKeysTotal) + ) + ); +} +pub type RID_DEVICE_INFO_KEYBOARD = tagRID_DEVICE_INFO_KEYBOARD; +pub type PRID_DEVICE_INFO_KEYBOARD = *mut tagRID_DEVICE_INFO_KEYBOARD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRID_DEVICE_INFO_HID { + pub dwVendorId: DWORD, + pub dwProductId: DWORD, + pub dwVersionNumber: DWORD, + pub usUsagePage: USHORT, + pub usUsage: USHORT, +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO_HID() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO_HID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRID_DEVICE_INFO_HID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVendorId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(dwVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProductId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(dwProductId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(dwVersionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usUsagePage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(usUsagePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usUsage) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO_HID), + "::", + stringify!(usUsage) + ) + ); +} +pub type RID_DEVICE_INFO_HID = tagRID_DEVICE_INFO_HID; +pub type PRID_DEVICE_INFO_HID = *mut tagRID_DEVICE_INFO_HID; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRID_DEVICE_INFO { + pub cbSize: DWORD, + pub dwType: DWORD, + pub __bindgen_anon_1: tagRID_DEVICE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRID_DEVICE_INFO__bindgen_ty_1 { + pub mouse: RID_DEVICE_INFO_MOUSE, + pub keyboard: RID_DEVICE_INFO_KEYBOARD, + pub hid: RID_DEVICE_INFO_HID, +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagRID_DEVICE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mouse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO__bindgen_ty_1), + "::", + stringify!(mouse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).keyboard) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO__bindgen_ty_1), + "::", + stringify!(keyboard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO__bindgen_ty_1), + "::", + stringify!(hid) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRID_DEVICE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagRID_DEVICE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRID_DEVICE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRID_DEVICE_INFO), + "::", + stringify!(dwType) + ) + ); +} +pub type RID_DEVICE_INFO = tagRID_DEVICE_INFO; +pub type PRID_DEVICE_INFO = *mut tagRID_DEVICE_INFO; +pub type LPRID_DEVICE_INFO = *mut tagRID_DEVICE_INFO; +extern "C" { + pub fn GetRawInputDeviceInfoA( + hDevice: HANDLE, + uiCommand: UINT, + pData: LPVOID, + pcbSize: PUINT, + ) -> UINT; +} +extern "C" { + pub fn GetRawInputDeviceInfoW( + hDevice: HANDLE, + uiCommand: UINT, + pData: LPVOID, + pcbSize: PUINT, + ) -> UINT; +} +extern "C" { + pub fn GetRawInputBuffer(pData: PRAWINPUT, pcbSize: PUINT, cbSizeHeader: UINT) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWINPUTDEVICE { + pub usUsagePage: USHORT, + pub usUsage: USHORT, + pub dwFlags: DWORD, + pub hwndTarget: HWND, +} +#[test] +fn bindgen_test_layout_tagRAWINPUTDEVICE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRAWINPUTDEVICE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRAWINPUTDEVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usUsagePage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICE), + "::", + stringify!(usUsagePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usUsage) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICE), + "::", + stringify!(usUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICE), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTarget) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICE), + "::", + stringify!(hwndTarget) + ) + ); +} +pub type RAWINPUTDEVICE = tagRAWINPUTDEVICE; +pub type PRAWINPUTDEVICE = *mut tagRAWINPUTDEVICE; +pub type LPRAWINPUTDEVICE = *mut tagRAWINPUTDEVICE; +pub type PCRAWINPUTDEVICE = *const RAWINPUTDEVICE; +extern "C" { + pub fn RegisterRawInputDevices( + pRawInputDevices: PCRAWINPUTDEVICE, + uiNumDevices: UINT, + cbSize: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetRegisteredRawInputDevices( + pRawInputDevices: PRAWINPUTDEVICE, + puiNumDevices: PUINT, + cbSize: UINT, + ) -> UINT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRAWINPUTDEVICELIST { + pub hDevice: HANDLE, + pub dwType: DWORD, +} +#[test] +fn bindgen_test_layout_tagRAWINPUTDEVICELIST() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRAWINPUTDEVICELIST)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRAWINPUTDEVICELIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICELIST), + "::", + stringify!(hDevice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRAWINPUTDEVICELIST), + "::", + stringify!(dwType) + ) + ); +} +pub type RAWINPUTDEVICELIST = tagRAWINPUTDEVICELIST; +pub type PRAWINPUTDEVICELIST = *mut tagRAWINPUTDEVICELIST; +extern "C" { + pub fn GetRawInputDeviceList( + pRawInputDeviceList: PRAWINPUTDEVICELIST, + puiNumDevices: PUINT, + cbSize: UINT, + ) -> UINT; +} +extern "C" { + pub fn DefRawInputProc(paRawInput: *mut PRAWINPUT, nInput: INT, cbSizeHeader: UINT) -> LRESULT; +} +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_INTEGRATED_PEN: tagPOINTER_DEVICE_TYPE = 1; +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_EXTERNAL_PEN: tagPOINTER_DEVICE_TYPE = 2; +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_TOUCH: tagPOINTER_DEVICE_TYPE = 3; +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_TOUCH_PAD: tagPOINTER_DEVICE_TYPE = 4; +pub const tagPOINTER_DEVICE_TYPE_POINTER_DEVICE_TYPE_MAX: tagPOINTER_DEVICE_TYPE = -1; +pub type tagPOINTER_DEVICE_TYPE = ::std::os::raw::c_int; +pub use self::tagPOINTER_DEVICE_TYPE as POINTER_DEVICE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_DEVICE_INFO { + pub displayOrientation: DWORD, + pub device: HANDLE, + pub pointerDeviceType: POINTER_DEVICE_TYPE, + pub monitor: HMONITOR, + pub startingCursorId: ULONG, + pub maxActiveContacts: USHORT, + pub productString: [WCHAR; 520usize], +} +#[test] +fn bindgen_test_layout_tagPOINTER_DEVICE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 1080usize, + concat!("Size of: ", stringify!(tagPOINTER_DEVICE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPOINTER_DEVICE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).displayOrientation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(displayOrientation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).device) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(device) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointerDeviceType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(pointerDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).monitor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(monitor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).startingCursorId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(startingCursorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).maxActiveContacts) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(maxActiveContacts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).productString) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_INFO), + "::", + stringify!(productString) + ) + ); +} +pub type POINTER_DEVICE_INFO = tagPOINTER_DEVICE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_DEVICE_PROPERTY { + pub logicalMin: INT32, + pub logicalMax: INT32, + pub physicalMin: INT32, + pub physicalMax: INT32, + pub unit: UINT32, + pub unitExponent: UINT32, + pub usagePageId: USHORT, + pub usageId: USHORT, +} +#[test] +fn bindgen_test_layout_tagPOINTER_DEVICE_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagPOINTER_DEVICE_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPOINTER_DEVICE_PROPERTY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).logicalMin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(logicalMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).logicalMax) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(logicalMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).physicalMin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(physicalMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).physicalMax) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(physicalMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(unit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unitExponent) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(unitExponent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usagePageId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(usagePageId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usageId) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_PROPERTY), + "::", + stringify!(usageId) + ) + ); +} +pub type POINTER_DEVICE_PROPERTY = tagPOINTER_DEVICE_PROPERTY; +pub const tagPOINTER_DEVICE_CURSOR_TYPE_POINTER_DEVICE_CURSOR_TYPE_UNKNOWN: + tagPOINTER_DEVICE_CURSOR_TYPE = 0; +pub const tagPOINTER_DEVICE_CURSOR_TYPE_POINTER_DEVICE_CURSOR_TYPE_TIP: + tagPOINTER_DEVICE_CURSOR_TYPE = 1; +pub const tagPOINTER_DEVICE_CURSOR_TYPE_POINTER_DEVICE_CURSOR_TYPE_ERASER: + tagPOINTER_DEVICE_CURSOR_TYPE = 2; +pub const tagPOINTER_DEVICE_CURSOR_TYPE_POINTER_DEVICE_CURSOR_TYPE_MAX: + tagPOINTER_DEVICE_CURSOR_TYPE = -1; +pub type tagPOINTER_DEVICE_CURSOR_TYPE = ::std::os::raw::c_int; +pub use self::tagPOINTER_DEVICE_CURSOR_TYPE as POINTER_DEVICE_CURSOR_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPOINTER_DEVICE_CURSOR_INFO { + pub cursorId: UINT32, + pub cursor: POINTER_DEVICE_CURSOR_TYPE, +} +#[test] +fn bindgen_test_layout_tagPOINTER_DEVICE_CURSOR_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPOINTER_DEVICE_CURSOR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPOINTER_DEVICE_CURSOR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cursorId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_CURSOR_INFO), + "::", + stringify!(cursorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cursor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPOINTER_DEVICE_CURSOR_INFO), + "::", + stringify!(cursor) + ) + ); +} +pub type POINTER_DEVICE_CURSOR_INFO = tagPOINTER_DEVICE_CURSOR_INFO; +extern "C" { + pub fn GetPointerDevices( + deviceCount: *mut UINT32, + pointerDevices: *mut POINTER_DEVICE_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerDevice(device: HANDLE, pointerDevice: *mut POINTER_DEVICE_INFO) -> BOOL; +} +extern "C" { + pub fn GetPointerDeviceProperties( + device: HANDLE, + propertyCount: *mut UINT32, + pointerProperties: *mut POINTER_DEVICE_PROPERTY, + ) -> BOOL; +} +extern "C" { + pub fn RegisterPointerDeviceNotifications(window: HWND, notifyRange: BOOL) -> BOOL; +} +extern "C" { + pub fn GetPointerDeviceRects( + device: HANDLE, + pointerDeviceRect: *mut RECT, + displayRect: *mut RECT, + ) -> BOOL; +} +extern "C" { + pub fn GetPointerDeviceCursors( + device: HANDLE, + cursorCount: *mut UINT32, + deviceCursors: *mut POINTER_DEVICE_CURSOR_INFO, + ) -> BOOL; +} +extern "C" { + pub fn GetRawPointerDeviceData( + pointerId: UINT32, + historyCount: UINT32, + propertiesCount: UINT32, + pProperties: *mut POINTER_DEVICE_PROPERTY, + pValues: *mut LONG, + ) -> BOOL; +} +extern "C" { + pub fn ChangeWindowMessageFilter(message: UINT, dwFlag: DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHANGEFILTERSTRUCT { + pub cbSize: DWORD, + pub ExtStatus: DWORD, +} +#[test] +fn bindgen_test_layout_tagCHANGEFILTERSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagCHANGEFILTERSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCHANGEFILTERSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHANGEFILTERSTRUCT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCHANGEFILTERSTRUCT), + "::", + stringify!(ExtStatus) + ) + ); +} +pub type CHANGEFILTERSTRUCT = tagCHANGEFILTERSTRUCT; +pub type PCHANGEFILTERSTRUCT = *mut tagCHANGEFILTERSTRUCT; +extern "C" { + pub fn ChangeWindowMessageFilterEx( + hwnd: HWND, + message: UINT, + action: DWORD, + pChangeFilterStruct: PCHANGEFILTERSTRUCT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HGESTUREINFO__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HGESTUREINFO__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HGESTUREINFO__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HGESTUREINFO__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HGESTUREINFO__), + "::", + stringify!(unused) + ) + ); +} +pub type HGESTUREINFO = *mut HGESTUREINFO__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGESTUREINFO { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub dwID: DWORD, + pub hwndTarget: HWND, + pub ptsLocation: POINTS, + pub dwInstanceID: DWORD, + pub dwSequenceID: DWORD, + pub ullArguments: ULONGLONG, + pub cbExtraArgs: UINT, +} +#[test] +fn bindgen_test_layout_tagGESTUREINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagGESTUREINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGESTUREINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(dwID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTarget) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(hwndTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptsLocation) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(ptsLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInstanceID) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(dwInstanceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSequenceID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(dwSequenceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullArguments) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(ullArguments) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbExtraArgs) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagGESTUREINFO), + "::", + stringify!(cbExtraArgs) + ) + ); +} +pub type GESTUREINFO = tagGESTUREINFO; +pub type PGESTUREINFO = *mut tagGESTUREINFO; +pub type PCGESTUREINFO = *const GESTUREINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGESTURENOTIFYSTRUCT { + pub cbSize: UINT, + pub dwFlags: DWORD, + pub hwndTarget: HWND, + pub ptsLocation: POINTS, + pub dwInstanceID: DWORD, +} +#[test] +fn bindgen_test_layout_tagGESTURENOTIFYSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagGESTURENOTIFYSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagGESTURENOTIFYSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTarget) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(hwndTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptsLocation) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(ptsLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInstanceID) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURENOTIFYSTRUCT), + "::", + stringify!(dwInstanceID) + ) + ); +} +pub type GESTURENOTIFYSTRUCT = tagGESTURENOTIFYSTRUCT; +pub type PGESTURENOTIFYSTRUCT = *mut tagGESTURENOTIFYSTRUCT; +extern "C" { + pub fn GetGestureInfo(hGestureInfo: HGESTUREINFO, pGestureInfo: PGESTUREINFO) -> BOOL; +} +extern "C" { + pub fn GetGestureExtraArgs( + hGestureInfo: HGESTUREINFO, + cbExtraArgs: UINT, + pExtraArgs: PBYTE, + ) -> BOOL; +} +extern "C" { + pub fn CloseGestureInfoHandle(hGestureInfo: HGESTUREINFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagGESTURECONFIG { + pub dwID: DWORD, + pub dwWant: DWORD, + pub dwBlock: DWORD, +} +#[test] +fn bindgen_test_layout_tagGESTURECONFIG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagGESTURECONFIG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagGESTURECONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURECONFIG), + "::", + stringify!(dwID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWant) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURECONFIG), + "::", + stringify!(dwWant) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBlock) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagGESTURECONFIG), + "::", + stringify!(dwBlock) + ) + ); +} +pub type GESTURECONFIG = tagGESTURECONFIG; +pub type PGESTURECONFIG = *mut tagGESTURECONFIG; +extern "C" { + pub fn SetGestureConfig( + hwnd: HWND, + dwReserved: DWORD, + cIDs: UINT, + pGestureConfig: PGESTURECONFIG, + cbSize: UINT, + ) -> BOOL; +} +extern "C" { + pub fn GetGestureConfig( + hwnd: HWND, + dwReserved: DWORD, + dwFlags: DWORD, + pcIDs: PUINT, + pGestureConfig: PGESTURECONFIG, + cbSize: UINT, + ) -> BOOL; +} +extern "C" { + pub fn ShutdownBlockReasonCreate(hWnd: HWND, pwszReason: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn ShutdownBlockReasonQuery(hWnd: HWND, pwszBuff: LPWSTR, pcchBuff: *mut DWORD) -> BOOL; +} +extern "C" { + pub fn ShutdownBlockReasonDestroy(hWnd: HWND) -> BOOL; +} +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_UNAVAILABLE: tagINPUT_MESSAGE_DEVICE_TYPE = 0; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_KEYBOARD: tagINPUT_MESSAGE_DEVICE_TYPE = 1; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_MOUSE: tagINPUT_MESSAGE_DEVICE_TYPE = 2; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_TOUCH: tagINPUT_MESSAGE_DEVICE_TYPE = 4; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_PEN: tagINPUT_MESSAGE_DEVICE_TYPE = 8; +pub const tagINPUT_MESSAGE_DEVICE_TYPE_IMDT_TOUCHPAD: tagINPUT_MESSAGE_DEVICE_TYPE = 16; +pub type tagINPUT_MESSAGE_DEVICE_TYPE = ::std::os::raw::c_int; +pub use self::tagINPUT_MESSAGE_DEVICE_TYPE as INPUT_MESSAGE_DEVICE_TYPE; +pub const tagINPUT_MESSAGE_ORIGIN_ID_IMO_UNAVAILABLE: tagINPUT_MESSAGE_ORIGIN_ID = 0; +pub const tagINPUT_MESSAGE_ORIGIN_ID_IMO_HARDWARE: tagINPUT_MESSAGE_ORIGIN_ID = 1; +pub const tagINPUT_MESSAGE_ORIGIN_ID_IMO_INJECTED: tagINPUT_MESSAGE_ORIGIN_ID = 2; +pub const tagINPUT_MESSAGE_ORIGIN_ID_IMO_SYSTEM: tagINPUT_MESSAGE_ORIGIN_ID = 4; +pub type tagINPUT_MESSAGE_ORIGIN_ID = ::std::os::raw::c_int; +pub use self::tagINPUT_MESSAGE_ORIGIN_ID as INPUT_MESSAGE_ORIGIN_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINPUT_MESSAGE_SOURCE { + pub deviceType: INPUT_MESSAGE_DEVICE_TYPE, + pub originId: INPUT_MESSAGE_ORIGIN_ID, +} +#[test] +fn bindgen_test_layout_tagINPUT_MESSAGE_SOURCE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagINPUT_MESSAGE_SOURCE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagINPUT_MESSAGE_SOURCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deviceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_MESSAGE_SOURCE), + "::", + stringify!(deviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).originId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagINPUT_MESSAGE_SOURCE), + "::", + stringify!(originId) + ) + ); +} +pub type INPUT_MESSAGE_SOURCE = tagINPUT_MESSAGE_SOURCE; +extern "C" { + pub fn GetCurrentInputMessageSource(inputMessageSource: *mut INPUT_MESSAGE_SOURCE) -> BOOL; +} +extern "C" { + pub fn GetCIMSSM(inputMessageSource: *mut INPUT_MESSAGE_SOURCE) -> BOOL; +} +pub const tagAR_STATE_AR_ENABLED: tagAR_STATE = 0; +pub const tagAR_STATE_AR_DISABLED: tagAR_STATE = 1; +pub const tagAR_STATE_AR_SUPPRESSED: tagAR_STATE = 2; +pub const tagAR_STATE_AR_REMOTESESSION: tagAR_STATE = 4; +pub const tagAR_STATE_AR_MULTIMON: tagAR_STATE = 8; +pub const tagAR_STATE_AR_NOSENSOR: tagAR_STATE = 16; +pub const tagAR_STATE_AR_NOT_SUPPORTED: tagAR_STATE = 32; +pub const tagAR_STATE_AR_DOCKED: tagAR_STATE = 64; +pub const tagAR_STATE_AR_LAPTOP: tagAR_STATE = 128; +pub type tagAR_STATE = ::std::os::raw::c_int; +pub use self::tagAR_STATE as AR_STATE; +pub type PAR_STATE = *mut tagAR_STATE; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_NONE: ORIENTATION_PREFERENCE = 0; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_LANDSCAPE: ORIENTATION_PREFERENCE = 1; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_PORTRAIT: ORIENTATION_PREFERENCE = 2; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED: ORIENTATION_PREFERENCE = + 4; +pub const ORIENTATION_PREFERENCE_ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED: ORIENTATION_PREFERENCE = + 8; +pub type ORIENTATION_PREFERENCE = ::std::os::raw::c_int; +extern "C" { + pub fn GetAutoRotationState(pState: PAR_STATE) -> BOOL; +} +extern "C" { + pub fn GetDisplayAutoRotationPreferences(pOrientation: *mut ORIENTATION_PREFERENCE) -> BOOL; +} +extern "C" { + pub fn GetDisplayAutoRotationPreferencesByProcessId( + dwProcessId: DWORD, + pOrientation: *mut ORIENTATION_PREFERENCE, + fRotateScreen: *mut BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SetDisplayAutoRotationPreferences(orientation: ORIENTATION_PREFERENCE) -> BOOL; +} +extern "C" { + pub fn IsImmersiveProcess(hProcess: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetProcessRestrictionExemption(fEnableExemption: BOOL) -> BOOL; +} +extern "C" { + pub fn GetDateFormatA( + Locale: LCID, + dwFlags: DWORD, + lpDate: *const SYSTEMTIME, + lpFormat: LPCSTR, + lpDateStr: LPSTR, + cchDate: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDateFormatW( + Locale: LCID, + dwFlags: DWORD, + lpDate: *const SYSTEMTIME, + lpFormat: LPCWSTR, + lpDateStr: LPWSTR, + cchDate: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTimeFormatA( + Locale: LCID, + dwFlags: DWORD, + lpTime: *const SYSTEMTIME, + lpFormat: LPCSTR, + lpTimeStr: LPSTR, + cchTime: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTimeFormatW( + Locale: LCID, + dwFlags: DWORD, + lpTime: *const SYSTEMTIME, + lpFormat: LPCWSTR, + lpTimeStr: LPWSTR, + cchTime: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetTimeFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpTime: *const SYSTEMTIME, + lpFormat: LPCWSTR, + lpTimeStr: LPWSTR, + cchTime: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDateFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpDate: *const SYSTEMTIME, + lpFormat: LPCWSTR, + lpDateStr: LPWSTR, + cchDate: ::std::os::raw::c_int, + lpCalendar: LPCWSTR, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDurationFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpDuration: *const SYSTEMTIME, + ullDuration: ULONGLONG, + lpFormat: LPCWSTR, + lpDurationStr: LPWSTR, + cchDuration: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +pub type LGRPID = DWORD; +pub type LCTYPE = DWORD; +pub type CALTYPE = DWORD; +pub type CALID = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _cpinfo { + pub MaxCharSize: UINT, + pub DefaultChar: [BYTE; 2usize], + pub LeadByte: [BYTE; 12usize], +} +#[test] +fn bindgen_test_layout__cpinfo() { + const UNINIT: ::std::mem::MaybeUninit<_cpinfo> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_cpinfo>(), + 20usize, + concat!("Size of: ", stringify!(_cpinfo)) + ); + assert_eq!( + ::std::mem::align_of::<_cpinfo>(), + 4usize, + concat!("Alignment of ", stringify!(_cpinfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCharSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_cpinfo), + "::", + stringify!(MaxCharSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultChar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_cpinfo), + "::", + stringify!(DefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadByte) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_cpinfo), + "::", + stringify!(LeadByte) + ) + ); +} +pub type CPINFO = _cpinfo; +pub type LPCPINFO = *mut _cpinfo; +pub type GEOTYPE = DWORD; +pub type GEOCLASS = DWORD; +pub type GEOID = LONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _cpinfoexA { + pub MaxCharSize: UINT, + pub DefaultChar: [BYTE; 2usize], + pub LeadByte: [BYTE; 12usize], + pub UnicodeDefaultChar: WCHAR, + pub CodePage: UINT, + pub CodePageName: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout__cpinfoexA() { + const UNINIT: ::std::mem::MaybeUninit<_cpinfoexA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_cpinfoexA>(), + 284usize, + concat!("Size of: ", stringify!(_cpinfoexA)) + ); + assert_eq!( + ::std::mem::align_of::<_cpinfoexA>(), + 4usize, + concat!("Alignment of ", stringify!(_cpinfoexA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCharSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(MaxCharSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultChar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(DefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadByte) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(LeadByte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeDefaultChar) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(UnicodeDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(CodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePageName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexA), + "::", + stringify!(CodePageName) + ) + ); +} +pub type CPINFOEXA = _cpinfoexA; +pub type LPCPINFOEXA = *mut _cpinfoexA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _cpinfoexW { + pub MaxCharSize: UINT, + pub DefaultChar: [BYTE; 2usize], + pub LeadByte: [BYTE; 12usize], + pub UnicodeDefaultChar: WCHAR, + pub CodePage: UINT, + pub CodePageName: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout__cpinfoexW() { + const UNINIT: ::std::mem::MaybeUninit<_cpinfoexW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_cpinfoexW>(), + 544usize, + concat!("Size of: ", stringify!(_cpinfoexW)) + ); + assert_eq!( + ::std::mem::align_of::<_cpinfoexW>(), + 4usize, + concat!("Alignment of ", stringify!(_cpinfoexW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCharSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(MaxCharSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultChar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(DefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadByte) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(LeadByte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeDefaultChar) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(UnicodeDefaultChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(CodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePageName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_cpinfoexW), + "::", + stringify!(CodePageName) + ) + ); +} +pub type CPINFOEXW = _cpinfoexW; +pub type LPCPINFOEXW = *mut _cpinfoexW; +pub type CPINFOEX = CPINFOEXA; +pub type LPCPINFOEX = LPCPINFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _numberfmtA { + pub NumDigits: UINT, + pub LeadingZero: UINT, + pub Grouping: UINT, + pub lpDecimalSep: LPSTR, + pub lpThousandSep: LPSTR, + pub NegativeOrder: UINT, +} +#[test] +fn bindgen_test_layout__numberfmtA() { + const UNINIT: ::std::mem::MaybeUninit<_numberfmtA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_numberfmtA>(), + 40usize, + concat!("Size of: ", stringify!(_numberfmtA)) + ); + assert_eq!( + ::std::mem::align_of::<_numberfmtA>(), + 8usize, + concat!("Alignment of ", stringify!(_numberfmtA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumDigits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(NumDigits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadingZero) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(LeadingZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Grouping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(Grouping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDecimalSep) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(lpDecimalSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThousandSep) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(lpThousandSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegativeOrder) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtA), + "::", + stringify!(NegativeOrder) + ) + ); +} +pub type NUMBERFMTA = _numberfmtA; +pub type LPNUMBERFMTA = *mut _numberfmtA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _numberfmtW { + pub NumDigits: UINT, + pub LeadingZero: UINT, + pub Grouping: UINT, + pub lpDecimalSep: LPWSTR, + pub lpThousandSep: LPWSTR, + pub NegativeOrder: UINT, +} +#[test] +fn bindgen_test_layout__numberfmtW() { + const UNINIT: ::std::mem::MaybeUninit<_numberfmtW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_numberfmtW>(), + 40usize, + concat!("Size of: ", stringify!(_numberfmtW)) + ); + assert_eq!( + ::std::mem::align_of::<_numberfmtW>(), + 8usize, + concat!("Alignment of ", stringify!(_numberfmtW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumDigits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(NumDigits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadingZero) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(LeadingZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Grouping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(Grouping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDecimalSep) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(lpDecimalSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThousandSep) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(lpThousandSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegativeOrder) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_numberfmtW), + "::", + stringify!(NegativeOrder) + ) + ); +} +pub type NUMBERFMTW = _numberfmtW; +pub type LPNUMBERFMTW = *mut _numberfmtW; +pub type NUMBERFMT = NUMBERFMTA; +pub type LPNUMBERFMT = LPNUMBERFMTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _currencyfmtA { + pub NumDigits: UINT, + pub LeadingZero: UINT, + pub Grouping: UINT, + pub lpDecimalSep: LPSTR, + pub lpThousandSep: LPSTR, + pub NegativeOrder: UINT, + pub PositiveOrder: UINT, + pub lpCurrencySymbol: LPSTR, +} +#[test] +fn bindgen_test_layout__currencyfmtA() { + const UNINIT: ::std::mem::MaybeUninit<_currencyfmtA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_currencyfmtA>(), + 48usize, + concat!("Size of: ", stringify!(_currencyfmtA)) + ); + assert_eq!( + ::std::mem::align_of::<_currencyfmtA>(), + 8usize, + concat!("Alignment of ", stringify!(_currencyfmtA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumDigits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(NumDigits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadingZero) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(LeadingZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Grouping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(Grouping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDecimalSep) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(lpDecimalSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThousandSep) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(lpThousandSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegativeOrder) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(NegativeOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PositiveOrder) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(PositiveOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCurrencySymbol) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtA), + "::", + stringify!(lpCurrencySymbol) + ) + ); +} +pub type CURRENCYFMTA = _currencyfmtA; +pub type LPCURRENCYFMTA = *mut _currencyfmtA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _currencyfmtW { + pub NumDigits: UINT, + pub LeadingZero: UINT, + pub Grouping: UINT, + pub lpDecimalSep: LPWSTR, + pub lpThousandSep: LPWSTR, + pub NegativeOrder: UINT, + pub PositiveOrder: UINT, + pub lpCurrencySymbol: LPWSTR, +} +#[test] +fn bindgen_test_layout__currencyfmtW() { + const UNINIT: ::std::mem::MaybeUninit<_currencyfmtW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_currencyfmtW>(), + 48usize, + concat!("Size of: ", stringify!(_currencyfmtW)) + ); + assert_eq!( + ::std::mem::align_of::<_currencyfmtW>(), + 8usize, + concat!("Alignment of ", stringify!(_currencyfmtW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumDigits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(NumDigits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LeadingZero) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(LeadingZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Grouping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(Grouping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDecimalSep) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(lpDecimalSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThousandSep) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(lpThousandSep) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegativeOrder) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(NegativeOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PositiveOrder) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(PositiveOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCurrencySymbol) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_currencyfmtW), + "::", + stringify!(lpCurrencySymbol) + ) + ); +} +pub type CURRENCYFMTW = _currencyfmtW; +pub type LPCURRENCYFMTW = *mut _currencyfmtW; +pub type CURRENCYFMT = CURRENCYFMTA; +pub type LPCURRENCYFMT = LPCURRENCYFMTA; +pub const SYSNLS_FUNCTION_COMPARE_STRING: SYSNLS_FUNCTION = 1; +pub type SYSNLS_FUNCTION = ::std::os::raw::c_int; +pub type NLS_FUNCTION = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _nlsversioninfo { + pub dwNLSVersionInfoSize: DWORD, + pub dwNLSVersion: DWORD, + pub dwDefinedVersion: DWORD, + pub dwEffectiveId: DWORD, + pub guidCustomVersion: GUID, +} +#[test] +fn bindgen_test_layout__nlsversioninfo() { + const UNINIT: ::std::mem::MaybeUninit<_nlsversioninfo> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_nlsversioninfo>(), + 32usize, + concat!("Size of: ", stringify!(_nlsversioninfo)) + ); + assert_eq!( + ::std::mem::align_of::<_nlsversioninfo>(), + 4usize, + concat!("Alignment of ", stringify!(_nlsversioninfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNLSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(dwNLSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNLSVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(dwNLSVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDefinedVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(dwDefinedVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEffectiveId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(dwEffectiveId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidCustomVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfo), + "::", + stringify!(guidCustomVersion) + ) + ); +} +pub type NLSVERSIONINFO = _nlsversioninfo; +pub type LPNLSVERSIONINFO = *mut _nlsversioninfo; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _nlsversioninfoex { + pub dwNLSVersionInfoSize: DWORD, + pub dwNLSVersion: DWORD, + pub dwDefinedVersion: DWORD, + pub dwEffectiveId: DWORD, + pub guidCustomVersion: GUID, +} +#[test] +fn bindgen_test_layout__nlsversioninfoex() { + const UNINIT: ::std::mem::MaybeUninit<_nlsversioninfoex> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_nlsversioninfoex>(), + 32usize, + concat!("Size of: ", stringify!(_nlsversioninfoex)) + ); + assert_eq!( + ::std::mem::align_of::<_nlsversioninfoex>(), + 4usize, + concat!("Alignment of ", stringify!(_nlsversioninfoex)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNLSVersionInfoSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(dwNLSVersionInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNLSVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(dwNLSVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDefinedVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(dwDefinedVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEffectiveId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(dwEffectiveId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidCustomVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_nlsversioninfoex), + "::", + stringify!(guidCustomVersion) + ) + ); +} +pub type NLSVERSIONINFOEX = _nlsversioninfoex; +pub type LPNLSVERSIONINFOEX = *mut _nlsversioninfoex; +pub const SYSGEOTYPE_GEO_NATION: SYSGEOTYPE = 1; +pub const SYSGEOTYPE_GEO_LATITUDE: SYSGEOTYPE = 2; +pub const SYSGEOTYPE_GEO_LONGITUDE: SYSGEOTYPE = 3; +pub const SYSGEOTYPE_GEO_ISO2: SYSGEOTYPE = 4; +pub const SYSGEOTYPE_GEO_ISO3: SYSGEOTYPE = 5; +pub const SYSGEOTYPE_GEO_RFC1766: SYSGEOTYPE = 6; +pub const SYSGEOTYPE_GEO_LCID: SYSGEOTYPE = 7; +pub const SYSGEOTYPE_GEO_FRIENDLYNAME: SYSGEOTYPE = 8; +pub const SYSGEOTYPE_GEO_OFFICIALNAME: SYSGEOTYPE = 9; +pub const SYSGEOTYPE_GEO_TIMEZONES: SYSGEOTYPE = 10; +pub const SYSGEOTYPE_GEO_OFFICIALLANGUAGES: SYSGEOTYPE = 11; +pub const SYSGEOTYPE_GEO_ISO_UN_NUMBER: SYSGEOTYPE = 12; +pub const SYSGEOTYPE_GEO_PARENT: SYSGEOTYPE = 13; +pub const SYSGEOTYPE_GEO_DIALINGCODE: SYSGEOTYPE = 14; +pub const SYSGEOTYPE_GEO_CURRENCYCODE: SYSGEOTYPE = 15; +pub const SYSGEOTYPE_GEO_CURRENCYSYMBOL: SYSGEOTYPE = 16; +pub const SYSGEOTYPE_GEO_NAME: SYSGEOTYPE = 17; +pub const SYSGEOTYPE_GEO_ID: SYSGEOTYPE = 18; +pub type SYSGEOTYPE = ::std::os::raw::c_int; +pub const SYSGEOCLASS_GEOCLASS_NATION: SYSGEOCLASS = 16; +pub const SYSGEOCLASS_GEOCLASS_REGION: SYSGEOCLASS = 14; +pub const SYSGEOCLASS_GEOCLASS_ALL: SYSGEOCLASS = 0; +pub type SYSGEOCLASS = ::std::os::raw::c_int; +pub type LOCALE_ENUMPROCA = ::std::option::Option BOOL>; +pub type LOCALE_ENUMPROCW = ::std::option::Option BOOL>; +pub const _NORM_FORM_NormalizationOther: _NORM_FORM = 0; +pub const _NORM_FORM_NormalizationC: _NORM_FORM = 1; +pub const _NORM_FORM_NormalizationD: _NORM_FORM = 2; +pub const _NORM_FORM_NormalizationKC: _NORM_FORM = 5; +pub const _NORM_FORM_NormalizationKD: _NORM_FORM = 6; +pub type _NORM_FORM = ::std::os::raw::c_int; +pub use self::_NORM_FORM as NORM_FORM; +pub type LANGUAGEGROUP_ENUMPROCA = ::std::option::Option< + unsafe extern "C" fn( + arg1: LGRPID, + arg2: LPSTR, + arg3: LPSTR, + arg4: DWORD, + arg5: LONG_PTR, + ) -> BOOL, +>; +pub type LANGGROUPLOCALE_ENUMPROCA = ::std::option::Option< + unsafe extern "C" fn(arg1: LGRPID, arg2: LCID, arg3: LPSTR, arg4: LONG_PTR) -> BOOL, +>; +pub type UILANGUAGE_ENUMPROCA = + ::std::option::Option BOOL>; +pub type CODEPAGE_ENUMPROCA = ::std::option::Option BOOL>; +pub type DATEFMT_ENUMPROCA = ::std::option::Option BOOL>; +pub type DATEFMT_ENUMPROCEXA = + ::std::option::Option BOOL>; +pub type TIMEFMT_ENUMPROCA = ::std::option::Option BOOL>; +pub type CALINFO_ENUMPROCA = ::std::option::Option BOOL>; +pub type CALINFO_ENUMPROCEXA = + ::std::option::Option BOOL>; +pub type LANGUAGEGROUP_ENUMPROCW = ::std::option::Option< + unsafe extern "C" fn( + arg1: LGRPID, + arg2: LPWSTR, + arg3: LPWSTR, + arg4: DWORD, + arg5: LONG_PTR, + ) -> BOOL, +>; +pub type LANGGROUPLOCALE_ENUMPROCW = ::std::option::Option< + unsafe extern "C" fn(arg1: LGRPID, arg2: LCID, arg3: LPWSTR, arg4: LONG_PTR) -> BOOL, +>; +pub type UILANGUAGE_ENUMPROCW = + ::std::option::Option BOOL>; +pub type CODEPAGE_ENUMPROCW = ::std::option::Option BOOL>; +pub type DATEFMT_ENUMPROCW = ::std::option::Option BOOL>; +pub type DATEFMT_ENUMPROCEXW = + ::std::option::Option BOOL>; +pub type TIMEFMT_ENUMPROCW = ::std::option::Option BOOL>; +pub type CALINFO_ENUMPROCW = ::std::option::Option BOOL>; +pub type CALINFO_ENUMPROCEXW = + ::std::option::Option BOOL>; +pub type GEO_ENUMPROC = ::std::option::Option BOOL>; +pub type GEO_ENUMNAMEPROC = + ::std::option::Option BOOL>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILEMUIINFO { + pub dwSize: DWORD, + pub dwVersion: DWORD, + pub dwFileType: DWORD, + pub pChecksum: [BYTE; 16usize], + pub pServiceChecksum: [BYTE; 16usize], + pub dwLanguageNameOffset: DWORD, + pub dwTypeIDMainSize: DWORD, + pub dwTypeIDMainOffset: DWORD, + pub dwTypeNameMainOffset: DWORD, + pub dwTypeIDMUISize: DWORD, + pub dwTypeIDMUIOffset: DWORD, + pub dwTypeNameMUIOffset: DWORD, + pub abBuffer: [BYTE; 8usize], +} +#[test] +fn bindgen_test_layout__FILEMUIINFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILEMUIINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILEMUIINFO>(), + 80usize, + concat!("Size of: ", stringify!(_FILEMUIINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILEMUIINFO>(), + 4usize, + concat!("Alignment of ", stringify!(_FILEMUIINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwFileType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pChecksum) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(pChecksum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServiceChecksum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(pServiceChecksum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLanguageNameOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwLanguageNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeIDMainSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeIDMainSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeIDMainOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeIDMainOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeNameMainOffset) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeNameMainOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeIDMUISize) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeIDMUISize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeIDMUIOffset) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeIDMUIOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeNameMUIOffset) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(dwTypeNameMUIOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abBuffer) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FILEMUIINFO), + "::", + stringify!(abBuffer) + ) + ); +} +pub type FILEMUIINFO = _FILEMUIINFO; +pub type PFILEMUIINFO = *mut _FILEMUIINFO; +extern "C" { + pub fn CompareStringEx( + lpLocaleName: LPCWSTR, + dwCmpFlags: DWORD, + lpString1: LPCWCH, + cchCount1: ::std::os::raw::c_int, + lpString2: LPCWCH, + cchCount2: ::std::os::raw::c_int, + lpVersionInformation: LPNLSVERSIONINFO, + lpReserved: LPVOID, + lParam: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CompareStringOrdinal( + lpString1: LPCWCH, + cchCount1: ::std::os::raw::c_int, + lpString2: LPCWCH, + cchCount2: ::std::os::raw::c_int, + bIgnoreCase: BOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CompareStringW( + Locale: LCID, + dwCmpFlags: DWORD, + lpString1: PCNZWCH, + cchCount1: ::std::os::raw::c_int, + lpString2: PCNZWCH, + cchCount2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn FoldStringW( + dwMapFlags: DWORD, + lpSrcStr: LPCWCH, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPWSTR, + cchDest: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetStringTypeExW( + Locale: LCID, + dwInfoType: DWORD, + lpSrcStr: LPCWCH, + cchSrc: ::std::os::raw::c_int, + lpCharType: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetStringTypeW( + dwInfoType: DWORD, + lpSrcStr: LPCWCH, + cchSrc: ::std::os::raw::c_int, + lpCharType: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn MultiByteToWideChar( + CodePage: UINT, + dwFlags: DWORD, + lpMultiByteStr: LPCCH, + cbMultiByte: ::std::os::raw::c_int, + lpWideCharStr: LPWSTR, + cchWideChar: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WideCharToMultiByte( + CodePage: UINT, + dwFlags: DWORD, + lpWideCharStr: LPCWCH, + cchWideChar: ::std::os::raw::c_int, + lpMultiByteStr: LPSTR, + cbMultiByte: ::std::os::raw::c_int, + lpDefaultChar: LPCCH, + lpUsedDefaultChar: LPBOOL, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsValidCodePage(CodePage: UINT) -> BOOL; +} +extern "C" { + pub fn GetACP() -> UINT; +} +extern "C" { + pub fn GetOEMCP() -> UINT; +} +extern "C" { + pub fn GetCPInfo(CodePage: UINT, lpCPInfo: LPCPINFO) -> BOOL; +} +extern "C" { + pub fn GetCPInfoExA(CodePage: UINT, dwFlags: DWORD, lpCPInfoEx: LPCPINFOEXA) -> BOOL; +} +extern "C" { + pub fn GetCPInfoExW(CodePage: UINT, dwFlags: DWORD, lpCPInfoEx: LPCPINFOEXW) -> BOOL; +} +extern "C" { + pub fn CompareStringA( + Locale: LCID, + dwCmpFlags: DWORD, + lpString1: PCNZCH, + cchCount1: ::std::os::raw::c_int, + lpString2: PCNZCH, + cchCount2: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn FindNLSString( + Locale: LCID, + dwFindNLSStringFlags: DWORD, + lpStringSource: LPCWSTR, + cchSource: ::std::os::raw::c_int, + lpStringValue: LPCWSTR, + cchValue: ::std::os::raw::c_int, + pcchFound: LPINT, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LCMapStringW( + Locale: LCID, + dwMapFlags: DWORD, + lpSrcStr: LPCWSTR, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPWSTR, + cchDest: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LCMapStringA( + Locale: LCID, + dwMapFlags: DWORD, + lpSrcStr: LPCSTR, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPSTR, + cchDest: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetLocaleInfoW( + Locale: LCID, + LCType: LCTYPE, + lpLCData: LPWSTR, + cchData: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetLocaleInfoA( + Locale: LCID, + LCType: LCTYPE, + lpLCData: LPSTR, + cchData: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetLocaleInfoA(Locale: LCID, LCType: LCTYPE, lpLCData: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetLocaleInfoW(Locale: LCID, LCType: LCTYPE, lpLCData: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetCalendarInfoA( + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + lpCalData: LPSTR, + cchData: ::std::os::raw::c_int, + lpValue: LPDWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCalendarInfoW( + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + lpCalData: LPWSTR, + cchData: ::std::os::raw::c_int, + lpValue: LPDWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetCalendarInfoA( + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + lpCalData: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn SetCalendarInfoW( + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + lpCalData: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn LoadStringByReference( + Flags: DWORD, + Language: PCWSTR, + SourceString: PCWSTR, + Buffer: PWSTR, + cchBuffer: ULONG, + Directory: PCWSTR, + pcchBufferOut: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn IsDBCSLeadByte(TestChar: BYTE) -> BOOL; +} +extern "C" { + pub fn IsDBCSLeadByteEx(CodePage: UINT, TestChar: BYTE) -> BOOL; +} +extern "C" { + pub fn LocaleNameToLCID(lpName: LPCWSTR, dwFlags: DWORD) -> LCID; +} +extern "C" { + pub fn LCIDToLocaleName( + Locale: LCID, + lpName: LPWSTR, + cchName: ::std::os::raw::c_int, + dwFlags: DWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetDurationFormat( + Locale: LCID, + dwFlags: DWORD, + lpDuration: *const SYSTEMTIME, + ullDuration: ULONGLONG, + lpFormat: LPCWSTR, + lpDurationStr: LPWSTR, + cchDuration: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetNumberFormatA( + Locale: LCID, + dwFlags: DWORD, + lpValue: LPCSTR, + lpFormat: *const NUMBERFMTA, + lpNumberStr: LPSTR, + cchNumber: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetNumberFormatW( + Locale: LCID, + dwFlags: DWORD, + lpValue: LPCWSTR, + lpFormat: *const NUMBERFMTW, + lpNumberStr: LPWSTR, + cchNumber: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCurrencyFormatA( + Locale: LCID, + dwFlags: DWORD, + lpValue: LPCSTR, + lpFormat: *const CURRENCYFMTA, + lpCurrencyStr: LPSTR, + cchCurrency: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCurrencyFormatW( + Locale: LCID, + dwFlags: DWORD, + lpValue: LPCWSTR, + lpFormat: *const CURRENCYFMTW, + lpCurrencyStr: LPWSTR, + cchCurrency: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumCalendarInfoA( + lpCalInfoEnumProc: CALINFO_ENUMPROCA, + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + ) -> BOOL; +} +extern "C" { + pub fn EnumCalendarInfoW( + lpCalInfoEnumProc: CALINFO_ENUMPROCW, + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + ) -> BOOL; +} +extern "C" { + pub fn EnumCalendarInfoExA( + lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXA, + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + ) -> BOOL; +} +extern "C" { + pub fn EnumCalendarInfoExW( + lpCalInfoEnumProcEx: CALINFO_ENUMPROCEXW, + Locale: LCID, + Calendar: CALID, + CalType: CALTYPE, + ) -> BOOL; +} +extern "C" { + pub fn EnumTimeFormatsA( + lpTimeFmtEnumProc: TIMEFMT_ENUMPROCA, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumTimeFormatsW( + lpTimeFmtEnumProc: TIMEFMT_ENUMPROCW, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDateFormatsA( + lpDateFmtEnumProc: DATEFMT_ENUMPROCA, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDateFormatsW( + lpDateFmtEnumProc: DATEFMT_ENUMPROCW, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDateFormatsExA( + lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXA, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDateFormatsExW( + lpDateFmtEnumProcEx: DATEFMT_ENUMPROCEXW, + Locale: LCID, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn IsValidLanguageGroup(LanguageGroup: LGRPID, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetNLSVersion( + Function: NLS_FUNCTION, + Locale: LCID, + lpVersionInformation: LPNLSVERSIONINFO, + ) -> BOOL; +} +extern "C" { + pub fn IsValidLocale(Locale: LCID, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn GetGeoInfoA( + Location: GEOID, + GeoType: GEOTYPE, + lpGeoData: LPSTR, + cchData: ::std::os::raw::c_int, + LangId: LANGID, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetGeoInfoW( + Location: GEOID, + GeoType: GEOTYPE, + lpGeoData: LPWSTR, + cchData: ::std::os::raw::c_int, + LangId: LANGID, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetGeoInfoEx( + location: PWSTR, + geoType: GEOTYPE, + geoData: PWSTR, + geoDataCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumSystemGeoID( + GeoClass: GEOCLASS, + ParentGeoId: GEOID, + lpGeoEnumProc: GEO_ENUMPROC, + ) -> BOOL; +} +extern "C" { + pub fn EnumSystemGeoNames( + geoClass: GEOCLASS, + geoEnumProc: GEO_ENUMNAMEPROC, + data: LPARAM, + ) -> BOOL; +} +extern "C" { + pub fn GetUserGeoID(GeoClass: GEOCLASS) -> GEOID; +} +extern "C" { + pub fn GetUserDefaultGeoName( + geoName: LPWSTR, + geoNameCount: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SetUserGeoID(GeoId: GEOID) -> BOOL; +} +extern "C" { + pub fn SetUserGeoName(geoName: PWSTR) -> BOOL; +} +extern "C" { + pub fn ConvertDefaultLocale(Locale: LCID) -> LCID; +} +extern "C" { + pub fn GetSystemDefaultUILanguage() -> LANGID; +} +extern "C" { + pub fn GetThreadLocale() -> LCID; +} +extern "C" { + pub fn SetThreadLocale(Locale: LCID) -> BOOL; +} +extern "C" { + pub fn GetUserDefaultUILanguage() -> LANGID; +} +extern "C" { + pub fn GetUserDefaultLangID() -> LANGID; +} +extern "C" { + pub fn GetSystemDefaultLangID() -> LANGID; +} +extern "C" { + pub fn GetSystemDefaultLCID() -> LCID; +} +extern "C" { + pub fn GetUserDefaultLCID() -> LCID; +} +extern "C" { + pub fn SetThreadUILanguage(LangId: LANGID) -> LANGID; +} +extern "C" { + pub fn GetThreadUILanguage() -> LANGID; +} +extern "C" { + pub fn GetProcessPreferredUILanguages( + dwFlags: DWORD, + pulNumLanguages: PULONG, + pwszLanguagesBuffer: PZZWSTR, + pcchLanguagesBuffer: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetProcessPreferredUILanguages( + dwFlags: DWORD, + pwszLanguagesBuffer: PCZZWSTR, + pulNumLanguages: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetUserPreferredUILanguages( + dwFlags: DWORD, + pulNumLanguages: PULONG, + pwszLanguagesBuffer: PZZWSTR, + pcchLanguagesBuffer: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetSystemPreferredUILanguages( + dwFlags: DWORD, + pulNumLanguages: PULONG, + pwszLanguagesBuffer: PZZWSTR, + pcchLanguagesBuffer: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetThreadPreferredUILanguages( + dwFlags: DWORD, + pulNumLanguages: PULONG, + pwszLanguagesBuffer: PZZWSTR, + pcchLanguagesBuffer: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn SetThreadPreferredUILanguages( + dwFlags: DWORD, + pwszLanguagesBuffer: PCZZWSTR, + pulNumLanguages: PULONG, + ) -> BOOL; +} +extern "C" { + pub fn GetFileMUIInfo( + dwFlags: DWORD, + pcwszFilePath: PCWSTR, + pFileMUIInfo: PFILEMUIINFO, + pcbFileMUIInfo: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetFileMUIPath( + dwFlags: DWORD, + pcwszFilePath: PCWSTR, + pwszLanguage: PWSTR, + pcchLanguage: PULONG, + pwszFileMUIPath: PWSTR, + pcchFileMUIPath: PULONG, + pululEnumerator: PULONGLONG, + ) -> BOOL; +} +extern "C" { + pub fn GetUILanguageInfo( + dwFlags: DWORD, + pwmszLanguage: PCZZWSTR, + pwszFallbackLanguages: PZZWSTR, + pcchFallbackLanguages: PDWORD, + pAttributes: PDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSAVEDUILANGUAGES__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSAVEDUILANGUAGES__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSAVEDUILANGUAGES__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSAVEDUILANGUAGES__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSAVEDUILANGUAGES__), + "::", + stringify!(unused) + ) + ); +} +pub type HSAVEDUILANGUAGES = *mut HSAVEDUILANGUAGES__; +extern "C" { + pub fn SetThreadPreferredUILanguages2( + flags: ULONG, + languages: PCZZWSTR, + numLanguagesSet: PULONG, + snapshot: *mut HSAVEDUILANGUAGES, + ) -> BOOL; +} +extern "C" { + pub fn RestoreThreadPreferredUILanguages(snapshot: HSAVEDUILANGUAGES); +} +extern "C" { + pub fn NotifyUILanguageChange( + dwFlags: DWORD, + pcwstrNewLanguage: PCWSTR, + pcwstrPreviousLanguage: PCWSTR, + dwReserved: DWORD, + pdwStatusRtrn: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetStringTypeExA( + Locale: LCID, + dwInfoType: DWORD, + lpSrcStr: LPCSTR, + cchSrc: ::std::os::raw::c_int, + lpCharType: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetStringTypeA( + Locale: LCID, + dwInfoType: DWORD, + lpSrcStr: LPCSTR, + cchSrc: ::std::os::raw::c_int, + lpCharType: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn FoldStringA( + dwMapFlags: DWORD, + lpSrcStr: LPCSTR, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPSTR, + cchDest: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn EnumSystemLocalesA(lpLocaleEnumProc: LOCALE_ENUMPROCA, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumSystemLocalesW(lpLocaleEnumProc: LOCALE_ENUMPROCW, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumSystemLanguageGroupsA( + lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCA, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumSystemLanguageGroupsW( + lpLanguageGroupEnumProc: LANGUAGEGROUP_ENUMPROCW, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumLanguageGroupLocalesA( + lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCA, + LanguageGroup: LGRPID, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumLanguageGroupLocalesW( + lpLangGroupLocaleEnumProc: LANGGROUPLOCALE_ENUMPROCW, + LanguageGroup: LGRPID, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumUILanguagesA( + lpUILanguageEnumProc: UILANGUAGE_ENUMPROCA, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumUILanguagesW( + lpUILanguageEnumProc: UILANGUAGE_ENUMPROCW, + dwFlags: DWORD, + lParam: LONG_PTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumSystemCodePagesA(lpCodePageEnumProc: CODEPAGE_ENUMPROCA, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn EnumSystemCodePagesW(lpCodePageEnumProc: CODEPAGE_ENUMPROCW, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn IdnToAscii( + dwFlags: DWORD, + lpUnicodeCharStr: LPCWSTR, + cchUnicodeChar: ::std::os::raw::c_int, + lpASCIICharStr: LPWSTR, + cchASCIIChar: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IdnToUnicode( + dwFlags: DWORD, + lpASCIICharStr: LPCWSTR, + cchASCIIChar: ::std::os::raw::c_int, + lpUnicodeCharStr: LPWSTR, + cchUnicodeChar: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IdnToNameprepUnicode( + dwFlags: DWORD, + lpUnicodeCharStr: LPCWSTR, + cchUnicodeChar: ::std::os::raw::c_int, + lpNameprepCharStr: LPWSTR, + cchNameprepChar: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn NormalizeString( + NormForm: NORM_FORM, + lpSrcString: LPCWSTR, + cwSrcLength: ::std::os::raw::c_int, + lpDstString: LPWSTR, + cwDstLength: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsNormalizedString( + NormForm: NORM_FORM, + lpString: LPCWSTR, + cwLength: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn VerifyScripts( + dwFlags: DWORD, + lpLocaleScripts: LPCWSTR, + cchLocaleScripts: ::std::os::raw::c_int, + lpTestScripts: LPCWSTR, + cchTestScripts: ::std::os::raw::c_int, + ) -> BOOL; +} +extern "C" { + pub fn GetStringScripts( + dwFlags: DWORD, + lpString: LPCWSTR, + cchString: ::std::os::raw::c_int, + lpScripts: LPWSTR, + cchScripts: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetLocaleInfoEx( + lpLocaleName: LPCWSTR, + LCType: LCTYPE, + lpLCData: LPWSTR, + cchData: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCalendarInfoEx( + lpLocaleName: LPCWSTR, + Calendar: CALID, + lpReserved: LPCWSTR, + CalType: CALTYPE, + lpCalData: LPWSTR, + cchData: ::std::os::raw::c_int, + lpValue: LPDWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetNumberFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpValue: LPCWSTR, + lpFormat: *const NUMBERFMTW, + lpNumberStr: LPWSTR, + cchNumber: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetCurrencyFormatEx( + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lpValue: LPCWSTR, + lpFormat: *const CURRENCYFMTW, + lpCurrencyStr: LPWSTR, + cchCurrency: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetUserDefaultLocaleName( + lpLocaleName: LPWSTR, + cchLocaleName: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetSystemDefaultLocaleName( + lpLocaleName: LPWSTR, + cchLocaleName: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsNLSDefinedString( + Function: NLS_FUNCTION, + dwFlags: DWORD, + lpVersionInformation: LPNLSVERSIONINFO, + lpString: LPCWSTR, + cchStr: INT, + ) -> BOOL; +} +extern "C" { + pub fn GetNLSVersionEx( + function: NLS_FUNCTION, + lpLocaleName: LPCWSTR, + lpVersionInformation: LPNLSVERSIONINFOEX, + ) -> BOOL; +} +extern "C" { + pub fn IsValidNLSVersion( + function: NLS_FUNCTION, + lpLocaleName: LPCWSTR, + lpVersionInformation: LPNLSVERSIONINFOEX, + ) -> DWORD; +} +extern "C" { + pub fn FindNLSStringEx( + lpLocaleName: LPCWSTR, + dwFindNLSStringFlags: DWORD, + lpStringSource: LPCWSTR, + cchSource: ::std::os::raw::c_int, + lpStringValue: LPCWSTR, + cchValue: ::std::os::raw::c_int, + pcchFound: LPINT, + lpVersionInformation: LPNLSVERSIONINFO, + lpReserved: LPVOID, + sortHandle: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn LCMapStringEx( + lpLocaleName: LPCWSTR, + dwMapFlags: DWORD, + lpSrcStr: LPCWSTR, + cchSrc: ::std::os::raw::c_int, + lpDestStr: LPWSTR, + cchDest: ::std::os::raw::c_int, + lpVersionInformation: LPNLSVERSIONINFO, + lpReserved: LPVOID, + sortHandle: LPARAM, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsValidLocaleName(lpLocaleName: LPCWSTR) -> BOOL; +} +pub type CALINFO_ENUMPROCEXEX = ::std::option::Option< + unsafe extern "C" fn(arg1: LPWSTR, arg2: CALID, arg3: LPWSTR, arg4: LPARAM) -> BOOL, +>; +extern "C" { + pub fn EnumCalendarInfoExEx( + pCalInfoEnumProcExEx: CALINFO_ENUMPROCEXEX, + lpLocaleName: LPCWSTR, + Calendar: CALID, + lpReserved: LPCWSTR, + CalType: CALTYPE, + lParam: LPARAM, + ) -> BOOL; +} +pub type DATEFMT_ENUMPROCEXEX = + ::std::option::Option BOOL>; +extern "C" { + pub fn EnumDateFormatsExEx( + lpDateFmtEnumProcExEx: DATEFMT_ENUMPROCEXEX, + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lParam: LPARAM, + ) -> BOOL; +} +pub type TIMEFMT_ENUMPROCEX = + ::std::option::Option BOOL>; +extern "C" { + pub fn EnumTimeFormatsEx( + lpTimeFmtEnumProcEx: TIMEFMT_ENUMPROCEX, + lpLocaleName: LPCWSTR, + dwFlags: DWORD, + lParam: LPARAM, + ) -> BOOL; +} +pub type LOCALE_ENUMPROCEX = + ::std::option::Option BOOL>; +extern "C" { + pub fn EnumSystemLocalesEx( + lpLocaleEnumProcEx: LOCALE_ENUMPROCEX, + dwFlags: DWORD, + lParam: LPARAM, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn ResolveLocaleName( + lpNameToResolve: LPCWSTR, + lpLocaleName: LPWSTR, + cchLocaleName: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COORD { + pub X: SHORT, + pub Y: SHORT, +} +#[test] +fn bindgen_test_layout__COORD() { + const UNINIT: ::std::mem::MaybeUninit<_COORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COORD>(), + 4usize, + concat!("Size of: ", stringify!(_COORD)) + ); + assert_eq!( + ::std::mem::align_of::<_COORD>(), + 2usize, + concat!("Alignment of ", stringify!(_COORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).X) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(_COORD), "::", stringify!(X)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Y) as usize - ptr as usize }, + 2usize, + concat!("Offset of field: ", stringify!(_COORD), "::", stringify!(Y)) + ); +} +pub type COORD = _COORD; +pub type PCOORD = *mut _COORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SMALL_RECT { + pub Left: SHORT, + pub Top: SHORT, + pub Right: SHORT, + pub Bottom: SHORT, +} +#[test] +fn bindgen_test_layout__SMALL_RECT() { + const UNINIT: ::std::mem::MaybeUninit<_SMALL_RECT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SMALL_RECT>(), + 8usize, + concat!("Size of: ", stringify!(_SMALL_RECT)) + ); + assert_eq!( + ::std::mem::align_of::<_SMALL_RECT>(), + 2usize, + concat!("Alignment of ", stringify!(_SMALL_RECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Left) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SMALL_RECT), + "::", + stringify!(Left) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Top) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SMALL_RECT), + "::", + stringify!(Top) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Right) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SMALL_RECT), + "::", + stringify!(Right) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bottom) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SMALL_RECT), + "::", + stringify!(Bottom) + ) + ); +} +pub type SMALL_RECT = _SMALL_RECT; +pub type PSMALL_RECT = *mut _SMALL_RECT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _KEY_EVENT_RECORD { + pub bKeyDown: BOOL, + pub wRepeatCount: WORD, + pub wVirtualKeyCode: WORD, + pub wVirtualScanCode: WORD, + pub uChar: _KEY_EVENT_RECORD__bindgen_ty_1, + pub dwControlKeyState: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _KEY_EVENT_RECORD__bindgen_ty_1 { + pub UnicodeChar: WCHAR, + pub AsciiChar: CHAR, +} +#[test] +fn bindgen_test_layout__KEY_EVENT_RECORD__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_KEY_EVENT_RECORD__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KEY_EVENT_RECORD__bindgen_ty_1>(), + 2usize, + concat!("Size of: ", stringify!(_KEY_EVENT_RECORD__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_KEY_EVENT_RECORD__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_KEY_EVENT_RECORD__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeChar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD__bindgen_ty_1), + "::", + stringify!(UnicodeChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsciiChar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD__bindgen_ty_1), + "::", + stringify!(AsciiChar) + ) + ); +} +#[test] +fn bindgen_test_layout__KEY_EVENT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_KEY_EVENT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KEY_EVENT_RECORD>(), + 16usize, + concat!("Size of: ", stringify!(_KEY_EVENT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_KEY_EVENT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_KEY_EVENT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bKeyDown) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(bKeyDown) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRepeatCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(wRepeatCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVirtualKeyCode) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(wVirtualKeyCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVirtualScanCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(wVirtualScanCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uChar) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(uChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlKeyState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_KEY_EVENT_RECORD), + "::", + stringify!(dwControlKeyState) + ) + ); +} +pub type KEY_EVENT_RECORD = _KEY_EVENT_RECORD; +pub type PKEY_EVENT_RECORD = *mut _KEY_EVENT_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MOUSE_EVENT_RECORD { + pub dwMousePosition: COORD, + pub dwButtonState: DWORD, + pub dwControlKeyState: DWORD, + pub dwEventFlags: DWORD, +} +#[test] +fn bindgen_test_layout__MOUSE_EVENT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_MOUSE_EVENT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MOUSE_EVENT_RECORD>(), + 16usize, + concat!("Size of: ", stringify!(_MOUSE_EVENT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_MOUSE_EVENT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_MOUSE_EVENT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMousePosition) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MOUSE_EVENT_RECORD), + "::", + stringify!(dwMousePosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwButtonState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MOUSE_EVENT_RECORD), + "::", + stringify!(dwButtonState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlKeyState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MOUSE_EVENT_RECORD), + "::", + stringify!(dwControlKeyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEventFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MOUSE_EVENT_RECORD), + "::", + stringify!(dwEventFlags) + ) + ); +} +pub type MOUSE_EVENT_RECORD = _MOUSE_EVENT_RECORD; +pub type PMOUSE_EVENT_RECORD = *mut _MOUSE_EVENT_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WINDOW_BUFFER_SIZE_RECORD { + pub dwSize: COORD, +} +#[test] +fn bindgen_test_layout__WINDOW_BUFFER_SIZE_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_WINDOW_BUFFER_SIZE_RECORD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WINDOW_BUFFER_SIZE_RECORD>(), + 4usize, + concat!("Size of: ", stringify!(_WINDOW_BUFFER_SIZE_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_WINDOW_BUFFER_SIZE_RECORD>(), + 2usize, + concat!("Alignment of ", stringify!(_WINDOW_BUFFER_SIZE_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WINDOW_BUFFER_SIZE_RECORD), + "::", + stringify!(dwSize) + ) + ); +} +pub type WINDOW_BUFFER_SIZE_RECORD = _WINDOW_BUFFER_SIZE_RECORD; +pub type PWINDOW_BUFFER_SIZE_RECORD = *mut _WINDOW_BUFFER_SIZE_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MENU_EVENT_RECORD { + pub dwCommandId: UINT, +} +#[test] +fn bindgen_test_layout__MENU_EVENT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_MENU_EVENT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MENU_EVENT_RECORD>(), + 4usize, + concat!("Size of: ", stringify!(_MENU_EVENT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_MENU_EVENT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_MENU_EVENT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCommandId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MENU_EVENT_RECORD), + "::", + stringify!(dwCommandId) + ) + ); +} +pub type MENU_EVENT_RECORD = _MENU_EVENT_RECORD; +pub type PMENU_EVENT_RECORD = *mut _MENU_EVENT_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FOCUS_EVENT_RECORD { + pub bSetFocus: BOOL, +} +#[test] +fn bindgen_test_layout__FOCUS_EVENT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_FOCUS_EVENT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FOCUS_EVENT_RECORD>(), + 4usize, + concat!("Size of: ", stringify!(_FOCUS_EVENT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_FOCUS_EVENT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_FOCUS_EVENT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSetFocus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FOCUS_EVENT_RECORD), + "::", + stringify!(bSetFocus) + ) + ); +} +pub type FOCUS_EVENT_RECORD = _FOCUS_EVENT_RECORD; +pub type PFOCUS_EVENT_RECORD = *mut _FOCUS_EVENT_RECORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _INPUT_RECORD { + pub EventType: WORD, + pub Event: _INPUT_RECORD__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _INPUT_RECORD__bindgen_ty_1 { + pub KeyEvent: KEY_EVENT_RECORD, + pub MouseEvent: MOUSE_EVENT_RECORD, + pub WindowBufferSizeEvent: WINDOW_BUFFER_SIZE_RECORD, + pub MenuEvent: MENU_EVENT_RECORD, + pub FocusEvent: FOCUS_EVENT_RECORD, +} +#[test] +fn bindgen_test_layout__INPUT_RECORD__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_INPUT_RECORD__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_INPUT_RECORD__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_INPUT_RECORD__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_INPUT_RECORD__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_INPUT_RECORD__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(KeyEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MouseEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(MouseEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WindowBufferSizeEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(WindowBufferSizeEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MenuEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(MenuEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FocusEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD__bindgen_ty_1), + "::", + stringify!(FocusEvent) + ) + ); +} +#[test] +fn bindgen_test_layout__INPUT_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_INPUT_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_INPUT_RECORD>(), + 20usize, + concat!("Size of: ", stringify!(_INPUT_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_INPUT_RECORD>(), + 4usize, + concat!("Alignment of ", stringify!(_INPUT_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD), + "::", + stringify!(EventType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Event) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_INPUT_RECORD), + "::", + stringify!(Event) + ) + ); +} +pub type INPUT_RECORD = _INPUT_RECORD; +pub type PINPUT_RECORD = *mut _INPUT_RECORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CHAR_INFO { + pub Char: _CHAR_INFO__bindgen_ty_1, + pub Attributes: WORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CHAR_INFO__bindgen_ty_1 { + pub UnicodeChar: WCHAR, + pub AsciiChar: CHAR, +} +#[test] +fn bindgen_test_layout__CHAR_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CHAR_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHAR_INFO__bindgen_ty_1>(), + 2usize, + concat!("Size of: ", stringify!(_CHAR_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CHAR_INFO__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_CHAR_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeChar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHAR_INFO__bindgen_ty_1), + "::", + stringify!(UnicodeChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsciiChar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHAR_INFO__bindgen_ty_1), + "::", + stringify!(AsciiChar) + ) + ); +} +#[test] +fn bindgen_test_layout__CHAR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CHAR_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHAR_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_CHAR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CHAR_INFO>(), + 2usize, + concat!("Alignment of ", stringify!(_CHAR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Char) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHAR_INFO), + "::", + stringify!(Char) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CHAR_INFO), + "::", + stringify!(Attributes) + ) + ); +} +pub type CHAR_INFO = _CHAR_INFO; +pub type PCHAR_INFO = *mut _CHAR_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_FONT_INFO { + pub nFont: DWORD, + pub dwFontSize: COORD, +} +#[test] +fn bindgen_test_layout__CONSOLE_FONT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_FONT_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_FONT_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CONSOLE_FONT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_FONT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_FONT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFont) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFO), + "::", + stringify!(nFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFontSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFO), + "::", + stringify!(dwFontSize) + ) + ); +} +pub type CONSOLE_FONT_INFO = _CONSOLE_FONT_INFO; +pub type PCONSOLE_FONT_INFO = *mut _CONSOLE_FONT_INFO; +pub type HPCON = *mut ::std::os::raw::c_void; +extern "C" { + pub fn AllocConsole() -> BOOL; +} +extern "C" { + pub fn FreeConsole() -> BOOL; +} +extern "C" { + pub fn AttachConsole(dwProcessId: DWORD) -> BOOL; +} +extern "C" { + pub fn GetConsoleCP() -> UINT; +} +extern "C" { + pub fn GetConsoleOutputCP() -> UINT; +} +extern "C" { + pub fn GetConsoleMode(hConsoleHandle: HANDLE, lpMode: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetConsoleMode(hConsoleHandle: HANDLE, dwMode: DWORD) -> BOOL; +} +extern "C" { + pub fn GetNumberOfConsoleInputEvents(hConsoleInput: HANDLE, lpNumberOfEvents: LPDWORD) -> BOOL; +} +extern "C" { + pub fn ReadConsoleInputA( + hConsoleInput: HANDLE, + lpBuffer: PINPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleInputW( + hConsoleInput: HANDLE, + lpBuffer: PINPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn PeekConsoleInputA( + hConsoleInput: HANDLE, + lpBuffer: PINPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn PeekConsoleInputW( + hConsoleInput: HANDLE, + lpBuffer: PINPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsRead: LPDWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_READCONSOLE_CONTROL { + pub nLength: ULONG, + pub nInitialChars: ULONG, + pub dwCtrlWakeupMask: ULONG, + pub dwControlKeyState: ULONG, +} +#[test] +fn bindgen_test_layout__CONSOLE_READCONSOLE_CONTROL() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_READCONSOLE_CONTROL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_READCONSOLE_CONTROL>(), + 16usize, + concat!("Size of: ", stringify!(_CONSOLE_READCONSOLE_CONTROL)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_READCONSOLE_CONTROL>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_READCONSOLE_CONTROL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_READCONSOLE_CONTROL), + "::", + stringify!(nLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nInitialChars) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_READCONSOLE_CONTROL), + "::", + stringify!(nInitialChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCtrlWakeupMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_READCONSOLE_CONTROL), + "::", + stringify!(dwCtrlWakeupMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlKeyState) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_READCONSOLE_CONTROL), + "::", + stringify!(dwControlKeyState) + ) + ); +} +pub type CONSOLE_READCONSOLE_CONTROL = _CONSOLE_READCONSOLE_CONTROL; +pub type PCONSOLE_READCONSOLE_CONTROL = *mut _CONSOLE_READCONSOLE_CONTROL; +extern "C" { + pub fn ReadConsoleA( + hConsoleInput: HANDLE, + lpBuffer: LPVOID, + nNumberOfCharsToRead: DWORD, + lpNumberOfCharsRead: LPDWORD, + pInputControl: PCONSOLE_READCONSOLE_CONTROL, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleW( + hConsoleInput: HANDLE, + lpBuffer: LPVOID, + nNumberOfCharsToRead: DWORD, + lpNumberOfCharsRead: LPDWORD, + pInputControl: PCONSOLE_READCONSOLE_CONTROL, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleA( + hConsoleOutput: HANDLE, + lpBuffer: *const ::std::os::raw::c_void, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: LPDWORD, + lpReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleW( + hConsoleOutput: HANDLE, + lpBuffer: *const ::std::os::raw::c_void, + nNumberOfCharsToWrite: DWORD, + lpNumberOfCharsWritten: LPDWORD, + lpReserved: LPVOID, + ) -> BOOL; +} +pub type PHANDLER_ROUTINE = ::std::option::Option BOOL>; +extern "C" { + pub fn SetConsoleCtrlHandler(HandlerRoutine: PHANDLER_ROUTINE, Add: BOOL) -> BOOL; +} +extern "C" { + pub fn CreatePseudoConsole( + size: COORD, + hInput: HANDLE, + hOutput: HANDLE, + dwFlags: DWORD, + phPC: *mut HPCON, + ) -> HRESULT; +} +extern "C" { + pub fn ResizePseudoConsole(hPC: HPCON, size: COORD) -> HRESULT; +} +extern "C" { + pub fn ClosePseudoConsole(hPC: HPCON); +} +extern "C" { + pub fn FillConsoleOutputCharacterA( + hConsoleOutput: HANDLE, + cCharacter: CHAR, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn FillConsoleOutputCharacterW( + hConsoleOutput: HANDLE, + cCharacter: WCHAR, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn FillConsoleOutputAttribute( + hConsoleOutput: HANDLE, + wAttribute: WORD, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfAttrsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GenerateConsoleCtrlEvent(dwCtrlEvent: DWORD, dwProcessGroupId: DWORD) -> BOOL; +} +extern "C" { + pub fn CreateConsoleScreenBuffer( + dwDesiredAccess: DWORD, + dwShareMode: DWORD, + lpSecurityAttributes: *const SECURITY_ATTRIBUTES, + dwFlags: DWORD, + lpScreenBufferData: LPVOID, + ) -> HANDLE; +} +extern "C" { + pub fn SetConsoleActiveScreenBuffer(hConsoleOutput: HANDLE) -> BOOL; +} +extern "C" { + pub fn FlushConsoleInputBuffer(hConsoleInput: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetConsoleCP(wCodePageID: UINT) -> BOOL; +} +extern "C" { + pub fn SetConsoleOutputCP(wCodePageID: UINT) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_CURSOR_INFO { + pub dwSize: DWORD, + pub bVisible: BOOL, +} +#[test] +fn bindgen_test_layout__CONSOLE_CURSOR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_CURSOR_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_CURSOR_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CONSOLE_CURSOR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_CURSOR_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_CURSOR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_CURSOR_INFO), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVisible) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_CURSOR_INFO), + "::", + stringify!(bVisible) + ) + ); +} +pub type CONSOLE_CURSOR_INFO = _CONSOLE_CURSOR_INFO; +pub type PCONSOLE_CURSOR_INFO = *mut _CONSOLE_CURSOR_INFO; +extern "C" { + pub fn GetConsoleCursorInfo( + hConsoleOutput: HANDLE, + lpConsoleCursorInfo: PCONSOLE_CURSOR_INFO, + ) -> BOOL; +} +extern "C" { + pub fn SetConsoleCursorInfo( + hConsoleOutput: HANDLE, + lpConsoleCursorInfo: *const CONSOLE_CURSOR_INFO, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_SCREEN_BUFFER_INFO { + pub dwSize: COORD, + pub dwCursorPosition: COORD, + pub wAttributes: WORD, + pub srWindow: SMALL_RECT, + pub dwMaximumWindowSize: COORD, +} +#[test] +fn bindgen_test_layout__CONSOLE_SCREEN_BUFFER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_SCREEN_BUFFER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_SCREEN_BUFFER_INFO>(), + 22usize, + concat!("Size of: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_SCREEN_BUFFER_INFO>(), + 2usize, + concat!("Alignment of ", stringify!(_CONSOLE_SCREEN_BUFFER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCursorPosition) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(dwCursorPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wAttributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(wAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).srWindow) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(srWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximumWindowSize) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFO), + "::", + stringify!(dwMaximumWindowSize) + ) + ); +} +pub type CONSOLE_SCREEN_BUFFER_INFO = _CONSOLE_SCREEN_BUFFER_INFO; +pub type PCONSOLE_SCREEN_BUFFER_INFO = *mut _CONSOLE_SCREEN_BUFFER_INFO; +extern "C" { + pub fn GetConsoleScreenBufferInfo( + hConsoleOutput: HANDLE, + lpConsoleScreenBufferInfo: PCONSOLE_SCREEN_BUFFER_INFO, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_SCREEN_BUFFER_INFOEX { + pub cbSize: ULONG, + pub dwSize: COORD, + pub dwCursorPosition: COORD, + pub wAttributes: WORD, + pub srWindow: SMALL_RECT, + pub dwMaximumWindowSize: COORD, + pub wPopupAttributes: WORD, + pub bFullscreenSupported: BOOL, + pub ColorTable: [COLORREF; 16usize], +} +#[test] +fn bindgen_test_layout__CONSOLE_SCREEN_BUFFER_INFOEX() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_SCREEN_BUFFER_INFOEX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_SCREEN_BUFFER_INFOEX>(), + 96usize, + concat!("Size of: ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_SCREEN_BUFFER_INFOEX>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCursorPosition) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(dwCursorPosition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wAttributes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(wAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).srWindow) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(srWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximumWindowSize) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(dwMaximumWindowSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPopupAttributes) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(wPopupAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bFullscreenSupported) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(bFullscreenSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ColorTable) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SCREEN_BUFFER_INFOEX), + "::", + stringify!(ColorTable) + ) + ); +} +pub type CONSOLE_SCREEN_BUFFER_INFOEX = _CONSOLE_SCREEN_BUFFER_INFOEX; +pub type PCONSOLE_SCREEN_BUFFER_INFOEX = *mut _CONSOLE_SCREEN_BUFFER_INFOEX; +extern "C" { + pub fn GetConsoleScreenBufferInfoEx( + hConsoleOutput: HANDLE, + lpConsoleScreenBufferInfoEx: PCONSOLE_SCREEN_BUFFER_INFOEX, + ) -> BOOL; +} +extern "C" { + pub fn SetConsoleScreenBufferInfoEx( + hConsoleOutput: HANDLE, + lpConsoleScreenBufferInfoEx: PCONSOLE_SCREEN_BUFFER_INFOEX, + ) -> BOOL; +} +extern "C" { + pub fn SetConsoleScreenBufferSize(hConsoleOutput: HANDLE, dwSize: COORD) -> BOOL; +} +extern "C" { + pub fn SetConsoleCursorPosition(hConsoleOutput: HANDLE, dwCursorPosition: COORD) -> BOOL; +} +extern "C" { + pub fn GetLargestConsoleWindowSize(hConsoleOutput: HANDLE) -> COORD; +} +extern "C" { + pub fn SetConsoleTextAttribute(hConsoleOutput: HANDLE, wAttributes: WORD) -> BOOL; +} +extern "C" { + pub fn SetConsoleWindowInfo( + hConsoleOutput: HANDLE, + bAbsolute: BOOL, + lpConsoleWindow: *const SMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputCharacterA( + hConsoleOutput: HANDLE, + lpCharacter: LPCSTR, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputCharacterW( + hConsoleOutput: HANDLE, + lpCharacter: LPCWSTR, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfCharsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputAttribute( + hConsoleOutput: HANDLE, + lpAttribute: *const WORD, + nLength: DWORD, + dwWriteCoord: COORD, + lpNumberOfAttrsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputCharacterA( + hConsoleOutput: HANDLE, + lpCharacter: LPSTR, + nLength: DWORD, + dwReadCoord: COORD, + lpNumberOfCharsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputCharacterW( + hConsoleOutput: HANDLE, + lpCharacter: LPWSTR, + nLength: DWORD, + dwReadCoord: COORD, + lpNumberOfCharsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputAttribute( + hConsoleOutput: HANDLE, + lpAttribute: LPWORD, + nLength: DWORD, + dwReadCoord: COORD, + lpNumberOfAttrsRead: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleInputA( + hConsoleInput: HANDLE, + lpBuffer: *const INPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleInputW( + hConsoleInput: HANDLE, + lpBuffer: *const INPUT_RECORD, + nLength: DWORD, + lpNumberOfEventsWritten: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ScrollConsoleScreenBufferA( + hConsoleOutput: HANDLE, + lpScrollRectangle: *const SMALL_RECT, + lpClipRectangle: *const SMALL_RECT, + dwDestinationOrigin: COORD, + lpFill: *const CHAR_INFO, + ) -> BOOL; +} +extern "C" { + pub fn ScrollConsoleScreenBufferW( + hConsoleOutput: HANDLE, + lpScrollRectangle: *const SMALL_RECT, + lpClipRectangle: *const SMALL_RECT, + dwDestinationOrigin: COORD, + lpFill: *const CHAR_INFO, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputA( + hConsoleOutput: HANDLE, + lpBuffer: *const CHAR_INFO, + dwBufferSize: COORD, + dwBufferCoord: COORD, + lpWriteRegion: PSMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn WriteConsoleOutputW( + hConsoleOutput: HANDLE, + lpBuffer: *const CHAR_INFO, + dwBufferSize: COORD, + dwBufferCoord: COORD, + lpWriteRegion: PSMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputA( + hConsoleOutput: HANDLE, + lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, + dwBufferCoord: COORD, + lpReadRegion: PSMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn ReadConsoleOutputW( + hConsoleOutput: HANDLE, + lpBuffer: PCHAR_INFO, + dwBufferSize: COORD, + dwBufferCoord: COORD, + lpReadRegion: PSMALL_RECT, + ) -> BOOL; +} +extern "C" { + pub fn GetConsoleTitleA(lpConsoleTitle: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetConsoleTitleW(lpConsoleTitle: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetConsoleOriginalTitleA(lpConsoleTitle: LPSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn GetConsoleOriginalTitleW(lpConsoleTitle: LPWSTR, nSize: DWORD) -> DWORD; +} +extern "C" { + pub fn SetConsoleTitleA(lpConsoleTitle: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetConsoleTitleW(lpConsoleTitle: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn GetNumberOfConsoleMouseButtons(lpNumberOfMouseButtons: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetConsoleFontSize(hConsoleOutput: HANDLE, nFont: DWORD) -> COORD; +} +extern "C" { + pub fn GetCurrentConsoleFont( + hConsoleOutput: HANDLE, + bMaximumWindow: BOOL, + lpConsoleCurrentFont: PCONSOLE_FONT_INFO, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_FONT_INFOEX { + pub cbSize: ULONG, + pub nFont: DWORD, + pub dwFontSize: COORD, + pub FontFamily: UINT, + pub FontWeight: UINT, + pub FaceName: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout__CONSOLE_FONT_INFOEX() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_FONT_INFOEX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_FONT_INFOEX>(), + 84usize, + concat!("Size of: ", stringify!(_CONSOLE_FONT_INFOEX)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_FONT_INFOEX>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_FONT_INFOEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFont) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(nFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFontSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(dwFontSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FontFamily) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(FontFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FontWeight) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(FontWeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FaceName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_FONT_INFOEX), + "::", + stringify!(FaceName) + ) + ); +} +pub type CONSOLE_FONT_INFOEX = _CONSOLE_FONT_INFOEX; +pub type PCONSOLE_FONT_INFOEX = *mut _CONSOLE_FONT_INFOEX; +extern "C" { + pub fn GetCurrentConsoleFontEx( + hConsoleOutput: HANDLE, + bMaximumWindow: BOOL, + lpConsoleCurrentFontEx: PCONSOLE_FONT_INFOEX, + ) -> BOOL; +} +extern "C" { + pub fn SetCurrentConsoleFontEx( + hConsoleOutput: HANDLE, + bMaximumWindow: BOOL, + lpConsoleCurrentFontEx: PCONSOLE_FONT_INFOEX, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_SELECTION_INFO { + pub dwFlags: DWORD, + pub dwSelectionAnchor: COORD, + pub srSelection: SMALL_RECT, +} +#[test] +fn bindgen_test_layout__CONSOLE_SELECTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_SELECTION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_SELECTION_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CONSOLE_SELECTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_SELECTION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_SELECTION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SELECTION_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSelectionAnchor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SELECTION_INFO), + "::", + stringify!(dwSelectionAnchor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).srSelection) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_SELECTION_INFO), + "::", + stringify!(srSelection) + ) + ); +} +pub type CONSOLE_SELECTION_INFO = _CONSOLE_SELECTION_INFO; +pub type PCONSOLE_SELECTION_INFO = *mut _CONSOLE_SELECTION_INFO; +extern "C" { + pub fn GetConsoleSelectionInfo(lpConsoleSelectionInfo: PCONSOLE_SELECTION_INFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONSOLE_HISTORY_INFO { + pub cbSize: UINT, + pub HistoryBufferSize: UINT, + pub NumberOfHistoryBuffers: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CONSOLE_HISTORY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CONSOLE_HISTORY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONSOLE_HISTORY_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CONSOLE_HISTORY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CONSOLE_HISTORY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CONSOLE_HISTORY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_HISTORY_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HistoryBufferSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_HISTORY_INFO), + "::", + stringify!(HistoryBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfHistoryBuffers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_HISTORY_INFO), + "::", + stringify!(NumberOfHistoryBuffers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CONSOLE_HISTORY_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CONSOLE_HISTORY_INFO = _CONSOLE_HISTORY_INFO; +pub type PCONSOLE_HISTORY_INFO = *mut _CONSOLE_HISTORY_INFO; +extern "C" { + pub fn GetConsoleHistoryInfo(lpConsoleHistoryInfo: PCONSOLE_HISTORY_INFO) -> BOOL; +} +extern "C" { + pub fn SetConsoleHistoryInfo(lpConsoleHistoryInfo: PCONSOLE_HISTORY_INFO) -> BOOL; +} +extern "C" { + pub fn GetConsoleDisplayMode(lpModeFlags: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetConsoleDisplayMode( + hConsoleOutput: HANDLE, + dwFlags: DWORD, + lpNewScreenBufferDimensions: PCOORD, + ) -> BOOL; +} +extern "C" { + pub fn GetConsoleWindow() -> HWND; +} +extern "C" { + pub fn AddConsoleAliasA(Source: LPSTR, Target: LPSTR, ExeName: LPSTR) -> BOOL; +} +extern "C" { + pub fn AddConsoleAliasW(Source: LPWSTR, Target: LPWSTR, ExeName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetConsoleAliasA( + Source: LPSTR, + TargetBuffer: LPSTR, + TargetBufferLength: DWORD, + ExeName: LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasW( + Source: LPWSTR, + TargetBuffer: LPWSTR, + TargetBufferLength: DWORD, + ExeName: LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasesLengthA(ExeName: LPSTR) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasesLengthW(ExeName: LPWSTR) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasExesLengthA() -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasExesLengthW() -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasesA( + AliasBuffer: LPSTR, + AliasBufferLength: DWORD, + ExeName: LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasesW( + AliasBuffer: LPWSTR, + AliasBufferLength: DWORD, + ExeName: LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasExesA(ExeNameBuffer: LPSTR, ExeNameBufferLength: DWORD) -> DWORD; +} +extern "C" { + pub fn GetConsoleAliasExesW(ExeNameBuffer: LPWSTR, ExeNameBufferLength: DWORD) -> DWORD; +} +extern "C" { + pub fn ExpungeConsoleCommandHistoryA(ExeName: LPSTR); +} +extern "C" { + pub fn ExpungeConsoleCommandHistoryW(ExeName: LPWSTR); +} +extern "C" { + pub fn SetConsoleNumberOfCommandsA(Number: DWORD, ExeName: LPSTR) -> BOOL; +} +extern "C" { + pub fn SetConsoleNumberOfCommandsW(Number: DWORD, ExeName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetConsoleCommandHistoryLengthA(ExeName: LPSTR) -> DWORD; +} +extern "C" { + pub fn GetConsoleCommandHistoryLengthW(ExeName: LPWSTR) -> DWORD; +} +extern "C" { + pub fn GetConsoleCommandHistoryA( + Commands: LPSTR, + CommandBufferLength: DWORD, + ExeName: LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleCommandHistoryW( + Commands: LPWSTR, + CommandBufferLength: DWORD, + ExeName: LPWSTR, + ) -> DWORD; +} +extern "C" { + pub fn GetConsoleProcessList(lpdwProcessList: LPDWORD, dwProcessCount: DWORD) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagVS_FIXEDFILEINFO { + pub dwSignature: DWORD, + pub dwStrucVersion: DWORD, + pub dwFileVersionMS: DWORD, + pub dwFileVersionLS: DWORD, + pub dwProductVersionMS: DWORD, + pub dwProductVersionLS: DWORD, + pub dwFileFlagsMask: DWORD, + pub dwFileFlags: DWORD, + pub dwFileOS: DWORD, + pub dwFileType: DWORD, + pub dwFileSubtype: DWORD, + pub dwFileDateMS: DWORD, + pub dwFileDateLS: DWORD, +} +#[test] +fn bindgen_test_layout_tagVS_FIXEDFILEINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagVS_FIXEDFILEINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagVS_FIXEDFILEINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStrucVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwStrucVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileVersionMS) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileVersionLS) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProductVersionMS) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwProductVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProductVersionLS) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwProductVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileFlagsMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileFlagsMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileFlags) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileOS) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileOS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileType) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileSubtype) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileSubtype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileDateMS) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileDateMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileDateLS) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagVS_FIXEDFILEINFO), + "::", + stringify!(dwFileDateLS) + ) + ); +} +pub type VS_FIXEDFILEINFO = tagVS_FIXEDFILEINFO; +extern "C" { + pub fn VerFindFileA( + uFlags: DWORD, + szFileName: LPCSTR, + szWinDir: LPCSTR, + szAppDir: LPCSTR, + szCurDir: LPSTR, + puCurDirLen: PUINT, + szDestDir: LPSTR, + puDestDirLen: PUINT, + ) -> DWORD; +} +extern "C" { + pub fn VerFindFileW( + uFlags: DWORD, + szFileName: LPCWSTR, + szWinDir: LPCWSTR, + szAppDir: LPCWSTR, + szCurDir: LPWSTR, + puCurDirLen: PUINT, + szDestDir: LPWSTR, + puDestDirLen: PUINT, + ) -> DWORD; +} +extern "C" { + pub fn VerInstallFileA( + uFlags: DWORD, + szSrcFileName: LPCSTR, + szDestFileName: LPCSTR, + szSrcDir: LPCSTR, + szDestDir: LPCSTR, + szCurDir: LPCSTR, + szTmpFile: LPSTR, + puTmpFileLen: PUINT, + ) -> DWORD; +} +extern "C" { + pub fn VerInstallFileW( + uFlags: DWORD, + szSrcFileName: LPCWSTR, + szDestFileName: LPCWSTR, + szSrcDir: LPCWSTR, + szDestDir: LPCWSTR, + szCurDir: LPCWSTR, + szTmpFile: LPWSTR, + puTmpFileLen: PUINT, + ) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoSizeA(lptstrFilename: LPCSTR, lpdwHandle: LPDWORD) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoSizeW(lptstrFilename: LPCWSTR, lpdwHandle: LPDWORD) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoA( + lptstrFilename: LPCSTR, + dwHandle: DWORD, + dwLen: DWORD, + lpData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn GetFileVersionInfoW( + lptstrFilename: LPCWSTR, + dwHandle: DWORD, + dwLen: DWORD, + lpData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn GetFileVersionInfoSizeExA( + dwFlags: DWORD, + lpwstrFilename: LPCSTR, + lpdwHandle: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoSizeExW( + dwFlags: DWORD, + lpwstrFilename: LPCWSTR, + lpdwHandle: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetFileVersionInfoExA( + dwFlags: DWORD, + lpwstrFilename: LPCSTR, + dwHandle: DWORD, + dwLen: DWORD, + lpData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn GetFileVersionInfoExW( + dwFlags: DWORD, + lpwstrFilename: LPCWSTR, + dwHandle: DWORD, + dwLen: DWORD, + lpData: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn VerLanguageNameA(wLang: DWORD, szLang: LPSTR, cchLang: DWORD) -> DWORD; +} +extern "C" { + pub fn VerLanguageNameW(wLang: DWORD, szLang: LPWSTR, cchLang: DWORD) -> DWORD; +} +extern "C" { + pub fn VerQueryValueA( + pBlock: LPCVOID, + lpSubBlock: LPCSTR, + lplpBuffer: *mut LPVOID, + puLen: PUINT, + ) -> BOOL; +} +extern "C" { + pub fn VerQueryValueW( + pBlock: LPCVOID, + lpSubBlock: LPCWSTR, + lplpBuffer: *mut LPVOID, + puLen: PUINT, + ) -> BOOL; +} +pub type LSTATUS = LONG; +pub type REGSAM = ACCESS_MASK; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct val_context { + pub valuelen: ::std::os::raw::c_int, + pub value_context: LPVOID, + pub val_buff_ptr: LPVOID, +} +#[test] +fn bindgen_test_layout_val_context() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(val_context)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(val_context)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).valuelen) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(val_context), + "::", + stringify!(valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value_context) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(val_context), + "::", + stringify!(value_context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).val_buff_ptr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(val_context), + "::", + stringify!(val_buff_ptr) + ) + ); +} +pub type PVALCONTEXT = *mut val_context; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pvalueA { + pub pv_valuename: LPSTR, + pub pv_valuelen: ::std::os::raw::c_int, + pub pv_value_context: LPVOID, + pub pv_type: DWORD, +} +#[test] +fn bindgen_test_layout_pvalueA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(pvalueA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pvalueA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_valuename) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pvalueA), + "::", + stringify!(pv_valuename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_valuelen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(pvalueA), + "::", + stringify!(pv_valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_value_context) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(pvalueA), + "::", + stringify!(pv_value_context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(pvalueA), + "::", + stringify!(pv_type) + ) + ); +} +pub type PVALUEA = pvalueA; +pub type PPVALUEA = *mut pvalueA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pvalueW { + pub pv_valuename: LPWSTR, + pub pv_valuelen: ::std::os::raw::c_int, + pub pv_value_context: LPVOID, + pub pv_type: DWORD, +} +#[test] +fn bindgen_test_layout_pvalueW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(pvalueW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pvalueW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_valuename) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pvalueW), + "::", + stringify!(pv_valuename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_valuelen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(pvalueW), + "::", + stringify!(pv_valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_value_context) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(pvalueW), + "::", + stringify!(pv_value_context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pv_type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(pvalueW), + "::", + stringify!(pv_type) + ) + ); +} +pub type PVALUEW = pvalueW; +pub type PPVALUEW = *mut pvalueW; +pub type PVALUE = PVALUEA; +pub type PPVALUE = PPVALUEA; +pub type PQUERYHANDLER = ::std::option::Option< + unsafe extern "C" fn( + arg1: LPVOID, + arg2: PVALCONTEXT, + arg3: DWORD, + arg4: LPVOID, + arg5: *mut DWORD, + arg6: DWORD, + ) -> DWORD, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct provider_info { + pub pi_R0_1val: PQUERYHANDLER, + pub pi_R0_allvals: PQUERYHANDLER, + pub pi_R3_1val: PQUERYHANDLER, + pub pi_R3_allvals: PQUERYHANDLER, + pub pi_flags: DWORD, + pub pi_key_context: LPVOID, +} +#[test] +fn bindgen_test_layout_provider_info() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(provider_info)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(provider_info)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_R0_1val) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_R0_1val) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_R0_allvals) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_R0_allvals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_R3_1val) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_R3_1val) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_R3_allvals) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_R3_allvals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pi_key_context) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(provider_info), + "::", + stringify!(pi_key_context) + ) + ); +} +pub type REG_PROVIDER = provider_info; +pub type PPROVIDER = *mut provider_info; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct value_entA { + pub ve_valuename: LPSTR, + pub ve_valuelen: DWORD, + pub ve_valueptr: DWORD_PTR, + pub ve_type: DWORD, +} +#[test] +fn bindgen_test_layout_value_entA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(value_entA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(value_entA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valuename) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(value_entA), + "::", + stringify!(ve_valuename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valuelen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(value_entA), + "::", + stringify!(ve_valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valueptr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(value_entA), + "::", + stringify!(ve_valueptr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(value_entA), + "::", + stringify!(ve_type) + ) + ); +} +pub type VALENTA = value_entA; +pub type PVALENTA = *mut value_entA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct value_entW { + pub ve_valuename: LPWSTR, + pub ve_valuelen: DWORD, + pub ve_valueptr: DWORD_PTR, + pub ve_type: DWORD, +} +#[test] +fn bindgen_test_layout_value_entW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(value_entW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(value_entW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valuename) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(value_entW), + "::", + stringify!(ve_valuename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valuelen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(value_entW), + "::", + stringify!(ve_valuelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_valueptr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(value_entW), + "::", + stringify!(ve_valueptr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ve_type) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(value_entW), + "::", + stringify!(ve_type) + ) + ); +} +pub type VALENTW = value_entW; +pub type PVALENTW = *mut value_entW; +pub type VALENT = VALENTA; +pub type PVALENT = PVALENTA; +extern "C" { + pub fn RegCloseKey(hKey: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegOverridePredefKey(hKey: HKEY, hNewHKey: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegOpenUserClassesRoot( + hToken: HANDLE, + dwOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenCurrentUser(samDesired: REGSAM, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegDisablePredefinedCache() -> LSTATUS; +} +extern "C" { + pub fn RegDisablePredefinedCacheEx() -> LSTATUS; +} +extern "C" { + pub fn RegConnectRegistryA(lpMachineName: LPCSTR, hKey: HKEY, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegConnectRegistryW(lpMachineName: LPCWSTR, hKey: HKEY, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegConnectRegistryExA( + lpMachineName: LPCSTR, + hKey: HKEY, + Flags: ULONG, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegConnectRegistryExW( + lpMachineName: LPCWSTR, + hKey: HKEY, + Flags: ULONG, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyA(hKey: HKEY, lpSubKey: LPCSTR, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyW(hKey: HKEY, lpSubKey: LPCWSTR, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyExA( + hKey: HKEY, + lpSubKey: LPCSTR, + Reserved: DWORD, + lpClass: LPSTR, + dwOptions: DWORD, + samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, + lpdwDisposition: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyExW( + hKey: HKEY, + lpSubKey: LPCWSTR, + Reserved: DWORD, + lpClass: LPWSTR, + dwOptions: DWORD, + samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, + lpdwDisposition: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyTransactedA( + hKey: HKEY, + lpSubKey: LPCSTR, + Reserved: DWORD, + lpClass: LPSTR, + dwOptions: DWORD, + samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, + lpdwDisposition: LPDWORD, + hTransaction: HANDLE, + pExtendedParemeter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCreateKeyTransactedW( + hKey: HKEY, + lpSubKey: LPCWSTR, + Reserved: DWORD, + lpClass: LPWSTR, + dwOptions: DWORD, + samDesired: REGSAM, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + phkResult: PHKEY, + lpdwDisposition: LPDWORD, + hTransaction: HANDLE, + pExtendedParemeter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyA(hKey: HKEY, lpSubKey: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyW(hKey: HKEY, lpSubKey: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyExA( + hKey: HKEY, + lpSubKey: LPCSTR, + samDesired: REGSAM, + Reserved: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyExW( + hKey: HKEY, + lpSubKey: LPCWSTR, + samDesired: REGSAM, + Reserved: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyTransactedA( + hKey: HKEY, + lpSubKey: LPCSTR, + samDesired: REGSAM, + Reserved: DWORD, + hTransaction: HANDLE, + pExtendedParameter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyTransactedW( + hKey: HKEY, + lpSubKey: LPCWSTR, + samDesired: REGSAM, + Reserved: DWORD, + hTransaction: HANDLE, + pExtendedParameter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDisableReflectionKey(hBase: HKEY) -> LONG; +} +extern "C" { + pub fn RegEnableReflectionKey(hBase: HKEY) -> LONG; +} +extern "C" { + pub fn RegQueryReflectionKey(hBase: HKEY, bIsReflectionDisabled: *mut BOOL) -> LONG; +} +extern "C" { + pub fn RegDeleteValueA(hKey: HKEY, lpValueName: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteValueW(hKey: HKEY, lpValueName: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegEnumKeyA(hKey: HKEY, dwIndex: DWORD, lpName: LPSTR, cchName: DWORD) -> LSTATUS; +} +extern "C" { + pub fn RegEnumKeyW(hKey: HKEY, dwIndex: DWORD, lpName: LPWSTR, cchName: DWORD) -> LSTATUS; +} +extern "C" { + pub fn RegEnumKeyExA( + hKey: HKEY, + dwIndex: DWORD, + lpName: LPSTR, + lpcchName: LPDWORD, + lpReserved: LPDWORD, + lpClass: LPSTR, + lpcchClass: LPDWORD, + lpftLastWriteTime: PFILETIME, + ) -> LSTATUS; +} +extern "C" { + pub fn RegEnumKeyExW( + hKey: HKEY, + dwIndex: DWORD, + lpName: LPWSTR, + lpcchName: LPDWORD, + lpReserved: LPDWORD, + lpClass: LPWSTR, + lpcchClass: LPDWORD, + lpftLastWriteTime: PFILETIME, + ) -> LSTATUS; +} +extern "C" { + pub fn RegEnumValueA( + hKey: HKEY, + dwIndex: DWORD, + lpValueName: LPSTR, + lpcchValueName: LPDWORD, + lpReserved: LPDWORD, + lpType: LPDWORD, + lpData: LPBYTE, + lpcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegEnumValueW( + hKey: HKEY, + dwIndex: DWORD, + lpValueName: LPWSTR, + lpcchValueName: LPDWORD, + lpReserved: LPDWORD, + lpType: LPDWORD, + lpData: LPBYTE, + lpcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegFlushKey(hKey: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegGetKeySecurity( + hKey: HKEY, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + lpcbSecurityDescriptor: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegLoadKeyA(hKey: HKEY, lpSubKey: LPCSTR, lpFile: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegLoadKeyW(hKey: HKEY, lpSubKey: LPCWSTR, lpFile: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegNotifyChangeKeyValue( + hKey: HKEY, + bWatchSubtree: BOOL, + dwNotifyFilter: DWORD, + hEvent: HANDLE, + fAsynchronous: BOOL, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyA(hKey: HKEY, lpSubKey: LPCSTR, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyW(hKey: HKEY, lpSubKey: LPCWSTR, phkResult: PHKEY) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyExA( + hKey: HKEY, + lpSubKey: LPCSTR, + ulOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyExW( + hKey: HKEY, + lpSubKey: LPCWSTR, + ulOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyTransactedA( + hKey: HKEY, + lpSubKey: LPCSTR, + ulOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + hTransaction: HANDLE, + pExtendedParemeter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegOpenKeyTransactedW( + hKey: HKEY, + lpSubKey: LPCWSTR, + ulOptions: DWORD, + samDesired: REGSAM, + phkResult: PHKEY, + hTransaction: HANDLE, + pExtendedParemeter: PVOID, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryInfoKeyA( + hKey: HKEY, + lpClass: LPSTR, + lpcchClass: LPDWORD, + lpReserved: LPDWORD, + lpcSubKeys: LPDWORD, + lpcbMaxSubKeyLen: LPDWORD, + lpcbMaxClassLen: LPDWORD, + lpcValues: LPDWORD, + lpcbMaxValueNameLen: LPDWORD, + lpcbMaxValueLen: LPDWORD, + lpcbSecurityDescriptor: LPDWORD, + lpftLastWriteTime: PFILETIME, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryInfoKeyW( + hKey: HKEY, + lpClass: LPWSTR, + lpcchClass: LPDWORD, + lpReserved: LPDWORD, + lpcSubKeys: LPDWORD, + lpcbMaxSubKeyLen: LPDWORD, + lpcbMaxClassLen: LPDWORD, + lpcValues: LPDWORD, + lpcbMaxValueNameLen: LPDWORD, + lpcbMaxValueLen: LPDWORD, + lpcbSecurityDescriptor: LPDWORD, + lpftLastWriteTime: PFILETIME, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryValueA(hKey: HKEY, lpSubKey: LPCSTR, lpData: LPSTR, lpcbData: PLONG) -> LSTATUS; +} +extern "C" { + pub fn RegQueryValueW( + hKey: HKEY, + lpSubKey: LPCWSTR, + lpData: LPWSTR, + lpcbData: PLONG, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryMultipleValuesA( + hKey: HKEY, + val_list: PVALENTA, + num_vals: DWORD, + lpValueBuf: LPSTR, + ldwTotsize: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryMultipleValuesW( + hKey: HKEY, + val_list: PVALENTW, + num_vals: DWORD, + lpValueBuf: LPWSTR, + ldwTotsize: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryValueExA( + hKey: HKEY, + lpValueName: LPCSTR, + lpReserved: LPDWORD, + lpType: LPDWORD, + lpData: LPBYTE, + lpcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegQueryValueExW( + hKey: HKEY, + lpValueName: LPCWSTR, + lpReserved: LPDWORD, + lpType: LPDWORD, + lpData: LPBYTE, + lpcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegReplaceKeyA( + hKey: HKEY, + lpSubKey: LPCSTR, + lpNewFile: LPCSTR, + lpOldFile: LPCSTR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegReplaceKeyW( + hKey: HKEY, + lpSubKey: LPCWSTR, + lpNewFile: LPCWSTR, + lpOldFile: LPCWSTR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegRestoreKeyA(hKey: HKEY, lpFile: LPCSTR, dwFlags: DWORD) -> LSTATUS; +} +extern "C" { + pub fn RegRestoreKeyW(hKey: HKEY, lpFile: LPCWSTR, dwFlags: DWORD) -> LSTATUS; +} +extern "C" { + pub fn RegRenameKey(hKey: HKEY, lpSubKeyName: LPCWSTR, lpNewKeyName: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegSaveKeyA( + hKey: HKEY, + lpFile: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSaveKeyW( + hKey: HKEY, + lpFile: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetKeySecurity( + hKey: HKEY, + SecurityInformation: SECURITY_INFORMATION, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetValueA( + hKey: HKEY, + lpSubKey: LPCSTR, + dwType: DWORD, + lpData: LPCSTR, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetValueW( + hKey: HKEY, + lpSubKey: LPCWSTR, + dwType: DWORD, + lpData: LPCWSTR, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetValueExA( + hKey: HKEY, + lpValueName: LPCSTR, + Reserved: DWORD, + dwType: DWORD, + lpData: *const BYTE, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetValueExW( + hKey: HKEY, + lpValueName: LPCWSTR, + Reserved: DWORD, + dwType: DWORD, + lpData: *const BYTE, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegUnLoadKeyA(hKey: HKEY, lpSubKey: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegUnLoadKeyW(hKey: HKEY, lpSubKey: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyValueA(hKey: HKEY, lpSubKey: LPCSTR, lpValueName: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteKeyValueW(hKey: HKEY, lpSubKey: LPCWSTR, lpValueName: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegSetKeyValueA( + hKey: HKEY, + lpSubKey: LPCSTR, + lpValueName: LPCSTR, + dwType: DWORD, + lpData: LPCVOID, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSetKeyValueW( + hKey: HKEY, + lpSubKey: LPCWSTR, + lpValueName: LPCWSTR, + dwType: DWORD, + lpData: LPCVOID, + cbData: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteTreeA(hKey: HKEY, lpSubKey: LPCSTR) -> LSTATUS; +} +extern "C" { + pub fn RegDeleteTreeW(hKey: HKEY, lpSubKey: LPCWSTR) -> LSTATUS; +} +extern "C" { + pub fn RegCopyTreeA(hKeySrc: HKEY, lpSubKey: LPCSTR, hKeyDest: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegGetValueA( + hkey: HKEY, + lpSubKey: LPCSTR, + lpValue: LPCSTR, + dwFlags: DWORD, + pdwType: LPDWORD, + pvData: PVOID, + pcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegGetValueW( + hkey: HKEY, + lpSubKey: LPCWSTR, + lpValue: LPCWSTR, + dwFlags: DWORD, + pdwType: LPDWORD, + pvData: PVOID, + pcbData: LPDWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegCopyTreeW(hKeySrc: HKEY, lpSubKey: LPCWSTR, hKeyDest: HKEY) -> LSTATUS; +} +extern "C" { + pub fn RegLoadMUIStringA( + hKey: HKEY, + pszValue: LPCSTR, + pszOutBuf: LPSTR, + cbOutBuf: DWORD, + pcbData: LPDWORD, + Flags: DWORD, + pszDirectory: LPCSTR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegLoadMUIStringW( + hKey: HKEY, + pszValue: LPCWSTR, + pszOutBuf: LPWSTR, + cbOutBuf: DWORD, + pcbData: LPDWORD, + Flags: DWORD, + pszDirectory: LPCWSTR, + ) -> LSTATUS; +} +extern "C" { + pub fn RegLoadAppKeyA( + lpFile: LPCSTR, + phkResult: PHKEY, + samDesired: REGSAM, + dwOptions: DWORD, + Reserved: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegLoadAppKeyW( + lpFile: LPCWSTR, + phkResult: PHKEY, + samDesired: REGSAM, + dwOptions: DWORD, + Reserved: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn InitiateSystemShutdownA( + lpMachineName: LPSTR, + lpMessage: LPSTR, + dwTimeout: DWORD, + bForceAppsClosed: BOOL, + bRebootAfterShutdown: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn InitiateSystemShutdownW( + lpMachineName: LPWSTR, + lpMessage: LPWSTR, + dwTimeout: DWORD, + bForceAppsClosed: BOOL, + bRebootAfterShutdown: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn AbortSystemShutdownA(lpMachineName: LPSTR) -> BOOL; +} +extern "C" { + pub fn AbortSystemShutdownW(lpMachineName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn InitiateSystemShutdownExA( + lpMachineName: LPSTR, + lpMessage: LPSTR, + dwTimeout: DWORD, + bForceAppsClosed: BOOL, + bRebootAfterShutdown: BOOL, + dwReason: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitiateSystemShutdownExW( + lpMachineName: LPWSTR, + lpMessage: LPWSTR, + dwTimeout: DWORD, + bForceAppsClosed: BOOL, + bRebootAfterShutdown: BOOL, + dwReason: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn InitiateShutdownA( + lpMachineName: LPSTR, + lpMessage: LPSTR, + dwGracePeriod: DWORD, + dwShutdownFlags: DWORD, + dwReason: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn InitiateShutdownW( + lpMachineName: LPWSTR, + lpMessage: LPWSTR, + dwGracePeriod: DWORD, + dwShutdownFlags: DWORD, + dwReason: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CheckForHiberboot(pHiberboot: PBOOLEAN, bClearFlag: BOOLEAN) -> DWORD; +} +extern "C" { + pub fn RegSaveKeyExA( + hKey: HKEY, + lpFile: LPCSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + Flags: DWORD, + ) -> LSTATUS; +} +extern "C" { + pub fn RegSaveKeyExW( + hKey: HKEY, + lpFile: LPCWSTR, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + Flags: DWORD, + ) -> LSTATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETRESOURCEA { + pub dwScope: DWORD, + pub dwType: DWORD, + pub dwDisplayType: DWORD, + pub dwUsage: DWORD, + pub lpLocalName: LPSTR, + pub lpRemoteName: LPSTR, + pub lpComment: LPSTR, + pub lpProvider: LPSTR, +} +#[test] +fn bindgen_test_layout__NETRESOURCEA() { + const UNINIT: ::std::mem::MaybeUninit<_NETRESOURCEA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETRESOURCEA>(), + 48usize, + concat!("Size of: ", stringify!(_NETRESOURCEA)) + ); + assert_eq!( + ::std::mem::align_of::<_NETRESOURCEA>(), + 8usize, + concat!("Alignment of ", stringify!(_NETRESOURCEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwScope) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(dwScope) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDisplayType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(dwDisplayType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUsage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(dwUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLocalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(lpLocalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemoteName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(lpRemoteName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpComment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(lpComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProvider) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEA), + "::", + stringify!(lpProvider) + ) + ); +} +pub type NETRESOURCEA = _NETRESOURCEA; +pub type LPNETRESOURCEA = *mut _NETRESOURCEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETRESOURCEW { + pub dwScope: DWORD, + pub dwType: DWORD, + pub dwDisplayType: DWORD, + pub dwUsage: DWORD, + pub lpLocalName: LPWSTR, + pub lpRemoteName: LPWSTR, + pub lpComment: LPWSTR, + pub lpProvider: LPWSTR, +} +#[test] +fn bindgen_test_layout__NETRESOURCEW() { + const UNINIT: ::std::mem::MaybeUninit<_NETRESOURCEW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETRESOURCEW>(), + 48usize, + concat!("Size of: ", stringify!(_NETRESOURCEW)) + ); + assert_eq!( + ::std::mem::align_of::<_NETRESOURCEW>(), + 8usize, + concat!("Alignment of ", stringify!(_NETRESOURCEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwScope) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(dwScope) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDisplayType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(dwDisplayType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUsage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(dwUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLocalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(lpLocalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemoteName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(lpRemoteName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpComment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(lpComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProvider) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NETRESOURCEW), + "::", + stringify!(lpProvider) + ) + ); +} +pub type NETRESOURCEW = _NETRESOURCEW; +pub type LPNETRESOURCEW = *mut _NETRESOURCEW; +pub type NETRESOURCE = NETRESOURCEA; +pub type LPNETRESOURCE = LPNETRESOURCEA; +extern "C" { + pub fn WNetAddConnectionA( + lpRemoteName: LPCSTR, + lpPassword: LPCSTR, + lpLocalName: LPCSTR, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnectionW( + lpRemoteName: LPCWSTR, + lpPassword: LPCWSTR, + lpLocalName: LPCWSTR, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection2A( + lpNetResource: LPNETRESOURCEA, + lpPassword: LPCSTR, + lpUserName: LPCSTR, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection2W( + lpNetResource: LPNETRESOURCEW, + lpPassword: LPCWSTR, + lpUserName: LPCWSTR, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection3A( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEA, + lpPassword: LPCSTR, + lpUserName: LPCSTR, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection3W( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEW, + lpPassword: LPCWSTR, + lpUserName: LPCWSTR, + dwFlags: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection4A( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEA, + pAuthBuffer: PVOID, + cbAuthBuffer: DWORD, + dwFlags: DWORD, + lpUseOptions: PBYTE, + cbUseOptions: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetAddConnection4W( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEW, + pAuthBuffer: PVOID, + cbAuthBuffer: DWORD, + dwFlags: DWORD, + lpUseOptions: PBYTE, + cbUseOptions: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetCancelConnectionA(lpName: LPCSTR, fForce: BOOL) -> DWORD; +} +extern "C" { + pub fn WNetCancelConnectionW(lpName: LPCWSTR, fForce: BOOL) -> DWORD; +} +extern "C" { + pub fn WNetCancelConnection2A(lpName: LPCSTR, dwFlags: DWORD, fForce: BOOL) -> DWORD; +} +extern "C" { + pub fn WNetCancelConnection2W(lpName: LPCWSTR, dwFlags: DWORD, fForce: BOOL) -> DWORD; +} +extern "C" { + pub fn WNetGetConnectionA( + lpLocalName: LPCSTR, + lpRemoteName: LPSTR, + lpnLength: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetConnectionW( + lpLocalName: LPCWSTR, + lpRemoteName: LPWSTR, + lpnLength: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetRestoreSingleConnectionW(hwndParent: HWND, lpDevice: LPCWSTR, fUseUI: BOOL) + -> DWORD; +} +extern "C" { + pub fn WNetUseConnectionA( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEA, + lpPassword: LPCSTR, + lpUserId: LPCSTR, + dwFlags: DWORD, + lpAccessName: LPSTR, + lpBufferSize: LPDWORD, + lpResult: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetUseConnectionW( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEW, + lpPassword: LPCWSTR, + lpUserId: LPCWSTR, + dwFlags: DWORD, + lpAccessName: LPWSTR, + lpBufferSize: LPDWORD, + lpResult: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetUseConnection4A( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEA, + pAuthBuffer: PVOID, + cbAuthBuffer: DWORD, + dwFlags: DWORD, + lpUseOptions: PBYTE, + cbUseOptions: DWORD, + lpAccessName: LPSTR, + lpBufferSize: LPDWORD, + lpResult: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetUseConnection4W( + hwndOwner: HWND, + lpNetResource: LPNETRESOURCEW, + pAuthBuffer: PVOID, + cbAuthBuffer: DWORD, + dwFlags: DWORD, + lpUseOptions: PBYTE, + cbUseOptions: DWORD, + lpAccessName: LPWSTR, + lpBufferSize: LPDWORD, + lpResult: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetConnectionDialog(hwnd: HWND, dwType: DWORD) -> DWORD; +} +extern "C" { + pub fn WNetDisconnectDialog(hwnd: HWND, dwType: DWORD) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONNECTDLGSTRUCTA { + pub cbStructure: DWORD, + pub hwndOwner: HWND, + pub lpConnRes: LPNETRESOURCEA, + pub dwFlags: DWORD, + pub dwDevNum: DWORD, +} +#[test] +fn bindgen_test_layout__CONNECTDLGSTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit<_CONNECTDLGSTRUCTA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONNECTDLGSTRUCTA>(), + 32usize, + concat!("Size of: ", stringify!(_CONNECTDLGSTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::<_CONNECTDLGSTRUCTA>(), + 8usize, + concat!("Alignment of ", stringify!(_CONNECTDLGSTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpConnRes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(lpConnRes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevNum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTA), + "::", + stringify!(dwDevNum) + ) + ); +} +pub type CONNECTDLGSTRUCTA = _CONNECTDLGSTRUCTA; +pub type LPCONNECTDLGSTRUCTA = *mut _CONNECTDLGSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONNECTDLGSTRUCTW { + pub cbStructure: DWORD, + pub hwndOwner: HWND, + pub lpConnRes: LPNETRESOURCEW, + pub dwFlags: DWORD, + pub dwDevNum: DWORD, +} +#[test] +fn bindgen_test_layout__CONNECTDLGSTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit<_CONNECTDLGSTRUCTW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONNECTDLGSTRUCTW>(), + 32usize, + concat!("Size of: ", stringify!(_CONNECTDLGSTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::<_CONNECTDLGSTRUCTW>(), + 8usize, + concat!("Alignment of ", stringify!(_CONNECTDLGSTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpConnRes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(lpConnRes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevNum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CONNECTDLGSTRUCTW), + "::", + stringify!(dwDevNum) + ) + ); +} +pub type CONNECTDLGSTRUCTW = _CONNECTDLGSTRUCTW; +pub type LPCONNECTDLGSTRUCTW = *mut _CONNECTDLGSTRUCTW; +pub type CONNECTDLGSTRUCT = CONNECTDLGSTRUCTA; +pub type LPCONNECTDLGSTRUCT = LPCONNECTDLGSTRUCTA; +extern "C" { + pub fn WNetConnectionDialog1A(lpConnDlgStruct: LPCONNECTDLGSTRUCTA) -> DWORD; +} +extern "C" { + pub fn WNetConnectionDialog1W(lpConnDlgStruct: LPCONNECTDLGSTRUCTW) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISCDLGSTRUCTA { + pub cbStructure: DWORD, + pub hwndOwner: HWND, + pub lpLocalName: LPSTR, + pub lpRemoteName: LPSTR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__DISCDLGSTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit<_DISCDLGSTRUCTA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISCDLGSTRUCTA>(), + 40usize, + concat!("Size of: ", stringify!(_DISCDLGSTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::<_DISCDLGSTRUCTA>(), + 8usize, + concat!("Alignment of ", stringify!(_DISCDLGSTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLocalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(lpLocalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemoteName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(lpRemoteName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTA), + "::", + stringify!(dwFlags) + ) + ); +} +pub type DISCDLGSTRUCTA = _DISCDLGSTRUCTA; +pub type LPDISCDLGSTRUCTA = *mut _DISCDLGSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISCDLGSTRUCTW { + pub cbStructure: DWORD, + pub hwndOwner: HWND, + pub lpLocalName: LPWSTR, + pub lpRemoteName: LPWSTR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__DISCDLGSTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit<_DISCDLGSTRUCTW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISCDLGSTRUCTW>(), + 40usize, + concat!("Size of: ", stringify!(_DISCDLGSTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::<_DISCDLGSTRUCTW>(), + 8usize, + concat!("Alignment of ", stringify!(_DISCDLGSTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLocalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(lpLocalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemoteName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(lpRemoteName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISCDLGSTRUCTW), + "::", + stringify!(dwFlags) + ) + ); +} +pub type DISCDLGSTRUCTW = _DISCDLGSTRUCTW; +pub type LPDISCDLGSTRUCTW = *mut _DISCDLGSTRUCTW; +pub type DISCDLGSTRUCT = DISCDLGSTRUCTA; +pub type LPDISCDLGSTRUCT = LPDISCDLGSTRUCTA; +extern "C" { + pub fn WNetDisconnectDialog1A(lpConnDlgStruct: LPDISCDLGSTRUCTA) -> DWORD; +} +extern "C" { + pub fn WNetDisconnectDialog1W(lpConnDlgStruct: LPDISCDLGSTRUCTW) -> DWORD; +} +extern "C" { + pub fn WNetOpenEnumA( + dwScope: DWORD, + dwType: DWORD, + dwUsage: DWORD, + lpNetResource: LPNETRESOURCEA, + lphEnum: LPHANDLE, + ) -> DWORD; +} +extern "C" { + pub fn WNetOpenEnumW( + dwScope: DWORD, + dwType: DWORD, + dwUsage: DWORD, + lpNetResource: LPNETRESOURCEW, + lphEnum: LPHANDLE, + ) -> DWORD; +} +extern "C" { + pub fn WNetEnumResourceA( + hEnum: HANDLE, + lpcCount: LPDWORD, + lpBuffer: LPVOID, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetEnumResourceW( + hEnum: HANDLE, + lpcCount: LPDWORD, + lpBuffer: LPVOID, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetCloseEnum(hEnum: HANDLE) -> DWORD; +} +extern "C" { + pub fn WNetGetResourceParentA( + lpNetResource: LPNETRESOURCEA, + lpBuffer: LPVOID, + lpcbBuffer: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetResourceParentW( + lpNetResource: LPNETRESOURCEW, + lpBuffer: LPVOID, + lpcbBuffer: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetResourceInformationA( + lpNetResource: LPNETRESOURCEA, + lpBuffer: LPVOID, + lpcbBuffer: LPDWORD, + lplpSystem: *mut LPSTR, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetResourceInformationW( + lpNetResource: LPNETRESOURCEW, + lpBuffer: LPVOID, + lpcbBuffer: LPDWORD, + lplpSystem: *mut LPWSTR, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNIVERSAL_NAME_INFOA { + pub lpUniversalName: LPSTR, +} +#[test] +fn bindgen_test_layout__UNIVERSAL_NAME_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_UNIVERSAL_NAME_INFOA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNIVERSAL_NAME_INFOA>(), + 8usize, + concat!("Size of: ", stringify!(_UNIVERSAL_NAME_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_UNIVERSAL_NAME_INFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_UNIVERSAL_NAME_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpUniversalName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNIVERSAL_NAME_INFOA), + "::", + stringify!(lpUniversalName) + ) + ); +} +pub type UNIVERSAL_NAME_INFOA = _UNIVERSAL_NAME_INFOA; +pub type LPUNIVERSAL_NAME_INFOA = *mut _UNIVERSAL_NAME_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UNIVERSAL_NAME_INFOW { + pub lpUniversalName: LPWSTR, +} +#[test] +fn bindgen_test_layout__UNIVERSAL_NAME_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_UNIVERSAL_NAME_INFOW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UNIVERSAL_NAME_INFOW>(), + 8usize, + concat!("Size of: ", stringify!(_UNIVERSAL_NAME_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_UNIVERSAL_NAME_INFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_UNIVERSAL_NAME_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpUniversalName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UNIVERSAL_NAME_INFOW), + "::", + stringify!(lpUniversalName) + ) + ); +} +pub type UNIVERSAL_NAME_INFOW = _UNIVERSAL_NAME_INFOW; +pub type LPUNIVERSAL_NAME_INFOW = *mut _UNIVERSAL_NAME_INFOW; +pub type UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFOA; +pub type LPUNIVERSAL_NAME_INFO = LPUNIVERSAL_NAME_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REMOTE_NAME_INFOA { + pub lpUniversalName: LPSTR, + pub lpConnectionName: LPSTR, + pub lpRemainingPath: LPSTR, +} +#[test] +fn bindgen_test_layout__REMOTE_NAME_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_REMOTE_NAME_INFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REMOTE_NAME_INFOA>(), + 24usize, + concat!("Size of: ", stringify!(_REMOTE_NAME_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_REMOTE_NAME_INFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_REMOTE_NAME_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpUniversalName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOA), + "::", + stringify!(lpUniversalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpConnectionName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOA), + "::", + stringify!(lpConnectionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemainingPath) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOA), + "::", + stringify!(lpRemainingPath) + ) + ); +} +pub type REMOTE_NAME_INFOA = _REMOTE_NAME_INFOA; +pub type LPREMOTE_NAME_INFOA = *mut _REMOTE_NAME_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REMOTE_NAME_INFOW { + pub lpUniversalName: LPWSTR, + pub lpConnectionName: LPWSTR, + pub lpRemainingPath: LPWSTR, +} +#[test] +fn bindgen_test_layout__REMOTE_NAME_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_REMOTE_NAME_INFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REMOTE_NAME_INFOW>(), + 24usize, + concat!("Size of: ", stringify!(_REMOTE_NAME_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_REMOTE_NAME_INFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_REMOTE_NAME_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpUniversalName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOW), + "::", + stringify!(lpUniversalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpConnectionName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOW), + "::", + stringify!(lpConnectionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRemainingPath) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REMOTE_NAME_INFOW), + "::", + stringify!(lpRemainingPath) + ) + ); +} +pub type REMOTE_NAME_INFOW = _REMOTE_NAME_INFOW; +pub type LPREMOTE_NAME_INFOW = *mut _REMOTE_NAME_INFOW; +pub type REMOTE_NAME_INFO = REMOTE_NAME_INFOA; +pub type LPREMOTE_NAME_INFO = LPREMOTE_NAME_INFOA; +extern "C" { + pub fn WNetGetUniversalNameA( + lpLocalPath: LPCSTR, + dwInfoLevel: DWORD, + lpBuffer: LPVOID, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetUniversalNameW( + lpLocalPath: LPCWSTR, + dwInfoLevel: DWORD, + lpBuffer: LPVOID, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetUserA(lpName: LPCSTR, lpUserName: LPSTR, lpnLength: LPDWORD) -> DWORD; +} +extern "C" { + pub fn WNetGetUserW(lpName: LPCWSTR, lpUserName: LPWSTR, lpnLength: LPDWORD) -> DWORD; +} +extern "C" { + pub fn WNetGetProviderNameA( + dwNetType: DWORD, + lpProviderName: LPSTR, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetProviderNameW( + dwNetType: DWORD, + lpProviderName: LPWSTR, + lpBufferSize: LPDWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETINFOSTRUCT { + pub cbStructure: DWORD, + pub dwProviderVersion: DWORD, + pub dwStatus: DWORD, + pub dwCharacteristics: DWORD, + pub dwHandle: ULONG_PTR, + pub wNetType: WORD, + pub dwPrinters: DWORD, + pub dwDrives: DWORD, +} +#[test] +fn bindgen_test_layout__NETINFOSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_NETINFOSTRUCT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETINFOSTRUCT>(), + 40usize, + concat!("Size of: ", stringify!(_NETINFOSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_NETINFOSTRUCT>(), + 8usize, + concat!("Alignment of ", stringify!(_NETINFOSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwProviderVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCharacteristics) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwCharacteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHandle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNetType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(wNetType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPrinters) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwPrinters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDrives) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NETINFOSTRUCT), + "::", + stringify!(dwDrives) + ) + ); +} +pub type NETINFOSTRUCT = _NETINFOSTRUCT; +pub type LPNETINFOSTRUCT = *mut _NETINFOSTRUCT; +extern "C" { + pub fn WNetGetNetworkInformationA( + lpProvider: LPCSTR, + lpNetInfoStruct: LPNETINFOSTRUCT, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetNetworkInformationW( + lpProvider: LPCWSTR, + lpNetInfoStruct: LPNETINFOSTRUCT, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetLastErrorA( + lpError: LPDWORD, + lpErrorBuf: LPSTR, + nErrorBufSize: DWORD, + lpNameBuf: LPSTR, + nNameBufSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn WNetGetLastErrorW( + lpError: LPDWORD, + lpErrorBuf: LPWSTR, + nErrorBufSize: DWORD, + lpNameBuf: LPWSTR, + nNameBufSize: DWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NETCONNECTINFOSTRUCT { + pub cbStructure: DWORD, + pub dwFlags: DWORD, + pub dwSpeed: DWORD, + pub dwDelay: DWORD, + pub dwOptDataSize: DWORD, +} +#[test] +fn bindgen_test_layout__NETCONNECTINFOSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_NETCONNECTINFOSTRUCT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NETCONNECTINFOSTRUCT>(), + 20usize, + concat!("Size of: ", stringify!(_NETCONNECTINFOSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_NETCONNECTINFOSTRUCT>(), + 4usize, + concat!("Alignment of ", stringify!(_NETCONNECTINFOSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStructure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(cbStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(dwSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDelay) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(dwDelay) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptDataSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NETCONNECTINFOSTRUCT), + "::", + stringify!(dwOptDataSize) + ) + ); +} +pub type NETCONNECTINFOSTRUCT = _NETCONNECTINFOSTRUCT; +pub type LPNETCONNECTINFOSTRUCT = *mut _NETCONNECTINFOSTRUCT; +extern "C" { + pub fn MultinetGetConnectionPerformanceA( + lpNetResource: LPNETRESOURCEA, + lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT, + ) -> DWORD; +} +extern "C" { + pub fn MultinetGetConnectionPerformanceW( + lpNetResource: LPNETRESOURCEW, + lpNetConnectInfoStruct: LPNETCONNECTINFOSTRUCT, + ) -> DWORD; +} +#[repr(C)] +#[repr(align(2))] +#[derive(Debug, Copy, Clone)] +pub struct DDEACK { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, +} +#[test] +fn bindgen_test_layout_DDEACK() { + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!("Size of: ", stringify!(DDEACK)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEACK)) + ); +} +impl DDEACK { + #[inline] + pub fn bAppReturnCode(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u16) } + } + #[inline] + pub fn set_bAppReturnCode(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 8u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 6u8) as u16) } + } + #[inline] + pub fn set_reserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 6u8, val as u64) + } + } + #[inline] + pub fn fBusy(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_fBusy(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAck(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAck(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + bAppReturnCode: ::std::os::raw::c_ushort, + reserved: ::std::os::raw::c_ushort, + fBusy: ::std::os::raw::c_ushort, + fAck: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 8u8, { + let bAppReturnCode: u16 = unsafe { ::std::mem::transmute(bAppReturnCode) }; + bAppReturnCode as u64 + }); + __bindgen_bitfield_unit.set(8usize, 6u8, { + let reserved: u16 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fBusy: u16 = unsafe { ::std::mem::transmute(fBusy) }; + fBusy as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAck: u16 = unsafe { ::std::mem::transmute(fAck) }; + fAck as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDEADVISE { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_DDEADVISE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(DDEADVISE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEADVISE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDEADVISE), + "::", + stringify!(cfFormat) + ) + ); +} +impl DDEADVISE { + #[inline] + pub fn reserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 14u8) as u16) } + } + #[inline] + pub fn set_reserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 14u8, val as u64) + } + } + #[inline] + pub fn fDeferUpd(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_fDeferUpd(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAckReq(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAckReq(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + reserved: ::std::os::raw::c_ushort, + fDeferUpd: ::std::os::raw::c_ushort, + fAckReq: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 14u8, { + let reserved: u16 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fDeferUpd: u16 = unsafe { ::std::mem::transmute(fDeferUpd) }; + fDeferUpd as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAckReq: u16 = unsafe { ::std::mem::transmute(fAckReq) }; + fAckReq as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDEDATA { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, + pub Value: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_DDEDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(DDEDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDEDATA), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DDEDATA), + "::", + stringify!(Value) + ) + ); +} +impl DDEDATA { + #[inline] + pub fn unused(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u16) } + } + #[inline] + pub fn set_unused(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn fResponse(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_fResponse(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn fRelease(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_fRelease(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn reserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_reserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAckReq(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAckReq(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + unused: ::std::os::raw::c_ushort, + fResponse: ::std::os::raw::c_ushort, + fRelease: ::std::os::raw::c_ushort, + reserved: ::std::os::raw::c_ushort, + fAckReq: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let unused: u16 = unsafe { ::std::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let fResponse: u16 = unsafe { ::std::mem::transmute(fResponse) }; + fResponse as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let fRelease: u16 = unsafe { ::std::mem::transmute(fRelease) }; + fRelease as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let reserved: u16 = unsafe { ::std::mem::transmute(reserved) }; + reserved as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAckReq: u16 = unsafe { ::std::mem::transmute(fAckReq) }; + fAckReq as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDEPOKE { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, + pub Value: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_DDEPOKE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(DDEPOKE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEPOKE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDEPOKE), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DDEPOKE), + "::", + stringify!(Value) + ) + ); +} +impl DDEPOKE { + #[inline] + pub fn unused(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 13u8) as u16) } + } + #[inline] + pub fn set_unused(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 13u8, val as u64) + } + } + #[inline] + pub fn fRelease(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_fRelease(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn fReserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 2u8) as u16) } + } + #[inline] + pub fn set_fReserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 2u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + unused: ::std::os::raw::c_ushort, + fRelease: ::std::os::raw::c_ushort, + fReserved: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 13u8, { + let unused: u16 = unsafe { ::std::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let fRelease: u16 = unsafe { ::std::mem::transmute(fRelease) }; + fRelease as u64 + }); + __bindgen_bitfield_unit.set(14usize, 2u8, { + let fReserved: u16 = unsafe { ::std::mem::transmute(fReserved) }; + fReserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDELN { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_DDELN() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(DDELN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDELN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDELN), + "::", + stringify!(cfFormat) + ) + ); +} +impl DDELN { + #[inline] + pub fn unused(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 13u8) as u16) } + } + #[inline] + pub fn set_unused(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 13u8, val as u64) + } + } + #[inline] + pub fn fRelease(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_fRelease(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDeferUpd(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_fDeferUpd(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAckReq(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAckReq(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + unused: ::std::os::raw::c_ushort, + fRelease: ::std::os::raw::c_ushort, + fDeferUpd: ::std::os::raw::c_ushort, + fAckReq: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 13u8, { + let unused: u16 = unsafe { ::std::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let fRelease: u16 = unsafe { ::std::mem::transmute(fRelease) }; + fRelease as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fDeferUpd: u16 = unsafe { ::std::mem::transmute(fDeferUpd) }; + fDeferUpd as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAckReq: u16 = unsafe { ::std::mem::transmute(fAckReq) }; + fAckReq as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DDEUP { + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub cfFormat: ::std::os::raw::c_short, + pub rgb: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_DDEUP() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 6usize, + concat!("Size of: ", stringify!(DDEUP)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(DDEUP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(DDEUP), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgb) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DDEUP), + "::", + stringify!(rgb) + ) + ); +} +impl DDEUP { + #[inline] + pub fn unused(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 12u8) as u16) } + } + #[inline] + pub fn set_unused(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 12u8, val as u64) + } + } + #[inline] + pub fn fAck(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAck(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn fRelease(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u16) } + } + #[inline] + pub fn set_fRelease(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 1u8, val as u64) + } + } + #[inline] + pub fn fReserved(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u16) } + } + #[inline] + pub fn set_fReserved(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(14usize, 1u8, val as u64) + } + } + #[inline] + pub fn fAckReq(&self) -> ::std::os::raw::c_ushort { + unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) } + } + #[inline] + pub fn set_fAckReq(&mut self, val: ::std::os::raw::c_ushort) { + unsafe { + let val: u16 = ::std::mem::transmute(val); + self._bitfield_1.set(15usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + unused: ::std::os::raw::c_ushort, + fAck: ::std::os::raw::c_ushort, + fRelease: ::std::os::raw::c_ushort, + fReserved: ::std::os::raw::c_ushort, + fAckReq: ::std::os::raw::c_ushort, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 12u8, { + let unused: u16 = unsafe { ::std::mem::transmute(unused) }; + unused as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let fAck: u16 = unsafe { ::std::mem::transmute(fAck) }; + fAck as u64 + }); + __bindgen_bitfield_unit.set(13usize, 1u8, { + let fRelease: u16 = unsafe { ::std::mem::transmute(fRelease) }; + fRelease as u64 + }); + __bindgen_bitfield_unit.set(14usize, 1u8, { + let fReserved: u16 = unsafe { ::std::mem::transmute(fReserved) }; + fReserved as u64 + }); + __bindgen_bitfield_unit.set(15usize, 1u8, { + let fAckReq: u16 = unsafe { ::std::mem::transmute(fAckReq) }; + fAckReq as u64 + }); + __bindgen_bitfield_unit + } +} +extern "C" { + pub fn DdeSetQualityOfService( + hwndClient: HWND, + pqosNew: *const SECURITY_QUALITY_OF_SERVICE, + pqosPrev: PSECURITY_QUALITY_OF_SERVICE, + ) -> BOOL; +} +extern "C" { + pub fn ImpersonateDdeClientWindow(hWndClient: HWND, hWndServer: HWND) -> BOOL; +} +extern "C" { + pub fn PackDDElParam(msg: UINT, uiLo: UINT_PTR, uiHi: UINT_PTR) -> LPARAM; +} +extern "C" { + pub fn UnpackDDElParam(msg: UINT, lParam: LPARAM, puiLo: PUINT_PTR, puiHi: PUINT_PTR) -> BOOL; +} +extern "C" { + pub fn FreeDDElParam(msg: UINT, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn ReuseDDElParam( + lParam: LPARAM, + msgIn: UINT, + msgOut: UINT, + uiLo: UINT_PTR, + uiHi: UINT_PTR, + ) -> LPARAM; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HCONVLIST__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HCONVLIST__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HCONVLIST__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HCONVLIST__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HCONVLIST__), + "::", + stringify!(unused) + ) + ); +} +pub type HCONVLIST = *mut HCONVLIST__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HCONV__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HCONV__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HCONV__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HCONV__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HCONV__), + "::", + stringify!(unused) + ) + ); +} +pub type HCONV = *mut HCONV__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HSZ__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HSZ__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HSZ__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HSZ__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HSZ__), + "::", + stringify!(unused) + ) + ); +} +pub type HSZ = *mut HSZ__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HDDEDATA__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDDEDATA__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDDEDATA__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HDDEDATA__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDDEDATA__), + "::", + stringify!(unused) + ) + ); +} +pub type HDDEDATA = *mut HDDEDATA__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagHSZPAIR { + pub hszSvc: HSZ, + pub hszTopic: HSZ, +} +#[test] +fn bindgen_test_layout_tagHSZPAIR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagHSZPAIR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagHSZPAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszSvc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagHSZPAIR), + "::", + stringify!(hszSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszTopic) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagHSZPAIR), + "::", + stringify!(hszTopic) + ) + ); +} +pub type HSZPAIR = tagHSZPAIR; +pub type PHSZPAIR = *mut tagHSZPAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCONVCONTEXT { + pub cb: UINT, + pub wFlags: UINT, + pub wCountryID: UINT, + pub iCodePage: ::std::os::raw::c_int, + pub dwLangID: DWORD, + pub dwSecurity: DWORD, + pub qos: SECURITY_QUALITY_OF_SERVICE, +} +#[test] +fn bindgen_test_layout_tagCONVCONTEXT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagCONVCONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCONVCONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(wFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCountryID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(wCountryID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iCodePage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(iCodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLangID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(dwLangID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSecurity) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(dwSecurity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).qos) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCONVCONTEXT), + "::", + stringify!(qos) + ) + ); +} +pub type CONVCONTEXT = tagCONVCONTEXT; +pub type PCONVCONTEXT = *mut tagCONVCONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCONVINFO { + pub cb: DWORD, + pub hUser: DWORD_PTR, + pub hConvPartner: HCONV, + pub hszSvcPartner: HSZ, + pub hszServiceReq: HSZ, + pub hszTopic: HSZ, + pub hszItem: HSZ, + pub wFmt: UINT, + pub wType: UINT, + pub wStatus: UINT, + pub wConvst: UINT, + pub wLastError: UINT, + pub hConvList: HCONVLIST, + pub ConvCtxt: CONVCONTEXT, + pub hwnd: HWND, + pub hwndPartner: HWND, +} +#[test] +fn bindgen_test_layout_tagCONVINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(tagCONVINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCONVINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hUser) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvPartner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hConvPartner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszSvcPartner) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hszSvcPartner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszServiceReq) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hszServiceReq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszTopic) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hszTopic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszItem) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hszItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFmt) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wType) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wStatus) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wConvst) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wConvst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLastError) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(wLastError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvList) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hConvList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ConvCtxt) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(ConvCtxt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndPartner) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagCONVINFO), + "::", + stringify!(hwndPartner) + ) + ); +} +pub type CONVINFO = tagCONVINFO; +pub type PCONVINFO = *mut tagCONVINFO; +pub type PFNCALLBACK = ::std::option::Option< + unsafe extern "C" fn( + wType: UINT, + wFmt: UINT, + hConv: HCONV, + hsz1: HSZ, + hsz2: HSZ, + hData: HDDEDATA, + dwData1: ULONG_PTR, + dwData2: ULONG_PTR, + ) -> HDDEDATA, +>; +extern "C" { + pub fn DdeInitializeA( + pidInst: LPDWORD, + pfnCallback: PFNCALLBACK, + afCmd: DWORD, + ulRes: DWORD, + ) -> UINT; +} +extern "C" { + pub fn DdeInitializeW( + pidInst: LPDWORD, + pfnCallback: PFNCALLBACK, + afCmd: DWORD, + ulRes: DWORD, + ) -> UINT; +} +extern "C" { + pub fn DdeUninitialize(idInst: DWORD) -> BOOL; +} +extern "C" { + pub fn DdeConnectList( + idInst: DWORD, + hszService: HSZ, + hszTopic: HSZ, + hConvList: HCONVLIST, + pCC: PCONVCONTEXT, + ) -> HCONVLIST; +} +extern "C" { + pub fn DdeQueryNextServer(hConvList: HCONVLIST, hConvPrev: HCONV) -> HCONV; +} +extern "C" { + pub fn DdeDisconnectList(hConvList: HCONVLIST) -> BOOL; +} +extern "C" { + pub fn DdeConnect(idInst: DWORD, hszService: HSZ, hszTopic: HSZ, pCC: PCONVCONTEXT) -> HCONV; +} +extern "C" { + pub fn DdeDisconnect(hConv: HCONV) -> BOOL; +} +extern "C" { + pub fn DdeReconnect(hConv: HCONV) -> HCONV; +} +extern "C" { + pub fn DdeQueryConvInfo(hConv: HCONV, idTransaction: DWORD, pConvInfo: PCONVINFO) -> UINT; +} +extern "C" { + pub fn DdeSetUserHandle(hConv: HCONV, id: DWORD, hUser: DWORD_PTR) -> BOOL; +} +extern "C" { + pub fn DdeAbandonTransaction(idInst: DWORD, hConv: HCONV, idTransaction: DWORD) -> BOOL; +} +extern "C" { + pub fn DdePostAdvise(idInst: DWORD, hszTopic: HSZ, hszItem: HSZ) -> BOOL; +} +extern "C" { + pub fn DdeEnableCallback(idInst: DWORD, hConv: HCONV, wCmd: UINT) -> BOOL; +} +extern "C" { + pub fn DdeImpersonateClient(hConv: HCONV) -> BOOL; +} +extern "C" { + pub fn DdeNameService(idInst: DWORD, hsz1: HSZ, hsz2: HSZ, afCmd: UINT) -> HDDEDATA; +} +extern "C" { + pub fn DdeClientTransaction( + pData: LPBYTE, + cbData: DWORD, + hConv: HCONV, + hszItem: HSZ, + wFmt: UINT, + wType: UINT, + dwTimeout: DWORD, + pdwResult: LPDWORD, + ) -> HDDEDATA; +} +extern "C" { + pub fn DdeCreateDataHandle( + idInst: DWORD, + pSrc: LPBYTE, + cb: DWORD, + cbOff: DWORD, + hszItem: HSZ, + wFmt: UINT, + afCmd: UINT, + ) -> HDDEDATA; +} +extern "C" { + pub fn DdeAddData(hData: HDDEDATA, pSrc: LPBYTE, cb: DWORD, cbOff: DWORD) -> HDDEDATA; +} +extern "C" { + pub fn DdeGetData(hData: HDDEDATA, pDst: LPBYTE, cbMax: DWORD, cbOff: DWORD) -> DWORD; +} +extern "C" { + pub fn DdeAccessData(hData: HDDEDATA, pcbDataSize: LPDWORD) -> LPBYTE; +} +extern "C" { + pub fn DdeUnaccessData(hData: HDDEDATA) -> BOOL; +} +extern "C" { + pub fn DdeFreeDataHandle(hData: HDDEDATA) -> BOOL; +} +extern "C" { + pub fn DdeGetLastError(idInst: DWORD) -> UINT; +} +extern "C" { + pub fn DdeCreateStringHandleA( + idInst: DWORD, + psz: LPCSTR, + iCodePage: ::std::os::raw::c_int, + ) -> HSZ; +} +extern "C" { + pub fn DdeCreateStringHandleW( + idInst: DWORD, + psz: LPCWSTR, + iCodePage: ::std::os::raw::c_int, + ) -> HSZ; +} +extern "C" { + pub fn DdeQueryStringA( + idInst: DWORD, + hsz: HSZ, + psz: LPSTR, + cchMax: DWORD, + iCodePage: ::std::os::raw::c_int, + ) -> DWORD; +} +extern "C" { + pub fn DdeQueryStringW( + idInst: DWORD, + hsz: HSZ, + psz: LPWSTR, + cchMax: DWORD, + iCodePage: ::std::os::raw::c_int, + ) -> DWORD; +} +extern "C" { + pub fn DdeFreeStringHandle(idInst: DWORD, hsz: HSZ) -> BOOL; +} +extern "C" { + pub fn DdeKeepStringHandle(idInst: DWORD, hsz: HSZ) -> BOOL; +} +extern "C" { + pub fn DdeCmpStringHandles(hsz1: HSZ, hsz2: HSZ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDDEML_MSG_HOOK_DATA { + pub uiLo: UINT_PTR, + pub uiHi: UINT_PTR, + pub cbData: DWORD, + pub Data: [DWORD; 8usize], +} +#[test] +fn bindgen_test_layout_tagDDEML_MSG_HOOK_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagDDEML_MSG_HOOK_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDDEML_MSG_HOOK_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiLo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDDEML_MSG_HOOK_DATA), + "::", + stringify!(uiLo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiHi) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDDEML_MSG_HOOK_DATA), + "::", + stringify!(uiHi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDDEML_MSG_HOOK_DATA), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagDDEML_MSG_HOOK_DATA), + "::", + stringify!(Data) + ) + ); +} +pub type DDEML_MSG_HOOK_DATA = tagDDEML_MSG_HOOK_DATA; +pub type PDDEML_MSG_HOOK_DATA = *mut tagDDEML_MSG_HOOK_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONMSGSTRUCT { + pub cb: UINT, + pub hwndTo: HWND, + pub dwTime: DWORD, + pub hTask: HANDLE, + pub wMsg: UINT, + pub wParam: WPARAM, + pub lParam: LPARAM, + pub dmhd: DDEML_MSG_HOOK_DATA, +} +#[test] +fn bindgen_test_layout_tagMONMSGSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(tagMONMSGSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONMSGSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndTo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(hwndTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMsg) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(wMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParam) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(wParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dmhd) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMONMSGSTRUCT), + "::", + stringify!(dmhd) + ) + ); +} +pub type MONMSGSTRUCT = tagMONMSGSTRUCT; +pub type PMONMSGSTRUCT = *mut tagMONMSGSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONCBSTRUCT { + pub cb: UINT, + pub dwTime: DWORD, + pub hTask: HANDLE, + pub dwRet: DWORD, + pub wType: UINT, + pub wFmt: UINT, + pub hConv: HCONV, + pub hsz1: HSZ, + pub hsz2: HSZ, + pub hData: HDDEDATA, + pub dwData1: ULONG_PTR, + pub dwData2: ULONG_PTR, + pub cc: CONVCONTEXT, + pub cbData: DWORD, + pub Data: [DWORD; 8usize], +} +#[test] +fn bindgen_test_layout_tagMONCBSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagMONCBSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONCBSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRet) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(dwRet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wType) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(wType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFmt) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(wFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConv) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hConv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hsz1) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hsz1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hsz2) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hsz2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(hData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwData1) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(dwData1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwData2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(dwData2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cc) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(cc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagMONCBSTRUCT), + "::", + stringify!(Data) + ) + ); +} +pub type MONCBSTRUCT = tagMONCBSTRUCT; +pub type PMONCBSTRUCT = *mut tagMONCBSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONHSZSTRUCTA { + pub cb: UINT, + pub fsAction: BOOL, + pub dwTime: DWORD, + pub hsz: HSZ, + pub hTask: HANDLE, + pub str_: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagMONHSZSTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMONHSZSTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONHSZSTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fsAction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(fsAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hsz) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(hsz) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTA), + "::", + stringify!(str_) + ) + ); +} +pub type MONHSZSTRUCTA = tagMONHSZSTRUCTA; +pub type PMONHSZSTRUCTA = *mut tagMONHSZSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONHSZSTRUCTW { + pub cb: UINT, + pub fsAction: BOOL, + pub dwTime: DWORD, + pub hsz: HSZ, + pub hTask: HANDLE, + pub str_: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagMONHSZSTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMONHSZSTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONHSZSTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fsAction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(fsAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hsz) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(hsz) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONHSZSTRUCTW), + "::", + stringify!(str_) + ) + ); +} +pub type MONHSZSTRUCTW = tagMONHSZSTRUCTW; +pub type PMONHSZSTRUCTW = *mut tagMONHSZSTRUCTW; +pub type MONHSZSTRUCT = MONHSZSTRUCTA; +pub type PMONHSZSTRUCT = PMONHSZSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONERRSTRUCT { + pub cb: UINT, + pub wLastError: UINT, + pub dwTime: DWORD, + pub hTask: HANDLE, +} +#[test] +fn bindgen_test_layout_tagMONERRSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMONERRSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONERRSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONERRSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLastError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONERRSTRUCT), + "::", + stringify!(wLastError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONERRSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONERRSTRUCT), + "::", + stringify!(hTask) + ) + ); +} +pub type MONERRSTRUCT = tagMONERRSTRUCT; +pub type PMONERRSTRUCT = *mut tagMONERRSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONLINKSTRUCT { + pub cb: UINT, + pub dwTime: DWORD, + pub hTask: HANDLE, + pub fEstablished: BOOL, + pub fNoData: BOOL, + pub hszSvc: HSZ, + pub hszTopic: HSZ, + pub hszItem: HSZ, + pub wFmt: UINT, + pub fServer: BOOL, + pub hConvServer: HCONV, + pub hConvClient: HCONV, +} +#[test] +fn bindgen_test_layout_tagMONLINKSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagMONLINKSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONLINKSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fEstablished) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(fEstablished) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fNoData) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(fNoData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszSvc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hszSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszTopic) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hszTopic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszItem) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hszItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFmt) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(wFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fServer) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(fServer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvServer) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hConvServer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvClient) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMONLINKSTRUCT), + "::", + stringify!(hConvClient) + ) + ); +} +pub type MONLINKSTRUCT = tagMONLINKSTRUCT; +pub type PMONLINKSTRUCT = *mut tagMONLINKSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMONCONVSTRUCT { + pub cb: UINT, + pub fConnect: BOOL, + pub dwTime: DWORD, + pub hTask: HANDLE, + pub hszSvc: HSZ, + pub hszTopic: HSZ, + pub hConvClient: HCONV, + pub hConvServer: HCONV, +} +#[test] +fn bindgen_test_layout_tagMONCONVSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagMONCONVSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMONCONVSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fConnect) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(fConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(dwTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hTask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hTask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszSvc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hszSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hszTopic) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hszTopic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvClient) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hConvClient) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hConvServer) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMONCONVSTRUCT), + "::", + stringify!(hConvServer) + ) + ); +} +pub type MONCONVSTRUCT = tagMONCONVSTRUCT; +pub type PMONCONVSTRUCT = *mut tagMONCONVSTRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCRGB { + pub bRed: BYTE, + pub bGreen: BYTE, + pub bBlue: BYTE, + pub bExtra: BYTE, +} +#[test] +fn bindgen_test_layout_tagCRGB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagCRGB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagCRGB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bRed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCRGB), + "::", + stringify!(bRed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bGreen) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagCRGB), + "::", + stringify!(bGreen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bBlue) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagCRGB), + "::", + stringify!(bBlue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bExtra) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(tagCRGB), + "::", + stringify!(bExtra) + ) + ); +} +pub type CRGB = tagCRGB; +extern "C" { + pub fn LZStart() -> INT; +} +extern "C" { + pub fn LZDone(); +} +extern "C" { + pub fn CopyLZFile(hfSource: INT, hfDest: INT) -> LONG; +} +extern "C" { + pub fn LZCopy(hfSource: INT, hfDest: INT) -> LONG; +} +extern "C" { + pub fn LZInit(hfSource: INT) -> INT; +} +extern "C" { + pub fn GetExpandedNameA(lpszSource: LPSTR, lpszBuffer: LPSTR) -> INT; +} +extern "C" { + pub fn GetExpandedNameW(lpszSource: LPWSTR, lpszBuffer: LPWSTR) -> INT; +} +extern "C" { + pub fn LZOpenFileA(lpFileName: LPSTR, lpReOpenBuf: LPOFSTRUCT, wStyle: WORD) -> INT; +} +extern "C" { + pub fn LZOpenFileW(lpFileName: LPWSTR, lpReOpenBuf: LPOFSTRUCT, wStyle: WORD) -> INT; +} +extern "C" { + pub fn LZSeek(hFile: INT, lOffset: LONG, iOrigin: INT) -> LONG; +} +extern "C" { + pub fn LZRead(hFile: INT, lpBuffer: *mut CHAR, cbRead: INT) -> INT; +} +extern "C" { + pub fn LZClose(hFile: INT); +} +pub type MMVERSION = UINT; +pub type MMRESULT = UINT; +pub type LPUINT = *mut UINT; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct mmtime_tag { + pub wType: UINT, + pub u: mmtime_tag__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union mmtime_tag__bindgen_ty_1 { + pub ms: DWORD, + pub sample: DWORD, + pub cb: DWORD, + pub ticks: DWORD, + pub smpte: mmtime_tag__bindgen_ty_1__bindgen_ty_1, + pub midi: mmtime_tag__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct mmtime_tag__bindgen_ty_1__bindgen_ty_1 { + pub hour: BYTE, + pub min: BYTE, + pub sec: BYTE, + pub frame: BYTE, + pub fps: BYTE, + pub dummy: BYTE, + pub pad: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout_mmtime_tag__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hour) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hour) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).min) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(min) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sec) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(sec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frame) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(frame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fps) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(fps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dummy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pad) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct mmtime_tag__bindgen_ty_1__bindgen_ty_2 { + pub songptrpos: DWORD, +} +#[test] +fn bindgen_test_layout_mmtime_tag__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).songptrpos) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(songptrpos) + ) + ); +} +#[test] +fn bindgen_test_layout_mmtime_tag__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(mmtime_tag__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(mmtime_tag__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ms) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(ms) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sample) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(sample) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ticks) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(ticks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).smpte) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(smpte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).midi) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag__bindgen_ty_1), + "::", + stringify!(midi) + ) + ); +} +#[test] +fn bindgen_test_layout_mmtime_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(mmtime_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(mmtime_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag), + "::", + stringify!(wType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(mmtime_tag), + "::", + stringify!(u) + ) + ); +} +pub type MMTIME = mmtime_tag; +pub type PMMTIME = *mut mmtime_tag; +pub type NPMMTIME = *mut mmtime_tag; +pub type LPMMTIME = *mut mmtime_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HDRVR__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDRVR__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDRVR__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HDRVR__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDRVR__), + "::", + stringify!(unused) + ) + ); +} +pub type HDRVR = *mut HDRVR__; +pub type LPDRVCALLBACK = ::std::option::Option< + unsafe extern "C" fn( + arg1: HDRVR, + arg2: UINT, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ), +>; +pub type PDRVCALLBACK = ::std::option::Option< + unsafe extern "C" fn( + arg1: HDRVR, + arg2: UINT, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ), +>; +pub type MCIERROR = DWORD; +pub type MCIDEVICEID = UINT; +pub type YIELDPROC = + ::std::option::Option UINT>; +extern "C" { + pub fn mciSendCommandA( + mciId: MCIDEVICEID, + uMsg: UINT, + dwParam1: DWORD_PTR, + dwParam2: DWORD_PTR, + ) -> MCIERROR; +} +extern "C" { + pub fn mciSendCommandW( + mciId: MCIDEVICEID, + uMsg: UINT, + dwParam1: DWORD_PTR, + dwParam2: DWORD_PTR, + ) -> MCIERROR; +} +extern "C" { + pub fn mciSendStringA( + lpstrCommand: LPCSTR, + lpstrReturnString: LPSTR, + uReturnLength: UINT, + hwndCallback: HWND, + ) -> MCIERROR; +} +extern "C" { + pub fn mciSendStringW( + lpstrCommand: LPCWSTR, + lpstrReturnString: LPWSTR, + uReturnLength: UINT, + hwndCallback: HWND, + ) -> MCIERROR; +} +extern "C" { + pub fn mciGetDeviceIDA(pszDevice: LPCSTR) -> MCIDEVICEID; +} +extern "C" { + pub fn mciGetDeviceIDW(pszDevice: LPCWSTR) -> MCIDEVICEID; +} +extern "C" { + pub fn mciGetDeviceIDFromElementIDA(dwElementID: DWORD, lpstrType: LPCSTR) -> MCIDEVICEID; +} +extern "C" { + pub fn mciGetDeviceIDFromElementIDW(dwElementID: DWORD, lpstrType: LPCWSTR) -> MCIDEVICEID; +} +extern "C" { + pub fn mciGetErrorStringA(mcierr: MCIERROR, pszText: LPSTR, cchText: UINT) -> BOOL; +} +extern "C" { + pub fn mciGetErrorStringW(mcierr: MCIERROR, pszText: LPWSTR, cchText: UINT) -> BOOL; +} +extern "C" { + pub fn mciSetYieldProc(mciId: MCIDEVICEID, fpYieldProc: YIELDPROC, dwYieldData: DWORD) -> BOOL; +} +extern "C" { + pub fn mciGetCreatorTask(mciId: MCIDEVICEID) -> HTASK; +} +extern "C" { + pub fn mciGetYieldProc(mciId: MCIDEVICEID, pdwYieldData: LPDWORD) -> YIELDPROC; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_GENERIC_PARMS { + pub dwCallback: DWORD_PTR, +} +#[test] +fn bindgen_test_layout_tagMCI_GENERIC_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagMCI_GENERIC_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_GENERIC_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_GENERIC_PARMS), + "::", + stringify!(dwCallback) + ) + ); +} +pub type MCI_GENERIC_PARMS = tagMCI_GENERIC_PARMS; +pub type PMCI_GENERIC_PARMS = *mut tagMCI_GENERIC_PARMS; +pub type LPMCI_GENERIC_PARMS = *mut tagMCI_GENERIC_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OPEN_PARMSA { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCSTR, + pub lpstrElementName: LPCSTR, + pub lpstrAlias: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_OPEN_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagMCI_OPEN_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OPEN_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSA), + "::", + stringify!(lpstrAlias) + ) + ); +} +pub type MCI_OPEN_PARMSA = tagMCI_OPEN_PARMSA; +pub type PMCI_OPEN_PARMSA = *mut tagMCI_OPEN_PARMSA; +pub type LPMCI_OPEN_PARMSA = *mut tagMCI_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OPEN_PARMSW { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCWSTR, + pub lpstrElementName: LPCWSTR, + pub lpstrAlias: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_OPEN_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagMCI_OPEN_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OPEN_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OPEN_PARMSW), + "::", + stringify!(lpstrAlias) + ) + ); +} +pub type MCI_OPEN_PARMSW = tagMCI_OPEN_PARMSW; +pub type PMCI_OPEN_PARMSW = *mut tagMCI_OPEN_PARMSW; +pub type LPMCI_OPEN_PARMSW = *mut tagMCI_OPEN_PARMSW; +pub type MCI_OPEN_PARMS = MCI_OPEN_PARMSA; +pub type PMCI_OPEN_PARMS = PMCI_OPEN_PARMSA; +pub type LPMCI_OPEN_PARMS = LPMCI_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_PLAY_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_PLAY_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_PLAY_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_PLAY_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_PLAY_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_PLAY_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_PLAY_PARMS), + "::", + stringify!(dwTo) + ) + ); +} +pub type MCI_PLAY_PARMS = tagMCI_PLAY_PARMS; +pub type PMCI_PLAY_PARMS = *mut tagMCI_PLAY_PARMS; +pub type LPMCI_PLAY_PARMS = *mut tagMCI_PLAY_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SEEK_PARMS { + pub dwCallback: DWORD_PTR, + pub dwTo: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_SEEK_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagMCI_SEEK_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SEEK_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEEK_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEEK_PARMS), + "::", + stringify!(dwTo) + ) + ); +} +pub type MCI_SEEK_PARMS = tagMCI_SEEK_PARMS; +pub type PMCI_SEEK_PARMS = *mut tagMCI_SEEK_PARMS; +pub type LPMCI_SEEK_PARMS = *mut tagMCI_SEEK_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_STATUS_PARMS { + pub dwCallback: DWORD_PTR, + pub dwReturn: DWORD_PTR, + pub dwItem: DWORD, + pub dwTrack: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_STATUS_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMCI_STATUS_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_STATUS_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_STATUS_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_STATUS_PARMS), + "::", + stringify!(dwReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItem) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_STATUS_PARMS), + "::", + stringify!(dwItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTrack) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_STATUS_PARMS), + "::", + stringify!(dwTrack) + ) + ); +} +pub type MCI_STATUS_PARMS = tagMCI_STATUS_PARMS; +pub type PMCI_STATUS_PARMS = *mut tagMCI_STATUS_PARMS; +pub type LPMCI_STATUS_PARMS = *mut tagMCI_STATUS_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_INFO_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpstrReturn: LPSTR, + pub dwRetSize: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_INFO_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_INFO_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_INFO_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSA), + "::", + stringify!(lpstrReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSA), + "::", + stringify!(dwRetSize) + ) + ); +} +pub type MCI_INFO_PARMSA = tagMCI_INFO_PARMSA; +pub type LPMCI_INFO_PARMSA = *mut tagMCI_INFO_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_INFO_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpstrReturn: LPWSTR, + pub dwRetSize: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_INFO_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_INFO_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_INFO_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSW), + "::", + stringify!(lpstrReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_INFO_PARMSW), + "::", + stringify!(dwRetSize) + ) + ); +} +pub type MCI_INFO_PARMSW = tagMCI_INFO_PARMSW; +pub type LPMCI_INFO_PARMSW = *mut tagMCI_INFO_PARMSW; +pub type MCI_INFO_PARMS = MCI_INFO_PARMSA; +pub type LPMCI_INFO_PARMS = LPMCI_INFO_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_GETDEVCAPS_PARMS { + pub dwCallback: DWORD_PTR, + pub dwReturn: DWORD, + pub dwItem: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_GETDEVCAPS_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_GETDEVCAPS_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_GETDEVCAPS_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_GETDEVCAPS_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_GETDEVCAPS_PARMS), + "::", + stringify!(dwReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItem) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_GETDEVCAPS_PARMS), + "::", + stringify!(dwItem) + ) + ); +} +pub type MCI_GETDEVCAPS_PARMS = tagMCI_GETDEVCAPS_PARMS; +pub type PMCI_GETDEVCAPS_PARMS = *mut tagMCI_GETDEVCAPS_PARMS; +pub type LPMCI_GETDEVCAPS_PARMS = *mut tagMCI_GETDEVCAPS_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SYSINFO_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpstrReturn: LPSTR, + pub dwRetSize: DWORD, + pub dwNumber: DWORD, + pub wDeviceType: UINT, +} +#[test] +fn bindgen_test_layout_tagMCI_SYSINFO_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_SYSINFO_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SYSINFO_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(lpstrReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(dwRetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumber) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(dwNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSA), + "::", + stringify!(wDeviceType) + ) + ); +} +pub type MCI_SYSINFO_PARMSA = tagMCI_SYSINFO_PARMSA; +pub type PMCI_SYSINFO_PARMSA = *mut tagMCI_SYSINFO_PARMSA; +pub type LPMCI_SYSINFO_PARMSA = *mut tagMCI_SYSINFO_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SYSINFO_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpstrReturn: LPWSTR, + pub dwRetSize: DWORD, + pub dwNumber: DWORD, + pub wDeviceType: UINT, +} +#[test] +fn bindgen_test_layout_tagMCI_SYSINFO_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_SYSINFO_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SYSINFO_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(lpstrReturn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRetSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(dwRetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumber) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(dwNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SYSINFO_PARMSW), + "::", + stringify!(wDeviceType) + ) + ); +} +pub type MCI_SYSINFO_PARMSW = tagMCI_SYSINFO_PARMSW; +pub type PMCI_SYSINFO_PARMSW = *mut tagMCI_SYSINFO_PARMSW; +pub type LPMCI_SYSINFO_PARMSW = *mut tagMCI_SYSINFO_PARMSW; +pub type MCI_SYSINFO_PARMS = MCI_SYSINFO_PARMSA; +pub type PMCI_SYSINFO_PARMS = PMCI_SYSINFO_PARMSA; +pub type LPMCI_SYSINFO_PARMS = LPMCI_SYSINFO_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SET_PARMS { + pub dwCallback: DWORD_PTR, + pub dwTimeFormat: DWORD, + pub dwAudio: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_SET_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_SET_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SET_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SET_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SET_PARMS), + "::", + stringify!(dwTimeFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAudio) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SET_PARMS), + "::", + stringify!(dwAudio) + ) + ); +} +pub type MCI_SET_PARMS = tagMCI_SET_PARMS; +pub type PMCI_SET_PARMS = *mut tagMCI_SET_PARMS; +pub type LPMCI_SET_PARMS = *mut tagMCI_SET_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_BREAK_PARMS { + pub dwCallback: DWORD_PTR, + pub nVirtKey: ::std::os::raw::c_int, + pub hwndBreak: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_BREAK_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_BREAK_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_BREAK_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_BREAK_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nVirtKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_BREAK_PARMS), + "::", + stringify!(nVirtKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndBreak) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_BREAK_PARMS), + "::", + stringify!(hwndBreak) + ) + ); +} +pub type MCI_BREAK_PARMS = tagMCI_BREAK_PARMS; +pub type PMCI_BREAK_PARMS = *mut tagMCI_BREAK_PARMS; +pub type LPMCI_BREAK_PARMS = *mut tagMCI_BREAK_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SAVE_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_SAVE_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_SAVE_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SAVE_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SAVE_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SAVE_PARMSA), + "::", + stringify!(lpfilename) + ) + ); +} +pub type MCI_SAVE_PARMSA = tagMCI_SAVE_PARMSA; +pub type PMCI_SAVE_PARMSA = *mut tagMCI_SAVE_PARMSA; +pub type LPMCI_SAVE_PARMSA = *mut tagMCI_SAVE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SAVE_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_SAVE_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_SAVE_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SAVE_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SAVE_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SAVE_PARMSW), + "::", + stringify!(lpfilename) + ) + ); +} +pub type MCI_SAVE_PARMSW = tagMCI_SAVE_PARMSW; +pub type PMCI_SAVE_PARMSW = *mut tagMCI_SAVE_PARMSW; +pub type LPMCI_SAVE_PARMSW = *mut tagMCI_SAVE_PARMSW; +pub type MCI_SAVE_PARMS = MCI_SAVE_PARMSA; +pub type PMCI_SAVE_PARMS = PMCI_SAVE_PARMSA; +pub type LPMCI_SAVE_PARMS = LPMCI_SAVE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_LOAD_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_LOAD_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_LOAD_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_LOAD_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_LOAD_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_LOAD_PARMSA), + "::", + stringify!(lpfilename) + ) + ); +} +pub type MCI_LOAD_PARMSA = tagMCI_LOAD_PARMSA; +pub type PMCI_LOAD_PARMSA = *mut tagMCI_LOAD_PARMSA; +pub type LPMCI_LOAD_PARMSA = *mut tagMCI_LOAD_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_LOAD_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_LOAD_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_LOAD_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_LOAD_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_LOAD_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_LOAD_PARMSW), + "::", + stringify!(lpfilename) + ) + ); +} +pub type MCI_LOAD_PARMSW = tagMCI_LOAD_PARMSW; +pub type PMCI_LOAD_PARMSW = *mut tagMCI_LOAD_PARMSW; +pub type LPMCI_LOAD_PARMSW = *mut tagMCI_LOAD_PARMSW; +pub type MCI_LOAD_PARMS = MCI_LOAD_PARMSA; +pub type PMCI_LOAD_PARMS = PMCI_LOAD_PARMSA; +pub type LPMCI_LOAD_PARMS = LPMCI_LOAD_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_RECORD_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_RECORD_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_RECORD_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_RECORD_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_RECORD_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_RECORD_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_RECORD_PARMS), + "::", + stringify!(dwTo) + ) + ); +} +pub type MCI_RECORD_PARMS = tagMCI_RECORD_PARMS; +pub type LPMCI_RECORD_PARMS = *mut tagMCI_RECORD_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_VD_PLAY_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, + pub dwSpeed: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_VD_PLAY_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_VD_PLAY_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_VD_PLAY_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_PLAY_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_PLAY_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_PLAY_PARMS), + "::", + stringify!(dwTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_PLAY_PARMS), + "::", + stringify!(dwSpeed) + ) + ); +} +pub type MCI_VD_PLAY_PARMS = tagMCI_VD_PLAY_PARMS; +pub type PMCI_VD_PLAY_PARMS = *mut tagMCI_VD_PLAY_PARMS; +pub type LPMCI_VD_PLAY_PARMS = *mut tagMCI_VD_PLAY_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_VD_STEP_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrames: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_VD_STEP_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagMCI_VD_STEP_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_VD_STEP_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_STEP_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_STEP_PARMS), + "::", + stringify!(dwFrames) + ) + ); +} +pub type MCI_VD_STEP_PARMS = tagMCI_VD_STEP_PARMS; +pub type PMCI_VD_STEP_PARMS = *mut tagMCI_VD_STEP_PARMS; +pub type LPMCI_VD_STEP_PARMS = *mut tagMCI_VD_STEP_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_VD_ESCAPE_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpstrCommand: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_VD_ESCAPE_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_VD_ESCAPE_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_VD_ESCAPE_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_ESCAPE_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCommand) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_ESCAPE_PARMSA), + "::", + stringify!(lpstrCommand) + ) + ); +} +pub type MCI_VD_ESCAPE_PARMSA = tagMCI_VD_ESCAPE_PARMSA; +pub type PMCI_VD_ESCAPE_PARMSA = *mut tagMCI_VD_ESCAPE_PARMSA; +pub type LPMCI_VD_ESCAPE_PARMSA = *mut tagMCI_VD_ESCAPE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_VD_ESCAPE_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpstrCommand: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_VD_ESCAPE_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_VD_ESCAPE_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_VD_ESCAPE_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_ESCAPE_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCommand) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_VD_ESCAPE_PARMSW), + "::", + stringify!(lpstrCommand) + ) + ); +} +pub type MCI_VD_ESCAPE_PARMSW = tagMCI_VD_ESCAPE_PARMSW; +pub type PMCI_VD_ESCAPE_PARMSW = *mut tagMCI_VD_ESCAPE_PARMSW; +pub type LPMCI_VD_ESCAPE_PARMSW = *mut tagMCI_VD_ESCAPE_PARMSW; +pub type MCI_VD_ESCAPE_PARMS = MCI_VD_ESCAPE_PARMSA; +pub type PMCI_VD_ESCAPE_PARMS = PMCI_VD_ESCAPE_PARMSA; +pub type LPMCI_VD_ESCAPE_PARMS = LPMCI_VD_ESCAPE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_WAVE_OPEN_PARMSA { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCSTR, + pub lpstrElementName: LPCSTR, + pub lpstrAlias: LPCSTR, + pub dwBufferSeconds: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_WAVE_OPEN_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMCI_WAVE_OPEN_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_WAVE_OPEN_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferSeconds) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSA), + "::", + stringify!(dwBufferSeconds) + ) + ); +} +pub type MCI_WAVE_OPEN_PARMSA = tagMCI_WAVE_OPEN_PARMSA; +pub type PMCI_WAVE_OPEN_PARMSA = *mut tagMCI_WAVE_OPEN_PARMSA; +pub type LPMCI_WAVE_OPEN_PARMSA = *mut tagMCI_WAVE_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_WAVE_OPEN_PARMSW { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCWSTR, + pub lpstrElementName: LPCWSTR, + pub lpstrAlias: LPCWSTR, + pub dwBufferSeconds: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_WAVE_OPEN_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMCI_WAVE_OPEN_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_WAVE_OPEN_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferSeconds) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_OPEN_PARMSW), + "::", + stringify!(dwBufferSeconds) + ) + ); +} +pub type MCI_WAVE_OPEN_PARMSW = tagMCI_WAVE_OPEN_PARMSW; +pub type PMCI_WAVE_OPEN_PARMSW = *mut tagMCI_WAVE_OPEN_PARMSW; +pub type LPMCI_WAVE_OPEN_PARMSW = *mut tagMCI_WAVE_OPEN_PARMSW; +pub type MCI_WAVE_OPEN_PARMS = MCI_WAVE_OPEN_PARMSA; +pub type PMCI_WAVE_OPEN_PARMS = PMCI_WAVE_OPEN_PARMSA; +pub type LPMCI_WAVE_OPEN_PARMS = LPMCI_WAVE_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_WAVE_DELETE_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_WAVE_DELETE_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagMCI_WAVE_DELETE_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_WAVE_DELETE_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_DELETE_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_DELETE_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_DELETE_PARMS), + "::", + stringify!(dwTo) + ) + ); +} +pub type MCI_WAVE_DELETE_PARMS = tagMCI_WAVE_DELETE_PARMS; +pub type PMCI_WAVE_DELETE_PARMS = *mut tagMCI_WAVE_DELETE_PARMS; +pub type LPMCI_WAVE_DELETE_PARMS = *mut tagMCI_WAVE_DELETE_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_WAVE_SET_PARMS { + pub dwCallback: DWORD_PTR, + pub dwTimeFormat: DWORD, + pub dwAudio: DWORD, + pub wInput: UINT, + pub wOutput: UINT, + pub wFormatTag: WORD, + pub wReserved2: WORD, + pub nChannels: WORD, + pub wReserved3: WORD, + pub nSamplesPerSec: DWORD, + pub nAvgBytesPerSec: DWORD, + pub nBlockAlign: WORD, + pub wReserved4: WORD, + pub wBitsPerSample: WORD, + pub wReserved5: WORD, +} +#[test] +fn bindgen_test_layout_tagMCI_WAVE_SET_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_WAVE_SET_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_WAVE_SET_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(dwTimeFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAudio) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(dwAudio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wInput) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wInput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wOutput) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFormatTag) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wFormatTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved2) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nChannels) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(nChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved3) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wReserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSamplesPerSec) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(nSamplesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nAvgBytesPerSec) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(nAvgBytesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBlockAlign) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(nBlockAlign) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved4) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wReserved4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wBitsPerSample) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wBitsPerSample) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved5) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_WAVE_SET_PARMS), + "::", + stringify!(wReserved5) + ) + ); +} +pub type MCI_WAVE_SET_PARMS = tagMCI_WAVE_SET_PARMS; +pub type PMCI_WAVE_SET_PARMS = *mut tagMCI_WAVE_SET_PARMS; +pub type LPMCI_WAVE_SET_PARMS = *mut tagMCI_WAVE_SET_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_SEQ_SET_PARMS { + pub dwCallback: DWORD_PTR, + pub dwTimeFormat: DWORD, + pub dwAudio: DWORD, + pub dwTempo: DWORD, + pub dwPort: DWORD, + pub dwSlave: DWORD, + pub dwMaster: DWORD, + pub dwOffset: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_SEQ_SET_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagMCI_SEQ_SET_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_SEQ_SET_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeFormat) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwTimeFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAudio) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwAudio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTempo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwTempo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPort) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSlave) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwSlave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaster) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwMaster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_SEQ_SET_PARMS), + "::", + stringify!(dwOffset) + ) + ); +} +pub type MCI_SEQ_SET_PARMS = tagMCI_SEQ_SET_PARMS; +pub type PMCI_SEQ_SET_PARMS = *mut tagMCI_SEQ_SET_PARMS; +pub type LPMCI_SEQ_SET_PARMS = *mut tagMCI_SEQ_SET_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_OPEN_PARMSA { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCSTR, + pub lpstrElementName: LPCSTR, + pub lpstrAlias: LPCSTR, + pub dwStyle: DWORD, + pub hWndParent: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_OPEN_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_OPEN_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_OPEN_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndParent) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSA), + "::", + stringify!(hWndParent) + ) + ); +} +pub type MCI_ANIM_OPEN_PARMSA = tagMCI_ANIM_OPEN_PARMSA; +pub type PMCI_ANIM_OPEN_PARMSA = *mut tagMCI_ANIM_OPEN_PARMSA; +pub type LPMCI_ANIM_OPEN_PARMSA = *mut tagMCI_ANIM_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_OPEN_PARMSW { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCWSTR, + pub lpstrElementName: LPCWSTR, + pub lpstrAlias: LPCWSTR, + pub dwStyle: DWORD, + pub hWndParent: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_OPEN_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_OPEN_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_OPEN_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndParent) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_OPEN_PARMSW), + "::", + stringify!(hWndParent) + ) + ); +} +pub type MCI_ANIM_OPEN_PARMSW = tagMCI_ANIM_OPEN_PARMSW; +pub type PMCI_ANIM_OPEN_PARMSW = *mut tagMCI_ANIM_OPEN_PARMSW; +pub type LPMCI_ANIM_OPEN_PARMSW = *mut tagMCI_ANIM_OPEN_PARMSW; +pub type MCI_ANIM_OPEN_PARMS = MCI_ANIM_OPEN_PARMSA; +pub type PMCI_ANIM_OPEN_PARMS = PMCI_ANIM_OPEN_PARMSA; +pub type LPMCI_ANIM_OPEN_PARMS = LPMCI_ANIM_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_PLAY_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrom: DWORD, + pub dwTo: DWORD, + pub dwSpeed: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_PLAY_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_PLAY_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_PLAY_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_PLAY_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrom) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_PLAY_PARMS), + "::", + stringify!(dwFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_PLAY_PARMS), + "::", + stringify!(dwTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_PLAY_PARMS), + "::", + stringify!(dwSpeed) + ) + ); +} +pub type MCI_ANIM_PLAY_PARMS = tagMCI_ANIM_PLAY_PARMS; +pub type PMCI_ANIM_PLAY_PARMS = *mut tagMCI_ANIM_PLAY_PARMS; +pub type LPMCI_ANIM_PLAY_PARMS = *mut tagMCI_ANIM_PLAY_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_STEP_PARMS { + pub dwCallback: DWORD_PTR, + pub dwFrames: DWORD, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_STEP_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_STEP_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_STEP_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_STEP_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFrames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_STEP_PARMS), + "::", + stringify!(dwFrames) + ) + ); +} +pub type MCI_ANIM_STEP_PARMS = tagMCI_ANIM_STEP_PARMS; +pub type PMCI_ANIM_STEP_PARMS = *mut tagMCI_ANIM_STEP_PARMS; +pub type LPMCI_ANIM_STEP_PARMS = *mut tagMCI_ANIM_STEP_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_WINDOW_PARMSA { + pub dwCallback: DWORD_PTR, + pub hWnd: HWND, + pub nCmdShow: UINT, + pub lpstrText: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_WINDOW_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_WINDOW_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_WINDOW_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSA), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCmdShow) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSA), + "::", + stringify!(nCmdShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrText) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSA), + "::", + stringify!(lpstrText) + ) + ); +} +pub type MCI_ANIM_WINDOW_PARMSA = tagMCI_ANIM_WINDOW_PARMSA; +pub type PMCI_ANIM_WINDOW_PARMSA = *mut tagMCI_ANIM_WINDOW_PARMSA; +pub type LPMCI_ANIM_WINDOW_PARMSA = *mut tagMCI_ANIM_WINDOW_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_WINDOW_PARMSW { + pub dwCallback: DWORD_PTR, + pub hWnd: HWND, + pub nCmdShow: UINT, + pub lpstrText: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_WINDOW_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_WINDOW_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_WINDOW_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSW), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCmdShow) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSW), + "::", + stringify!(nCmdShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrText) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_WINDOW_PARMSW), + "::", + stringify!(lpstrText) + ) + ); +} +pub type MCI_ANIM_WINDOW_PARMSW = tagMCI_ANIM_WINDOW_PARMSW; +pub type PMCI_ANIM_WINDOW_PARMSW = *mut tagMCI_ANIM_WINDOW_PARMSW; +pub type LPMCI_ANIM_WINDOW_PARMSW = *mut tagMCI_ANIM_WINDOW_PARMSW; +pub type MCI_ANIM_WINDOW_PARMS = MCI_ANIM_WINDOW_PARMSA; +pub type PMCI_ANIM_WINDOW_PARMS = PMCI_ANIM_WINDOW_PARMSA; +pub type LPMCI_ANIM_WINDOW_PARMS = LPMCI_ANIM_WINDOW_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_RECT_PARMS { + pub dwCallback: DWORD_PTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_RECT_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_RECT_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_RECT_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_RECT_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_RECT_PARMS), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_ANIM_RECT_PARMS = tagMCI_ANIM_RECT_PARMS; +pub type PMCI_ANIM_RECT_PARMS = *mut MCI_ANIM_RECT_PARMS; +pub type LPMCI_ANIM_RECT_PARMS = *mut MCI_ANIM_RECT_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_ANIM_UPDATE_PARMS { + pub dwCallback: DWORD_PTR, + pub rc: RECT, + pub hDC: HDC, +} +#[test] +fn bindgen_test_layout_tagMCI_ANIM_UPDATE_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_ANIM_UPDATE_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_ANIM_UPDATE_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_UPDATE_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_UPDATE_PARMS), + "::", + stringify!(rc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_ANIM_UPDATE_PARMS), + "::", + stringify!(hDC) + ) + ); +} +pub type MCI_ANIM_UPDATE_PARMS = tagMCI_ANIM_UPDATE_PARMS; +pub type PMCI_ANIM_UPDATE_PARMS = *mut tagMCI_ANIM_UPDATE_PARMS; +pub type LPMCI_ANIM_UPDATE_PARMS = *mut tagMCI_ANIM_UPDATE_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_OPEN_PARMSA { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCSTR, + pub lpstrElementName: LPCSTR, + pub lpstrAlias: LPCSTR, + pub dwStyle: DWORD, + pub hWndParent: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_OPEN_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_OPEN_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_OPEN_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndParent) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSA), + "::", + stringify!(hWndParent) + ) + ); +} +pub type MCI_OVLY_OPEN_PARMSA = tagMCI_OVLY_OPEN_PARMSA; +pub type PMCI_OVLY_OPEN_PARMSA = *mut tagMCI_OVLY_OPEN_PARMSA; +pub type LPMCI_OVLY_OPEN_PARMSA = *mut tagMCI_OVLY_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_OPEN_PARMSW { + pub dwCallback: DWORD_PTR, + pub wDeviceID: MCIDEVICEID, + pub lpstrDeviceType: LPCWSTR, + pub lpstrElementName: LPCWSTR, + pub lpstrAlias: LPCWSTR, + pub dwStyle: DWORD, + pub hWndParent: HWND, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_OPEN_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_OPEN_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_OPEN_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(wDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(lpstrDeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrElementName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(lpstrElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrAlias) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(lpstrAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWndParent) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_OPEN_PARMSW), + "::", + stringify!(hWndParent) + ) + ); +} +pub type MCI_OVLY_OPEN_PARMSW = tagMCI_OVLY_OPEN_PARMSW; +pub type PMCI_OVLY_OPEN_PARMSW = *mut tagMCI_OVLY_OPEN_PARMSW; +pub type LPMCI_OVLY_OPEN_PARMSW = *mut tagMCI_OVLY_OPEN_PARMSW; +pub type MCI_OVLY_OPEN_PARMS = MCI_OVLY_OPEN_PARMSA; +pub type PMCI_OVLY_OPEN_PARMS = PMCI_OVLY_OPEN_PARMSA; +pub type LPMCI_OVLY_OPEN_PARMS = LPMCI_OVLY_OPEN_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_WINDOW_PARMSA { + pub dwCallback: DWORD_PTR, + pub hWnd: HWND, + pub nCmdShow: UINT, + pub lpstrText: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_WINDOW_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_WINDOW_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_WINDOW_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSA), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCmdShow) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSA), + "::", + stringify!(nCmdShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrText) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSA), + "::", + stringify!(lpstrText) + ) + ); +} +pub type MCI_OVLY_WINDOW_PARMSA = tagMCI_OVLY_WINDOW_PARMSA; +pub type PMCI_OVLY_WINDOW_PARMSA = *mut tagMCI_OVLY_WINDOW_PARMSA; +pub type LPMCI_OVLY_WINDOW_PARMSA = *mut tagMCI_OVLY_WINDOW_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_WINDOW_PARMSW { + pub dwCallback: DWORD_PTR, + pub hWnd: HWND, + pub nCmdShow: UINT, + pub lpstrText: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_WINDOW_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_WINDOW_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_WINDOW_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSW), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCmdShow) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSW), + "::", + stringify!(nCmdShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrText) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_WINDOW_PARMSW), + "::", + stringify!(lpstrText) + ) + ); +} +pub type MCI_OVLY_WINDOW_PARMSW = tagMCI_OVLY_WINDOW_PARMSW; +pub type PMCI_OVLY_WINDOW_PARMSW = *mut tagMCI_OVLY_WINDOW_PARMSW; +pub type LPMCI_OVLY_WINDOW_PARMSW = *mut tagMCI_OVLY_WINDOW_PARMSW; +pub type MCI_OVLY_WINDOW_PARMS = MCI_OVLY_WINDOW_PARMSA; +pub type PMCI_OVLY_WINDOW_PARMS = PMCI_OVLY_WINDOW_PARMSA; +pub type LPMCI_OVLY_WINDOW_PARMS = LPMCI_OVLY_WINDOW_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_RECT_PARMS { + pub dwCallback: DWORD_PTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_RECT_PARMS() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_RECT_PARMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_RECT_PARMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_RECT_PARMS), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_RECT_PARMS), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_RECT_PARMS = tagMCI_OVLY_RECT_PARMS; +pub type PMCI_OVLY_RECT_PARMS = *mut tagMCI_OVLY_RECT_PARMS; +pub type LPMCI_OVLY_RECT_PARMS = *mut tagMCI_OVLY_RECT_PARMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_SAVE_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCSTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_SAVE_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_SAVE_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_SAVE_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSA), + "::", + stringify!(lpfilename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSA), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_SAVE_PARMSA = tagMCI_OVLY_SAVE_PARMSA; +pub type PMCI_OVLY_SAVE_PARMSA = *mut tagMCI_OVLY_SAVE_PARMSA; +pub type LPMCI_OVLY_SAVE_PARMSA = *mut tagMCI_OVLY_SAVE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_SAVE_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCWSTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_SAVE_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_SAVE_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_SAVE_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSW), + "::", + stringify!(lpfilename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_SAVE_PARMSW), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_SAVE_PARMSW = tagMCI_OVLY_SAVE_PARMSW; +pub type PMCI_OVLY_SAVE_PARMSW = *mut tagMCI_OVLY_SAVE_PARMSW; +pub type LPMCI_OVLY_SAVE_PARMSW = *mut tagMCI_OVLY_SAVE_PARMSW; +pub type MCI_OVLY_SAVE_PARMS = MCI_OVLY_SAVE_PARMSA; +pub type PMCI_OVLY_SAVE_PARMS = PMCI_OVLY_SAVE_PARMSA; +pub type LPMCI_OVLY_SAVE_PARMS = LPMCI_OVLY_SAVE_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_LOAD_PARMSA { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCSTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_LOAD_PARMSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_LOAD_PARMSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_LOAD_PARMSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSA), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSA), + "::", + stringify!(lpfilename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSA), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_LOAD_PARMSA = tagMCI_OVLY_LOAD_PARMSA; +pub type PMCI_OVLY_LOAD_PARMSA = *mut tagMCI_OVLY_LOAD_PARMSA; +pub type LPMCI_OVLY_LOAD_PARMSA = *mut tagMCI_OVLY_LOAD_PARMSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMCI_OVLY_LOAD_PARMSW { + pub dwCallback: DWORD_PTR, + pub lpfilename: LPCWSTR, + pub rc: RECT, +} +#[test] +fn bindgen_test_layout_tagMCI_OVLY_LOAD_PARMSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagMCI_OVLY_LOAD_PARMSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMCI_OVLY_LOAD_PARMSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallback) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSW), + "::", + stringify!(dwCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfilename) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSW), + "::", + stringify!(lpfilename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMCI_OVLY_LOAD_PARMSW), + "::", + stringify!(rc) + ) + ); +} +pub type MCI_OVLY_LOAD_PARMSW = tagMCI_OVLY_LOAD_PARMSW; +pub type PMCI_OVLY_LOAD_PARMSW = *mut tagMCI_OVLY_LOAD_PARMSW; +pub type LPMCI_OVLY_LOAD_PARMSW = *mut tagMCI_OVLY_LOAD_PARMSW; +pub type MCI_OVLY_LOAD_PARMS = MCI_OVLY_LOAD_PARMSA; +pub type PMCI_OVLY_LOAD_PARMS = PMCI_OVLY_LOAD_PARMSA; +pub type LPMCI_OVLY_LOAD_PARMS = LPMCI_OVLY_LOAD_PARMSA; +extern "C" { + pub fn mciGetDriverData(wDeviceID: MCIDEVICEID) -> DWORD_PTR; +} +extern "C" { + pub fn mciLoadCommandResource(hInstance: HANDLE, lpResName: LPCWSTR, wType: UINT) -> UINT; +} +extern "C" { + pub fn mciSetDriverData(wDeviceID: MCIDEVICEID, dwData: DWORD_PTR) -> BOOL; +} +extern "C" { + pub fn mciDriverYield(wDeviceID: MCIDEVICEID) -> UINT; +} +extern "C" { + pub fn mciDriverNotify(hwndCallback: HANDLE, wDeviceID: MCIDEVICEID, uStatus: UINT) -> BOOL; +} +extern "C" { + pub fn mciFreeCommandResource(wTable: UINT) -> BOOL; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct DRVCONFIGINFOEX { + pub dwDCISize: DWORD, + pub lpszDCISectionName: LPCWSTR, + pub lpszDCIAliasName: LPCWSTR, + pub dnDevNode: DWORD, +} +#[test] +fn bindgen_test_layout_DRVCONFIGINFOEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(DRVCONFIGINFOEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(DRVCONFIGINFOEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDCISize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DRVCONFIGINFOEX), + "::", + stringify!(dwDCISize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDCISectionName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(DRVCONFIGINFOEX), + "::", + stringify!(lpszDCISectionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDCIAliasName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(DRVCONFIGINFOEX), + "::", + stringify!(lpszDCIAliasName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dnDevNode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(DRVCONFIGINFOEX), + "::", + stringify!(dnDevNode) + ) + ); +} +pub type PDRVCONFIGINFOEX = *mut DRVCONFIGINFOEX; +pub type NPDRVCONFIGINFOEX = *mut DRVCONFIGINFOEX; +pub type LPDRVCONFIGINFOEX = *mut DRVCONFIGINFOEX; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagDRVCONFIGINFO { + pub dwDCISize: DWORD, + pub lpszDCISectionName: LPCWSTR, + pub lpszDCIAliasName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagDRVCONFIGINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagDRVCONFIGINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagDRVCONFIGINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDCISize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDRVCONFIGINFO), + "::", + stringify!(dwDCISize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDCISectionName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDRVCONFIGINFO), + "::", + stringify!(lpszDCISectionName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszDCIAliasName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagDRVCONFIGINFO), + "::", + stringify!(lpszDCIAliasName) + ) + ); +} +pub type DRVCONFIGINFO = tagDRVCONFIGINFO; +pub type PDRVCONFIGINFO = *mut tagDRVCONFIGINFO; +pub type NPDRVCONFIGINFO = *mut tagDRVCONFIGINFO; +pub type LPDRVCONFIGINFO = *mut tagDRVCONFIGINFO; +pub type DRIVERPROC = ::std::option::Option< + unsafe extern "C" fn( + arg1: DWORD_PTR, + arg2: HDRVR, + arg3: UINT, + arg4: LPARAM, + arg5: LPARAM, + ) -> LRESULT, +>; +extern "C" { + pub fn CloseDriver(hDriver: HDRVR, lParam1: LPARAM, lParam2: LPARAM) -> LRESULT; +} +extern "C" { + pub fn OpenDriver(szDriverName: LPCWSTR, szSectionName: LPCWSTR, lParam2: LPARAM) -> HDRVR; +} +extern "C" { + pub fn SendDriverMessage( + hDriver: HDRVR, + message: UINT, + lParam1: LPARAM, + lParam2: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn DrvGetModuleHandle(hDriver: HDRVR) -> HMODULE; +} +extern "C" { + pub fn GetDriverModuleHandle(hDriver: HDRVR) -> HMODULE; +} +extern "C" { + pub fn DefDriverProc( + dwDriverIdentifier: DWORD_PTR, + hdrvr: HDRVR, + uMsg: UINT, + lParam1: LPARAM, + lParam2: LPARAM, + ) -> LRESULT; +} +extern "C" { + pub fn DriverCallback( + dwCallback: DWORD_PTR, + dwFlags: DWORD, + hDevice: HDRVR, + dwMsg: DWORD, + dwUser: DWORD_PTR, + dwParam1: DWORD_PTR, + dwParam2: DWORD_PTR, + ) -> BOOL; +} +extern "C" { + pub fn sndOpenSound( + EventName: LPCWSTR, + AppName: LPCWSTR, + Flags: INT32, + FileHandle: PHANDLE, + ) -> LONG; +} +pub type DRIVERMSGPROC = ::std::option::Option< + unsafe extern "C" fn( + arg1: DWORD, + arg2: DWORD, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ) -> DWORD, +>; +extern "C" { + pub fn mmDrvInstall( + hDriver: HDRVR, + wszDrvEntry: LPCWSTR, + drvMessage: DRIVERMSGPROC, + wFlags: UINT, + ) -> UINT; +} +pub type FOURCC = DWORD; +pub type HPSTR = *mut ::std::os::raw::c_char; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMMIO__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMMIO__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMMIO__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMMIO__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMMIO__), + "::", + stringify!(unused) + ) + ); +} +pub type HMMIO = *mut HMMIO__; +pub type LPMMIOPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: LPSTR, arg2: UINT, arg3: LPARAM, arg4: LPARAM) -> LRESULT, +>; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _MMIOINFO { + pub dwFlags: DWORD, + pub fccIOProc: FOURCC, + pub pIOProc: LPMMIOPROC, + pub wErrorRet: UINT, + pub htask: HTASK, + pub cchBuffer: LONG, + pub pchBuffer: HPSTR, + pub pchNext: HPSTR, + pub pchEndRead: HPSTR, + pub pchEndWrite: HPSTR, + pub lBufOffset: LONG, + pub lDiskOffset: LONG, + pub adwInfo: [DWORD; 3usize], + pub dwReserved1: DWORD, + pub dwReserved2: DWORD, + pub hmmio: HMMIO, +} +#[test] +fn bindgen_test_layout__MMIOINFO() { + const UNINIT: ::std::mem::MaybeUninit<_MMIOINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MMIOINFO>(), + 100usize, + concat!("Size of: ", stringify!(_MMIOINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MMIOINFO>(), + 1usize, + concat!("Alignment of ", stringify!(_MMIOINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fccIOProc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(fccIOProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIOProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pIOProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wErrorRet) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(wErrorRet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).htask) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(htask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchBuffer) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(cchBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pchBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pchBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pchNext) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pchNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pchEndRead) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pchEndRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pchEndWrite) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(pchEndWrite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lBufOffset) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(lBufOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lDiskOffset) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(lDiskOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adwInfo) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(adwInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved2) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(dwReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hmmio) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_MMIOINFO), + "::", + stringify!(hmmio) + ) + ); +} +pub type MMIOINFO = _MMIOINFO; +pub type PMMIOINFO = *mut _MMIOINFO; +pub type NPMMIOINFO = *mut _MMIOINFO; +pub type LPMMIOINFO = *mut _MMIOINFO; +pub type LPCMMIOINFO = *const MMIOINFO; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _MMCKINFO { + pub ckid: FOURCC, + pub cksize: DWORD, + pub fccType: FOURCC, + pub dwDataOffset: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__MMCKINFO() { + const UNINIT: ::std::mem::MaybeUninit<_MMCKINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MMCKINFO>(), + 20usize, + concat!("Size of: ", stringify!(_MMCKINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MMCKINFO>(), + 1usize, + concat!("Alignment of ", stringify!(_MMCKINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ckid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(ckid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cksize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(cksize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fccType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(fccType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDataOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(dwDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MMCKINFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type MMCKINFO = _MMCKINFO; +pub type PMMCKINFO = *mut _MMCKINFO; +pub type NPMMCKINFO = *mut _MMCKINFO; +pub type LPMMCKINFO = *mut _MMCKINFO; +pub type LPCMMCKINFO = *const MMCKINFO; +extern "C" { + pub fn mmioStringToFOURCCA(sz: LPCSTR, uFlags: UINT) -> FOURCC; +} +extern "C" { + pub fn mmioStringToFOURCCW(sz: LPCWSTR, uFlags: UINT) -> FOURCC; +} +extern "C" { + pub fn mmioInstallIOProcA(fccIOProc: FOURCC, pIOProc: LPMMIOPROC, dwFlags: DWORD) + -> LPMMIOPROC; +} +extern "C" { + pub fn mmioInstallIOProcW(fccIOProc: FOURCC, pIOProc: LPMMIOPROC, dwFlags: DWORD) + -> LPMMIOPROC; +} +extern "C" { + pub fn mmioOpenA(pszFileName: LPSTR, pmmioinfo: LPMMIOINFO, fdwOpen: DWORD) -> HMMIO; +} +extern "C" { + pub fn mmioOpenW(pszFileName: LPWSTR, pmmioinfo: LPMMIOINFO, fdwOpen: DWORD) -> HMMIO; +} +extern "C" { + pub fn mmioRenameA( + pszFileName: LPCSTR, + pszNewFileName: LPCSTR, + pmmioinfo: LPCMMIOINFO, + fdwRename: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mmioRenameW( + pszFileName: LPCWSTR, + pszNewFileName: LPCWSTR, + pmmioinfo: LPCMMIOINFO, + fdwRename: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mmioClose(hmmio: HMMIO, fuClose: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioRead(hmmio: HMMIO, pch: HPSTR, cch: LONG) -> LONG; +} +extern "C" { + pub fn mmioWrite(hmmio: HMMIO, pch: *const ::std::os::raw::c_char, cch: LONG) -> LONG; +} +extern "C" { + pub fn mmioSeek(hmmio: HMMIO, lOffset: LONG, iOrigin: ::std::os::raw::c_int) -> LONG; +} +extern "C" { + pub fn mmioGetInfo(hmmio: HMMIO, pmmioinfo: LPMMIOINFO, fuInfo: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioSetInfo(hmmio: HMMIO, pmmioinfo: LPCMMIOINFO, fuInfo: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioSetBuffer( + hmmio: HMMIO, + pchBuffer: LPSTR, + cchBuffer: LONG, + fuBuffer: UINT, + ) -> MMRESULT; +} +extern "C" { + pub fn mmioFlush(hmmio: HMMIO, fuFlush: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioAdvance(hmmio: HMMIO, pmmioinfo: LPMMIOINFO, fuAdvance: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioSendMessage(hmmio: HMMIO, uMsg: UINT, lParam1: LPARAM, lParam2: LPARAM) -> LRESULT; +} +extern "C" { + pub fn mmioDescend( + hmmio: HMMIO, + pmmcki: LPMMCKINFO, + pmmckiParent: *const MMCKINFO, + fuDescend: UINT, + ) -> MMRESULT; +} +extern "C" { + pub fn mmioAscend(hmmio: HMMIO, pmmcki: LPMMCKINFO, fuAscend: UINT) -> MMRESULT; +} +extern "C" { + pub fn mmioCreateChunk(hmmio: HMMIO, pmmcki: LPMMCKINFO, fuCreate: UINT) -> MMRESULT; +} +pub type LPTIMECALLBACK = ::std::option::Option< + unsafe extern "C" fn(arg1: UINT, arg2: UINT, arg3: DWORD_PTR, arg4: DWORD_PTR, arg5: DWORD_PTR), +>; +extern "C" { + pub fn timeSetEvent( + uDelay: UINT, + uResolution: UINT, + fptc: LPTIMECALLBACK, + dwUser: DWORD_PTR, + fuEvent: UINT, + ) -> MMRESULT; +} +extern "C" { + pub fn timeKillEvent(uTimerID: UINT) -> MMRESULT; +} +extern "C" { + pub fn sndPlaySoundA(pszSound: LPCSTR, fuSound: UINT) -> BOOL; +} +extern "C" { + pub fn sndPlaySoundW(pszSound: LPCWSTR, fuSound: UINT) -> BOOL; +} +extern "C" { + pub fn PlaySoundA(pszSound: LPCSTR, hmod: HMODULE, fdwSound: DWORD) -> BOOL; +} +extern "C" { + pub fn PlaySoundW(pszSound: LPCWSTR, hmod: HMODULE, fdwSound: DWORD) -> BOOL; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HWAVE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWAVE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWAVE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HWAVE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWAVE__), + "::", + stringify!(unused) + ) + ); +} +pub type HWAVE = *mut HWAVE__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HWAVEIN__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWAVEIN__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWAVEIN__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HWAVEIN__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWAVEIN__), + "::", + stringify!(unused) + ) + ); +} +pub type HWAVEIN = *mut HWAVEIN__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HWAVEOUT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HWAVEOUT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HWAVEOUT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HWAVEOUT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HWAVEOUT__), + "::", + stringify!(unused) + ) + ); +} +pub type HWAVEOUT = *mut HWAVEOUT__; +pub type LPHWAVEIN = *mut HWAVEIN; +pub type LPHWAVEOUT = *mut HWAVEOUT; +pub type LPWAVECALLBACK = ::std::option::Option< + unsafe extern "C" fn( + arg1: HDRVR, + arg2: UINT, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ), +>; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct wavehdr_tag { + pub lpData: LPSTR, + pub dwBufferLength: DWORD, + pub dwBytesRecorded: DWORD, + pub dwUser: DWORD_PTR, + pub dwFlags: DWORD, + pub dwLoops: DWORD, + pub lpNext: *mut wavehdr_tag, + pub reserved: DWORD_PTR, +} +#[test] +fn bindgen_test_layout_wavehdr_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(wavehdr_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(wavehdr_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBytesRecorded) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwBytesRecorded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUser) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLoops) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(dwLoops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpNext) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(lpNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(wavehdr_tag), + "::", + stringify!(reserved) + ) + ); +} +pub type WAVEHDR = wavehdr_tag; +pub type PWAVEHDR = *mut wavehdr_tag; +pub type NPWAVEHDR = *mut wavehdr_tag; +pub type LPWAVEHDR = *mut wavehdr_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEOUTCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagWAVEOUTCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagWAVEOUTCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEOUTCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSA), + "::", + stringify!(dwSupport) + ) + ); +} +pub type WAVEOUTCAPSA = tagWAVEOUTCAPSA; +pub type PWAVEOUTCAPSA = *mut tagWAVEOUTCAPSA; +pub type NPWAVEOUTCAPSA = *mut tagWAVEOUTCAPSA; +pub type LPWAVEOUTCAPSA = *mut tagWAVEOUTCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEOUTCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagWAVEOUTCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 84usize, + concat!("Size of: ", stringify!(tagWAVEOUTCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEOUTCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPSW), + "::", + stringify!(dwSupport) + ) + ); +} +pub type WAVEOUTCAPSW = tagWAVEOUTCAPSW; +pub type PWAVEOUTCAPSW = *mut tagWAVEOUTCAPSW; +pub type NPWAVEOUTCAPSW = *mut tagWAVEOUTCAPSW; +pub type LPWAVEOUTCAPSW = *mut tagWAVEOUTCAPSW; +pub type WAVEOUTCAPS = WAVEOUTCAPSA; +pub type PWAVEOUTCAPS = PWAVEOUTCAPSA; +pub type NPWAVEOUTCAPS = NPWAVEOUTCAPSA; +pub type LPWAVEOUTCAPS = LPWAVEOUTCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEOUTCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagWAVEOUTCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 100usize, + concat!("Size of: ", stringify!(tagWAVEOUTCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEOUTCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type WAVEOUTCAPS2A = tagWAVEOUTCAPS2A; +pub type PWAVEOUTCAPS2A = *mut tagWAVEOUTCAPS2A; +pub type NPWAVEOUTCAPS2A = *mut tagWAVEOUTCAPS2A; +pub type LPWAVEOUTCAPS2A = *mut tagWAVEOUTCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEOUTCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagWAVEOUTCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 132usize, + concat!("Size of: ", stringify!(tagWAVEOUTCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEOUTCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEOUTCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type WAVEOUTCAPS2W = tagWAVEOUTCAPS2W; +pub type PWAVEOUTCAPS2W = *mut tagWAVEOUTCAPS2W; +pub type NPWAVEOUTCAPS2W = *mut tagWAVEOUTCAPS2W; +pub type LPWAVEOUTCAPS2W = *mut tagWAVEOUTCAPS2W; +pub type WAVEOUTCAPS2 = WAVEOUTCAPS2A; +pub type PWAVEOUTCAPS2 = PWAVEOUTCAPS2A; +pub type NPWAVEOUTCAPS2 = NPWAVEOUTCAPS2A; +pub type LPWAVEOUTCAPS2 = LPWAVEOUTCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEINCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, +} +#[test] +fn bindgen_test_layout_tagWAVEINCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagWAVEINCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEINCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSA), + "::", + stringify!(wReserved1) + ) + ); +} +pub type WAVEINCAPSA = tagWAVEINCAPSA; +pub type PWAVEINCAPSA = *mut tagWAVEINCAPSA; +pub type NPWAVEINCAPSA = *mut tagWAVEINCAPSA; +pub type LPWAVEINCAPSA = *mut tagWAVEINCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEINCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, +} +#[test] +fn bindgen_test_layout_tagWAVEINCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagWAVEINCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEINCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPSW), + "::", + stringify!(wReserved1) + ) + ); +} +pub type WAVEINCAPSW = tagWAVEINCAPSW; +pub type PWAVEINCAPSW = *mut tagWAVEINCAPSW; +pub type NPWAVEINCAPSW = *mut tagWAVEINCAPSW; +pub type LPWAVEINCAPSW = *mut tagWAVEINCAPSW; +pub type WAVEINCAPS = WAVEINCAPSA; +pub type PWAVEINCAPS = PWAVEINCAPSA; +pub type NPWAVEINCAPS = NPWAVEINCAPSA; +pub type LPWAVEINCAPS = LPWAVEINCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEINCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagWAVEINCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagWAVEINCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEINCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type WAVEINCAPS2A = tagWAVEINCAPS2A; +pub type PWAVEINCAPS2A = *mut tagWAVEINCAPS2A; +pub type NPWAVEINCAPS2A = *mut tagWAVEINCAPS2A; +pub type LPWAVEINCAPS2A = *mut tagWAVEINCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagWAVEINCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwFormats: DWORD, + pub wChannels: WORD, + pub wReserved1: WORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagWAVEINCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagWAVEINCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagWAVEINCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFormats) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(dwFormats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannels) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(wChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagWAVEINCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type WAVEINCAPS2W = tagWAVEINCAPS2W; +pub type PWAVEINCAPS2W = *mut tagWAVEINCAPS2W; +pub type NPWAVEINCAPS2W = *mut tagWAVEINCAPS2W; +pub type LPWAVEINCAPS2W = *mut tagWAVEINCAPS2W; +pub type WAVEINCAPS2 = WAVEINCAPS2A; +pub type PWAVEINCAPS2 = PWAVEINCAPS2A; +pub type NPWAVEINCAPS2 = NPWAVEINCAPS2A; +pub type LPWAVEINCAPS2 = LPWAVEINCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct waveformat_tag { + pub wFormatTag: WORD, + pub nChannels: WORD, + pub nSamplesPerSec: DWORD, + pub nAvgBytesPerSec: DWORD, + pub nBlockAlign: WORD, +} +#[test] +fn bindgen_test_layout_waveformat_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 14usize, + concat!("Size of: ", stringify!(waveformat_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(waveformat_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFormatTag) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(wFormatTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nChannels) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(nChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSamplesPerSec) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(nSamplesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nAvgBytesPerSec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(nAvgBytesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBlockAlign) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(waveformat_tag), + "::", + stringify!(nBlockAlign) + ) + ); +} +pub type WAVEFORMAT = waveformat_tag; +pub type PWAVEFORMAT = *mut waveformat_tag; +pub type NPWAVEFORMAT = *mut waveformat_tag; +pub type LPWAVEFORMAT = *mut waveformat_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct pcmwaveformat_tag { + pub wf: WAVEFORMAT, + pub wBitsPerSample: WORD, +} +#[test] +fn bindgen_test_layout_pcmwaveformat_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(pcmwaveformat_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(pcmwaveformat_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wf) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pcmwaveformat_tag), + "::", + stringify!(wf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wBitsPerSample) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(pcmwaveformat_tag), + "::", + stringify!(wBitsPerSample) + ) + ); +} +pub type PCMWAVEFORMAT = pcmwaveformat_tag; +pub type PPCMWAVEFORMAT = *mut pcmwaveformat_tag; +pub type NPPCMWAVEFORMAT = *mut pcmwaveformat_tag; +pub type LPPCMWAVEFORMAT = *mut pcmwaveformat_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tWAVEFORMATEX { + pub wFormatTag: WORD, + pub nChannels: WORD, + pub nSamplesPerSec: DWORD, + pub nAvgBytesPerSec: DWORD, + pub nBlockAlign: WORD, + pub wBitsPerSample: WORD, + pub cbSize: WORD, +} +#[test] +fn bindgen_test_layout_tWAVEFORMATEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(tWAVEFORMATEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tWAVEFORMATEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFormatTag) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(wFormatTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nChannels) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(nChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSamplesPerSec) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(nSamplesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nAvgBytesPerSec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(nAvgBytesPerSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBlockAlign) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(nBlockAlign) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wBitsPerSample) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(wBitsPerSample) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tWAVEFORMATEX), + "::", + stringify!(cbSize) + ) + ); +} +pub type WAVEFORMATEX = tWAVEFORMATEX; +pub type PWAVEFORMATEX = *mut tWAVEFORMATEX; +pub type NPWAVEFORMATEX = *mut tWAVEFORMATEX; +pub type LPWAVEFORMATEX = *mut tWAVEFORMATEX; +pub type LPCWAVEFORMATEX = *const WAVEFORMATEX; +extern "C" { + pub fn waveOutGetNumDevs() -> UINT; +} +extern "C" { + pub fn waveOutGetDevCapsA(uDeviceID: UINT_PTR, pwoc: LPWAVEOUTCAPSA, cbwoc: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetDevCapsW(uDeviceID: UINT_PTR, pwoc: LPWAVEOUTCAPSW, cbwoc: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetVolume(hwo: HWAVEOUT, pdwVolume: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutSetVolume(hwo: HWAVEOUT, dwVolume: DWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetErrorTextA(mmrError: MMRESULT, pszText: LPSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetErrorTextW(mmrError: MMRESULT, pszText: LPWSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutOpen( + phwo: LPHWAVEOUT, + uDeviceID: UINT, + pwfx: LPCWAVEFORMATEX, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn waveOutClose(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutPrepareHeader(hwo: HWAVEOUT, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutUnprepareHeader(hwo: HWAVEOUT, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutWrite(hwo: HWAVEOUT, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutPause(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutRestart(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutReset(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutBreakLoop(hwo: HWAVEOUT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetPosition(hwo: HWAVEOUT, pmmt: LPMMTIME, cbmmt: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetPitch(hwo: HWAVEOUT, pdwPitch: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutSetPitch(hwo: HWAVEOUT, dwPitch: DWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetPlaybackRate(hwo: HWAVEOUT, pdwRate: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutSetPlaybackRate(hwo: HWAVEOUT, dwRate: DWORD) -> MMRESULT; +} +extern "C" { + pub fn waveOutGetID(hwo: HWAVEOUT, puDeviceID: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn waveOutMessage(hwo: HWAVEOUT, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +extern "C" { + pub fn waveInGetNumDevs() -> UINT; +} +extern "C" { + pub fn waveInGetDevCapsA(uDeviceID: UINT_PTR, pwic: LPWAVEINCAPSA, cbwic: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInGetDevCapsW(uDeviceID: UINT_PTR, pwic: LPWAVEINCAPSW, cbwic: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInGetErrorTextA(mmrError: MMRESULT, pszText: LPSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInGetErrorTextW(mmrError: MMRESULT, pszText: LPWSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInOpen( + phwi: LPHWAVEIN, + uDeviceID: UINT, + pwfx: LPCWAVEFORMATEX, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn waveInClose(hwi: HWAVEIN) -> MMRESULT; +} +extern "C" { + pub fn waveInPrepareHeader(hwi: HWAVEIN, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInUnprepareHeader(hwi: HWAVEIN, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInAddBuffer(hwi: HWAVEIN, pwh: LPWAVEHDR, cbwh: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInStart(hwi: HWAVEIN) -> MMRESULT; +} +extern "C" { + pub fn waveInStop(hwi: HWAVEIN) -> MMRESULT; +} +extern "C" { + pub fn waveInReset(hwi: HWAVEIN) -> MMRESULT; +} +extern "C" { + pub fn waveInGetPosition(hwi: HWAVEIN, pmmt: LPMMTIME, cbmmt: UINT) -> MMRESULT; +} +extern "C" { + pub fn waveInGetID(hwi: HWAVEIN, puDeviceID: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn waveInMessage(hwi: HWAVEIN, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIDI__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIDI__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIDI__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIDI__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIDI__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIDI = *mut HMIDI__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIDIIN__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIDIIN__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIDIIN__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIDIIN__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIDIIN__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIDIIN = *mut HMIDIIN__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIDIOUT__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIDIOUT__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIDIOUT__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIDIOUT__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIDIOUT__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIDIOUT = *mut HMIDIOUT__; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIDISTRM__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIDISTRM__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIDISTRM__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIDISTRM__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIDISTRM__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIDISTRM = *mut HMIDISTRM__; +pub type LPHMIDI = *mut HMIDI; +pub type LPHMIDIIN = *mut HMIDIIN; +pub type LPHMIDIOUT = *mut HMIDIOUT; +pub type LPHMIDISTRM = *mut HMIDISTRM; +pub type LPMIDICALLBACK = ::std::option::Option< + unsafe extern "C" fn( + arg1: HDRVR, + arg2: UINT, + arg3: DWORD_PTR, + arg4: DWORD_PTR, + arg5: DWORD_PTR, + ), +>; +pub type PATCHARRAY = [WORD; 128usize]; +pub type LPPATCHARRAY = *mut WORD; +pub type KEYARRAY = [WORD; 128usize]; +pub type LPKEYARRAY = *mut WORD; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIOUTCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub wTechnology: WORD, + pub wVoices: WORD, + pub wNotes: WORD, + pub wChannelMask: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIDIOUTCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagMIDIOUTCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIOUTCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVoices) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wVoices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNotes) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wNotes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannelMask) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(wChannelMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSA), + "::", + stringify!(dwSupport) + ) + ); +} +pub type MIDIOUTCAPSA = tagMIDIOUTCAPSA; +pub type PMIDIOUTCAPSA = *mut tagMIDIOUTCAPSA; +pub type NPMIDIOUTCAPSA = *mut tagMIDIOUTCAPSA; +pub type LPMIDIOUTCAPSA = *mut tagMIDIOUTCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIOUTCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub wTechnology: WORD, + pub wVoices: WORD, + pub wNotes: WORD, + pub wChannelMask: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIDIOUTCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 84usize, + concat!("Size of: ", stringify!(tagMIDIOUTCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIOUTCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVoices) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wVoices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNotes) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wNotes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannelMask) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(wChannelMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPSW), + "::", + stringify!(dwSupport) + ) + ); +} +pub type MIDIOUTCAPSW = tagMIDIOUTCAPSW; +pub type PMIDIOUTCAPSW = *mut tagMIDIOUTCAPSW; +pub type NPMIDIOUTCAPSW = *mut tagMIDIOUTCAPSW; +pub type LPMIDIOUTCAPSW = *mut tagMIDIOUTCAPSW; +pub type MIDIOUTCAPS = MIDIOUTCAPSA; +pub type PMIDIOUTCAPS = PMIDIOUTCAPSA; +pub type NPMIDIOUTCAPS = NPMIDIOUTCAPSA; +pub type LPMIDIOUTCAPS = LPMIDIOUTCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIOUTCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub wTechnology: WORD, + pub wVoices: WORD, + pub wNotes: WORD, + pub wChannelMask: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIDIOUTCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 100usize, + concat!("Size of: ", stringify!(tagMIDIOUTCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIOUTCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVoices) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wVoices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNotes) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wNotes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannelMask) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(wChannelMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIDIOUTCAPS2A = tagMIDIOUTCAPS2A; +pub type PMIDIOUTCAPS2A = *mut tagMIDIOUTCAPS2A; +pub type NPMIDIOUTCAPS2A = *mut tagMIDIOUTCAPS2A; +pub type LPMIDIOUTCAPS2A = *mut tagMIDIOUTCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIOUTCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub wTechnology: WORD, + pub wVoices: WORD, + pub wNotes: WORD, + pub wChannelMask: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIDIOUTCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 132usize, + concat!("Size of: ", stringify!(tagMIDIOUTCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIOUTCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVoices) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wVoices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNotes) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wNotes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wChannelMask) as usize - ptr as usize }, + 78usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(wChannelMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIOUTCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIDIOUTCAPS2W = tagMIDIOUTCAPS2W; +pub type PMIDIOUTCAPS2W = *mut tagMIDIOUTCAPS2W; +pub type NPMIDIOUTCAPS2W = *mut tagMIDIOUTCAPS2W; +pub type LPMIDIOUTCAPS2W = *mut tagMIDIOUTCAPS2W; +pub type MIDIOUTCAPS2 = MIDIOUTCAPS2A; +pub type PMIDIOUTCAPS2 = PMIDIOUTCAPS2A; +pub type NPMIDIOUTCAPS2 = NPMIDIOUTCAPS2A; +pub type LPMIDIOUTCAPS2 = LPMIDIOUTCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIINCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIDIINCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 44usize, + concat!("Size of: ", stringify!(tagMIDIINCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIINCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSA), + "::", + stringify!(dwSupport) + ) + ); +} +pub type MIDIINCAPSA = tagMIDIINCAPSA; +pub type PMIDIINCAPSA = *mut tagMIDIINCAPSA; +pub type NPMIDIINCAPSA = *mut tagMIDIINCAPSA; +pub type LPMIDIINCAPSA = *mut tagMIDIINCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIINCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIDIINCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 76usize, + concat!("Size of: ", stringify!(tagMIDIINCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIINCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPSW), + "::", + stringify!(dwSupport) + ) + ); +} +pub type MIDIINCAPSW = tagMIDIINCAPSW; +pub type PMIDIINCAPSW = *mut tagMIDIINCAPSW; +pub type NPMIDIINCAPSW = *mut tagMIDIINCAPSW; +pub type LPMIDIINCAPSW = *mut tagMIDIINCAPSW; +pub type MIDIINCAPS = MIDIINCAPSA; +pub type PMIDIINCAPS = PMIDIINCAPSA; +pub type NPMIDIINCAPS = NPMIDIINCAPSA; +pub type LPMIDIINCAPS = LPMIDIINCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIINCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIDIINCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 92usize, + concat!("Size of: ", stringify!(tagMIDIINCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIINCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIDIINCAPS2A = tagMIDIINCAPS2A; +pub type PMIDIINCAPS2A = *mut tagMIDIINCAPS2A; +pub type NPMIDIINCAPS2A = *mut tagMIDIINCAPS2A; +pub type LPMIDIINCAPS2A = *mut tagMIDIINCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIDIINCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIDIINCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 124usize, + concat!("Size of: ", stringify!(tagMIDIINCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIDIINCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagMIDIINCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIDIINCAPS2W = tagMIDIINCAPS2W; +pub type PMIDIINCAPS2W = *mut tagMIDIINCAPS2W; +pub type NPMIDIINCAPS2W = *mut tagMIDIINCAPS2W; +pub type LPMIDIINCAPS2W = *mut tagMIDIINCAPS2W; +pub type MIDIINCAPS2 = MIDIINCAPS2A; +pub type PMIDIINCAPS2 = PMIDIINCAPS2A; +pub type NPMIDIINCAPS2 = NPMIDIINCAPS2A; +pub type LPMIDIINCAPS2 = LPMIDIINCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midihdr_tag { + pub lpData: LPSTR, + pub dwBufferLength: DWORD, + pub dwBytesRecorded: DWORD, + pub dwUser: DWORD_PTR, + pub dwFlags: DWORD, + pub lpNext: *mut midihdr_tag, + pub reserved: DWORD_PTR, + pub dwOffset: DWORD, + pub dwReserved: [DWORD_PTR; 8usize], +} +#[test] +fn bindgen_test_layout_midihdr_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(midihdr_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midihdr_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(lpData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBytesRecorded) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwBytesRecorded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUser) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpNext) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(lpNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(midihdr_tag), + "::", + stringify!(dwReserved) + ) + ); +} +pub type MIDIHDR = midihdr_tag; +pub type PMIDIHDR = *mut midihdr_tag; +pub type NPMIDIHDR = *mut midihdr_tag; +pub type LPMIDIHDR = *mut midihdr_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midievent_tag { + pub dwDeltaTime: DWORD, + pub dwStreamID: DWORD, + pub dwEvent: DWORD, + pub dwParms: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_midievent_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(midievent_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midievent_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDeltaTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midievent_tag), + "::", + stringify!(dwDeltaTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStreamID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(midievent_tag), + "::", + stringify!(dwStreamID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEvent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(midievent_tag), + "::", + stringify!(dwEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParms) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(midievent_tag), + "::", + stringify!(dwParms) + ) + ); +} +pub type MIDIEVENT = midievent_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midistrmbuffver_tag { + pub dwVersion: DWORD, + pub dwMid: DWORD, + pub dwOEMVersion: DWORD, +} +#[test] +fn bindgen_test_layout_midistrmbuffver_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(midistrmbuffver_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midistrmbuffver_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midistrmbuffver_tag), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(midistrmbuffver_tag), + "::", + stringify!(dwMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOEMVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(midistrmbuffver_tag), + "::", + stringify!(dwOEMVersion) + ) + ); +} +pub type MIDISTRMBUFFVER = midistrmbuffver_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midiproptimediv_tag { + pub cbStruct: DWORD, + pub dwTimeDiv: DWORD, +} +#[test] +fn bindgen_test_layout_midiproptimediv_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(midiproptimediv_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midiproptimediv_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midiproptimediv_tag), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTimeDiv) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(midiproptimediv_tag), + "::", + stringify!(dwTimeDiv) + ) + ); +} +pub type MIDIPROPTIMEDIV = midiproptimediv_tag; +pub type LPMIDIPROPTIMEDIV = *mut midiproptimediv_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct midiproptempo_tag { + pub cbStruct: DWORD, + pub dwTempo: DWORD, +} +#[test] +fn bindgen_test_layout_midiproptempo_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(midiproptempo_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(midiproptempo_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(midiproptempo_tag), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTempo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(midiproptempo_tag), + "::", + stringify!(dwTempo) + ) + ); +} +pub type MIDIPROPTEMPO = midiproptempo_tag; +pub type LPMIDIPROPTEMPO = *mut midiproptempo_tag; +extern "C" { + pub fn midiOutGetNumDevs() -> UINT; +} +extern "C" { + pub fn midiStreamOpen( + phms: LPHMIDISTRM, + puDeviceID: LPUINT, + cMidi: DWORD, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn midiStreamClose(hms: HMIDISTRM) -> MMRESULT; +} +extern "C" { + pub fn midiStreamProperty(hms: HMIDISTRM, lppropdata: LPBYTE, dwProperty: DWORD) -> MMRESULT; +} +extern "C" { + pub fn midiStreamPosition(hms: HMIDISTRM, lpmmt: LPMMTIME, cbmmt: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiStreamOut(hms: HMIDISTRM, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiStreamPause(hms: HMIDISTRM) -> MMRESULT; +} +extern "C" { + pub fn midiStreamRestart(hms: HMIDISTRM) -> MMRESULT; +} +extern "C" { + pub fn midiStreamStop(hms: HMIDISTRM) -> MMRESULT; +} +extern "C" { + pub fn midiConnect(hmi: HMIDI, hmo: HMIDIOUT, pReserved: LPVOID) -> MMRESULT; +} +extern "C" { + pub fn midiDisconnect(hmi: HMIDI, hmo: HMIDIOUT, pReserved: LPVOID) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetDevCapsA(uDeviceID: UINT_PTR, pmoc: LPMIDIOUTCAPSA, cbmoc: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetDevCapsW(uDeviceID: UINT_PTR, pmoc: LPMIDIOUTCAPSW, cbmoc: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetVolume(hmo: HMIDIOUT, pdwVolume: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn midiOutSetVolume(hmo: HMIDIOUT, dwVolume: DWORD) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetErrorTextA(mmrError: MMRESULT, pszText: LPSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetErrorTextW(mmrError: MMRESULT, pszText: LPWSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutOpen( + phmo: LPHMIDIOUT, + uDeviceID: UINT, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn midiOutClose(hmo: HMIDIOUT) -> MMRESULT; +} +extern "C" { + pub fn midiOutPrepareHeader(hmo: HMIDIOUT, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutUnprepareHeader(hmo: HMIDIOUT, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutShortMsg(hmo: HMIDIOUT, dwMsg: DWORD) -> MMRESULT; +} +extern "C" { + pub fn midiOutLongMsg(hmo: HMIDIOUT, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutReset(hmo: HMIDIOUT) -> MMRESULT; +} +extern "C" { + pub fn midiOutCachePatches(hmo: HMIDIOUT, uBank: UINT, pwpa: LPWORD, fuCache: UINT) + -> MMRESULT; +} +extern "C" { + pub fn midiOutCacheDrumPatches( + hmo: HMIDIOUT, + uPatch: UINT, + pwkya: LPWORD, + fuCache: UINT, + ) -> MMRESULT; +} +extern "C" { + pub fn midiOutGetID(hmo: HMIDIOUT, puDeviceID: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn midiOutMessage(hmo: HMIDIOUT, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +extern "C" { + pub fn midiInGetNumDevs() -> UINT; +} +extern "C" { + pub fn midiInGetDevCapsA(uDeviceID: UINT_PTR, pmic: LPMIDIINCAPSA, cbmic: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInGetDevCapsW(uDeviceID: UINT_PTR, pmic: LPMIDIINCAPSW, cbmic: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInGetErrorTextA(mmrError: MMRESULT, pszText: LPSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInGetErrorTextW(mmrError: MMRESULT, pszText: LPWSTR, cchText: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInOpen( + phmi: LPHMIDIIN, + uDeviceID: UINT, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn midiInClose(hmi: HMIDIIN) -> MMRESULT; +} +extern "C" { + pub fn midiInPrepareHeader(hmi: HMIDIIN, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInUnprepareHeader(hmi: HMIDIIN, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInAddBuffer(hmi: HMIDIIN, pmh: LPMIDIHDR, cbmh: UINT) -> MMRESULT; +} +extern "C" { + pub fn midiInStart(hmi: HMIDIIN) -> MMRESULT; +} +extern "C" { + pub fn midiInStop(hmi: HMIDIIN) -> MMRESULT; +} +extern "C" { + pub fn midiInReset(hmi: HMIDIIN) -> MMRESULT; +} +extern "C" { + pub fn midiInGetID(hmi: HMIDIIN, puDeviceID: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn midiInMessage(hmi: HMIDIIN, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUXCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub wTechnology: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagAUXCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagAUXCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagAUXCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSA), + "::", + stringify!(dwSupport) + ) + ); +} +pub type AUXCAPSA = tagAUXCAPSA; +pub type PAUXCAPSA = *mut tagAUXCAPSA; +pub type NPAUXCAPSA = *mut tagAUXCAPSA; +pub type LPAUXCAPSA = *mut tagAUXCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUXCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub wTechnology: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, +} +#[test] +fn bindgen_test_layout_tagAUXCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagAUXCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagAUXCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPSW), + "::", + stringify!(dwSupport) + ) + ); +} +pub type AUXCAPSW = tagAUXCAPSW; +pub type PAUXCAPSW = *mut tagAUXCAPSW; +pub type NPAUXCAPSW = *mut tagAUXCAPSW; +pub type LPAUXCAPSW = *mut tagAUXCAPSW; +pub type AUXCAPS = AUXCAPSA; +pub type PAUXCAPS = PAUXCAPSA; +pub type NPAUXCAPS = NPAUXCAPSA; +pub type LPAUXCAPS = LPAUXCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUXCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub wTechnology: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagAUXCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagAUXCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagAUXCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type AUXCAPS2A = tagAUXCAPS2A; +pub type PAUXCAPS2A = *mut tagAUXCAPS2A; +pub type NPAUXCAPS2A = *mut tagAUXCAPS2A; +pub type LPAUXCAPS2A = *mut tagAUXCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagAUXCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub wTechnology: WORD, + pub wReserved1: WORD, + pub dwSupport: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagAUXCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagAUXCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagAUXCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTechnology) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(wTechnology) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSupport) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(dwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagAUXCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type AUXCAPS2W = tagAUXCAPS2W; +pub type PAUXCAPS2W = *mut tagAUXCAPS2W; +pub type NPAUXCAPS2W = *mut tagAUXCAPS2W; +pub type LPAUXCAPS2W = *mut tagAUXCAPS2W; +pub type AUXCAPS2 = AUXCAPS2A; +pub type PAUXCAPS2 = PAUXCAPS2A; +pub type NPAUXCAPS2 = NPAUXCAPS2A; +pub type LPAUXCAPS2 = LPAUXCAPS2A; +extern "C" { + pub fn auxGetNumDevs() -> UINT; +} +extern "C" { + pub fn auxGetDevCapsA(uDeviceID: UINT_PTR, pac: LPAUXCAPSA, cbac: UINT) -> MMRESULT; +} +extern "C" { + pub fn auxGetDevCapsW(uDeviceID: UINT_PTR, pac: LPAUXCAPSW, cbac: UINT) -> MMRESULT; +} +extern "C" { + pub fn auxSetVolume(uDeviceID: UINT, dwVolume: DWORD) -> MMRESULT; +} +extern "C" { + pub fn auxGetVolume(uDeviceID: UINT, pdwVolume: LPDWORD) -> MMRESULT; +} +extern "C" { + pub fn auxOutMessage(uDeviceID: UINT, uMsg: UINT, dw1: DWORD_PTR, dw2: DWORD_PTR) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIXEROBJ__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIXEROBJ__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIXEROBJ__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIXEROBJ__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIXEROBJ__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIXEROBJ = *mut HMIXEROBJ__; +pub type LPHMIXEROBJ = *mut HMIXEROBJ; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct HMIXER__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HMIXER__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HMIXER__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(HMIXER__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HMIXER__), + "::", + stringify!(unused) + ) + ); +} +pub type HMIXER = *mut HMIXER__; +pub type LPHMIXER = *mut HMIXER; +extern "C" { + pub fn mixerGetNumDevs() -> UINT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub fdwSupport: DWORD, + pub cDestinations: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMIXERCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwSupport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(fdwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDestinations) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSA), + "::", + stringify!(cDestinations) + ) + ); +} +pub type MIXERCAPSA = tagMIXERCAPSA; +pub type PMIXERCAPSA = *mut tagMIXERCAPSA; +pub type LPMIXERCAPSA = *mut tagMIXERCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub fdwSupport: DWORD, + pub cDestinations: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMIXERCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwSupport) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(fdwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDestinations) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPSW), + "::", + stringify!(cDestinations) + ) + ); +} +pub type MIXERCAPSW = tagMIXERCAPSW; +pub type PMIXERCAPSW = *mut tagMIXERCAPSW; +pub type LPMIXERCAPSW = *mut tagMIXERCAPSW; +pub type MIXERCAPS = MIXERCAPSA; +pub type PMIXERCAPS = PMIXERCAPSA; +pub type LPMIXERCAPS = LPMIXERCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], + pub fdwSupport: DWORD, + pub cDestinations: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIXERCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagMIXERCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwSupport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(fdwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDestinations) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(cDestinations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIXERCAPS2A = tagMIXERCAPS2A; +pub type PMIXERCAPS2A = *mut tagMIXERCAPS2A; +pub type LPMIXERCAPS2A = *mut tagMIXERCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], + pub fdwSupport: DWORD, + pub cDestinations: DWORD, + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagMIXERCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagMIXERCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwSupport) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(fdwSupport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDestinations) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(cDestinations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type MIXERCAPS2W = tagMIXERCAPS2W; +pub type PMIXERCAPS2W = *mut tagMIXERCAPS2W; +pub type LPMIXERCAPS2W = *mut tagMIXERCAPS2W; +pub type MIXERCAPS2 = MIXERCAPS2A; +pub type PMIXERCAPS2 = PMIXERCAPS2A; +pub type LPMIXERCAPS2 = LPMIXERCAPS2A; +extern "C" { + pub fn mixerGetDevCapsA(uMxId: UINT_PTR, pmxcaps: LPMIXERCAPSA, cbmxcaps: UINT) -> MMRESULT; +} +extern "C" { + pub fn mixerGetDevCapsW(uMxId: UINT_PTR, pmxcaps: LPMIXERCAPSW, cbmxcaps: UINT) -> MMRESULT; +} +extern "C" { + pub fn mixerOpen( + phmx: LPHMIXER, + uMxId: UINT, + dwCallback: DWORD_PTR, + dwInstance: DWORD_PTR, + fdwOpen: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mixerClose(hmx: HMIXER) -> MMRESULT; +} +extern "C" { + pub fn mixerMessage(hmx: HMIXER, uMsg: UINT, dwParam1: DWORD_PTR, dwParam2: DWORD_PTR) + -> DWORD; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERLINEA { + pub cbStruct: DWORD, + pub dwDestination: DWORD, + pub dwSource: DWORD, + pub dwLineID: DWORD, + pub fdwLine: DWORD, + pub dwUser: DWORD_PTR, + pub dwComponentType: DWORD, + pub cChannels: DWORD, + pub cConnections: DWORD, + pub cControls: DWORD, + pub szShortName: [CHAR; 16usize], + pub szName: [CHAR; 64usize], + pub Target: tagMIXERLINEA__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERLINEA__bindgen_ty_1 { + pub dwType: DWORD, + pub dwDeviceID: DWORD, + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [CHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagMIXERLINEA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagMIXERLINEA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINEA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDeviceID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(dwDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA__bindgen_ty_1), + "::", + stringify!(szPname) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERLINEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 172usize, + concat!("Size of: ", stringify!(tagMIXERLINEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDestination) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwDestination) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLineID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwLineID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwLine) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(fdwLine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUser) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwComponentType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(dwComponentType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cChannels) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(cChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cConnections) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(cConnections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cControls) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(cControls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szShortName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(szShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Target) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEA), + "::", + stringify!(Target) + ) + ); +} +pub type MIXERLINEA = tagMIXERLINEA; +pub type PMIXERLINEA = *mut tagMIXERLINEA; +pub type LPMIXERLINEA = *mut tagMIXERLINEA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERLINEW { + pub cbStruct: DWORD, + pub dwDestination: DWORD, + pub dwSource: DWORD, + pub dwLineID: DWORD, + pub fdwLine: DWORD, + pub dwUser: DWORD_PTR, + pub dwComponentType: DWORD, + pub cChannels: DWORD, + pub cConnections: DWORD, + pub cControls: DWORD, + pub szShortName: [WCHAR; 16usize], + pub szName: [WCHAR; 64usize], + pub Target: tagMIXERLINEW__bindgen_ty_1, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERLINEW__bindgen_ty_1 { + pub dwType: DWORD, + pub dwDeviceID: DWORD, + pub wMid: WORD, + pub wPid: WORD, + pub vDriverVersion: MMVERSION, + pub szPname: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagMIXERLINEW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagMIXERLINEW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINEW__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDeviceID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(dwDeviceID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vDriverVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(vDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW__bindgen_ty_1), + "::", + stringify!(szPname) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERLINEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 284usize, + concat!("Size of: ", stringify!(tagMIXERLINEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDestination) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwDestination) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLineID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwLineID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwLine) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(fdwLine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUser) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwComponentType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(dwComponentType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cChannels) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(cChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cConnections) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(cConnections) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cControls) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(cControls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szShortName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(szShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Target) as usize - ptr as usize }, + 204usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINEW), + "::", + stringify!(Target) + ) + ); +} +pub type MIXERLINEW = tagMIXERLINEW; +pub type PMIXERLINEW = *mut tagMIXERLINEW; +pub type LPMIXERLINEW = *mut tagMIXERLINEW; +pub type MIXERLINE = MIXERLINEA; +pub type PMIXERLINE = PMIXERLINEA; +pub type LPMIXERLINE = LPMIXERLINEA; +extern "C" { + pub fn mixerGetLineInfoA(hmxobj: HMIXEROBJ, pmxl: LPMIXERLINEA, fdwInfo: DWORD) -> MMRESULT; +} +extern "C" { + pub fn mixerGetLineInfoW(hmxobj: HMIXEROBJ, pmxl: LPMIXERLINEW, fdwInfo: DWORD) -> MMRESULT; +} +extern "C" { + pub fn mixerGetID(hmxobj: HMIXEROBJ, puMxId: *mut UINT, fdwId: DWORD) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tagMIXERCONTROLA { + pub cbStruct: DWORD, + pub dwControlID: DWORD, + pub dwControlType: DWORD, + pub fdwControl: DWORD, + pub cMultipleItems: DWORD, + pub szShortName: [CHAR; 16usize], + pub szName: [CHAR; 64usize], + pub Bounds: tagMIXERCONTROLA__bindgen_ty_1, + pub Metrics: tagMIXERCONTROLA__bindgen_ty_2, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERCONTROLA__bindgen_ty_1 { + pub __bindgen_anon_1: tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2, + pub dwReserved: [DWORD; 6usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1 { + pub lMinimum: LONG, + pub lMaximum: LONG, +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lMinimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lMaximum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lMaximum) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2 { + pub dwMinimum: DWORD, + pub dwMaximum: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwMaximum) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERCONTROLA__bindgen_ty_2 { + pub cSteps: DWORD, + pub cbCustomData: DWORD, + pub dwReserved: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLA__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLA__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSteps) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_2), + "::", + stringify!(cSteps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCustomData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_2), + "::", + stringify!(cbCustomData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA__bindgen_ty_2), + "::", + stringify!(dwReserved) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 148usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(dwControlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwControl) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(fdwControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMultipleItems) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(cMultipleItems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szShortName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(szShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bounds) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(Bounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Metrics) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLA), + "::", + stringify!(Metrics) + ) + ); +} +pub type MIXERCONTROLA = tagMIXERCONTROLA; +pub type PMIXERCONTROLA = *mut tagMIXERCONTROLA; +pub type LPMIXERCONTROLA = *mut tagMIXERCONTROLA; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tagMIXERCONTROLW { + pub cbStruct: DWORD, + pub dwControlID: DWORD, + pub dwControlType: DWORD, + pub fdwControl: DWORD, + pub cMultipleItems: DWORD, + pub szShortName: [WCHAR; 16usize], + pub szName: [WCHAR; 64usize], + pub Bounds: tagMIXERCONTROLW__bindgen_ty_1, + pub Metrics: tagMIXERCONTROLW__bindgen_ty_2, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERCONTROLW__bindgen_ty_1 { + pub __bindgen_anon_1: tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2, + pub dwReserved: [DWORD; 6usize], +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1 { + pub lMinimum: LONG, + pub lMaximum: LONG, +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lMinimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lMaximum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lMaximum) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2 { + pub dwMinimum: DWORD, + pub dwMaximum: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!( + "Size of: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwMaximum) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLW__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERCONTROLW__bindgen_ty_2 { + pub cSteps: DWORD, + pub cbCustomData: DWORD, + pub dwReserved: [DWORD; 6usize], +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLW__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLW__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSteps) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_2), + "::", + stringify!(cSteps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCustomData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_2), + "::", + stringify!(cbCustomData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW__bindgen_ty_2), + "::", + stringify!(dwReserved) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 228usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERCONTROLW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(dwControlType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwControl) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(fdwControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMultipleItems) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(cMultipleItems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szShortName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(szShortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bounds) as usize - ptr as usize }, + 180usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(Bounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Metrics) as usize - ptr as usize }, + 204usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLW), + "::", + stringify!(Metrics) + ) + ); +} +pub type MIXERCONTROLW = tagMIXERCONTROLW; +pub type PMIXERCONTROLW = *mut tagMIXERCONTROLW; +pub type LPMIXERCONTROLW = *mut tagMIXERCONTROLW; +pub type MIXERCONTROL = MIXERCONTROLA; +pub type PMIXERCONTROL = PMIXERCONTROLA; +pub type LPMIXERCONTROL = LPMIXERCONTROLA; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tagMIXERLINECONTROLSA { + pub cbStruct: DWORD, + pub dwLineID: DWORD, + pub __bindgen_anon_1: tagMIXERLINECONTROLSA__bindgen_ty_1, + pub cControls: DWORD, + pub cbmxctrl: DWORD, + pub pamxctrl: LPMIXERCONTROLA, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERLINECONTROLSA__bindgen_ty_1 { + pub dwControlID: DWORD, + pub dwControlType: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERLINECONTROLSA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA__bindgen_ty_1), + "::", + stringify!(dwControlType) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERLINECONTROLSA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMIXERLINECONTROLSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINECONTROLSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLineID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(dwLineID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cControls) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(cControls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbmxctrl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(cbmxctrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pamxctrl) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSA), + "::", + stringify!(pamxctrl) + ) + ); +} +pub type MIXERLINECONTROLSA = tagMIXERLINECONTROLSA; +pub type PMIXERLINECONTROLSA = *mut tagMIXERLINECONTROLSA; +pub type LPMIXERLINECONTROLSA = *mut tagMIXERLINECONTROLSA; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tagMIXERLINECONTROLSW { + pub cbStruct: DWORD, + pub dwLineID: DWORD, + pub __bindgen_anon_1: tagMIXERLINECONTROLSW__bindgen_ty_1, + pub cControls: DWORD, + pub cbmxctrl: DWORD, + pub pamxctrl: LPMIXERCONTROLW, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tagMIXERLINECONTROLSW__bindgen_ty_1 { + pub dwControlID: DWORD, + pub dwControlType: DWORD, +} +#[test] +fn bindgen_test_layout_tagMIXERLINECONTROLSW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW__bindgen_ty_1), + "::", + stringify!(dwControlType) + ) + ); +} +#[test] +fn bindgen_test_layout_tagMIXERLINECONTROLSW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagMIXERLINECONTROLSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagMIXERLINECONTROLSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLineID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(dwLineID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cControls) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(cControls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbmxctrl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(cbmxctrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pamxctrl) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERLINECONTROLSW), + "::", + stringify!(pamxctrl) + ) + ); +} +pub type MIXERLINECONTROLSW = tagMIXERLINECONTROLSW; +pub type PMIXERLINECONTROLSW = *mut tagMIXERLINECONTROLSW; +pub type LPMIXERLINECONTROLSW = *mut tagMIXERLINECONTROLSW; +pub type MIXERLINECONTROLS = MIXERLINECONTROLSA; +pub type PMIXERLINECONTROLS = PMIXERLINECONTROLSA; +pub type LPMIXERLINECONTROLS = LPMIXERLINECONTROLSA; +extern "C" { + pub fn mixerGetLineControlsA( + hmxobj: HMIXEROBJ, + pmxlc: LPMIXERLINECONTROLSA, + fdwControls: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mixerGetLineControlsW( + hmxobj: HMIXEROBJ, + pmxlc: LPMIXERLINECONTROLSW, + fdwControls: DWORD, + ) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct tMIXERCONTROLDETAILS { + pub cbStruct: DWORD, + pub dwControlID: DWORD, + pub cChannels: DWORD, + pub __bindgen_anon_1: tMIXERCONTROLDETAILS__bindgen_ty_1, + pub cbDetails: DWORD, + pub paDetails: LPVOID, +} +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub union tMIXERCONTROLDETAILS__bindgen_ty_1 { + pub hwndOwner: HWND, + pub cMultipleItems: DWORD, +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMultipleItems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS__bindgen_ty_1), + "::", + stringify!(cMultipleItems) + ) + ); +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tMIXERCONTROLDETAILS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(dwControlID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cChannels) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(cChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbDetails) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(cbDetails) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paDetails) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS), + "::", + stringify!(paDetails) + ) + ); +} +pub type MIXERCONTROLDETAILS = tMIXERCONTROLDETAILS; +pub type PMIXERCONTROLDETAILS = *mut tMIXERCONTROLDETAILS; +pub type LPMIXERCONTROLDETAILS = *mut tMIXERCONTROLDETAILS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLDETAILS_LISTTEXTA { + pub dwParam1: DWORD, + pub dwParam2: DWORD, + pub szName: [CHAR; 64usize], +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLDETAILS_LISTTEXTA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA), + "::", + stringify!(dwParam1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA), + "::", + stringify!(dwParam2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTA), + "::", + stringify!(szName) + ) + ); +} +pub type MIXERCONTROLDETAILS_LISTTEXTA = tagMIXERCONTROLDETAILS_LISTTEXTA; +pub type PMIXERCONTROLDETAILS_LISTTEXTA = *mut tagMIXERCONTROLDETAILS_LISTTEXTA; +pub type LPMIXERCONTROLDETAILS_LISTTEXTA = *mut tagMIXERCONTROLDETAILS_LISTTEXTA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagMIXERCONTROLDETAILS_LISTTEXTW { + pub dwParam1: DWORD, + pub dwParam2: DWORD, + pub szName: [WCHAR; 64usize], +} +#[test] +fn bindgen_test_layout_tagMIXERCONTROLDETAILS_LISTTEXTW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW), + "::", + stringify!(dwParam1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW), + "::", + stringify!(dwParam2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMIXERCONTROLDETAILS_LISTTEXTW), + "::", + stringify!(szName) + ) + ); +} +pub type MIXERCONTROLDETAILS_LISTTEXTW = tagMIXERCONTROLDETAILS_LISTTEXTW; +pub type PMIXERCONTROLDETAILS_LISTTEXTW = *mut tagMIXERCONTROLDETAILS_LISTTEXTW; +pub type LPMIXERCONTROLDETAILS_LISTTEXTW = *mut tagMIXERCONTROLDETAILS_LISTTEXTW; +pub type MIXERCONTROLDETAILS_LISTTEXT = MIXERCONTROLDETAILS_LISTTEXTA; +pub type PMIXERCONTROLDETAILS_LISTTEXT = PMIXERCONTROLDETAILS_LISTTEXTA; +pub type LPMIXERCONTROLDETAILS_LISTTEXT = LPMIXERCONTROLDETAILS_LISTTEXTA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tMIXERCONTROLDETAILS_BOOLEAN { + pub fValue: LONG, +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS_BOOLEAN() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS_BOOLEAN)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tMIXERCONTROLDETAILS_BOOLEAN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS_BOOLEAN), + "::", + stringify!(fValue) + ) + ); +} +pub type MIXERCONTROLDETAILS_BOOLEAN = tMIXERCONTROLDETAILS_BOOLEAN; +pub type PMIXERCONTROLDETAILS_BOOLEAN = *mut tMIXERCONTROLDETAILS_BOOLEAN; +pub type LPMIXERCONTROLDETAILS_BOOLEAN = *mut tMIXERCONTROLDETAILS_BOOLEAN; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tMIXERCONTROLDETAILS_SIGNED { + pub lValue: LONG, +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS_SIGNED() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS_SIGNED)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tMIXERCONTROLDETAILS_SIGNED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS_SIGNED), + "::", + stringify!(lValue) + ) + ); +} +pub type MIXERCONTROLDETAILS_SIGNED = tMIXERCONTROLDETAILS_SIGNED; +pub type PMIXERCONTROLDETAILS_SIGNED = *mut tMIXERCONTROLDETAILS_SIGNED; +pub type LPMIXERCONTROLDETAILS_SIGNED = *mut tMIXERCONTROLDETAILS_SIGNED; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tMIXERCONTROLDETAILS_UNSIGNED { + pub dwValue: DWORD, +} +#[test] +fn bindgen_test_layout_tMIXERCONTROLDETAILS_UNSIGNED() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(tMIXERCONTROLDETAILS_UNSIGNED)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tMIXERCONTROLDETAILS_UNSIGNED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tMIXERCONTROLDETAILS_UNSIGNED), + "::", + stringify!(dwValue) + ) + ); +} +pub type MIXERCONTROLDETAILS_UNSIGNED = tMIXERCONTROLDETAILS_UNSIGNED; +pub type PMIXERCONTROLDETAILS_UNSIGNED = *mut tMIXERCONTROLDETAILS_UNSIGNED; +pub type LPMIXERCONTROLDETAILS_UNSIGNED = *mut tMIXERCONTROLDETAILS_UNSIGNED; +extern "C" { + pub fn mixerGetControlDetailsA( + hmxobj: HMIXEROBJ, + pmxcd: LPMIXERCONTROLDETAILS, + fdwDetails: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mixerGetControlDetailsW( + hmxobj: HMIXEROBJ, + pmxcd: LPMIXERCONTROLDETAILS, + fdwDetails: DWORD, + ) -> MMRESULT; +} +extern "C" { + pub fn mixerSetControlDetails( + hmxobj: HMIXEROBJ, + pmxcd: LPMIXERCONTROLDETAILS, + fdwDetails: DWORD, + ) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct timecaps_tag { + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, +} +#[test] +fn bindgen_test_layout_timecaps_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(timecaps_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(timecaps_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timecaps_tag), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(timecaps_tag), + "::", + stringify!(wPeriodMax) + ) + ); +} +pub type TIMECAPS = timecaps_tag; +pub type PTIMECAPS = *mut timecaps_tag; +pub type NPTIMECAPS = *mut timecaps_tag; +pub type LPTIMECAPS = *mut timecaps_tag; +extern "C" { + pub fn timeGetSystemTime(pmmt: LPMMTIME, cbmmt: UINT) -> MMRESULT; +} +extern "C" { + pub fn timeGetTime() -> DWORD; +} +extern "C" { + pub fn timeGetDevCaps(ptc: LPTIMECAPS, cbtc: UINT) -> MMRESULT; +} +extern "C" { + pub fn timeBeginPeriod(uPeriod: UINT) -> MMRESULT; +} +extern "C" { + pub fn timeEndPeriod(uPeriod: UINT) -> MMRESULT; +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagJOYCAPSA { + pub wMid: WORD, + pub wPid: WORD, + pub szPname: [CHAR; 32usize], + pub wXmin: UINT, + pub wXmax: UINT, + pub wYmin: UINT, + pub wYmax: UINT, + pub wZmin: UINT, + pub wZmax: UINT, + pub wNumButtons: UINT, + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, + pub wRmin: UINT, + pub wRmax: UINT, + pub wUmin: UINT, + pub wUmax: UINT, + pub wVmin: UINT, + pub wVmax: UINT, + pub wCaps: UINT, + pub wMaxAxes: UINT, + pub wNumAxes: UINT, + pub wMaxButtons: UINT, + pub szRegKey: [CHAR; 32usize], + pub szOEMVxD: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout_tagJOYCAPSA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 404usize, + concat!("Size of: ", stringify!(tagJOYCAPSA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagJOYCAPSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmin) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wXmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmax) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wXmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmin) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wYmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmax) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wYmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmin) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wZmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmax) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wZmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumButtons) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wNumButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wPeriodMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmin) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wRmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmax) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wRmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmin) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wUmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmax) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wUmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmin) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wVmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmax) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wVmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCaps) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxAxes) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wMaxAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumAxes) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxButtons) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(wMaxButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szRegKey) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(szRegKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szOEMVxD) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSA), + "::", + stringify!(szOEMVxD) + ) + ); +} +pub type JOYCAPSA = tagJOYCAPSA; +pub type PJOYCAPSA = *mut tagJOYCAPSA; +pub type NPJOYCAPSA = *mut tagJOYCAPSA; +pub type LPJOYCAPSA = *mut tagJOYCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagJOYCAPSW { + pub wMid: WORD, + pub wPid: WORD, + pub szPname: [WCHAR; 32usize], + pub wXmin: UINT, + pub wXmax: UINT, + pub wYmin: UINT, + pub wYmax: UINT, + pub wZmin: UINT, + pub wZmax: UINT, + pub wNumButtons: UINT, + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, + pub wRmin: UINT, + pub wRmax: UINT, + pub wUmin: UINT, + pub wUmax: UINT, + pub wVmin: UINT, + pub wVmax: UINT, + pub wCaps: UINT, + pub wMaxAxes: UINT, + pub wNumAxes: UINT, + pub wMaxButtons: UINT, + pub szRegKey: [WCHAR; 32usize], + pub szOEMVxD: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout_tagJOYCAPSW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 728usize, + concat!("Size of: ", stringify!(tagJOYCAPSW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagJOYCAPSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmin) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wXmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmax) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wXmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmin) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wYmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmax) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wYmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmin) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wZmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmax) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wZmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumButtons) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wNumButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wPeriodMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmin) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wRmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmax) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wRmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmin) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wUmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmax) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wUmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmin) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wVmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmax) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wVmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCaps) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxAxes) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wMaxAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumAxes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxButtons) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(wMaxButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szRegKey) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(szRegKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szOEMVxD) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPSW), + "::", + stringify!(szOEMVxD) + ) + ); +} +pub type JOYCAPSW = tagJOYCAPSW; +pub type PJOYCAPSW = *mut tagJOYCAPSW; +pub type NPJOYCAPSW = *mut tagJOYCAPSW; +pub type LPJOYCAPSW = *mut tagJOYCAPSW; +pub type JOYCAPS = JOYCAPSA; +pub type PJOYCAPS = PJOYCAPSA; +pub type NPJOYCAPS = NPJOYCAPSA; +pub type LPJOYCAPS = LPJOYCAPSA; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagJOYCAPS2A { + pub wMid: WORD, + pub wPid: WORD, + pub szPname: [CHAR; 32usize], + pub wXmin: UINT, + pub wXmax: UINT, + pub wYmin: UINT, + pub wYmax: UINT, + pub wZmin: UINT, + pub wZmax: UINT, + pub wNumButtons: UINT, + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, + pub wRmin: UINT, + pub wRmax: UINT, + pub wUmin: UINT, + pub wUmax: UINT, + pub wVmin: UINT, + pub wVmax: UINT, + pub wCaps: UINT, + pub wMaxAxes: UINT, + pub wNumAxes: UINT, + pub wMaxButtons: UINT, + pub szRegKey: [CHAR; 32usize], + pub szOEMVxD: [CHAR; 260usize], + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagJOYCAPS2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 452usize, + concat!("Size of: ", stringify!(tagJOYCAPS2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagJOYCAPS2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmin) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wXmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmax) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wXmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmin) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wYmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmax) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wYmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmin) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wZmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmax) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wZmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumButtons) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wNumButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wPeriodMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmin) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wRmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmax) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wRmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmin) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wUmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmax) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wUmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmin) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wVmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmax) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wVmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCaps) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxAxes) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wMaxAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumAxes) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxButtons) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(wMaxButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szRegKey) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(szRegKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szOEMVxD) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(szOEMVxD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 404usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 420usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 436usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2A), + "::", + stringify!(NameGuid) + ) + ); +} +pub type JOYCAPS2A = tagJOYCAPS2A; +pub type PJOYCAPS2A = *mut tagJOYCAPS2A; +pub type NPJOYCAPS2A = *mut tagJOYCAPS2A; +pub type LPJOYCAPS2A = *mut tagJOYCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct tagJOYCAPS2W { + pub wMid: WORD, + pub wPid: WORD, + pub szPname: [WCHAR; 32usize], + pub wXmin: UINT, + pub wXmax: UINT, + pub wYmin: UINT, + pub wYmax: UINT, + pub wZmin: UINT, + pub wZmax: UINT, + pub wNumButtons: UINT, + pub wPeriodMin: UINT, + pub wPeriodMax: UINT, + pub wRmin: UINT, + pub wRmax: UINT, + pub wUmin: UINT, + pub wUmax: UINT, + pub wVmin: UINT, + pub wVmax: UINT, + pub wCaps: UINT, + pub wMaxAxes: UINT, + pub wNumAxes: UINT, + pub wMaxButtons: UINT, + pub szRegKey: [WCHAR; 32usize], + pub szOEMVxD: [WCHAR; 260usize], + pub ManufacturerGuid: GUID, + pub ProductGuid: GUID, + pub NameGuid: GUID, +} +#[test] +fn bindgen_test_layout_tagJOYCAPS2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 776usize, + concat!("Size of: ", stringify!(tagJOYCAPS2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(tagJOYCAPS2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wMid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPid) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPname) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(szPname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmin) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wXmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXmax) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wXmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmin) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wYmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYmax) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wYmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmin) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wZmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZmax) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wZmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumButtons) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wNumButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMin) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wPeriodMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wPeriodMax) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wPeriodMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmin) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wRmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wRmax) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wRmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmin) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wUmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wUmax) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wUmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmin) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wVmin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVmax) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wVmax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCaps) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxAxes) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wMaxAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wNumAxes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wNumAxes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMaxButtons) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(wMaxButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szRegKey) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(szRegKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szOEMVxD) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(szOEMVxD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturerGuid) as usize - ptr as usize }, + 728usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(ManufacturerGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductGuid) as usize - ptr as usize }, + 744usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(ProductGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameGuid) as usize - ptr as usize }, + 760usize, + concat!( + "Offset of field: ", + stringify!(tagJOYCAPS2W), + "::", + stringify!(NameGuid) + ) + ); +} +pub type JOYCAPS2W = tagJOYCAPS2W; +pub type PJOYCAPS2W = *mut tagJOYCAPS2W; +pub type NPJOYCAPS2W = *mut tagJOYCAPS2W; +pub type LPJOYCAPS2W = *mut tagJOYCAPS2W; +pub type JOYCAPS2 = JOYCAPS2A; +pub type PJOYCAPS2 = PJOYCAPS2A; +pub type NPJOYCAPS2 = NPJOYCAPS2A; +pub type LPJOYCAPS2 = LPJOYCAPS2A; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct joyinfo_tag { + pub wXpos: UINT, + pub wYpos: UINT, + pub wZpos: UINT, + pub wButtons: UINT, +} +#[test] +fn bindgen_test_layout_joyinfo_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(joyinfo_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(joyinfo_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wXpos) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(joyinfo_tag), + "::", + stringify!(wXpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wYpos) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(joyinfo_tag), + "::", + stringify!(wYpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wZpos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(joyinfo_tag), + "::", + stringify!(wZpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wButtons) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(joyinfo_tag), + "::", + stringify!(wButtons) + ) + ); +} +pub type JOYINFO = joyinfo_tag; +pub type PJOYINFO = *mut joyinfo_tag; +pub type NPJOYINFO = *mut joyinfo_tag; +pub type LPJOYINFO = *mut joyinfo_tag; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct joyinfoex_tag { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub dwXpos: DWORD, + pub dwYpos: DWORD, + pub dwZpos: DWORD, + pub dwRpos: DWORD, + pub dwUpos: DWORD, + pub dwVpos: DWORD, + pub dwButtons: DWORD, + pub dwButtonNumber: DWORD, + pub dwPOV: DWORD, + pub dwReserved1: DWORD, + pub dwReserved2: DWORD, +} +#[test] +fn bindgen_test_layout_joyinfoex_tag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(joyinfoex_tag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(joyinfoex_tag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXpos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwXpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYpos) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwYpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwZpos) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwZpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRpos) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwRpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUpos) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwUpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVpos) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwVpos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwButtons) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwButtons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwButtonNumber) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwButtonNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPOV) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwPOV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved2) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(joyinfoex_tag), + "::", + stringify!(dwReserved2) + ) + ); +} +pub type JOYINFOEX = joyinfoex_tag; +pub type PJOYINFOEX = *mut joyinfoex_tag; +pub type NPJOYINFOEX = *mut joyinfoex_tag; +pub type LPJOYINFOEX = *mut joyinfoex_tag; +extern "C" { + pub fn joyGetPosEx(uJoyID: UINT, pji: LPJOYINFOEX) -> MMRESULT; +} +extern "C" { + pub fn joyGetNumDevs() -> UINT; +} +extern "C" { + pub fn joyGetDevCapsA(uJoyID: UINT_PTR, pjc: LPJOYCAPSA, cbjc: UINT) -> MMRESULT; +} +extern "C" { + pub fn joyGetDevCapsW(uJoyID: UINT_PTR, pjc: LPJOYCAPSW, cbjc: UINT) -> MMRESULT; +} +extern "C" { + pub fn joyGetPos(uJoyID: UINT, pji: LPJOYINFO) -> MMRESULT; +} +extern "C" { + pub fn joyGetThreshold(uJoyID: UINT, puThreshold: LPUINT) -> MMRESULT; +} +extern "C" { + pub fn joyReleaseCapture(uJoyID: UINT) -> MMRESULT; +} +extern "C" { + pub fn joySetCapture(hwnd: HWND, uJoyID: UINT, uPeriod: UINT, fChanged: BOOL) -> MMRESULT; +} +extern "C" { + pub fn joySetThreshold(uJoyID: UINT, uThreshold: UINT) -> MMRESULT; +} +extern "C" { + pub fn joyConfigChanged(dwFlags: DWORD) -> MMRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCB { + pub ncb_command: UCHAR, + pub ncb_retcode: UCHAR, + pub ncb_lsn: UCHAR, + pub ncb_num: UCHAR, + pub ncb_buffer: PUCHAR, + pub ncb_length: WORD, + pub ncb_callname: [UCHAR; 16usize], + pub ncb_name: [UCHAR; 16usize], + pub ncb_rto: UCHAR, + pub ncb_sto: UCHAR, + pub ncb_post: ::std::option::Option, + pub ncb_lana_num: UCHAR, + pub ncb_cmd_cplt: UCHAR, + pub ncb_reserve: [UCHAR; 18usize], + pub ncb_event: HANDLE, +} +#[test] +fn bindgen_test_layout__NCB() { + const UNINIT: ::std::mem::MaybeUninit<_NCB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCB>(), + 96usize, + concat!("Size of: ", stringify!(_NCB)) + ); + assert_eq!( + ::std::mem::align_of::<_NCB>(), + 8usize, + concat!("Alignment of ", stringify!(_NCB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_command) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_command) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_retcode) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_retcode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_lsn) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_lsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_num) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_num) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_buffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_length) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_callname) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_callname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_name) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_rto) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_rto) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_sto) as usize - ptr as usize }, + 51usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_sto) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_post) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_post) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_lana_num) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_lana_num) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_cmd_cplt) as usize - ptr as usize }, + 65usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_cmd_cplt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_reserve) as usize - ptr as usize }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_reserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ncb_event) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_NCB), + "::", + stringify!(ncb_event) + ) + ); +} +pub type NCB = _NCB; +pub type PNCB = *mut _NCB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ADAPTER_STATUS { + pub adapter_address: [UCHAR; 6usize], + pub rev_major: UCHAR, + pub reserved0: UCHAR, + pub adapter_type: UCHAR, + pub rev_minor: UCHAR, + pub duration: WORD, + pub frmr_recv: WORD, + pub frmr_xmit: WORD, + pub iframe_recv_err: WORD, + pub xmit_aborts: WORD, + pub xmit_success: DWORD, + pub recv_success: DWORD, + pub iframe_xmit_err: WORD, + pub recv_buff_unavail: WORD, + pub t1_timeouts: WORD, + pub ti_timeouts: WORD, + pub reserved1: DWORD, + pub free_ncbs: WORD, + pub max_cfg_ncbs: WORD, + pub max_ncbs: WORD, + pub xmit_buf_unavail: WORD, + pub max_dgram_size: WORD, + pub pending_sess: WORD, + pub max_cfg_sess: WORD, + pub max_sess: WORD, + pub max_sess_pkt_size: WORD, + pub name_count: WORD, +} +#[test] +fn bindgen_test_layout__ADAPTER_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_ADAPTER_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ADAPTER_STATUS>(), + 60usize, + concat!("Size of: ", stringify!(_ADAPTER_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_ADAPTER_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_ADAPTER_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapter_address) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(adapter_address) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rev_major) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(rev_major) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved0) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adapter_type) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(adapter_type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rev_minor) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(rev_minor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).duration) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(duration) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frmr_recv) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(frmr_recv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frmr_xmit) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(frmr_xmit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iframe_recv_err) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(iframe_recv_err) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xmit_aborts) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(xmit_aborts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xmit_success) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(xmit_success) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).recv_success) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(recv_success) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iframe_xmit_err) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(iframe_xmit_err) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).recv_buff_unavail) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(recv_buff_unavail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).t1_timeouts) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(t1_timeouts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ti_timeouts) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(ti_timeouts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).free_ncbs) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(free_ncbs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_cfg_ncbs) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_cfg_ncbs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_ncbs) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_ncbs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xmit_buf_unavail) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(xmit_buf_unavail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_dgram_size) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_dgram_size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pending_sess) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(pending_sess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_cfg_sess) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_cfg_sess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_sess) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_sess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).max_sess_pkt_size) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(max_sess_pkt_size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name_count) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_ADAPTER_STATUS), + "::", + stringify!(name_count) + ) + ); +} +pub type ADAPTER_STATUS = _ADAPTER_STATUS; +pub type PADAPTER_STATUS = *mut _ADAPTER_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NAME_BUFFER { + pub name: [UCHAR; 16usize], + pub name_num: UCHAR, + pub name_flags: UCHAR, +} +#[test] +fn bindgen_test_layout__NAME_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_NAME_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NAME_BUFFER>(), + 18usize, + concat!("Size of: ", stringify!(_NAME_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_NAME_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_NAME_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NAME_BUFFER), + "::", + stringify!(name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name_num) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NAME_BUFFER), + "::", + stringify!(name_num) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name_flags) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(_NAME_BUFFER), + "::", + stringify!(name_flags) + ) + ); +} +pub type NAME_BUFFER = _NAME_BUFFER; +pub type PNAME_BUFFER = *mut _NAME_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SESSION_HEADER { + pub sess_name: UCHAR, + pub num_sess: UCHAR, + pub rcv_dg_outstanding: UCHAR, + pub rcv_any_outstanding: UCHAR, +} +#[test] +fn bindgen_test_layout__SESSION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_SESSION_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SESSION_HEADER>(), + 4usize, + concat!("Size of: ", stringify!(_SESSION_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_SESSION_HEADER>(), + 1usize, + concat!("Alignment of ", stringify!(_SESSION_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sess_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_HEADER), + "::", + stringify!(sess_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).num_sess) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_HEADER), + "::", + stringify!(num_sess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcv_dg_outstanding) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_HEADER), + "::", + stringify!(rcv_dg_outstanding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcv_any_outstanding) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_HEADER), + "::", + stringify!(rcv_any_outstanding) + ) + ); +} +pub type SESSION_HEADER = _SESSION_HEADER; +pub type PSESSION_HEADER = *mut _SESSION_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SESSION_BUFFER { + pub lsn: UCHAR, + pub state: UCHAR, + pub local_name: [UCHAR; 16usize], + pub remote_name: [UCHAR; 16usize], + pub rcvs_outstanding: UCHAR, + pub sends_outstanding: UCHAR, +} +#[test] +fn bindgen_test_layout__SESSION_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_SESSION_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SESSION_BUFFER>(), + 36usize, + concat!("Size of: ", stringify!(_SESSION_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_SESSION_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_SESSION_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lsn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(lsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(state) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).local_name) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(local_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).remote_name) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(remote_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcvs_outstanding) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(rcvs_outstanding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sends_outstanding) as usize - ptr as usize }, + 35usize, + concat!( + "Offset of field: ", + stringify!(_SESSION_BUFFER), + "::", + stringify!(sends_outstanding) + ) + ); +} +pub type SESSION_BUFFER = _SESSION_BUFFER; +pub type PSESSION_BUFFER = *mut _SESSION_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LANA_ENUM { + pub length: UCHAR, + pub lana: [UCHAR; 255usize], +} +#[test] +fn bindgen_test_layout__LANA_ENUM() { + const UNINIT: ::std::mem::MaybeUninit<_LANA_ENUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LANA_ENUM>(), + 256usize, + concat!("Size of: ", stringify!(_LANA_ENUM)) + ); + assert_eq!( + ::std::mem::align_of::<_LANA_ENUM>(), + 1usize, + concat!("Alignment of ", stringify!(_LANA_ENUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LANA_ENUM), + "::", + stringify!(length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lana) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_LANA_ENUM), + "::", + stringify!(lana) + ) + ); +} +pub type LANA_ENUM = _LANA_ENUM; +pub type PLANA_ENUM = *mut _LANA_ENUM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FIND_NAME_HEADER { + pub node_count: WORD, + pub reserved: UCHAR, + pub unique_group: UCHAR, +} +#[test] +fn bindgen_test_layout__FIND_NAME_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_FIND_NAME_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FIND_NAME_HEADER>(), + 4usize, + concat!("Size of: ", stringify!(_FIND_NAME_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_FIND_NAME_HEADER>(), + 2usize, + concat!("Alignment of ", stringify!(_FIND_NAME_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).node_count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_HEADER), + "::", + stringify!(node_count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_HEADER), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unique_group) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_HEADER), + "::", + stringify!(unique_group) + ) + ); +} +pub type FIND_NAME_HEADER = _FIND_NAME_HEADER; +pub type PFIND_NAME_HEADER = *mut _FIND_NAME_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FIND_NAME_BUFFER { + pub length: UCHAR, + pub access_control: UCHAR, + pub frame_control: UCHAR, + pub destination_addr: [UCHAR; 6usize], + pub source_addr: [UCHAR; 6usize], + pub routing_info: [UCHAR; 18usize], +} +#[test] +fn bindgen_test_layout__FIND_NAME_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FIND_NAME_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FIND_NAME_BUFFER>(), + 33usize, + concat!("Size of: ", stringify!(_FIND_NAME_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FIND_NAME_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FIND_NAME_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).access_control) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(access_control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).frame_control) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(frame_control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).destination_addr) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(destination_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).source_addr) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(source_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).routing_info) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(_FIND_NAME_BUFFER), + "::", + stringify!(routing_info) + ) + ); +} +pub type FIND_NAME_BUFFER = _FIND_NAME_BUFFER; +pub type PFIND_NAME_BUFFER = *mut _FIND_NAME_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTION_HEADER { + pub transport_id: ULONG, + pub action_code: USHORT, + pub reserved: USHORT, +} +#[test] +fn bindgen_test_layout__ACTION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_ACTION_HEADER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ACTION_HEADER>(), + 8usize, + concat!("Size of: ", stringify!(_ACTION_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_ACTION_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_ACTION_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transport_id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ACTION_HEADER), + "::", + stringify!(transport_id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).action_code) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ACTION_HEADER), + "::", + stringify!(action_code) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_ACTION_HEADER), + "::", + stringify!(reserved) + ) + ); +} +pub type ACTION_HEADER = _ACTION_HEADER; +pub type PACTION_HEADER = *mut _ACTION_HEADER; +extern "C" { + pub fn Netbios(pncb: PNCB) -> UCHAR; +} +pub type I_RPC_HANDLE = *mut ::std::os::raw::c_void; +pub type RPC_STATUS = ::std::os::raw::c_long; +pub type RPC_CSTR = *mut ::std::os::raw::c_uchar; +pub type RPC_WSTR = *mut ::std::os::raw::c_ushort; +pub type RPC_CWSTR = *const ::std::os::raw::c_ushort; +pub type RPC_BINDING_HANDLE = I_RPC_HANDLE; +pub type handle_t = RPC_BINDING_HANDLE; +pub type UUID = GUID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_BINDING_VECTOR { + pub Count: ::std::os::raw::c_ulong, + pub BindingH: [RPC_BINDING_HANDLE; 1usize], +} +#[test] +fn bindgen_test_layout__RPC_BINDING_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_VECTOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_VECTOR>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_BINDING_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_VECTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_BINDING_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_VECTOR), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindingH) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_VECTOR), + "::", + stringify!(BindingH) + ) + ); +} +pub type RPC_BINDING_VECTOR = _RPC_BINDING_VECTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _UUID_VECTOR { + pub Count: ::std::os::raw::c_ulong, + pub Uuid: [*mut UUID; 1usize], +} +#[test] +fn bindgen_test_layout__UUID_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit<_UUID_VECTOR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_UUID_VECTOR>(), + 16usize, + concat!("Size of: ", stringify!(_UUID_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_UUID_VECTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_UUID_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_UUID_VECTOR), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_UUID_VECTOR), + "::", + stringify!(Uuid) + ) + ); +} +pub type UUID_VECTOR = _UUID_VECTOR; +pub type RPC_IF_HANDLE = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_IF_ID { + pub Uuid: UUID, + pub VersMajor: ::std::os::raw::c_ushort, + pub VersMinor: ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_IF_ID() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_IF_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_IF_ID>(), + 20usize, + concat!("Size of: ", stringify!(_RPC_IF_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_IF_ID>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_IF_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_IF_ID), + "::", + stringify!(Uuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersMajor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_IF_ID), + "::", + stringify!(VersMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersMinor) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_RPC_IF_ID), + "::", + stringify!(VersMinor) + ) + ); +} +pub type RPC_IF_ID = _RPC_IF_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_PROTSEQ_VECTORA { + pub Count: ::std::os::raw::c_uint, + pub Protseq: [*mut ::std::os::raw::c_uchar; 1usize], +} +#[test] +fn bindgen_test_layout__RPC_PROTSEQ_VECTORA() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_PROTSEQ_VECTORA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_PROTSEQ_VECTORA>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_PROTSEQ_VECTORA)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_PROTSEQ_VECTORA>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_PROTSEQ_VECTORA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_VECTORA), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protseq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_VECTORA), + "::", + stringify!(Protseq) + ) + ); +} +pub type RPC_PROTSEQ_VECTORA = _RPC_PROTSEQ_VECTORA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_PROTSEQ_VECTORW { + pub Count: ::std::os::raw::c_uint, + pub Protseq: [*mut ::std::os::raw::c_ushort; 1usize], +} +#[test] +fn bindgen_test_layout__RPC_PROTSEQ_VECTORW() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_PROTSEQ_VECTORW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_PROTSEQ_VECTORW>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_PROTSEQ_VECTORW)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_PROTSEQ_VECTORW>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_PROTSEQ_VECTORW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_VECTORW), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Protseq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_VECTORW), + "::", + stringify!(Protseq) + ) + ); +} +pub type RPC_PROTSEQ_VECTORW = _RPC_PROTSEQ_VECTORW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_POLICY { + pub Length: ::std::os::raw::c_uint, + pub EndpointFlags: ::std::os::raw::c_ulong, + pub NICFlags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_POLICY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_POLICY>(), + 12usize, + concat!("Size of: ", stringify!(_RPC_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_POLICY>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_POLICY), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndpointFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_POLICY), + "::", + stringify!(EndpointFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NICFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_POLICY), + "::", + stringify!(NICFlags) + ) + ); +} +pub type RPC_POLICY = _RPC_POLICY; +pub type PRPC_POLICY = *mut _RPC_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_STATS_VECTOR { + pub Count: ::std::os::raw::c_uint, + pub Stats: [::std::os::raw::c_ulong; 1usize], +} +#[test] +fn bindgen_test_layout_RPC_STATS_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(RPC_STATS_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(RPC_STATS_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_STATS_VECTOR), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stats) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(RPC_STATS_VECTOR), + "::", + stringify!(Stats) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_IF_ID_VECTOR { + pub Count: ::std::os::raw::c_ulong, + pub IfId: [*mut RPC_IF_ID; 1usize], +} +#[test] +fn bindgen_test_layout_RPC_IF_ID_VECTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(RPC_IF_ID_VECTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_IF_ID_VECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_IF_ID_VECTOR), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_IF_ID_VECTOR), + "::", + stringify!(IfId) + ) + ); +} +extern "C" { + pub fn RpcBindingCopy( + SourceBinding: RPC_BINDING_HANDLE, + DestinationBinding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingFree(Binding: *mut RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetOption( + hBinding: RPC_BINDING_HANDLE, + option: ::std::os::raw::c_ulong, + optionValue: ULONG_PTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqOption( + hBinding: RPC_BINDING_HANDLE, + option: ::std::os::raw::c_ulong, + pOptionValue: *mut ULONG_PTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingFromStringBindingA( + StringBinding: RPC_CSTR, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingFromStringBindingW( + StringBinding: RPC_WSTR, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSsGetContextBinding( + ContextHandle: *mut ::std::os::raw::c_void, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqObject(Binding: RPC_BINDING_HANDLE, ObjectUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingReset(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetObject(Binding: RPC_BINDING_HANDLE, ObjectUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqDefaultProtectLevel( + AuthnSvc: ::std::os::raw::c_ulong, + AuthnLevel: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingToStringBindingA( + Binding: RPC_BINDING_HANDLE, + StringBinding: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingToStringBindingW( + Binding: RPC_BINDING_HANDLE, + StringBinding: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingVectorFree(BindingVector: *mut *mut RPC_BINDING_VECTOR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringBindingComposeA( + ObjUuid: RPC_CSTR, + ProtSeq: RPC_CSTR, + NetworkAddr: RPC_CSTR, + Endpoint: RPC_CSTR, + Options: RPC_CSTR, + StringBinding: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringBindingComposeW( + ObjUuid: RPC_WSTR, + ProtSeq: RPC_WSTR, + NetworkAddr: RPC_WSTR, + Endpoint: RPC_WSTR, + Options: RPC_WSTR, + StringBinding: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringBindingParseA( + StringBinding: RPC_CSTR, + ObjUuid: *mut RPC_CSTR, + Protseq: *mut RPC_CSTR, + NetworkAddr: *mut RPC_CSTR, + Endpoint: *mut RPC_CSTR, + NetworkOptions: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringBindingParseW( + StringBinding: RPC_WSTR, + ObjUuid: *mut RPC_WSTR, + Protseq: *mut RPC_WSTR, + NetworkAddr: *mut RPC_WSTR, + Endpoint: *mut RPC_WSTR, + NetworkOptions: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringFreeA(String: *mut RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcStringFreeW(String: *mut RPC_WSTR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcIfInqId(RpcIfHandle: RPC_IF_HANDLE, RpcIfId: *mut RPC_IF_ID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNetworkIsProtseqValidA(Protseq: RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNetworkIsProtseqValidW(Protseq: RPC_WSTR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqComTimeout( + Binding: RPC_BINDING_HANDLE, + Timeout: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtSetComTimeout( + Binding: RPC_BINDING_HANDLE, + Timeout: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtSetCancelTimeout(Timeout: ::std::os::raw::c_long) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNetworkInqProtseqsA(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORA) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNetworkInqProtseqsW(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORW) -> RPC_STATUS; +} +extern "C" { + pub fn RpcObjectInqType(ObjUuid: *mut UUID, TypeUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcObjectSetInqFn( + InquiryFn: ::std::option::Option< + unsafe extern "C" fn(arg1: *mut UUID, arg2: *mut UUID, arg3: *mut RPC_STATUS), + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcObjectSetType(ObjUuid: *mut UUID, TypeUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcProtseqVectorFreeA(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORA) -> RPC_STATUS; +} +extern "C" { + pub fn RpcProtseqVectorFreeW(ProtseqVector: *mut *mut RPC_PROTSEQ_VECTORW) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqBindings(BindingVector: *mut *mut RPC_BINDING_VECTOR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqBindingsEx( + SecurityDescriptor: *mut ::std::os::raw::c_void, + BindingVector: *mut *mut RPC_BINDING_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqIf( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerListen( + MinimumCallThreads: ::std::os::raw::c_uint, + MaxCalls: ::std::os::raw::c_uint, + DontWait: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterIf( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterIfEx( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_uint, + MaxCalls: ::std::os::raw::c_uint, + IfCallback: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_IF_HANDLE, + arg2: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterIf2( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_uint, + MaxCalls: ::std::os::raw::c_uint, + MaxRpcSize: ::std::os::raw::c_uint, + IfCallbackFn: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_IF_HANDLE, + arg2: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterIf3( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_uint, + MaxCalls: ::std::os::raw::c_uint, + MaxRpcSize: ::std::os::raw::c_uint, + IfCallback: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_IF_HANDLE, + arg2: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, + >, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUnregisterIf( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + WaitForCallsToComplete: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUnregisterIfEx( + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + RundownContextHandles: ::std::os::raw::c_int, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseAllProtseqs( + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseAllProtseqsEx( + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseAllProtseqsIf( + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseAllProtseqsIfEx( + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqExA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqExW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqEpA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_CSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqEpExA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_CSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqEpW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_WSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqEpExW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_WSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqIfA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqIfExA( + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqIfW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUseProtseqIfExW( + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + IfSpec: RPC_IF_HANDLE, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: PRPC_POLICY, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerYield(); +} +extern "C" { + pub fn RpcMgmtStatsVectorFree(StatsVector: *mut *mut RPC_STATS_VECTOR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqStats( + Binding: RPC_BINDING_HANDLE, + Statistics: *mut *mut RPC_STATS_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtIsServerListening(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtStopServerListening(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtWaitServerListen() -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtSetServerStackSize(ThreadStackSize: ::std::os::raw::c_ulong) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSsDontSerializeContext(); +} +extern "C" { + pub fn RpcMgmtEnableIdleCleanup() -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqIfIds( + Binding: RPC_BINDING_HANDLE, + IfIdVector: *mut *mut RPC_IF_ID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcIfIdVectorFree(IfIdVector: *mut *mut RPC_IF_ID_VECTOR) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqServerPrincNameA( + Binding: RPC_BINDING_HANDLE, + AuthnSvc: ::std::os::raw::c_ulong, + ServerPrincName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtInqServerPrincNameW( + Binding: RPC_BINDING_HANDLE, + AuthnSvc: ::std::os::raw::c_ulong, + ServerPrincName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqDefaultPrincNameA( + AuthnSvc: ::std::os::raw::c_ulong, + PrincName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqDefaultPrincNameW( + AuthnSvc: ::std::os::raw::c_ulong, + PrincName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpResolveBinding(Binding: RPC_BINDING_HANDLE, IfSpec: RPC_IF_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingInqEntryNameA( + Binding: RPC_BINDING_HANDLE, + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingInqEntryNameW( + Binding: RPC_BINDING_HANDLE, + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +pub type RPC_AUTH_IDENTITY_HANDLE = *mut ::std::os::raw::c_void; +pub type RPC_AUTHZ_HANDLE = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_SECURITY_QOS { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS), + "::", + stringify!(ImpersonationType) + ) + ); +} +pub type RPC_SECURITY_QOS = _RPC_SECURITY_QOS; +pub type PRPC_SECURITY_QOS = *mut _RPC_SECURITY_QOS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SEC_WINNT_AUTH_IDENTITY_W { + pub User: *mut ::std::os::raw::c_ushort, + pub UserLength: ::std::os::raw::c_ulong, + pub Domain: *mut ::std::os::raw::c_ushort, + pub DomainLength: ::std::os::raw::c_ulong, + pub Password: *mut ::std::os::raw::c_ushort, + pub PasswordLength: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__SEC_WINNT_AUTH_IDENTITY_W() { + const UNINIT: ::std::mem::MaybeUninit<_SEC_WINNT_AUTH_IDENTITY_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SEC_WINNT_AUTH_IDENTITY_W>(), + 48usize, + concat!("Size of: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W)) + ); + assert_eq!( + ::std::mem::align_of::<_SEC_WINNT_AUTH_IDENTITY_W>(), + 8usize, + concat!("Alignment of ", stringify!(_SEC_WINNT_AUTH_IDENTITY_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(User) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(UserLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Domain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(Domain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DomainLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(DomainLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Password) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(Password) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PasswordLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(PasswordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_W), + "::", + stringify!(Flags) + ) + ); +} +pub type SEC_WINNT_AUTH_IDENTITY_W = _SEC_WINNT_AUTH_IDENTITY_W; +pub type PSEC_WINNT_AUTH_IDENTITY_W = *mut _SEC_WINNT_AUTH_IDENTITY_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SEC_WINNT_AUTH_IDENTITY_A { + pub User: *mut ::std::os::raw::c_uchar, + pub UserLength: ::std::os::raw::c_ulong, + pub Domain: *mut ::std::os::raw::c_uchar, + pub DomainLength: ::std::os::raw::c_ulong, + pub Password: *mut ::std::os::raw::c_uchar, + pub PasswordLength: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__SEC_WINNT_AUTH_IDENTITY_A() { + const UNINIT: ::std::mem::MaybeUninit<_SEC_WINNT_AUTH_IDENTITY_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SEC_WINNT_AUTH_IDENTITY_A>(), + 48usize, + concat!("Size of: ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A)) + ); + assert_eq!( + ::std::mem::align_of::<_SEC_WINNT_AUTH_IDENTITY_A>(), + 8usize, + concat!("Alignment of ", stringify!(_SEC_WINNT_AUTH_IDENTITY_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(User) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(UserLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Domain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(Domain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DomainLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(DomainLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Password) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(Password) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PasswordLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(PasswordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_SEC_WINNT_AUTH_IDENTITY_A), + "::", + stringify!(Flags) + ) + ); +} +pub type SEC_WINNT_AUTH_IDENTITY_A = _SEC_WINNT_AUTH_IDENTITY_A; +pub type PSEC_WINNT_AUTH_IDENTITY_A = *mut _SEC_WINNT_AUTH_IDENTITY_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W { + pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_W), + "::", + stringify!(ServerCertificateSubject) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_W = _RPC_HTTP_TRANSPORT_CREDENTIALS_W; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_W = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A { + pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_A), + "::", + stringify!(ServerCertificateSubject) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_A = _RPC_HTTP_TRANSPORT_CREDENTIALS_A; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_A = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W { + pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_ushort, + pub ProxyCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, + pub NumberOfProxyAuthnSchemes: ::std::os::raw::c_ulong, + pub ProxyAuthnSchemes: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>(), + 64usize, + concat!( + "Size of: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(ServerCertificateSubject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyCredentials) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(ProxyCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProxyAuthnSchemes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(NumberOfProxyAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyAuthnSchemes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W), + "::", + stringify!(ProxyAuthnSchemes) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W = _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_W = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A { + pub TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_uchar, + pub ProxyCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, + pub NumberOfProxyAuthnSchemes: ::std::os::raw::c_ulong, + pub ProxyAuthnSchemes: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>(), + 64usize, + concat!( + "Size of: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(ServerCertificateSubject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyCredentials) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(ProxyCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProxyAuthnSchemes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(NumberOfProxyAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyAuthnSchemes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A), + "::", + stringify!(ProxyAuthnSchemes) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A = _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_A = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W { + pub TransportCredentials: RPC_AUTH_IDENTITY_HANDLE, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_ushort, + pub ProxyCredentials: RPC_AUTH_IDENTITY_HANDLE, + pub NumberOfProxyAuthnSchemes: ::std::os::raw::c_ulong, + pub ProxyAuthnSchemes: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>(), + 64usize, + concat!( + "Size of: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(ServerCertificateSubject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyCredentials) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(ProxyCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProxyAuthnSchemes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(NumberOfProxyAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyAuthnSchemes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W), + "::", + stringify!(ProxyAuthnSchemes) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W = _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_W = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A { + pub TransportCredentials: RPC_AUTH_IDENTITY_HANDLE, + pub Flags: ::std::os::raw::c_ulong, + pub AuthenticationTarget: ::std::os::raw::c_ulong, + pub NumberOfAuthnSchemes: ::std::os::raw::c_ulong, + pub AuthnSchemes: *mut ::std::os::raw::c_ulong, + pub ServerCertificateSubject: *mut ::std::os::raw::c_uchar, + pub ProxyCredentials: RPC_AUTH_IDENTITY_HANDLE, + pub NumberOfProxyAuthnSchemes: ::std::os::raw::c_ulong, + pub ProxyAuthnSchemes: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>(), + 64usize, + concat!( + "Size of: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransportCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(TransportCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationTarget) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(AuthenticationTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAuthnSchemes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(NumberOfAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSchemes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(AuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerCertificateSubject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(ServerCertificateSubject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyCredentials) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(ProxyCredentials) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProxyAuthnSchemes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(NumberOfProxyAuthnSchemes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyAuthnSchemes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A), + "::", + stringify!(ProxyAuthnSchemes) + ) + ); +} +pub type RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A = _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A; +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_A = *mut _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V2_W { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V2_W__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V2_W__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V2_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V2_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V2_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V2_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V2_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V2_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V2_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V2_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V2_W>(), + 32usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V2_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V2_W>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V2_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_W), + "::", + stringify!(u) + ) + ); +} +pub type RPC_SECURITY_QOS_V2_W = _RPC_SECURITY_QOS_V2_W; +pub type PRPC_SECURITY_QOS_V2_W = *mut _RPC_SECURITY_QOS_V2_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V2_A { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V2_A__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V2_A__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V2_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V2_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V2_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V2_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V2_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V2_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V2_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V2_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V2_A>(), + 32usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V2_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V2_A>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V2_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V2_A), + "::", + stringify!(u) + ) + ); +} +pub type RPC_SECURITY_QOS_V2_A = _RPC_SECURITY_QOS_V2_A; +pub type PRPC_SECURITY_QOS_V2_A = *mut _RPC_SECURITY_QOS_V2_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V3_W { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V3_W__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V3_W__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V3_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V3_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V3_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V3_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V3_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V3_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V3_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V3_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V3_W>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V3_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V3_W>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V3_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_W), + "::", + stringify!(Sid) + ) + ); +} +pub type RPC_SECURITY_QOS_V3_W = _RPC_SECURITY_QOS_V3_W; +pub type PRPC_SECURITY_QOS_V3_W = *mut _RPC_SECURITY_QOS_V3_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V3_A { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V3_A__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V3_A__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V3_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V3_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V3_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V3_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V3_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V3_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V3_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V3_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V3_A>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V3_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V3_A>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V3_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V3_A), + "::", + stringify!(Sid) + ) + ); +} +pub type RPC_SECURITY_QOS_V3_A = _RPC_SECURITY_QOS_V3_A; +pub type PRPC_SECURITY_QOS_V3_A = *mut _RPC_SECURITY_QOS_V3_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V4_W { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V4_W__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, + pub EffectiveOnly: ::std::os::raw::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V4_W__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V4_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V4_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V4_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V4_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V4_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V4_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V4_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V4_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V4_W>(), + 48usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V4_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V4_W>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V4_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_W), + "::", + stringify!(EffectiveOnly) + ) + ); +} +pub type RPC_SECURITY_QOS_V4_W = _RPC_SECURITY_QOS_V4_W; +pub type PRPC_SECURITY_QOS_V4_W = *mut _RPC_SECURITY_QOS_V4_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V4_A { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V4_A__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, + pub EffectiveOnly: ::std::os::raw::c_uint, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V4_A__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V4_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V4_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V4_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V4_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V4_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V4_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V4_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V4_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V4_A>(), + 48usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V4_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V4_A>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V4_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V4_A), + "::", + stringify!(EffectiveOnly) + ) + ); +} +pub type RPC_SECURITY_QOS_V4_A = _RPC_SECURITY_QOS_V4_A; +pub type PRPC_SECURITY_QOS_V4_A = *mut _RPC_SECURITY_QOS_V4_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V5_W { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V5_W__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, + pub EffectiveOnly: ::std::os::raw::c_uint, + pub ServerSecurityDescriptor: *mut ::std::os::raw::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V5_W__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V5_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V5_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V5_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V5_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V5_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V5_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V5_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V5_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V5_W>(), + 56usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V5_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V5_W>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V5_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(EffectiveOnly) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerSecurityDescriptor) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_W), + "::", + stringify!(ServerSecurityDescriptor) + ) + ); +} +pub type RPC_SECURITY_QOS_V5_W = _RPC_SECURITY_QOS_V5_W; +pub type PRPC_SECURITY_QOS_V5_W = *mut _RPC_SECURITY_QOS_V5_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_SECURITY_QOS_V5_A { + pub Version: ::std::os::raw::c_ulong, + pub Capabilities: ::std::os::raw::c_ulong, + pub IdentityTracking: ::std::os::raw::c_ulong, + pub ImpersonationType: ::std::os::raw::c_ulong, + pub AdditionalSecurityInfoType: ::std::os::raw::c_ulong, + pub u: _RPC_SECURITY_QOS_V5_A__bindgen_ty_1, + pub Sid: *mut ::std::os::raw::c_void, + pub EffectiveOnly: ::std::os::raw::c_uint, + pub ServerSecurityDescriptor: *mut ::std::os::raw::c_void, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_SECURITY_QOS_V5_A__bindgen_ty_1 { + pub HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V5_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V5_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V5_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_SECURITY_QOS_V5_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V5_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_SECURITY_QOS_V5_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HttpCredentials) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A__bindgen_ty_1), + "::", + stringify!(HttpCredentials) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_SECURITY_QOS_V5_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SECURITY_QOS_V5_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SECURITY_QOS_V5_A>(), + 56usize, + concat!("Size of: ", stringify!(_RPC_SECURITY_QOS_V5_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SECURITY_QOS_V5_A>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SECURITY_QOS_V5_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(Capabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentityTracking) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(IdentityTracking) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonationType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(ImpersonationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalSecurityInfoType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(AdditionalSecurityInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(Sid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EffectiveOnly) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(EffectiveOnly) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerSecurityDescriptor) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SECURITY_QOS_V5_A), + "::", + stringify!(ServerSecurityDescriptor) + ) + ); +} +pub type RPC_SECURITY_QOS_V5_A = _RPC_SECURITY_QOS_V5_A; +pub type PRPC_SECURITY_QOS_V5_A = *mut _RPC_SECURITY_QOS_V5_A; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_TEMPLATE_V1_W { + pub Version: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub NetworkAddress: *mut ::std::os::raw::c_ushort, + pub StringEndpoint: *mut ::std::os::raw::c_ushort, + pub u1: _RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1, + pub ObjectUuid: UUID, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1 { + pub Reserved: *mut ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_TEMPLATE_V1_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>(), + 56usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NetworkAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(NetworkAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringEndpoint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(StringEndpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u1) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(u1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectUuid) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_W), + "::", + stringify!(ObjectUuid) + ) + ); +} +pub type RPC_BINDING_HANDLE_TEMPLATE_V1_W = _RPC_BINDING_HANDLE_TEMPLATE_V1_W; +pub type PRPC_BINDING_HANDLE_TEMPLATE_V1_W = *mut _RPC_BINDING_HANDLE_TEMPLATE_V1_W; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_TEMPLATE_V1_A { + pub Version: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub NetworkAddress: *mut ::std::os::raw::c_uchar, + pub StringEndpoint: *mut ::std::os::raw::c_uchar, + pub u1: _RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1, + pub ObjectUuid: UUID, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1 { + pub Reserved: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_TEMPLATE_V1_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_TEMPLATE_V1_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>(), + 56usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_TEMPLATE_V1_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NetworkAddress) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(NetworkAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringEndpoint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(StringEndpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u1) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(u1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectUuid) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_TEMPLATE_V1_A), + "::", + stringify!(ObjectUuid) + ) + ); +} +pub type RPC_BINDING_HANDLE_TEMPLATE_V1_A = _RPC_BINDING_HANDLE_TEMPLATE_V1_A; +pub type PRPC_BINDING_HANDLE_TEMPLATE_V1_A = *mut _RPC_BINDING_HANDLE_TEMPLATE_V1_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_SECURITY_V1_W { + pub Version: ::std::os::raw::c_ulong, + pub ServerPrincName: *mut ::std::os::raw::c_ushort, + pub AuthnLevel: ::std::os::raw::c_ulong, + pub AuthnSvc: ::std::os::raw::c_ulong, + pub AuthIdentity: *mut SEC_WINNT_AUTH_IDENTITY_W, + pub SecurityQos: *mut RPC_SECURITY_QOS, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_SECURITY_V1_W() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_SECURITY_V1_W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_SECURITY_V1_W>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_SECURITY_V1_W>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(ServerPrincName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnLevel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(AuthnLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSvc) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(AuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthIdentity) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(AuthIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityQos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_W), + "::", + stringify!(SecurityQos) + ) + ); +} +pub type RPC_BINDING_HANDLE_SECURITY_V1_W = _RPC_BINDING_HANDLE_SECURITY_V1_W; +pub type PRPC_BINDING_HANDLE_SECURITY_V1_W = *mut _RPC_BINDING_HANDLE_SECURITY_V1_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_SECURITY_V1_A { + pub Version: ::std::os::raw::c_ulong, + pub ServerPrincName: *mut ::std::os::raw::c_uchar, + pub AuthnLevel: ::std::os::raw::c_ulong, + pub AuthnSvc: ::std::os::raw::c_ulong, + pub AuthIdentity: *mut SEC_WINNT_AUTH_IDENTITY_A, + pub SecurityQos: *mut RPC_SECURITY_QOS, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_SECURITY_V1_A() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_SECURITY_V1_A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_SECURITY_V1_A>(), + 40usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_SECURITY_V1_A>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(ServerPrincName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnLevel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(AuthnLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthnSvc) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(AuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthIdentity) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(AuthIdentity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityQos) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_SECURITY_V1_A), + "::", + stringify!(SecurityQos) + ) + ); +} +pub type RPC_BINDING_HANDLE_SECURITY_V1_A = _RPC_BINDING_HANDLE_SECURITY_V1_A; +pub type PRPC_BINDING_HANDLE_SECURITY_V1_A = *mut _RPC_BINDING_HANDLE_SECURITY_V1_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_BINDING_HANDLE_OPTIONS_V1 { + pub Version: ::std::os::raw::c_ulong, + pub Flags: ::std::os::raw::c_ulong, + pub ComTimeout: ::std::os::raw::c_ulong, + pub CallTimeout: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_BINDING_HANDLE_OPTIONS_V1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_BINDING_HANDLE_OPTIONS_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_BINDING_HANDLE_OPTIONS_V1>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_BINDING_HANDLE_OPTIONS_V1>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ComTimeout) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), + "::", + stringify!(ComTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallTimeout) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_BINDING_HANDLE_OPTIONS_V1), + "::", + stringify!(CallTimeout) + ) + ); +} +pub type RPC_BINDING_HANDLE_OPTIONS_V1 = _RPC_BINDING_HANDLE_OPTIONS_V1; +pub type PRPC_BINDING_HANDLE_OPTIONS_V1 = *mut _RPC_BINDING_HANDLE_OPTIONS_V1; +extern "C" { + pub fn RpcBindingCreateA( + Template: *mut RPC_BINDING_HANDLE_TEMPLATE_V1_A, + Security: *mut RPC_BINDING_HANDLE_SECURITY_V1_A, + Options: *mut RPC_BINDING_HANDLE_OPTIONS_V1, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingCreateW( + Template: *mut RPC_BINDING_HANDLE_TEMPLATE_V1_W, + Security: *mut RPC_BINDING_HANDLE_SECURITY_V1_W, + Options: *mut RPC_BINDING_HANDLE_OPTIONS_V1, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingGetTrainingContextHandle( + Binding: RPC_BINDING_HANDLE, + ContextHandle: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqBindingHandle(Binding: *mut RPC_BINDING_HANDLE) -> RPC_STATUS; +} +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_REDIRECT: _RPC_HTTP_REDIRECTOR_STAGE = 1; +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_ACCESS_1: _RPC_HTTP_REDIRECTOR_STAGE = 2; +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_SESSION: _RPC_HTTP_REDIRECTOR_STAGE = 3; +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_ACCESS_2: _RPC_HTTP_REDIRECTOR_STAGE = 4; +pub const _RPC_HTTP_REDIRECTOR_STAGE_RPCHTTP_RS_INTERFACE: _RPC_HTTP_REDIRECTOR_STAGE = 5; +pub type _RPC_HTTP_REDIRECTOR_STAGE = ::std::os::raw::c_int; +pub use self::_RPC_HTTP_REDIRECTOR_STAGE as RPC_HTTP_REDIRECTOR_STAGE; +pub type RPC_NEW_HTTP_PROXY_CHANNEL = ::std::option::Option< + unsafe extern "C" fn( + RedirectorStage: RPC_HTTP_REDIRECTOR_STAGE, + ServerName: RPC_WSTR, + ServerPort: RPC_WSTR, + RemoteUser: RPC_WSTR, + AuthType: RPC_WSTR, + ResourceUuid: *mut ::std::os::raw::c_void, + SessionId: *mut ::std::os::raw::c_void, + Interface: *mut ::std::os::raw::c_void, + Reserved: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_ulong, + NewServerName: *mut RPC_WSTR, + NewServerPort: *mut RPC_WSTR, + ) -> RPC_STATUS, +>; +pub type RPC_HTTP_PROXY_FREE_STRING = ::std::option::Option; +extern "C" { + pub fn RpcImpersonateClient(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcImpersonateClient2(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcRevertToSelfEx(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcRevertToSelf() -> RPC_STATUS; +} +extern "C" { + pub fn RpcImpersonateClientContainer(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcRevertContainerImpersonation() -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthClientA( + ClientBinding: RPC_BINDING_HANDLE, + Privs: *mut RPC_AUTHZ_HANDLE, + ServerPrincName: *mut RPC_CSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthzSvc: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthClientW( + ClientBinding: RPC_BINDING_HANDLE, + Privs: *mut RPC_AUTHZ_HANDLE, + ServerPrincName: *mut RPC_WSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthzSvc: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthClientExA( + ClientBinding: RPC_BINDING_HANDLE, + Privs: *mut RPC_AUTHZ_HANDLE, + ServerPrincName: *mut RPC_CSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthzSvc: *mut ::std::os::raw::c_ulong, + Flags: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthClientExW( + ClientBinding: RPC_BINDING_HANDLE, + Privs: *mut RPC_AUTHZ_HANDLE, + ServerPrincName: *mut RPC_WSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthzSvc: *mut ::std::os::raw::c_ulong, + Flags: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthInfoA( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: *mut RPC_CSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthIdentity: *mut RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthInfoW( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: *mut RPC_WSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthIdentity: *mut RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetAuthInfoA( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: RPC_CSTR, + AuthnLevel: ::std::os::raw::c_ulong, + AuthnSvc: ::std::os::raw::c_ulong, + AuthIdentity: RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetAuthInfoExA( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: RPC_CSTR, + AuthnLevel: ::std::os::raw::c_ulong, + AuthnSvc: ::std::os::raw::c_ulong, + AuthIdentity: RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: ::std::os::raw::c_ulong, + SecurityQos: *mut RPC_SECURITY_QOS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetAuthInfoW( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: RPC_WSTR, + AuthnLevel: ::std::os::raw::c_ulong, + AuthnSvc: ::std::os::raw::c_ulong, + AuthIdentity: RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingSetAuthInfoExW( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: RPC_WSTR, + AuthnLevel: ::std::os::raw::c_ulong, + AuthnSvc: ::std::os::raw::c_ulong, + AuthIdentity: RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: ::std::os::raw::c_ulong, + SecurityQOS: *mut RPC_SECURITY_QOS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthInfoExA( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: *mut RPC_CSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthIdentity: *mut RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: *mut ::std::os::raw::c_ulong, + RpcQosVersion: ::std::os::raw::c_ulong, + SecurityQOS: *mut RPC_SECURITY_QOS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingInqAuthInfoExW( + Binding: RPC_BINDING_HANDLE, + ServerPrincName: *mut RPC_WSTR, + AuthnLevel: *mut ::std::os::raw::c_ulong, + AuthnSvc: *mut ::std::os::raw::c_ulong, + AuthIdentity: *mut RPC_AUTH_IDENTITY_HANDLE, + AuthzSvc: *mut ::std::os::raw::c_ulong, + RpcQosVersion: ::std::os::raw::c_ulong, + SecurityQOS: *mut RPC_SECURITY_QOS, + ) -> RPC_STATUS; +} +pub type RPC_AUTH_KEY_RETRIEVAL_FN = ::std::option::Option< + unsafe extern "C" fn( + Arg: *mut ::std::os::raw::c_void, + ServerPrincName: RPC_WSTR, + KeyVer: ::std::os::raw::c_ulong, + Key: *mut *mut ::std::os::raw::c_void, + Status: *mut RPC_STATUS, + ), +>; +extern "C" { + pub fn RpcServerCompleteSecurityCallback( + BindingHandle: RPC_BINDING_HANDLE, + Status: RPC_STATUS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterAuthInfoA( + ServerPrincName: RPC_CSTR, + AuthnSvc: ::std::os::raw::c_ulong, + GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN, + Arg: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerRegisterAuthInfoW( + ServerPrincName: RPC_WSTR, + AuthnSvc: ::std::os::raw::c_ulong, + GetKeyFn: RPC_AUTH_KEY_RETRIEVAL_FN, + Arg: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_CLIENT_INFORMATION1 { + pub UserName: *mut ::std::os::raw::c_uchar, + pub ComputerName: *mut ::std::os::raw::c_uchar, + pub Privilege: ::std::os::raw::c_ushort, + pub AuthFlags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout_RPC_CLIENT_INFORMATION1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(RPC_CLIENT_INFORMATION1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_CLIENT_INFORMATION1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_CLIENT_INFORMATION1), + "::", + stringify!(UserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ComputerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_CLIENT_INFORMATION1), + "::", + stringify!(ComputerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Privilege) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_CLIENT_INFORMATION1), + "::", + stringify!(Privilege) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(RPC_CLIENT_INFORMATION1), + "::", + stringify!(AuthFlags) + ) + ); +} +pub type PRPC_CLIENT_INFORMATION1 = *mut RPC_CLIENT_INFORMATION1; +extern "C" { + pub fn RpcBindingServerFromClient( + ClientBinding: RPC_BINDING_HANDLE, + ServerBinding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcRaiseException(exception: RPC_STATUS) -> !; +} +extern "C" { + pub fn RpcTestCancel() -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerTestCancel(BindingHandle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcCancelThread(Thread: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn RpcCancelThreadEx( + Thread: *mut ::std::os::raw::c_void, + Timeout: ::std::os::raw::c_long, + ) -> RPC_STATUS; +} +extern "C" { + pub fn UuidCreate(Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidCreateSequential(Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidToStringA(Uuid: *const UUID, StringUuid: *mut RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn UuidFromStringA(StringUuid: RPC_CSTR, Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidToStringW(Uuid: *const UUID, StringUuid: *mut RPC_WSTR) -> RPC_STATUS; +} +extern "C" { + pub fn UuidFromStringW(StringUuid: RPC_WSTR, Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidCompare( + Uuid1: *mut UUID, + Uuid2: *mut UUID, + Status: *mut RPC_STATUS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn UuidCreateNil(NilUuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn UuidEqual( + Uuid1: *mut UUID, + Uuid2: *mut UUID, + Status: *mut RPC_STATUS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn UuidHash(Uuid: *mut UUID, Status: *mut RPC_STATUS) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn UuidIsNil(Uuid: *mut UUID, Status: *mut RPC_STATUS) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn RpcEpRegisterNoReplaceA( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpRegisterNoReplaceW( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpRegisterA( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpRegisterW( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcEpUnregister( + IfSpec: RPC_IF_HANDLE, + BindingVector: *mut RPC_BINDING_VECTOR, + UuidVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn DceErrorInqTextA(RpcStatus: RPC_STATUS, ErrorText: RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn DceErrorInqTextW(RpcStatus: RPC_STATUS, ErrorText: RPC_WSTR) -> RPC_STATUS; +} +pub type RPC_EP_INQ_HANDLE = *mut I_RPC_HANDLE; +extern "C" { + pub fn RpcMgmtEpEltInqBegin( + EpBinding: RPC_BINDING_HANDLE, + InquiryType: ::std::os::raw::c_ulong, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + ObjectUuid: *mut UUID, + InquiryContext: *mut RPC_EP_INQ_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtEpEltInqDone(InquiryContext: *mut RPC_EP_INQ_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtEpEltInqNextA( + InquiryContext: RPC_EP_INQ_HANDLE, + IfId: *mut RPC_IF_ID, + Binding: *mut RPC_BINDING_HANDLE, + ObjectUuid: *mut UUID, + Annotation: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtEpEltInqNextW( + InquiryContext: RPC_EP_INQ_HANDLE, + IfId: *mut RPC_IF_ID, + Binding: *mut RPC_BINDING_HANDLE, + ObjectUuid: *mut UUID, + Annotation: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcMgmtEpUnregister( + EpBinding: RPC_BINDING_HANDLE, + IfId: *mut RPC_IF_ID, + Binding: RPC_BINDING_HANDLE, + ObjectUuid: *mut UUID, + ) -> RPC_STATUS; +} +pub type RPC_MGMT_AUTHORIZATION_FN = ::std::option::Option< + unsafe extern "C" fn( + ClientBinding: RPC_BINDING_HANDLE, + RequestedMgmtOperation: ::std::os::raw::c_ulong, + Status: *mut RPC_STATUS, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn RpcMgmtSetAuthorizationFn(AuthorizationFn: RPC_MGMT_AUTHORIZATION_FN) -> RPC_STATUS; +} +extern "C" { + pub fn RpcExceptionFilter(ExceptionCode: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int; +} +pub type RPC_INTERFACE_GROUP = *mut ::std::os::raw::c_void; +pub type PRPC_INTERFACE_GROUP = *mut *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_ENDPOINT_TEMPLATEW { + pub Version: ::std::os::raw::c_ulong, + pub ProtSeq: RPC_WSTR, + pub Endpoint: RPC_WSTR, + pub SecurityDescriptor: *mut ::std::os::raw::c_void, + pub Backlog: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout_RPC_ENDPOINT_TEMPLATEW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(RPC_ENDPOINT_TEMPLATEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_ENDPOINT_TEMPLATEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtSeq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(ProtSeq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Endpoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(Endpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(SecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Backlog) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEW), + "::", + stringify!(Backlog) + ) + ); +} +pub type PRPC_ENDPOINT_TEMPLATEW = *mut RPC_ENDPOINT_TEMPLATEW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_ENDPOINT_TEMPLATEA { + pub Version: ::std::os::raw::c_ulong, + pub ProtSeq: RPC_CSTR, + pub Endpoint: RPC_CSTR, + pub SecurityDescriptor: *mut ::std::os::raw::c_void, + pub Backlog: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout_RPC_ENDPOINT_TEMPLATEA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(RPC_ENDPOINT_TEMPLATEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_ENDPOINT_TEMPLATEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtSeq) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(ProtSeq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Endpoint) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(Endpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(SecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Backlog) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(RPC_ENDPOINT_TEMPLATEA), + "::", + stringify!(Backlog) + ) + ); +} +pub type PRPC_ENDPOINT_TEMPLATEA = *mut RPC_ENDPOINT_TEMPLATEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_INTERFACE_TEMPLATEA { + pub Version: ::std::os::raw::c_ulong, + pub IfSpec: RPC_IF_HANDLE, + pub MgrTypeUuid: *mut UUID, + pub MgrEpv: *mut ::std::os::raw::c_void, + pub Flags: ::std::os::raw::c_uint, + pub MaxCalls: ::std::os::raw::c_uint, + pub MaxRpcSize: ::std::os::raw::c_uint, + pub IfCallback: ::std::option::Option< + unsafe extern "C" fn(arg1: RPC_IF_HANDLE, arg2: *mut ::std::os::raw::c_void) -> RPC_STATUS, + >, + pub UuidVector: *mut UUID_VECTOR, + pub Annotation: RPC_CSTR, + pub SecurityDescriptor: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_RPC_INTERFACE_TEMPLATEA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(RPC_INTERFACE_TEMPLATEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_INTERFACE_TEMPLATEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfSpec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(IfSpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MgrTypeUuid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(MgrTypeUuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MgrEpv) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(MgrEpv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCalls) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(MaxCalls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxRpcSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(MaxRpcSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfCallback) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(IfCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UuidVector) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(UuidVector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Annotation) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(Annotation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEA), + "::", + stringify!(SecurityDescriptor) + ) + ); +} +pub type PRPC_INTERFACE_TEMPLATEA = *mut RPC_INTERFACE_TEMPLATEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_INTERFACE_TEMPLATEW { + pub Version: ::std::os::raw::c_ulong, + pub IfSpec: RPC_IF_HANDLE, + pub MgrTypeUuid: *mut UUID, + pub MgrEpv: *mut ::std::os::raw::c_void, + pub Flags: ::std::os::raw::c_uint, + pub MaxCalls: ::std::os::raw::c_uint, + pub MaxRpcSize: ::std::os::raw::c_uint, + pub IfCallback: ::std::option::Option< + unsafe extern "C" fn(arg1: RPC_IF_HANDLE, arg2: *mut ::std::os::raw::c_void) -> RPC_STATUS, + >, + pub UuidVector: *mut UUID_VECTOR, + pub Annotation: RPC_WSTR, + pub SecurityDescriptor: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_RPC_INTERFACE_TEMPLATEW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(RPC_INTERFACE_TEMPLATEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_INTERFACE_TEMPLATEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfSpec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(IfSpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MgrTypeUuid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(MgrTypeUuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MgrEpv) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(MgrEpv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCalls) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(MaxCalls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxRpcSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(MaxRpcSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IfCallback) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(IfCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UuidVector) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(UuidVector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Annotation) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(Annotation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityDescriptor) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(RPC_INTERFACE_TEMPLATEW), + "::", + stringify!(SecurityDescriptor) + ) + ); +} +pub type PRPC_INTERFACE_TEMPLATEW = *mut RPC_INTERFACE_TEMPLATEW; +extern "C" { + pub fn RpcServerInterfaceGroupCreateW( + Interfaces: *mut RPC_INTERFACE_TEMPLATEW, + NumIfs: ::std::os::raw::c_ulong, + Endpoints: *mut RPC_ENDPOINT_TEMPLATEW, + NumEndpoints: ::std::os::raw::c_ulong, + IdlePeriod: ::std::os::raw::c_ulong, + IdleCallbackFn: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_INTERFACE_GROUP, + arg2: *mut ::std::os::raw::c_void, + arg3: ::std::os::raw::c_ulong, + ), + >, + IdleCallbackContext: *mut ::std::os::raw::c_void, + IfGroup: PRPC_INTERFACE_GROUP, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupCreateA( + Interfaces: *mut RPC_INTERFACE_TEMPLATEA, + NumIfs: ::std::os::raw::c_ulong, + Endpoints: *mut RPC_ENDPOINT_TEMPLATEA, + NumEndpoints: ::std::os::raw::c_ulong, + IdlePeriod: ::std::os::raw::c_ulong, + IdleCallbackFn: ::std::option::Option< + unsafe extern "C" fn( + arg1: RPC_INTERFACE_GROUP, + arg2: *mut ::std::os::raw::c_void, + arg3: ::std::os::raw::c_ulong, + ), + >, + IdleCallbackContext: *mut ::std::os::raw::c_void, + IfGroup: PRPC_INTERFACE_GROUP, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupClose(IfGroup: RPC_INTERFACE_GROUP) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupActivate(IfGroup: RPC_INTERFACE_GROUP) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupDeactivate( + IfGroup: RPC_INTERFACE_GROUP, + ForceDeactivation: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInterfaceGroupInqBindings( + IfGroup: RPC_INTERFACE_GROUP, + BindingVector: *mut *mut RPC_BINDING_VECTOR, + ) -> RPC_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_VERSION { + pub MajorVersion: ::std::os::raw::c_ushort, + pub MinorVersion: ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_VERSION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_VERSION>(), + 4usize, + concat!("Size of: ", stringify!(_RPC_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_VERSION>(), + 2usize, + concat!("Alignment of ", stringify!(_RPC_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_VERSION), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_RPC_VERSION), + "::", + stringify!(MinorVersion) + ) + ); +} +pub type RPC_VERSION = _RPC_VERSION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_SYNTAX_IDENTIFIER { + pub SyntaxGUID: GUID, + pub SyntaxVersion: RPC_VERSION, +} +#[test] +fn bindgen_test_layout__RPC_SYNTAX_IDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SYNTAX_IDENTIFIER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SYNTAX_IDENTIFIER>(), + 20usize, + concat!("Size of: ", stringify!(_RPC_SYNTAX_IDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SYNTAX_IDENTIFIER>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_SYNTAX_IDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SyntaxGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SYNTAX_IDENTIFIER), + "::", + stringify!(SyntaxGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SyntaxVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SYNTAX_IDENTIFIER), + "::", + stringify!(SyntaxVersion) + ) + ); +} +pub type RPC_SYNTAX_IDENTIFIER = _RPC_SYNTAX_IDENTIFIER; +pub type PRPC_SYNTAX_IDENTIFIER = *mut _RPC_SYNTAX_IDENTIFIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_MESSAGE { + pub Handle: RPC_BINDING_HANDLE, + pub DataRepresentation: ::std::os::raw::c_ulong, + pub Buffer: *mut ::std::os::raw::c_void, + pub BufferLength: ::std::os::raw::c_uint, + pub ProcNum: ::std::os::raw::c_uint, + pub TransferSyntax: PRPC_SYNTAX_IDENTIFIER, + pub RpcInterfaceInformation: *mut ::std::os::raw::c_void, + pub ReservedForRuntime: *mut ::std::os::raw::c_void, + pub ManagerEpv: *mut ::std::os::raw::c_void, + pub ImportContext: *mut ::std::os::raw::c_void, + pub RpcFlags: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_MESSAGE() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_MESSAGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_MESSAGE>(), + 80usize, + concat!("Size of: ", stringify!(_RPC_MESSAGE)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_MESSAGE>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_MESSAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Handle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(Handle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataRepresentation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(DataRepresentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(BufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcNum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(ProcNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferSyntax) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(TransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcInterfaceInformation) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(RpcInterfaceInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservedForRuntime) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(ReservedForRuntime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManagerEpv) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(ManagerEpv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImportContext) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(ImportContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_RPC_MESSAGE), + "::", + stringify!(RpcFlags) + ) + ); +} +pub type RPC_MESSAGE = _RPC_MESSAGE; +pub type PRPC_MESSAGE = *mut _RPC_MESSAGE; +pub const RPC_ADDRESS_CHANGE_TYPE_PROTOCOL_NOT_LOADED: RPC_ADDRESS_CHANGE_TYPE = 1; +pub const RPC_ADDRESS_CHANGE_TYPE_PROTOCOL_LOADED: RPC_ADDRESS_CHANGE_TYPE = 2; +pub const RPC_ADDRESS_CHANGE_TYPE_PROTOCOL_ADDRESS_CHANGE: RPC_ADDRESS_CHANGE_TYPE = 3; +pub type RPC_ADDRESS_CHANGE_TYPE = ::std::os::raw::c_int; +pub type RPC_DISPATCH_FUNCTION = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_DISPATCH_TABLE { + pub DispatchTableCount: ::std::os::raw::c_uint, + pub DispatchTable: *mut RPC_DISPATCH_FUNCTION, + pub Reserved: LONG_PTR, +} +#[test] +fn bindgen_test_layout_RPC_DISPATCH_TABLE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(RPC_DISPATCH_TABLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_DISPATCH_TABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTableCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_DISPATCH_TABLE), + "::", + stringify!(DispatchTableCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_DISPATCH_TABLE), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_DISPATCH_TABLE), + "::", + stringify!(Reserved) + ) + ); +} +pub type PRPC_DISPATCH_TABLE = *mut RPC_DISPATCH_TABLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_PROTSEQ_ENDPOINT { + pub RpcProtocolSequence: *mut ::std::os::raw::c_uchar, + pub Endpoint: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout__RPC_PROTSEQ_ENDPOINT() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_PROTSEQ_ENDPOINT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_PROTSEQ_ENDPOINT>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_PROTSEQ_ENDPOINT)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_PROTSEQ_ENDPOINT>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_PROTSEQ_ENDPOINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtocolSequence) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_ENDPOINT), + "::", + stringify!(RpcProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Endpoint) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_PROTSEQ_ENDPOINT), + "::", + stringify!(Endpoint) + ) + ); +} +pub type RPC_PROTSEQ_ENDPOINT = _RPC_PROTSEQ_ENDPOINT; +pub type PRPC_PROTSEQ_ENDPOINT = *mut _RPC_PROTSEQ_ENDPOINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_SERVER_INTERFACE { + pub Length: ::std::os::raw::c_uint, + pub InterfaceId: RPC_SYNTAX_IDENTIFIER, + pub TransferSyntax: RPC_SYNTAX_IDENTIFIER, + pub DispatchTable: PRPC_DISPATCH_TABLE, + pub RpcProtseqEndpointCount: ::std::os::raw::c_uint, + pub RpcProtseqEndpoint: PRPC_PROTSEQ_ENDPOINT, + pub DefaultManagerEpv: *mut ::std::os::raw::c_void, + pub InterpreterInfo: *const ::std::os::raw::c_void, + pub Flags: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout__RPC_SERVER_INTERFACE() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SERVER_INTERFACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SERVER_INTERFACE>(), + 96usize, + concat!("Size of: ", stringify!(_RPC_SERVER_INTERFACE)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SERVER_INTERFACE>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_SERVER_INTERFACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(InterfaceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferSyntax) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(TransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtseqEndpointCount) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(RpcProtseqEndpointCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtseqEndpoint) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(RpcProtseqEndpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultManagerEpv) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(DefaultManagerEpv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterpreterInfo) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(InterpreterInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SERVER_INTERFACE), + "::", + stringify!(Flags) + ) + ); +} +pub type RPC_SERVER_INTERFACE = _RPC_SERVER_INTERFACE; +pub type PRPC_SERVER_INTERFACE = *mut _RPC_SERVER_INTERFACE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_CLIENT_INTERFACE { + pub Length: ::std::os::raw::c_uint, + pub InterfaceId: RPC_SYNTAX_IDENTIFIER, + pub TransferSyntax: RPC_SYNTAX_IDENTIFIER, + pub DispatchTable: PRPC_DISPATCH_TABLE, + pub RpcProtseqEndpointCount: ::std::os::raw::c_uint, + pub RpcProtseqEndpoint: PRPC_PROTSEQ_ENDPOINT, + pub Reserved: ULONG_PTR, + pub InterpreterInfo: *const ::std::os::raw::c_void, + pub Flags: ::std::os::raw::c_uint, +} +#[test] +fn bindgen_test_layout__RPC_CLIENT_INTERFACE() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_CLIENT_INTERFACE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_CLIENT_INTERFACE>(), + 96usize, + concat!("Size of: ", stringify!(_RPC_CLIENT_INTERFACE)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_CLIENT_INTERFACE>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_CLIENT_INTERFACE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(InterfaceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferSyntax) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(TransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtseqEndpointCount) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(RpcProtseqEndpointCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProtseqEndpoint) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(RpcProtseqEndpoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterpreterInfo) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(InterpreterInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CLIENT_INTERFACE), + "::", + stringify!(Flags) + ) + ); +} +pub type RPC_CLIENT_INTERFACE = _RPC_CLIENT_INTERFACE; +pub type PRPC_CLIENT_INTERFACE = *mut _RPC_CLIENT_INTERFACE; +extern "C" { + pub fn I_RpcNegotiateTransferSyntax(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetBuffer(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetBufferWithObject(Message: *mut RPC_MESSAGE, ObjectUuid: *mut UUID) + -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSendReceive(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcFreeBuffer(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSend(Message: PRPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcReceive(Message: PRPC_MESSAGE, Size: ::std::os::raw::c_uint) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcFreePipeBuffer(Message: *mut RPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcReallocPipeBuffer( + Message: PRPC_MESSAGE, + NewSize: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +pub type I_RPC_MUTEX = *mut ::std::os::raw::c_void; +extern "C" { + pub fn I_RpcRequestMutex(Mutex: *mut I_RPC_MUTEX); +} +extern "C" { + pub fn I_RpcClearMutex(Mutex: I_RPC_MUTEX); +} +extern "C" { + pub fn I_RpcDeleteMutex(Mutex: I_RPC_MUTEX); +} +extern "C" { + pub fn I_RpcAllocate(Size: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn I_RpcFree(Object: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn I_RpcFreeSystemHandleCollection( + CallObj: *mut ::std::os::raw::c_void, + FreeFlags: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn I_RpcSetSystemHandle( + Handle: *mut ::std::os::raw::c_void, + Type: ::std::os::raw::c_uchar, + AccessMask: ::std::os::raw::c_ulong, + CallObj: *mut ::std::os::raw::c_void, + HandleIndex: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetSystemHandle( + pMemory: *mut ::std::os::raw::c_uchar, + Type: ::std::os::raw::c_uchar, + AccessMask: ::std::os::raw::c_ulong, + HandleIndex: ::std::os::raw::c_ulong, + CallObj: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcFreeSystemHandle( + Type: ::std::os::raw::c_uchar, + Handle: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn I_RpcPauseExecution(Milliseconds: ::std::os::raw::c_ulong); +} +extern "C" { + pub fn I_RpcGetExtendedError() -> RPC_STATUS; +} +pub const _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION_MarshalDirectionMarshal: + _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION = 0; +pub const _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION_MarshalDirectionUnmarshal: + _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION = 1; +pub type _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION = ::std::os::raw::c_int; +pub use self::_LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION as LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION; +extern "C" { + pub fn I_RpcSystemHandleTypeSpecificWork( + Handle: *mut ::std::os::raw::c_void, + ActualType: ::std::os::raw::c_uchar, + IdlType: ::std::os::raw::c_uchar, + MarshalDirection: LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION, + ) -> RPC_STATUS; +} +pub type PRPC_RUNDOWN = + ::std::option::Option; +extern "C" { + pub fn I_RpcMonitorAssociation( + Handle: RPC_BINDING_HANDLE, + RundownRoutine: PRPC_RUNDOWN, + Context: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcStopMonitorAssociation(Handle: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetCurrentCallHandle() -> RPC_BINDING_HANDLE; +} +extern "C" { + pub fn I_RpcGetAssociationContext( + BindingHandle: RPC_BINDING_HANDLE, + AssociationContext: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetServerContextList( + BindingHandle: RPC_BINDING_HANDLE, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn I_RpcSetServerContextList( + BindingHandle: RPC_BINDING_HANDLE, + ServerContextList: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn I_RpcNsInterfaceExported( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: *mut ::std::os::raw::c_ushort, + RpcInterfaceInformation: *mut RPC_SERVER_INTERFACE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsInterfaceUnexported( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: *mut ::std::os::raw::c_ushort, + RpcInterfaceInformation: *mut RPC_SERVER_INTERFACE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingToStaticStringBindingW( + Binding: RPC_BINDING_HANDLE, + StringBinding: *mut *mut ::std::os::raw::c_ushort, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqSecurityContext( + Binding: RPC_BINDING_HANDLE, + SecurityContextHandle: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_SEC_CONTEXT_KEY_INFO { + pub EncryptAlgorithm: ::std::os::raw::c_ulong, + pub KeySize: ::std::os::raw::c_ulong, + pub SignatureAlgorithm: ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout__RPC_SEC_CONTEXT_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_SEC_CONTEXT_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_SEC_CONTEXT_KEY_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_RPC_SEC_CONTEXT_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_SEC_CONTEXT_KEY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_SEC_CONTEXT_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SEC_CONTEXT_KEY_INFO), + "::", + stringify!(EncryptAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeySize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SEC_CONTEXT_KEY_INFO), + "::", + stringify!(KeySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_SEC_CONTEXT_KEY_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); +} +pub type RPC_SEC_CONTEXT_KEY_INFO = _RPC_SEC_CONTEXT_KEY_INFO; +pub type PRPC_SEC_CONTEXT_KEY_INFO = *mut _RPC_SEC_CONTEXT_KEY_INFO; +extern "C" { + pub fn I_RpcBindingInqSecurityContextKeyInfo( + Binding: RPC_BINDING_HANDLE, + KeyInfo: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqWireIdForSnego( + Binding: RPC_BINDING_HANDLE, + WireId: *mut ::std::os::raw::c_uchar, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqMarshalledTargetInfo( + Binding: RPC_BINDING_HANDLE, + MarshalledTargetInfoSize: *mut ::std::os::raw::c_ulong, + MarshalledTargetInfo: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqLocalClientPID( + Binding: RPC_BINDING_HANDLE, + Pid: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingHandleToAsyncHandle( + Binding: RPC_BINDING_HANDLE, + AsyncHandle: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsBindingSetEntryNameW( + Binding: RPC_BINDING_HANDLE, + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsBindingSetEntryNameA( + Binding: RPC_BINDING_HANDLE, + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUseProtseqEp2A( + NetworkAddress: RPC_CSTR, + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_CSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUseProtseqEp2W( + NetworkAddress: RPC_WSTR, + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + Endpoint: RPC_WSTR, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUseProtseq2W( + NetworkAddress: RPC_WSTR, + Protseq: RPC_WSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUseProtseq2A( + NetworkAddress: RPC_CSTR, + Protseq: RPC_CSTR, + MaxCalls: ::std::os::raw::c_uint, + SecurityDescriptor: *mut ::std::os::raw::c_void, + Policy: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerStartService( + Protseq: RPC_WSTR, + Endpoint: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqDynamicEndpointW( + Binding: RPC_BINDING_HANDLE, + DynamicEndpoint: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqDynamicEndpointA( + Binding: RPC_BINDING_HANDLE, + DynamicEndpoint: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerCheckClientRestriction(Context: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqTransportType( + Binding: RPC_BINDING_HANDLE, + Type: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_TRANSFER_SYNTAX { + pub Uuid: UUID, + pub VersMajor: ::std::os::raw::c_ushort, + pub VersMinor: ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__RPC_TRANSFER_SYNTAX() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_TRANSFER_SYNTAX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_TRANSFER_SYNTAX>(), + 20usize, + concat!("Size of: ", stringify!(_RPC_TRANSFER_SYNTAX)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_TRANSFER_SYNTAX>(), + 4usize, + concat!("Alignment of ", stringify!(_RPC_TRANSFER_SYNTAX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_TRANSFER_SYNTAX), + "::", + stringify!(Uuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersMajor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_TRANSFER_SYNTAX), + "::", + stringify!(VersMajor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VersMinor) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_RPC_TRANSFER_SYNTAX), + "::", + stringify!(VersMinor) + ) + ); +} +pub type RPC_TRANSFER_SYNTAX = _RPC_TRANSFER_SYNTAX; +extern "C" { + pub fn I_RpcIfInqTransferSyntaxes( + RpcIfHandle: RPC_IF_HANDLE, + TransferSyntaxes: *mut RPC_TRANSFER_SYNTAX, + TransferSyntaxSize: ::std::os::raw::c_uint, + TransferSyntaxCount: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_UuidCreate(Uuid: *mut UUID) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcUninitializeNdrOle(); +} +extern "C" { + pub fn I_RpcBindingCopy( + SourceBinding: RPC_BINDING_HANDLE, + DestinationBinding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingIsClientLocal( + BindingHandle: RPC_BINDING_HANDLE, + ClientLocalFlag: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingInqConnId( + Binding: RPC_BINDING_HANDLE, + ConnId: *mut *mut ::std::os::raw::c_void, + pfFirstCall: *mut ::std::os::raw::c_int, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingCreateNP( + ServerName: RPC_WSTR, + ServiceName: RPC_WSTR, + NetworkOptions: RPC_WSTR, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSsDontSerializeContext(); +} +extern "C" { + pub fn I_RpcLaunchDatagramReceiveThread(pAddress: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerRegisterForwardFunction( + pForwardFunction: ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut UUID, + arg2: *mut RPC_VERSION, + arg3: *mut UUID, + arg4: *mut ::std::os::raw::c_uchar, + arg5: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerInqAddressChangeFn( + ) -> ::std::option::Option; +} +extern "C" { + pub fn I_RpcServerSetAddressChangeFn( + pAddressChangeFn: ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void), + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerInqLocalConnAddress( + Binding: RPC_BINDING_HANDLE, + Buffer: *mut ::std::os::raw::c_void, + BufferSize: *mut ::std::os::raw::c_ulong, + AddressFormat: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerInqRemoteConnAddress( + Binding: RPC_BINDING_HANDLE, + Buffer: *mut ::std::os::raw::c_void, + BufferSize: *mut ::std::os::raw::c_ulong, + AddressFormat: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSessionStrictContextHandle(); +} +extern "C" { + pub fn I_RpcTurnOnEEInfoPropagation() -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcConnectionInqSockBuffSize( + RecvBuffSize: *mut ::std::os::raw::c_ulong, + SendBuffSize: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcConnectionSetSockBuffSize( + RecvBuffSize: ::std::os::raw::c_ulong, + SendBuffSize: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +pub type RPCLT_PDU_FILTER_FUNC = ::std::option::Option< + unsafe extern "C" fn( + Buffer: *mut ::std::os::raw::c_void, + BufferLength: ::std::os::raw::c_uint, + fDatagram: ::std::os::raw::c_int, + ), +>; +pub type RPC_SETFILTER_FUNC = + ::std::option::Option; +extern "C" { + pub fn I_RpcServerStartListening(hWnd: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerStopListening() -> RPC_STATUS; +} +pub type RPC_BLOCKING_FN = ::std::option::Option< + unsafe extern "C" fn( + hWnd: *mut ::std::os::raw::c_void, + Context: *mut ::std::os::raw::c_void, + hSyncEvent: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS, +>; +extern "C" { + pub fn I_RpcBindingSetAsync( + Binding: RPC_BINDING_HANDLE, + BlockingFn: RPC_BLOCKING_FN, + ServerTid: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcSetThreadParams( + fClientFree: ::std::os::raw::c_int, + Context: *mut ::std::os::raw::c_void, + hWndClient: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcWindowProc( + hWnd: *mut ::std::os::raw::c_void, + Message: ::std::os::raw::c_uint, + wParam: ::std::os::raw::c_uint, + lParam: ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn I_RpcServerUnregisterEndpointA(Protseq: RPC_CSTR, Endpoint: RPC_CSTR) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUnregisterEndpointW(Protseq: RPC_WSTR, Endpoint: RPC_WSTR) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerInqTransportType(Type: *mut ::std::os::raw::c_uint) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcMapWin32Status(Status: RPC_STATUS) -> ::std::os::raw::c_long; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR { + pub BufferSize: ::std::os::raw::c_ulong, + pub Buffer: *mut ::std::os::raw::c_char, +} +#[test] +fn bindgen_test_layout__RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR>(), + 16usize, + concat!("Size of: ", stringify!(_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR), + "::", + stringify!(Buffer) + ) + ); +} +pub type RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR = _RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RDR_CALLOUT_STATE { + pub LastError: RPC_STATUS, + pub LastEEInfo: *mut ::std::os::raw::c_void, + pub LastCalledStage: RPC_HTTP_REDIRECTOR_STAGE, + pub ServerName: *mut ::std::os::raw::c_ushort, + pub ServerPort: *mut ::std::os::raw::c_ushort, + pub RemoteUser: *mut ::std::os::raw::c_ushort, + pub AuthType: *mut ::std::os::raw::c_ushort, + pub ResourceTypePresent: ::std::os::raw::c_uchar, + pub SessionIdPresent: ::std::os::raw::c_uchar, + pub InterfacePresent: ::std::os::raw::c_uchar, + pub ResourceType: UUID, + pub SessionId: UUID, + pub Interface: RPC_SYNTAX_IDENTIFIER, + pub CertContext: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__RDR_CALLOUT_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_RDR_CALLOUT_STATE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RDR_CALLOUT_STATE>(), + 120usize, + concat!("Size of: ", stringify!(_RDR_CALLOUT_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_RDR_CALLOUT_STATE>(), + 8usize, + concat!("Alignment of ", stringify!(_RDR_CALLOUT_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastError) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(LastError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastEEInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(LastEEInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastCalledStage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(LastCalledStage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(ServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPort) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(ServerPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoteUser) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(RemoteUser) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthType) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(AuthType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceTypePresent) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(ResourceTypePresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionIdPresent) as usize - ptr as usize }, + 57usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(SessionIdPresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfacePresent) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(InterfacePresent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceType) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(ResourceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SessionId) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(SessionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Interface) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(Interface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertContext) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_RDR_CALLOUT_STATE), + "::", + stringify!(CertContext) + ) + ); +} +pub type RDR_CALLOUT_STATE = _RDR_CALLOUT_STATE; +pub type I_RpcProxyIsValidMachineFn = ::std::option::Option< + unsafe extern "C" fn( + Machine: RPC_WSTR, + DotMachine: RPC_WSTR, + PortNumber: ::std::os::raw::c_ulong, + ) -> RPC_STATUS, +>; +pub type I_RpcProxyGetClientAddressFn = ::std::option::Option< + unsafe extern "C" fn( + Context: *mut ::std::os::raw::c_void, + Buffer: *mut ::std::os::raw::c_char, + BufferLength: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS, +>; +pub type I_RpcProxyGetConnectionTimeoutFn = ::std::option::Option< + unsafe extern "C" fn(ConnectionTimeout: *mut ::std::os::raw::c_ulong) -> RPC_STATUS, +>; +pub type I_RpcPerformCalloutFn = ::std::option::Option< + unsafe extern "C" fn( + Context: *mut ::std::os::raw::c_void, + CallOutState: *mut RDR_CALLOUT_STATE, + Stage: RPC_HTTP_REDIRECTOR_STAGE, + ) -> RPC_STATUS, +>; +pub type I_RpcFreeCalloutStateFn = + ::std::option::Option; +pub type I_RpcProxyGetClientSessionAndResourceUUID = ::std::option::Option< + unsafe extern "C" fn( + Context: *mut ::std::os::raw::c_void, + SessionIdPresent: *mut ::std::os::raw::c_int, + SessionId: *mut UUID, + ResourceIdPresent: *mut ::std::os::raw::c_int, + ResourceId: *mut UUID, + ) -> RPC_STATUS, +>; +pub type I_RpcProxyFilterIfFn = ::std::option::Option< + unsafe extern "C" fn( + Context: *mut ::std::os::raw::c_void, + IfUuid: *mut UUID, + IfMajorVersion: ::std::os::raw::c_ushort, + fAllow: *mut ::std::os::raw::c_int, + ) -> RPC_STATUS, +>; +pub const RpcProxyPerfCounters_RpcCurrentUniqueUser: RpcProxyPerfCounters = 1; +pub const RpcProxyPerfCounters_RpcBackEndConnectionAttempts: RpcProxyPerfCounters = 2; +pub const RpcProxyPerfCounters_RpcBackEndConnectionFailed: RpcProxyPerfCounters = 3; +pub const RpcProxyPerfCounters_RpcRequestsPerSecond: RpcProxyPerfCounters = 4; +pub const RpcProxyPerfCounters_RpcIncomingConnections: RpcProxyPerfCounters = 5; +pub const RpcProxyPerfCounters_RpcIncomingBandwidth: RpcProxyPerfCounters = 6; +pub const RpcProxyPerfCounters_RpcOutgoingBandwidth: RpcProxyPerfCounters = 7; +pub const RpcProxyPerfCounters_RpcAttemptedLbsDecisions: RpcProxyPerfCounters = 8; +pub const RpcProxyPerfCounters_RpcFailedLbsDecisions: RpcProxyPerfCounters = 9; +pub const RpcProxyPerfCounters_RpcAttemptedLbsMessages: RpcProxyPerfCounters = 10; +pub const RpcProxyPerfCounters_RpcFailedLbsMessages: RpcProxyPerfCounters = 11; +pub const RpcProxyPerfCounters_RpcLastCounter: RpcProxyPerfCounters = 12; +pub type RpcProxyPerfCounters = ::std::os::raw::c_int; +pub use self::RpcProxyPerfCounters as RpcPerfCounters; +pub type I_RpcProxyUpdatePerfCounterFn = ::std::option::Option< + unsafe extern "C" fn( + Counter: RpcPerfCounters, + ModifyTrend: ::std::os::raw::c_int, + Size: ::std::os::raw::c_ulong, + ), +>; +pub type I_RpcProxyUpdatePerfCounterBackendServerFn = ::std::option::Option< + unsafe extern "C" fn( + MachineName: *mut ::std::os::raw::c_ushort, + IsConnectEvent: ::std::os::raw::c_int, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagI_RpcProxyCallbackInterface { + pub IsValidMachineFn: I_RpcProxyIsValidMachineFn, + pub GetClientAddressFn: I_RpcProxyGetClientAddressFn, + pub GetConnectionTimeoutFn: I_RpcProxyGetConnectionTimeoutFn, + pub PerformCalloutFn: I_RpcPerformCalloutFn, + pub FreeCalloutStateFn: I_RpcFreeCalloutStateFn, + pub GetClientSessionAndResourceUUIDFn: I_RpcProxyGetClientSessionAndResourceUUID, + pub ProxyFilterIfFn: I_RpcProxyFilterIfFn, + pub RpcProxyUpdatePerfCounterFn: I_RpcProxyUpdatePerfCounterFn, + pub RpcProxyUpdatePerfCounterBackendServerFn: I_RpcProxyUpdatePerfCounterBackendServerFn, +} +#[test] +fn bindgen_test_layout_tagI_RpcProxyCallbackInterface() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagI_RpcProxyCallbackInterface)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagI_RpcProxyCallbackInterface)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsValidMachineFn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(IsValidMachineFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClientAddressFn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(GetClientAddressFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetConnectionTimeoutFn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(GetConnectionTimeoutFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerformCalloutFn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(PerformCalloutFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeCalloutStateFn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(FreeCalloutStateFn) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetClientSessionAndResourceUUIDFn) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(GetClientSessionAndResourceUUIDFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyFilterIfFn) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(ProxyFilterIfFn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcProxyUpdatePerfCounterFn) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(RpcProxyUpdatePerfCounterFn) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RpcProxyUpdatePerfCounterBackendServerFn) as usize + - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagI_RpcProxyCallbackInterface), + "::", + stringify!(RpcProxyUpdatePerfCounterBackendServerFn) + ) + ); +} +pub type I_RpcProxyCallbackInterface = tagI_RpcProxyCallbackInterface; +extern "C" { + pub fn I_RpcProxyNewConnection( + ConnectionType: ::std::os::raw::c_ulong, + ServerAddress: *mut ::std::os::raw::c_ushort, + ServerPort: *mut ::std::os::raw::c_ushort, + MinConnTimeout: *mut ::std::os::raw::c_ushort, + ConnectionParameter: *mut ::std::os::raw::c_void, + CallOutState: *mut RDR_CALLOUT_STATE, + ProxyCallbackInterface: *mut I_RpcProxyCallbackInterface, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcReplyToClientWithStatus( + ConnectionParameter: *mut ::std::os::raw::c_void, + RpcStatus: RPC_STATUS, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcRecordCalloutFailure( + RpcStatus: RPC_STATUS, + CallOutState: *mut RDR_CALLOUT_STATE, + DllName: *mut ::std::os::raw::c_ushort, + ); +} +extern "C" { + pub fn I_RpcMgmtEnableDedicatedThreadPool() -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcGetDefaultSD(ppSecurityDescriptor: *mut *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcOpenClientProcess( + Binding: RPC_BINDING_HANDLE, + DesiredAccess: ::std::os::raw::c_ulong, + ClientProcess: *mut *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingIsServerLocal( + Binding: RPC_BINDING_HANDLE, + ServerLocalFlag: *mut ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcBindingSetPrivateOption( + hBinding: RPC_BINDING_HANDLE, + option: ::std::os::raw::c_ulong, + optionValue: ULONG_PTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerSubscribeForDisconnectNotification( + Binding: RPC_BINDING_HANDLE, + hEvent: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerGetAssociationID( + Binding: RPC_BINDING_HANDLE, + AssociationID: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerDisableExceptionFilter() -> ::std::os::raw::c_long; +} +extern "C" { + pub fn I_RpcServerSubscribeForDisconnectNotification2( + Binding: RPC_BINDING_HANDLE, + hEvent: *mut ::std::os::raw::c_void, + SubscriptionId: *mut UUID, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcServerUnsubscribeForDisconnectNotification( + Binding: RPC_BINDING_HANDLE, + SubscriptionId: UUID, + ) -> RPC_STATUS; +} +pub type RPC_NS_HANDLE = *mut ::std::os::raw::c_void; +extern "C" { + pub fn RpcNsBindingExportA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + BindingVec: *mut RPC_BINDING_VECTOR, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingUnexportA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingExportW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + BindingVec: *mut RPC_BINDING_VECTOR, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingUnexportW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingExportPnPA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjectVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingUnexportPnPA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjectVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingExportPnPW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjectVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingUnexportPnPW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjectVector: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingLookupBeginA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjUuid: *mut UUID, + BindingMaxCount: ::std::os::raw::c_ulong, + LookupContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingLookupBeginW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjUuid: *mut UUID, + BindingMaxCount: ::std::os::raw::c_ulong, + LookupContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingLookupNext( + LookupContext: RPC_NS_HANDLE, + BindingVec: *mut *mut RPC_BINDING_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingLookupDone(LookupContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupDeleteA( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrAddA( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_CSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrRemoveA( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_CSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqBeginA( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_CSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqNextA( + InquiryContext: RPC_NS_HANDLE, + MemberName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupDeleteW( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrAddW( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_WSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrRemoveW( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_WSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqBeginW( + GroupNameSyntax: ::std::os::raw::c_ulong, + GroupName: RPC_WSTR, + MemberNameSyntax: ::std::os::raw::c_ulong, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqNextW( + InquiryContext: RPC_NS_HANDLE, + MemberName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsGroupMbrInqDone(InquiryContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileDeleteA( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltAddA( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_CSTR, + IfId: *mut RPC_IF_ID, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + Priority: ::std::os::raw::c_ulong, + Annotation: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltRemoveA( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_CSTR, + IfId: *mut RPC_IF_ID, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqBeginA( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_CSTR, + InquiryType: ::std::os::raw::c_ulong, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_CSTR, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqNextA( + InquiryContext: RPC_NS_HANDLE, + IfId: *mut RPC_IF_ID, + MemberName: *mut RPC_CSTR, + Priority: *mut ::std::os::raw::c_ulong, + Annotation: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileDeleteW( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltAddW( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_WSTR, + IfId: *mut RPC_IF_ID, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + Priority: ::std::os::raw::c_ulong, + Annotation: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltRemoveW( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_WSTR, + IfId: *mut RPC_IF_ID, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqBeginW( + ProfileNameSyntax: ::std::os::raw::c_ulong, + ProfileName: RPC_WSTR, + InquiryType: ::std::os::raw::c_ulong, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + MemberNameSyntax: ::std::os::raw::c_ulong, + MemberName: RPC_WSTR, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqNextW( + InquiryContext: RPC_NS_HANDLE, + IfId: *mut RPC_IF_ID, + MemberName: *mut RPC_WSTR, + Priority: *mut ::std::os::raw::c_ulong, + Annotation: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsProfileEltInqDone(InquiryContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryObjectInqBeginA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryObjectInqBeginW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + InquiryContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryObjectInqNext(InquiryContext: RPC_NS_HANDLE, ObjUuid: *mut UUID) + -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryObjectInqDone(InquiryContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryExpandNameA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + ExpandedName: *mut RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtBindingUnexportA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryCreateA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryDeleteA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryInqIfIdsA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfIdVec: *mut *mut RPC_IF_ID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtHandleSetExpAge( + NsHandle: RPC_NS_HANDLE, + ExpirationAge: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtInqExpAge(ExpirationAge: *mut ::std::os::raw::c_ulong) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtSetExpAge(ExpirationAge: ::std::os::raw::c_ulong) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsEntryExpandNameW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + ExpandedName: *mut RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtBindingUnexportW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfId: *mut RPC_IF_ID, + VersOption: ::std::os::raw::c_ulong, + ObjectUuidVec: *mut UUID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryCreateW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryDeleteW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsMgmtEntryInqIfIdsW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfIdVec: *mut *mut RPC_IF_ID_VECTOR, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingImportBeginA( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_CSTR, + IfSpec: RPC_IF_HANDLE, + ObjUuid: *mut UUID, + ImportContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingImportBeginW( + EntryNameSyntax: ::std::os::raw::c_ulong, + EntryName: RPC_WSTR, + IfSpec: RPC_IF_HANDLE, + ObjUuid: *mut UUID, + ImportContext: *mut RPC_NS_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingImportNext( + ImportContext: RPC_NS_HANDLE, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingImportDone(ImportContext: *mut RPC_NS_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcNsBindingSelect( + BindingVec: *mut RPC_BINDING_VECTOR, + Binding: *mut RPC_BINDING_HANDLE, + ) -> RPC_STATUS; +} +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeNone: _RPC_NOTIFICATION_TYPES = 0; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeEvent: _RPC_NOTIFICATION_TYPES = 1; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeApc: _RPC_NOTIFICATION_TYPES = 2; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeIoc: _RPC_NOTIFICATION_TYPES = 3; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeHwnd: _RPC_NOTIFICATION_TYPES = 4; +pub const _RPC_NOTIFICATION_TYPES_RpcNotificationTypeCallback: _RPC_NOTIFICATION_TYPES = 5; +pub type _RPC_NOTIFICATION_TYPES = ::std::os::raw::c_int; +pub use self::_RPC_NOTIFICATION_TYPES as RPC_NOTIFICATION_TYPES; +pub const _RPC_ASYNC_EVENT_RpcCallComplete: _RPC_ASYNC_EVENT = 0; +pub const _RPC_ASYNC_EVENT_RpcSendComplete: _RPC_ASYNC_EVENT = 1; +pub const _RPC_ASYNC_EVENT_RpcReceiveComplete: _RPC_ASYNC_EVENT = 2; +pub const _RPC_ASYNC_EVENT_RpcClientDisconnect: _RPC_ASYNC_EVENT = 3; +pub const _RPC_ASYNC_EVENT_RpcClientCancel: _RPC_ASYNC_EVENT = 4; +pub type _RPC_ASYNC_EVENT = ::std::os::raw::c_int; +pub use self::_RPC_ASYNC_EVENT as RPC_ASYNC_EVENT; +pub type PFN_RPCNOTIFICATION_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut _RPC_ASYNC_STATE, + arg2: *mut ::std::os::raw::c_void, + arg3: RPC_ASYNC_EVENT, + ), +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RPC_ASYNC_NOTIFICATION_INFO { + pub APC: _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1, + pub IOC: _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2, + pub HWND: _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3, + pub hEvent: HANDLE, + pub NotificationRoutine: PFN_RPCNOTIFICATION_ROUTINE, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1 { + pub NotificationRoutine: PFN_RPCNOTIFICATION_ROUTINE, + pub hThread: HANDLE, +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationRoutine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1), + "::", + stringify!(NotificationRoutine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hThread) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_1), + "::", + stringify!(hThread) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2 { + pub hIOPort: HANDLE, + pub dwNumberOfBytesTransferred: DWORD, + pub dwCompletionKey: DWORD_PTR, + pub lpOverlapped: LPOVERLAPPED, +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2>(), + 32usize, + concat!( + "Size of: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIOPort) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), + "::", + stringify!(hIOPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfBytesTransferred) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), + "::", + stringify!(dwNumberOfBytesTransferred) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCompletionKey) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), + "::", + stringify!(dwCompletionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOverlapped) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_2), + "::", + stringify!(lpOverlapped) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3 { + pub hWnd: HWND, + pub Msg: UINT, +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3>(), + 16usize, + concat!( + "Size of: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Msg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO__bindgen_ty_3), + "::", + stringify!(Msg) + ) + ); +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_NOTIFICATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_NOTIFICATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_NOTIFICATION_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_NOTIFICATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_ASYNC_NOTIFICATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).APC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(APC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IOC) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(IOC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HWND) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(HWND) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hEvent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(hEvent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationRoutine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_NOTIFICATION_INFO), + "::", + stringify!(NotificationRoutine) + ) + ); +} +pub type RPC_ASYNC_NOTIFICATION_INFO = _RPC_ASYNC_NOTIFICATION_INFO; +pub type PRPC_ASYNC_NOTIFICATION_INFO = *mut _RPC_ASYNC_NOTIFICATION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RPC_ASYNC_STATE { + pub Size: ::std::os::raw::c_uint, + pub Signature: ::std::os::raw::c_ulong, + pub Lock: ::std::os::raw::c_long, + pub Flags: ::std::os::raw::c_ulong, + pub StubInfo: *mut ::std::os::raw::c_void, + pub UserInfo: *mut ::std::os::raw::c_void, + pub RuntimeInfo: *mut ::std::os::raw::c_void, + pub Event: RPC_ASYNC_EVENT, + pub NotificationType: RPC_NOTIFICATION_TYPES, + pub u: RPC_ASYNC_NOTIFICATION_INFO, + pub Reserved: [LONG_PTR; 4usize], +} +#[test] +fn bindgen_test_layout__RPC_ASYNC_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_ASYNC_STATE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_ASYNC_STATE>(), + 112usize, + concat!("Size of: ", stringify!(_RPC_ASYNC_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_ASYNC_STATE>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_ASYNC_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lock) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Lock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StubInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(StubInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(UserInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RuntimeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(RuntimeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Event) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Event) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationType) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(NotificationType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_RPC_ASYNC_STATE), + "::", + stringify!(Reserved) + ) + ); +} +pub type RPC_ASYNC_STATE = _RPC_ASYNC_STATE; +pub type PRPC_ASYNC_STATE = *mut _RPC_ASYNC_STATE; +extern "C" { + pub fn RpcAsyncRegisterInfo(pAsync: PRPC_ASYNC_STATE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncInitializeHandle( + pAsync: PRPC_ASYNC_STATE, + Size: ::std::os::raw::c_uint, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncGetCallStatus(pAsync: PRPC_ASYNC_STATE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncCompleteCall( + pAsync: PRPC_ASYNC_STATE, + Reply: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncAbortCall( + pAsync: PRPC_ASYNC_STATE, + ExceptionCode: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcAsyncCancelCall(pAsync: PRPC_ASYNC_STATE, fAbort: BOOL) -> RPC_STATUS; +} +pub const tagExtendedErrorParamTypes_eeptAnsiString: tagExtendedErrorParamTypes = 1; +pub const tagExtendedErrorParamTypes_eeptUnicodeString: tagExtendedErrorParamTypes = 2; +pub const tagExtendedErrorParamTypes_eeptLongVal: tagExtendedErrorParamTypes = 3; +pub const tagExtendedErrorParamTypes_eeptShortVal: tagExtendedErrorParamTypes = 4; +pub const tagExtendedErrorParamTypes_eeptPointerVal: tagExtendedErrorParamTypes = 5; +pub const tagExtendedErrorParamTypes_eeptNone: tagExtendedErrorParamTypes = 6; +pub const tagExtendedErrorParamTypes_eeptBinary: tagExtendedErrorParamTypes = 7; +pub type tagExtendedErrorParamTypes = ::std::os::raw::c_int; +pub use self::tagExtendedErrorParamTypes as ExtendedErrorParamTypes; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBinaryParam { + pub Buffer: *mut ::std::os::raw::c_void, + pub Size: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_tagBinaryParam() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBinaryParam)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBinaryParam)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBinaryParam), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBinaryParam), + "::", + stringify!(Size) + ) + ); +} +pub type BinaryParam = tagBinaryParam; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRPC_EE_INFO_PARAM { + pub ParameterType: ExtendedErrorParamTypes, + pub u: tagRPC_EE_INFO_PARAM__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRPC_EE_INFO_PARAM__bindgen_ty_1 { + pub AnsiString: LPSTR, + pub UnicodeString: LPWSTR, + pub LVal: ::std::os::raw::c_long, + pub SVal: ::std::os::raw::c_short, + pub PVal: ULONGLONG, + pub BVal: BinaryParam, +} +#[test] +fn bindgen_test_layout_tagRPC_EE_INFO_PARAM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AnsiString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(AnsiString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnicodeString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(UnicodeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(LVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(SVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(PVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM__bindgen_ty_1), + "::", + stringify!(BVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRPC_EE_INFO_PARAM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRPC_EE_INFO_PARAM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_EE_INFO_PARAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM), + "::", + stringify!(ParameterType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EE_INFO_PARAM), + "::", + stringify!(u) + ) + ); +} +pub type RPC_EE_INFO_PARAM = tagRPC_EE_INFO_PARAM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagRPC_EXTENDED_ERROR_INFO { + pub Version: ULONG, + pub ComputerName: LPWSTR, + pub ProcessID: ULONG, + pub u: tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1, + pub GeneratingComponent: ULONG, + pub Status: ULONG, + pub DetectionLocation: USHORT, + pub Flags: USHORT, + pub NumberOfParameters: ::std::os::raw::c_int, + pub Parameters: [RPC_EE_INFO_PARAM; 4usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1 { + pub SystemTime: SYSTEMTIME, + pub FileTime: FILETIME, +} +#[test] +fn bindgen_test_layout_tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1), + "::", + stringify!(SystemTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO__bindgen_ty_1), + "::", + stringify!(FileTime) + ) + ); +} +#[test] +fn bindgen_test_layout_tagRPC_EXTENDED_ERROR_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagRPC_EXTENDED_ERROR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_EXTENDED_ERROR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ComputerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(ComputerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(ProcessID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(u) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GeneratingComponent) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(GeneratingComponent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DetectionLocation) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(DetectionLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfParameters) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(NumberOfParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Parameters) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_EXTENDED_ERROR_INFO), + "::", + stringify!(Parameters) + ) + ); +} +pub type RPC_EXTENDED_ERROR_INFO = tagRPC_EXTENDED_ERROR_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_ERROR_ENUM_HANDLE { + pub Signature: ULONG, + pub CurrentPos: *mut ::std::os::raw::c_void, + pub Head: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_tagRPC_ERROR_ENUM_HANDLE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRPC_ERROR_ENUM_HANDLE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_ERROR_ENUM_HANDLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_ERROR_ENUM_HANDLE), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentPos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_ERROR_ENUM_HANDLE), + "::", + stringify!(CurrentPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Head) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_ERROR_ENUM_HANDLE), + "::", + stringify!(Head) + ) + ); +} +pub type RPC_ERROR_ENUM_HANDLE = tagRPC_ERROR_ENUM_HANDLE; +extern "C" { + pub fn RpcErrorStartEnumeration(EnumHandle: *mut RPC_ERROR_ENUM_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorGetNextRecord( + EnumHandle: *mut RPC_ERROR_ENUM_HANDLE, + CopyStrings: BOOL, + ErrorInfo: *mut RPC_EXTENDED_ERROR_INFO, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorEndEnumeration(EnumHandle: *mut RPC_ERROR_ENUM_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorResetEnumeration(EnumHandle: *mut RPC_ERROR_ENUM_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorGetNumberOfRecords( + EnumHandle: *mut RPC_ERROR_ENUM_HANDLE, + Records: *mut ::std::os::raw::c_int, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorSaveErrorInfo( + EnumHandle: *mut RPC_ERROR_ENUM_HANDLE, + ErrorBlob: *mut PVOID, + BlobSize: *mut usize, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorLoadErrorInfo( + ErrorBlob: PVOID, + BlobSize: usize, + EnumHandle: *mut RPC_ERROR_ENUM_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorAddRecord(ErrorInfo: *mut RPC_EXTENDED_ERROR_INFO) -> RPC_STATUS; +} +extern "C" { + pub fn RpcErrorClearInformation(); +} +extern "C" { + pub fn RpcAsyncCleanupThread(dwTimeout: DWORD) -> RPC_STATUS; +} +extern "C" { + pub fn RpcGetAuthorizationContextForClient( + ClientBinding: RPC_BINDING_HANDLE, + ImpersonateOnReturn: BOOL, + Reserved1: PVOID, + pExpirationTime: PLARGE_INTEGER, + Reserved2: LUID, + Reserved3: DWORD, + Reserved4: PVOID, + pAuthzClientContext: *mut PVOID, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcFreeAuthorizationContext(pAuthzClientContext: *mut PVOID) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSsContextLockExclusive( + ServerBindingHandle: RPC_BINDING_HANDLE, + UserContext: PVOID, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSsContextLockShared( + ServerBindingHandle: RPC_BINDING_HANDLE, + UserContext: PVOID, + ) -> RPC_STATUS; +} +pub const tagRpcLocalAddressFormat_rlafInvalid: tagRpcLocalAddressFormat = 0; +pub const tagRpcLocalAddressFormat_rlafIPv4: tagRpcLocalAddressFormat = 1; +pub const tagRpcLocalAddressFormat_rlafIPv6: tagRpcLocalAddressFormat = 2; +pub type tagRpcLocalAddressFormat = ::std::os::raw::c_int; +pub use self::tagRpcLocalAddressFormat as RpcLocalAddressFormat; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RPC_CALL_LOCAL_ADDRESS_V1 { + pub Version: ::std::os::raw::c_uint, + pub Buffer: *mut ::std::os::raw::c_void, + pub BufferSize: ::std::os::raw::c_ulong, + pub AddressFormat: RpcLocalAddressFormat, +} +#[test] +fn bindgen_test_layout__RPC_CALL_LOCAL_ADDRESS_V1() { + const UNINIT: ::std::mem::MaybeUninit<_RPC_CALL_LOCAL_ADDRESS_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RPC_CALL_LOCAL_ADDRESS_V1>(), + 24usize, + concat!("Size of: ", stringify!(_RPC_CALL_LOCAL_ADDRESS_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_RPC_CALL_LOCAL_ADDRESS_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_RPC_CALL_LOCAL_ADDRESS_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressFormat) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_RPC_CALL_LOCAL_ADDRESS_V1), + "::", + stringify!(AddressFormat) + ) + ); +} +pub type RPC_CALL_LOCAL_ADDRESS_V1 = _RPC_CALL_LOCAL_ADDRESS_V1; +pub type PRPC_CALL_LOCAL_ADDRESS_V1 = *mut _RPC_CALL_LOCAL_ADDRESS_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V1_W { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_ushort, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_ushort, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V1_W() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_W), + "::", + stringify!(NullSession) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V1_W = tagRPC_CALL_ATTRIBUTES_V1_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V1_A { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_uchar, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_uchar, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V1_A() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V1_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V1_A), + "::", + stringify!(NullSession) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V1_A = tagRPC_CALL_ATTRIBUTES_V1_A; +pub const tagRpcCallType_rctInvalid: tagRpcCallType = 0; +pub const tagRpcCallType_rctNormal: tagRpcCallType = 1; +pub const tagRpcCallType_rctTraining: tagRpcCallType = 2; +pub const tagRpcCallType_rctGuaranteed: tagRpcCallType = 3; +pub type tagRpcCallType = ::std::os::raw::c_int; +pub use self::tagRpcCallType as RpcCallType; +pub const tagRpcCallClientLocality_rcclInvalid: tagRpcCallClientLocality = 0; +pub const tagRpcCallClientLocality_rcclLocal: tagRpcCallClientLocality = 1; +pub const tagRpcCallClientLocality_rcclRemote: tagRpcCallClientLocality = 2; +pub const tagRpcCallClientLocality_rcclClientUnknownLocality: tagRpcCallClientLocality = 3; +pub type tagRpcCallClientLocality = ::std::os::raw::c_int; +pub use self::tagRpcCallClientLocality as RpcCallClientLocality; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V2_W { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_ushort, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_ushort, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, + pub KernelModeCaller: BOOL, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub IsClientLocal: RpcCallClientLocality, + pub ClientPID: HANDLE, + pub CallStatus: ::std::os::raw::c_ulong, + pub CallType: RpcCallType, + pub CallLocalAddress: *mut RPC_CALL_LOCAL_ADDRESS_V1, + pub OpNum: ::std::os::raw::c_ushort, + pub InterfaceUuid: UUID, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V2_W() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(NullSession) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KernelModeCaller) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(KernelModeCaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClientLocal) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(IsClientLocal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(ClientPID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(CallStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(CallType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallLocalAddress) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(CallLocalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpNum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(OpNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceUuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_W), + "::", + stringify!(InterfaceUuid) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V2_W = tagRPC_CALL_ATTRIBUTES_V2_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V2_A { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_uchar, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_uchar, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, + pub KernelModeCaller: BOOL, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub IsClientLocal: ::std::os::raw::c_ulong, + pub ClientPID: HANDLE, + pub CallStatus: ::std::os::raw::c_ulong, + pub CallType: RpcCallType, + pub CallLocalAddress: *mut RPC_CALL_LOCAL_ADDRESS_V1, + pub OpNum: ::std::os::raw::c_ushort, + pub InterfaceUuid: UUID, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V2_A() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V2_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(NullSession) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KernelModeCaller) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(KernelModeCaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClientLocal) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(IsClientLocal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(ClientPID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(CallStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(CallType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallLocalAddress) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(CallLocalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpNum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(OpNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceUuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V2_A), + "::", + stringify!(InterfaceUuid) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V2_A = tagRPC_CALL_ATTRIBUTES_V2_A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V3_W { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_ushort, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_ushort, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, + pub KernelModeCaller: BOOL, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub IsClientLocal: RpcCallClientLocality, + pub ClientPID: HANDLE, + pub CallStatus: ::std::os::raw::c_ulong, + pub CallType: RpcCallType, + pub CallLocalAddress: *mut RPC_CALL_LOCAL_ADDRESS_V1, + pub OpNum: ::std::os::raw::c_ushort, + pub InterfaceUuid: UUID, + pub ClientIdentifierBufferLength: ::std::os::raw::c_ulong, + pub ClientIdentifier: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V3_W() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(NullSession) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KernelModeCaller) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(KernelModeCaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClientLocal) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(IsClientLocal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientPID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(CallStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(CallType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallLocalAddress) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(CallLocalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpNum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(OpNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceUuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(InterfaceUuid) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientIdentifierBufferLength) as usize - ptr as usize + }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientIdentifierBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientIdentifier) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_W), + "::", + stringify!(ClientIdentifier) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V3_W = tagRPC_CALL_ATTRIBUTES_V3_W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPC_CALL_ATTRIBUTES_V3_A { + pub Version: ::std::os::raw::c_uint, + pub Flags: ::std::os::raw::c_ulong, + pub ServerPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ServerPrincipalName: *mut ::std::os::raw::c_uchar, + pub ClientPrincipalNameBufferLength: ::std::os::raw::c_ulong, + pub ClientPrincipalName: *mut ::std::os::raw::c_uchar, + pub AuthenticationLevel: ::std::os::raw::c_ulong, + pub AuthenticationService: ::std::os::raw::c_ulong, + pub NullSession: BOOL, + pub KernelModeCaller: BOOL, + pub ProtocolSequence: ::std::os::raw::c_ulong, + pub IsClientLocal: ::std::os::raw::c_ulong, + pub ClientPID: HANDLE, + pub CallStatus: ::std::os::raw::c_ulong, + pub CallType: RpcCallType, + pub CallLocalAddress: *mut RPC_CALL_LOCAL_ADDRESS_V1, + pub OpNum: ::std::os::raw::c_ushort, + pub InterfaceUuid: UUID, + pub ClientIdentifierBufferLength: ::std::os::raw::c_ulong, + pub ClientIdentifier: *mut ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout_tagRPC_CALL_ATTRIBUTES_V3_A() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPC_CALL_ATTRIBUTES_V3_A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ServerPrincipalNameBufferLength) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ServerPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerPrincipalName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ServerPrincipalName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientPrincipalNameBufferLength) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientPrincipalNameBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPrincipalName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(AuthenticationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticationService) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(AuthenticationService) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NullSession) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(NullSession) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KernelModeCaller) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(KernelModeCaller) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSequence) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ProtocolSequence) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClientLocal) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(IsClientLocal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientPID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientPID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(CallStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallType) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(CallType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CallLocalAddress) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(CallLocalAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpNum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(OpNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceUuid) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(InterfaceUuid) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClientIdentifierBufferLength) as usize - ptr as usize + }, + 108usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientIdentifierBufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientIdentifier) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagRPC_CALL_ATTRIBUTES_V3_A), + "::", + stringify!(ClientIdentifier) + ) + ); +} +pub type RPC_CALL_ATTRIBUTES_V3_A = tagRPC_CALL_ATTRIBUTES_V3_A; +extern "C" { + pub fn RpcServerInqCallAttributesW( + ClientBinding: RPC_BINDING_HANDLE, + RpcCallAttributes: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerInqCallAttributesA( + ClientBinding: RPC_BINDING_HANDLE, + RpcCallAttributes: *mut ::std::os::raw::c_void, + ) -> RPC_STATUS; +} +pub type RPC_CALL_ATTRIBUTES = RPC_CALL_ATTRIBUTES_V3_A; +pub const _RPC_NOTIFICATIONS_RpcNotificationCallNone: _RPC_NOTIFICATIONS = 0; +pub const _RPC_NOTIFICATIONS_RpcNotificationClientDisconnect: _RPC_NOTIFICATIONS = 1; +pub const _RPC_NOTIFICATIONS_RpcNotificationCallCancel: _RPC_NOTIFICATIONS = 2; +pub type _RPC_NOTIFICATIONS = ::std::os::raw::c_int; +pub use self::_RPC_NOTIFICATIONS as RPC_NOTIFICATIONS; +extern "C" { + pub fn RpcServerSubscribeForNotification( + Binding: RPC_BINDING_HANDLE, + Notification: RPC_NOTIFICATIONS, + NotificationType: RPC_NOTIFICATION_TYPES, + NotificationInfo: *mut RPC_ASYNC_NOTIFICATION_INFO, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcServerUnsubscribeForNotification( + Binding: RPC_BINDING_HANDLE, + Notification: RPC_NOTIFICATIONS, + NotificationsQueued: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingBind( + pAsync: PRPC_ASYNC_STATE, + Binding: RPC_BINDING_HANDLE, + IfSpec: RPC_IF_HANDLE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcBindingUnbind(Binding: RPC_BINDING_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcAsyncSetHandle(Message: PRPC_MESSAGE, pAsync: PRPC_ASYNC_STATE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcAsyncAbortCall( + pAsync: PRPC_ASYNC_STATE, + ExceptionCode: ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcExceptionFilter(ExceptionCode: ::std::os::raw::c_ulong) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn I_RpcBindingInqClientTokenAttributes( + Binding: RPC_BINDING_HANDLE, + TokenId: *mut LUID, + AuthenticationId: *mut LUID, + ModifiedId: *mut LUID, + ) -> RPC_STATUS; +} +extern "C" { + pub fn CommandLineToArgvW( + lpCmdLine: LPCWSTR, + pNumArgs: *mut ::std::os::raw::c_int, + ) -> *mut LPWSTR; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HDROP__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HDROP__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HDROP__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HDROP__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HDROP__), + "::", + stringify!(unused) + ) + ); +} +pub type HDROP = *mut HDROP__; +extern "C" { + pub fn DragQueryFileA(hDrop: HDROP, iFile: UINT, lpszFile: LPSTR, cch: UINT) -> UINT; +} +extern "C" { + pub fn DragQueryFileW(hDrop: HDROP, iFile: UINT, lpszFile: LPWSTR, cch: UINT) -> UINT; +} +extern "C" { + pub fn DragQueryPoint(hDrop: HDROP, ppt: *mut POINT) -> BOOL; +} +extern "C" { + pub fn DragFinish(hDrop: HDROP); +} +extern "C" { + pub fn DragAcceptFiles(hWnd: HWND, fAccept: BOOL); +} +extern "C" { + pub fn ShellExecuteA( + hwnd: HWND, + lpOperation: LPCSTR, + lpFile: LPCSTR, + lpParameters: LPCSTR, + lpDirectory: LPCSTR, + nShowCmd: INT, + ) -> HINSTANCE; +} +extern "C" { + pub fn ShellExecuteW( + hwnd: HWND, + lpOperation: LPCWSTR, + lpFile: LPCWSTR, + lpParameters: LPCWSTR, + lpDirectory: LPCWSTR, + nShowCmd: INT, + ) -> HINSTANCE; +} +extern "C" { + pub fn FindExecutableA(lpFile: LPCSTR, lpDirectory: LPCSTR, lpResult: LPSTR) -> HINSTANCE; +} +extern "C" { + pub fn FindExecutableW(lpFile: LPCWSTR, lpDirectory: LPCWSTR, lpResult: LPWSTR) -> HINSTANCE; +} +extern "C" { + pub fn ShellAboutA(hWnd: HWND, szApp: LPCSTR, szOtherStuff: LPCSTR, hIcon: HICON) -> INT; +} +extern "C" { + pub fn ShellAboutW(hWnd: HWND, szApp: LPCWSTR, szOtherStuff: LPCWSTR, hIcon: HICON) -> INT; +} +extern "C" { + pub fn DuplicateIcon(hInst: HINSTANCE, hIcon: HICON) -> HICON; +} +extern "C" { + pub fn ExtractAssociatedIconA(hInst: HINSTANCE, pszIconPath: LPSTR, piIcon: *mut WORD) + -> HICON; +} +extern "C" { + pub fn ExtractAssociatedIconW( + hInst: HINSTANCE, + pszIconPath: LPWSTR, + piIcon: *mut WORD, + ) -> HICON; +} +extern "C" { + pub fn ExtractAssociatedIconExA( + hInst: HINSTANCE, + pszIconPath: LPSTR, + piIconIndex: *mut WORD, + piIconId: *mut WORD, + ) -> HICON; +} +extern "C" { + pub fn ExtractAssociatedIconExW( + hInst: HINSTANCE, + pszIconPath: LPWSTR, + piIconIndex: *mut WORD, + piIconId: *mut WORD, + ) -> HICON; +} +extern "C" { + pub fn ExtractIconA(hInst: HINSTANCE, pszExeFileName: LPCSTR, nIconIndex: UINT) -> HICON; +} +extern "C" { + pub fn ExtractIconW(hInst: HINSTANCE, pszExeFileName: LPCWSTR, nIconIndex: UINT) -> HICON; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRAGINFOA { + pub uSize: UINT, + pub pt: POINT, + pub fNC: BOOL, + pub lpFileList: PZZSTR, + pub grfKeyState: DWORD, +} +#[test] +fn bindgen_test_layout__DRAGINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_DRAGINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRAGINFOA>(), + 32usize, + concat!("Size of: ", stringify!(_DRAGINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_DRAGINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_DRAGINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(uSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(pt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fNC) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(fNC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFileList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(lpFileList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfKeyState) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOA), + "::", + stringify!(grfKeyState) + ) + ); +} +pub type DRAGINFOA = _DRAGINFOA; +pub type LPDRAGINFOA = *mut _DRAGINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRAGINFOW { + pub uSize: UINT, + pub pt: POINT, + pub fNC: BOOL, + pub lpFileList: PZZWSTR, + pub grfKeyState: DWORD, +} +#[test] +fn bindgen_test_layout__DRAGINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_DRAGINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRAGINFOW>(), + 32usize, + concat!("Size of: ", stringify!(_DRAGINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_DRAGINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_DRAGINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(uSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(pt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fNC) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(fNC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFileList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(lpFileList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfKeyState) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRAGINFOW), + "::", + stringify!(grfKeyState) + ) + ); +} +pub type DRAGINFOW = _DRAGINFOW; +pub type LPDRAGINFOW = *mut _DRAGINFOW; +pub type DRAGINFO = DRAGINFOA; +pub type LPDRAGINFO = LPDRAGINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _AppBarData { + pub cbSize: DWORD, + pub hWnd: HWND, + pub uCallbackMessage: UINT, + pub uEdge: UINT, + pub rc: RECT, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout__AppBarData() { + const UNINIT: ::std::mem::MaybeUninit<_AppBarData> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_AppBarData>(), + 48usize, + concat!("Size of: ", stringify!(_AppBarData)) + ); + assert_eq!( + ::std::mem::align_of::<_AppBarData>(), + 8usize, + concat!("Alignment of ", stringify!(_AppBarData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCallbackMessage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(uCallbackMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uEdge) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(uEdge) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(rc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_AppBarData), + "::", + stringify!(lParam) + ) + ); +} +pub type APPBARDATA = _AppBarData; +pub type PAPPBARDATA = *mut _AppBarData; +extern "C" { + pub fn SHAppBarMessage(dwMessage: DWORD, pData: PAPPBARDATA) -> UINT_PTR; +} +extern "C" { + pub fn DoEnvironmentSubstA(pszSrc: LPSTR, cchSrc: UINT) -> DWORD; +} +extern "C" { + pub fn DoEnvironmentSubstW(pszSrc: LPWSTR, cchSrc: UINT) -> DWORD; +} +extern "C" { + pub fn ExtractIconExA( + lpszFile: LPCSTR, + nIconIndex: ::std::os::raw::c_int, + phiconLarge: *mut HICON, + phiconSmall: *mut HICON, + nIcons: UINT, + ) -> UINT; +} +extern "C" { + pub fn ExtractIconExW( + lpszFile: LPCWSTR, + nIconIndex: ::std::os::raw::c_int, + phiconLarge: *mut HICON, + phiconSmall: *mut HICON, + nIcons: UINT, + ) -> UINT; +} +pub type FILEOP_FLAGS = WORD; +pub type PRINTEROP_FLAGS = WORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHFILEOPSTRUCTA { + pub hwnd: HWND, + pub wFunc: UINT, + pub pFrom: PCZZSTR, + pub pTo: PCZZSTR, + pub fFlags: FILEOP_FLAGS, + pub fAnyOperationsAborted: BOOL, + pub hNameMappings: LPVOID, + pub lpszProgressTitle: PCSTR, +} +#[test] +fn bindgen_test_layout__SHFILEOPSTRUCTA() { + const UNINIT: ::std::mem::MaybeUninit<_SHFILEOPSTRUCTA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHFILEOPSTRUCTA>(), + 56usize, + concat!("Size of: ", stringify!(_SHFILEOPSTRUCTA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHFILEOPSTRUCTA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHFILEOPSTRUCTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFunc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(wFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFrom) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(pFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(pTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fAnyOperationsAborted) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(fAnyOperationsAborted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNameMappings) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(hNameMappings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszProgressTitle) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTA), + "::", + stringify!(lpszProgressTitle) + ) + ); +} +pub type SHFILEOPSTRUCTA = _SHFILEOPSTRUCTA; +pub type LPSHFILEOPSTRUCTA = *mut _SHFILEOPSTRUCTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHFILEOPSTRUCTW { + pub hwnd: HWND, + pub wFunc: UINT, + pub pFrom: PCZZWSTR, + pub pTo: PCZZWSTR, + pub fFlags: FILEOP_FLAGS, + pub fAnyOperationsAborted: BOOL, + pub hNameMappings: LPVOID, + pub lpszProgressTitle: PCWSTR, +} +#[test] +fn bindgen_test_layout__SHFILEOPSTRUCTW() { + const UNINIT: ::std::mem::MaybeUninit<_SHFILEOPSTRUCTW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHFILEOPSTRUCTW>(), + 56usize, + concat!("Size of: ", stringify!(_SHFILEOPSTRUCTW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHFILEOPSTRUCTW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHFILEOPSTRUCTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFunc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(wFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFrom) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(pFrom) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(pTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fAnyOperationsAborted) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(fAnyOperationsAborted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNameMappings) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(hNameMappings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszProgressTitle) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEOPSTRUCTW), + "::", + stringify!(lpszProgressTitle) + ) + ); +} +pub type SHFILEOPSTRUCTW = _SHFILEOPSTRUCTW; +pub type LPSHFILEOPSTRUCTW = *mut _SHFILEOPSTRUCTW; +pub type SHFILEOPSTRUCT = SHFILEOPSTRUCTA; +pub type LPSHFILEOPSTRUCT = LPSHFILEOPSTRUCTA; +extern "C" { + pub fn SHFileOperationA(lpFileOp: LPSHFILEOPSTRUCTA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SHFileOperationW(lpFileOp: LPSHFILEOPSTRUCTW) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn SHFreeNameMappings(hNameMappings: HANDLE); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHNAMEMAPPINGA { + pub pszOldPath: LPSTR, + pub pszNewPath: LPSTR, + pub cchOldPath: ::std::os::raw::c_int, + pub cchNewPath: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__SHNAMEMAPPINGA() { + const UNINIT: ::std::mem::MaybeUninit<_SHNAMEMAPPINGA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHNAMEMAPPINGA>(), + 24usize, + concat!("Size of: ", stringify!(_SHNAMEMAPPINGA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHNAMEMAPPINGA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHNAMEMAPPINGA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOldPath) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGA), + "::", + stringify!(pszOldPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszNewPath) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGA), + "::", + stringify!(pszNewPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchOldPath) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGA), + "::", + stringify!(cchOldPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchNewPath) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGA), + "::", + stringify!(cchNewPath) + ) + ); +} +pub type SHNAMEMAPPINGA = _SHNAMEMAPPINGA; +pub type LPSHNAMEMAPPINGA = *mut _SHNAMEMAPPINGA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHNAMEMAPPINGW { + pub pszOldPath: LPWSTR, + pub pszNewPath: LPWSTR, + pub cchOldPath: ::std::os::raw::c_int, + pub cchNewPath: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__SHNAMEMAPPINGW() { + const UNINIT: ::std::mem::MaybeUninit<_SHNAMEMAPPINGW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHNAMEMAPPINGW>(), + 24usize, + concat!("Size of: ", stringify!(_SHNAMEMAPPINGW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHNAMEMAPPINGW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHNAMEMAPPINGW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOldPath) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGW), + "::", + stringify!(pszOldPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszNewPath) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGW), + "::", + stringify!(pszNewPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchOldPath) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGW), + "::", + stringify!(cchOldPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchNewPath) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SHNAMEMAPPINGW), + "::", + stringify!(cchNewPath) + ) + ); +} +pub type SHNAMEMAPPINGW = _SHNAMEMAPPINGW; +pub type LPSHNAMEMAPPINGW = *mut _SHNAMEMAPPINGW; +pub type SHNAMEMAPPING = SHNAMEMAPPINGA; +pub type LPSHNAMEMAPPING = LPSHNAMEMAPPINGA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SHELLEXECUTEINFOA { + pub cbSize: DWORD, + pub fMask: ULONG, + pub hwnd: HWND, + pub lpVerb: LPCSTR, + pub lpFile: LPCSTR, + pub lpParameters: LPCSTR, + pub lpDirectory: LPCSTR, + pub nShow: ::std::os::raw::c_int, + pub hInstApp: HINSTANCE, + pub lpIDList: *mut ::std::os::raw::c_void, + pub lpClass: LPCSTR, + pub hkeyClass: HKEY, + pub dwHotKey: DWORD, + pub __bindgen_anon_1: _SHELLEXECUTEINFOA__bindgen_ty_1, + pub hProcess: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SHELLEXECUTEINFOA__bindgen_ty_1 { + pub hIcon: HANDLE, + pub hMonitor: HANDLE, +} +#[test] +fn bindgen_test_layout__SHELLEXECUTEINFOA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SHELLEXECUTEINFOA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHELLEXECUTEINFOA__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SHELLEXECUTEINFOA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMonitor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA__bindgen_ty_1), + "::", + stringify!(hMonitor) + ) + ); +} +#[test] +fn bindgen_test_layout__SHELLEXECUTEINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_SHELLEXECUTEINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHELLEXECUTEINFOA>(), + 112usize, + concat!("Size of: ", stringify!(_SHELLEXECUTEINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHELLEXECUTEINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHELLEXECUTEINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVerb) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpParameters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDirectory) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nShow) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(nShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstApp) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(hInstApp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpIDList) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpIDList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClass) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(lpClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hkeyClass) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(hkeyClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHotKey) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(dwHotKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hProcess) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOA), + "::", + stringify!(hProcess) + ) + ); +} +pub type SHELLEXECUTEINFOA = _SHELLEXECUTEINFOA; +pub type LPSHELLEXECUTEINFOA = *mut _SHELLEXECUTEINFOA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SHELLEXECUTEINFOW { + pub cbSize: DWORD, + pub fMask: ULONG, + pub hwnd: HWND, + pub lpVerb: LPCWSTR, + pub lpFile: LPCWSTR, + pub lpParameters: LPCWSTR, + pub lpDirectory: LPCWSTR, + pub nShow: ::std::os::raw::c_int, + pub hInstApp: HINSTANCE, + pub lpIDList: *mut ::std::os::raw::c_void, + pub lpClass: LPCWSTR, + pub hkeyClass: HKEY, + pub dwHotKey: DWORD, + pub __bindgen_anon_1: _SHELLEXECUTEINFOW__bindgen_ty_1, + pub hProcess: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SHELLEXECUTEINFOW__bindgen_ty_1 { + pub hIcon: HANDLE, + pub hMonitor: HANDLE, +} +#[test] +fn bindgen_test_layout__SHELLEXECUTEINFOW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SHELLEXECUTEINFOW__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHELLEXECUTEINFOW__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SHELLEXECUTEINFOW__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMonitor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW__bindgen_ty_1), + "::", + stringify!(hMonitor) + ) + ); +} +#[test] +fn bindgen_test_layout__SHELLEXECUTEINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_SHELLEXECUTEINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHELLEXECUTEINFOW>(), + 112usize, + concat!("Size of: ", stringify!(_SHELLEXECUTEINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHELLEXECUTEINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHELLEXECUTEINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVerb) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpParameters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDirectory) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nShow) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(nShow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstApp) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(hInstApp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpIDList) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpIDList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClass) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(lpClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hkeyClass) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(hkeyClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHotKey) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(dwHotKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hProcess) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_SHELLEXECUTEINFOW), + "::", + stringify!(hProcess) + ) + ); +} +pub type SHELLEXECUTEINFOW = _SHELLEXECUTEINFOW; +pub type LPSHELLEXECUTEINFOW = *mut _SHELLEXECUTEINFOW; +pub type SHELLEXECUTEINFO = SHELLEXECUTEINFOA; +pub type LPSHELLEXECUTEINFO = LPSHELLEXECUTEINFOA; +extern "C" { + pub fn ShellExecuteExA(pExecInfo: *mut SHELLEXECUTEINFOA) -> BOOL; +} +extern "C" { + pub fn ShellExecuteExW(pExecInfo: *mut SHELLEXECUTEINFOW) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHCREATEPROCESSINFOW { + pub cbSize: DWORD, + pub fMask: ULONG, + pub hwnd: HWND, + pub pszFile: LPCWSTR, + pub pszParameters: LPCWSTR, + pub pszCurrentDirectory: LPCWSTR, + pub hUserToken: HANDLE, + pub lpProcessAttributes: LPSECURITY_ATTRIBUTES, + pub lpThreadAttributes: LPSECURITY_ATTRIBUTES, + pub bInheritHandles: BOOL, + pub dwCreationFlags: DWORD, + pub lpStartupInfo: LPSTARTUPINFOW, + pub lpProcessInformation: LPPROCESS_INFORMATION, +} +#[test] +fn bindgen_test_layout__SHCREATEPROCESSINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_SHCREATEPROCESSINFOW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHCREATEPROCESSINFOW>(), + 88usize, + concat!("Size of: ", stringify!(_SHCREATEPROCESSINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHCREATEPROCESSINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHCREATEPROCESSINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(fMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(hwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFile) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(pszFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszParameters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(pszParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCurrentDirectory) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(pszCurrentDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hUserToken) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(hUserToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProcessAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(lpProcessAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpThreadAttributes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(lpThreadAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bInheritHandles) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(bInheritHandles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCreationFlags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(dwCreationFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpStartupInfo) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(lpStartupInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProcessInformation) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SHCREATEPROCESSINFOW), + "::", + stringify!(lpProcessInformation) + ) + ); +} +pub type SHCREATEPROCESSINFOW = _SHCREATEPROCESSINFOW; +pub type PSHCREATEPROCESSINFOW = *mut _SHCREATEPROCESSINFOW; +extern "C" { + pub fn SHCreateProcessAsUserW(pscpi: PSHCREATEPROCESSINFOW) -> BOOL; +} +extern "C" { + pub fn SHEvaluateSystemCommandTemplate( + pszCmdTemplate: PCWSTR, + ppszApplication: *mut PWSTR, + ppszCommandLine: *mut PWSTR, + ppszParameters: *mut PWSTR, + ) -> HRESULT; +} +pub const ASSOCCLASS_ASSOCCLASS_SHELL_KEY: ASSOCCLASS = 0; +pub const ASSOCCLASS_ASSOCCLASS_PROGID_KEY: ASSOCCLASS = 1; +pub const ASSOCCLASS_ASSOCCLASS_PROGID_STR: ASSOCCLASS = 2; +pub const ASSOCCLASS_ASSOCCLASS_CLSID_KEY: ASSOCCLASS = 3; +pub const ASSOCCLASS_ASSOCCLASS_CLSID_STR: ASSOCCLASS = 4; +pub const ASSOCCLASS_ASSOCCLASS_APP_KEY: ASSOCCLASS = 5; +pub const ASSOCCLASS_ASSOCCLASS_APP_STR: ASSOCCLASS = 6; +pub const ASSOCCLASS_ASSOCCLASS_SYSTEM_STR: ASSOCCLASS = 7; +pub const ASSOCCLASS_ASSOCCLASS_FOLDER: ASSOCCLASS = 8; +pub const ASSOCCLASS_ASSOCCLASS_STAR: ASSOCCLASS = 9; +pub const ASSOCCLASS_ASSOCCLASS_FIXED_PROGID_STR: ASSOCCLASS = 10; +pub const ASSOCCLASS_ASSOCCLASS_PROTOCOL_STR: ASSOCCLASS = 11; +pub type ASSOCCLASS = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ASSOCIATIONELEMENT { + pub ac: ASSOCCLASS, + pub hkClass: HKEY, + pub pszClass: PCWSTR, +} +#[test] +fn bindgen_test_layout_ASSOCIATIONELEMENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(ASSOCIATIONELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ASSOCIATIONELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ac) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ASSOCIATIONELEMENT), + "::", + stringify!(ac) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hkClass) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ASSOCIATIONELEMENT), + "::", + stringify!(hkClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszClass) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ASSOCIATIONELEMENT), + "::", + stringify!(pszClass) + ) + ); +} +extern "C" { + pub fn AssocCreateForClasses( + rgClasses: *const ASSOCIATIONELEMENT, + cClasses: ULONG, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHQUERYRBINFO { + pub cbSize: DWORD, + pub i64Size: ::std::os::raw::c_longlong, + pub i64NumItems: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__SHQUERYRBINFO() { + const UNINIT: ::std::mem::MaybeUninit<_SHQUERYRBINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHQUERYRBINFO>(), + 24usize, + concat!("Size of: ", stringify!(_SHQUERYRBINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SHQUERYRBINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SHQUERYRBINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHQUERYRBINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i64Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHQUERYRBINFO), + "::", + stringify!(i64Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i64NumItems) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHQUERYRBINFO), + "::", + stringify!(i64NumItems) + ) + ); +} +pub type SHQUERYRBINFO = _SHQUERYRBINFO; +pub type LPSHQUERYRBINFO = *mut _SHQUERYRBINFO; +extern "C" { + pub fn SHQueryRecycleBinA(pszRootPath: LPCSTR, pSHQueryRBInfo: LPSHQUERYRBINFO) -> HRESULT; +} +extern "C" { + pub fn SHQueryRecycleBinW(pszRootPath: LPCWSTR, pSHQueryRBInfo: LPSHQUERYRBINFO) -> HRESULT; +} +extern "C" { + pub fn SHEmptyRecycleBinA(hwnd: HWND, pszRootPath: LPCSTR, dwFlags: DWORD) -> HRESULT; +} +extern "C" { + pub fn SHEmptyRecycleBinW(hwnd: HWND, pszRootPath: LPCWSTR, dwFlags: DWORD) -> HRESULT; +} +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_NOT_PRESENT: QUERY_USER_NOTIFICATION_STATE = 1; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_BUSY: QUERY_USER_NOTIFICATION_STATE = 2; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_RUNNING_D3D_FULL_SCREEN: + QUERY_USER_NOTIFICATION_STATE = 3; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_PRESENTATION_MODE: QUERY_USER_NOTIFICATION_STATE = 4; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_ACCEPTS_NOTIFICATIONS: QUERY_USER_NOTIFICATION_STATE = + 5; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_QUIET_TIME: QUERY_USER_NOTIFICATION_STATE = 6; +pub const QUERY_USER_NOTIFICATION_STATE_QUNS_APP: QUERY_USER_NOTIFICATION_STATE = 7; +pub type QUERY_USER_NOTIFICATION_STATE = ::std::os::raw::c_int; +extern "C" { + pub fn SHQueryUserNotificationState(pquns: *mut QUERY_USER_NOTIFICATION_STATE) -> HRESULT; +} +extern "C" { + pub fn SHGetPropertyStoreForWindow( + hwnd: HWND, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NOTIFYICONDATAA { + pub cbSize: DWORD, + pub hWnd: HWND, + pub uID: UINT, + pub uFlags: UINT, + pub uCallbackMessage: UINT, + pub hIcon: HICON, + pub szTip: [CHAR; 128usize], + pub dwState: DWORD, + pub dwStateMask: DWORD, + pub szInfo: [CHAR; 256usize], + pub __bindgen_anon_1: _NOTIFYICONDATAA__bindgen_ty_1, + pub szInfoTitle: [CHAR; 64usize], + pub dwInfoFlags: DWORD, + pub guidItem: GUID, + pub hBalloonIcon: HICON, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NOTIFYICONDATAA__bindgen_ty_1 { + pub uTimeout: UINT, + pub uVersion: UINT, +} +#[test] +fn bindgen_test_layout__NOTIFYICONDATAA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONDATAA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONDATAA__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_NOTIFYICONDATAA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONDATAA__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_NOTIFYICONDATAA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA__bindgen_ty_1), + "::", + stringify!(uTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA__bindgen_ty_1), + "::", + stringify!(uVersion) + ) + ); +} +#[test] +fn bindgen_test_layout__NOTIFYICONDATAA() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONDATAA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONDATAA>(), + 528usize, + concat!("Size of: ", stringify!(_NOTIFYICONDATAA)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONDATAA>(), + 8usize, + concat!("Alignment of ", stringify!(_NOTIFYICONDATAA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(uID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(uFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCallbackMessage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(uCallbackMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTip) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(szTip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwState) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(dwState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStateMask) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(dwStateMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szInfo) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(szInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szInfoTitle) as usize - ptr as usize }, + 436usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(szInfoTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoFlags) as usize - ptr as usize }, + 500usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(dwInfoFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidItem) as usize - ptr as usize }, + 504usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(guidItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hBalloonIcon) as usize - ptr as usize }, + 520usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAA), + "::", + stringify!(hBalloonIcon) + ) + ); +} +pub type NOTIFYICONDATAA = _NOTIFYICONDATAA; +pub type PNOTIFYICONDATAA = *mut _NOTIFYICONDATAA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NOTIFYICONDATAW { + pub cbSize: DWORD, + pub hWnd: HWND, + pub uID: UINT, + pub uFlags: UINT, + pub uCallbackMessage: UINT, + pub hIcon: HICON, + pub szTip: [WCHAR; 128usize], + pub dwState: DWORD, + pub dwStateMask: DWORD, + pub szInfo: [WCHAR; 256usize], + pub __bindgen_anon_1: _NOTIFYICONDATAW__bindgen_ty_1, + pub szInfoTitle: [WCHAR; 64usize], + pub dwInfoFlags: DWORD, + pub guidItem: GUID, + pub hBalloonIcon: HICON, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NOTIFYICONDATAW__bindgen_ty_1 { + pub uTimeout: UINT, + pub uVersion: UINT, +} +#[test] +fn bindgen_test_layout__NOTIFYICONDATAW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONDATAW__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONDATAW__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_NOTIFYICONDATAW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONDATAW__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_NOTIFYICONDATAW__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW__bindgen_ty_1), + "::", + stringify!(uTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW__bindgen_ty_1), + "::", + stringify!(uVersion) + ) + ); +} +#[test] +fn bindgen_test_layout__NOTIFYICONDATAW() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONDATAW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONDATAW>(), + 976usize, + concat!("Size of: ", stringify!(_NOTIFYICONDATAW)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONDATAW>(), + 8usize, + concat!("Alignment of ", stringify!(_NOTIFYICONDATAW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(uID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(uFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCallbackMessage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(uCallbackMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTip) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(szTip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwState) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(dwState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStateMask) as usize - ptr as usize }, + 300usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(dwStateMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szInfo) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(szInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szInfoTitle) as usize - ptr as usize }, + 820usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(szInfoTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoFlags) as usize - ptr as usize }, + 948usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(dwInfoFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidItem) as usize - ptr as usize }, + 952usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(guidItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hBalloonIcon) as usize - ptr as usize }, + 968usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONDATAW), + "::", + stringify!(hBalloonIcon) + ) + ); +} +pub type NOTIFYICONDATAW = _NOTIFYICONDATAW; +pub type PNOTIFYICONDATAW = *mut _NOTIFYICONDATAW; +pub type NOTIFYICONDATA = NOTIFYICONDATAA; +pub type PNOTIFYICONDATA = PNOTIFYICONDATAA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NOTIFYICONIDENTIFIER { + pub cbSize: DWORD, + pub hWnd: HWND, + pub uID: UINT, + pub guidItem: GUID, +} +#[test] +fn bindgen_test_layout__NOTIFYICONIDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_NOTIFYICONIDENTIFIER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NOTIFYICONIDENTIFIER>(), + 40usize, + concat!("Size of: ", stringify!(_NOTIFYICONIDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_NOTIFYICONIDENTIFIER>(), + 8usize, + concat!("Alignment of ", stringify!(_NOTIFYICONIDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONIDENTIFIER), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONIDENTIFIER), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONIDENTIFIER), + "::", + stringify!(uID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidItem) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NOTIFYICONIDENTIFIER), + "::", + stringify!(guidItem) + ) + ); +} +pub type NOTIFYICONIDENTIFIER = _NOTIFYICONIDENTIFIER; +pub type PNOTIFYICONIDENTIFIER = *mut _NOTIFYICONIDENTIFIER; +extern "C" { + pub fn Shell_NotifyIconA(dwMessage: DWORD, lpData: PNOTIFYICONDATAA) -> BOOL; +} +extern "C" { + pub fn Shell_NotifyIconW(dwMessage: DWORD, lpData: PNOTIFYICONDATAW) -> BOOL; +} +extern "C" { + pub fn Shell_NotifyIconGetRect( + identifier: *const NOTIFYICONIDENTIFIER, + iconLocation: *mut RECT, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHFILEINFOA { + pub hIcon: HICON, + pub iIcon: ::std::os::raw::c_int, + pub dwAttributes: DWORD, + pub szDisplayName: [CHAR; 260usize], + pub szTypeName: [CHAR; 80usize], +} +#[test] +fn bindgen_test_layout__SHFILEINFOA() { + const UNINIT: ::std::mem::MaybeUninit<_SHFILEINFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHFILEINFOA>(), + 360usize, + concat!("Size of: ", stringify!(_SHFILEINFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_SHFILEINFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_SHFILEINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iIcon) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(iIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAttributes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(dwAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDisplayName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(szDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTypeName) as usize - ptr as usize }, + 276usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOA), + "::", + stringify!(szTypeName) + ) + ); +} +pub type SHFILEINFOA = _SHFILEINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHFILEINFOW { + pub hIcon: HICON, + pub iIcon: ::std::os::raw::c_int, + pub dwAttributes: DWORD, + pub szDisplayName: [WCHAR; 260usize], + pub szTypeName: [WCHAR; 80usize], +} +#[test] +fn bindgen_test_layout__SHFILEINFOW() { + const UNINIT: ::std::mem::MaybeUninit<_SHFILEINFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHFILEINFOW>(), + 696usize, + concat!("Size of: ", stringify!(_SHFILEINFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_SHFILEINFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_SHFILEINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iIcon) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(iIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAttributes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(dwAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDisplayName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(szDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTypeName) as usize - ptr as usize }, + 536usize, + concat!( + "Offset of field: ", + stringify!(_SHFILEINFOW), + "::", + stringify!(szTypeName) + ) + ); +} +pub type SHFILEINFOW = _SHFILEINFOW; +pub type SHFILEINFO = SHFILEINFOA; +extern "C" { + pub fn SHGetFileInfoA( + pszPath: LPCSTR, + dwFileAttributes: DWORD, + psfi: *mut SHFILEINFOA, + cbFileInfo: UINT, + uFlags: UINT, + ) -> DWORD_PTR; +} +extern "C" { + pub fn SHGetFileInfoW( + pszPath: LPCWSTR, + dwFileAttributes: DWORD, + psfi: *mut SHFILEINFOW, + cbFileInfo: UINT, + uFlags: UINT, + ) -> DWORD_PTR; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHSTOCKICONINFO { + pub cbSize: DWORD, + pub hIcon: HICON, + pub iSysImageIndex: ::std::os::raw::c_int, + pub iIcon: ::std::os::raw::c_int, + pub szPath: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout__SHSTOCKICONINFO() { + const UNINIT: ::std::mem::MaybeUninit<_SHSTOCKICONINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHSTOCKICONINFO>(), + 544usize, + concat!("Size of: ", stringify!(_SHSTOCKICONINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SHSTOCKICONINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SHSTOCKICONINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSysImageIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(iSysImageIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iIcon) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(iIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SHSTOCKICONINFO), + "::", + stringify!(szPath) + ) + ); +} +pub type SHSTOCKICONINFO = _SHSTOCKICONINFO; +pub const SHSTOCKICONID_SIID_DOCNOASSOC: SHSTOCKICONID = 0; +pub const SHSTOCKICONID_SIID_DOCASSOC: SHSTOCKICONID = 1; +pub const SHSTOCKICONID_SIID_APPLICATION: SHSTOCKICONID = 2; +pub const SHSTOCKICONID_SIID_FOLDER: SHSTOCKICONID = 3; +pub const SHSTOCKICONID_SIID_FOLDEROPEN: SHSTOCKICONID = 4; +pub const SHSTOCKICONID_SIID_DRIVE525: SHSTOCKICONID = 5; +pub const SHSTOCKICONID_SIID_DRIVE35: SHSTOCKICONID = 6; +pub const SHSTOCKICONID_SIID_DRIVEREMOVE: SHSTOCKICONID = 7; +pub const SHSTOCKICONID_SIID_DRIVEFIXED: SHSTOCKICONID = 8; +pub const SHSTOCKICONID_SIID_DRIVENET: SHSTOCKICONID = 9; +pub const SHSTOCKICONID_SIID_DRIVENETDISABLED: SHSTOCKICONID = 10; +pub const SHSTOCKICONID_SIID_DRIVECD: SHSTOCKICONID = 11; +pub const SHSTOCKICONID_SIID_DRIVERAM: SHSTOCKICONID = 12; +pub const SHSTOCKICONID_SIID_WORLD: SHSTOCKICONID = 13; +pub const SHSTOCKICONID_SIID_SERVER: SHSTOCKICONID = 15; +pub const SHSTOCKICONID_SIID_PRINTER: SHSTOCKICONID = 16; +pub const SHSTOCKICONID_SIID_MYNETWORK: SHSTOCKICONID = 17; +pub const SHSTOCKICONID_SIID_FIND: SHSTOCKICONID = 22; +pub const SHSTOCKICONID_SIID_HELP: SHSTOCKICONID = 23; +pub const SHSTOCKICONID_SIID_SHARE: SHSTOCKICONID = 28; +pub const SHSTOCKICONID_SIID_LINK: SHSTOCKICONID = 29; +pub const SHSTOCKICONID_SIID_SLOWFILE: SHSTOCKICONID = 30; +pub const SHSTOCKICONID_SIID_RECYCLER: SHSTOCKICONID = 31; +pub const SHSTOCKICONID_SIID_RECYCLERFULL: SHSTOCKICONID = 32; +pub const SHSTOCKICONID_SIID_MEDIACDAUDIO: SHSTOCKICONID = 40; +pub const SHSTOCKICONID_SIID_LOCK: SHSTOCKICONID = 47; +pub const SHSTOCKICONID_SIID_AUTOLIST: SHSTOCKICONID = 49; +pub const SHSTOCKICONID_SIID_PRINTERNET: SHSTOCKICONID = 50; +pub const SHSTOCKICONID_SIID_SERVERSHARE: SHSTOCKICONID = 51; +pub const SHSTOCKICONID_SIID_PRINTERFAX: SHSTOCKICONID = 52; +pub const SHSTOCKICONID_SIID_PRINTERFAXNET: SHSTOCKICONID = 53; +pub const SHSTOCKICONID_SIID_PRINTERFILE: SHSTOCKICONID = 54; +pub const SHSTOCKICONID_SIID_STACK: SHSTOCKICONID = 55; +pub const SHSTOCKICONID_SIID_MEDIASVCD: SHSTOCKICONID = 56; +pub const SHSTOCKICONID_SIID_STUFFEDFOLDER: SHSTOCKICONID = 57; +pub const SHSTOCKICONID_SIID_DRIVEUNKNOWN: SHSTOCKICONID = 58; +pub const SHSTOCKICONID_SIID_DRIVEDVD: SHSTOCKICONID = 59; +pub const SHSTOCKICONID_SIID_MEDIADVD: SHSTOCKICONID = 60; +pub const SHSTOCKICONID_SIID_MEDIADVDRAM: SHSTOCKICONID = 61; +pub const SHSTOCKICONID_SIID_MEDIADVDRW: SHSTOCKICONID = 62; +pub const SHSTOCKICONID_SIID_MEDIADVDR: SHSTOCKICONID = 63; +pub const SHSTOCKICONID_SIID_MEDIADVDROM: SHSTOCKICONID = 64; +pub const SHSTOCKICONID_SIID_MEDIACDAUDIOPLUS: SHSTOCKICONID = 65; +pub const SHSTOCKICONID_SIID_MEDIACDRW: SHSTOCKICONID = 66; +pub const SHSTOCKICONID_SIID_MEDIACDR: SHSTOCKICONID = 67; +pub const SHSTOCKICONID_SIID_MEDIACDBURN: SHSTOCKICONID = 68; +pub const SHSTOCKICONID_SIID_MEDIABLANKCD: SHSTOCKICONID = 69; +pub const SHSTOCKICONID_SIID_MEDIACDROM: SHSTOCKICONID = 70; +pub const SHSTOCKICONID_SIID_AUDIOFILES: SHSTOCKICONID = 71; +pub const SHSTOCKICONID_SIID_IMAGEFILES: SHSTOCKICONID = 72; +pub const SHSTOCKICONID_SIID_VIDEOFILES: SHSTOCKICONID = 73; +pub const SHSTOCKICONID_SIID_MIXEDFILES: SHSTOCKICONID = 74; +pub const SHSTOCKICONID_SIID_FOLDERBACK: SHSTOCKICONID = 75; +pub const SHSTOCKICONID_SIID_FOLDERFRONT: SHSTOCKICONID = 76; +pub const SHSTOCKICONID_SIID_SHIELD: SHSTOCKICONID = 77; +pub const SHSTOCKICONID_SIID_WARNING: SHSTOCKICONID = 78; +pub const SHSTOCKICONID_SIID_INFO: SHSTOCKICONID = 79; +pub const SHSTOCKICONID_SIID_ERROR: SHSTOCKICONID = 80; +pub const SHSTOCKICONID_SIID_KEY: SHSTOCKICONID = 81; +pub const SHSTOCKICONID_SIID_SOFTWARE: SHSTOCKICONID = 82; +pub const SHSTOCKICONID_SIID_RENAME: SHSTOCKICONID = 83; +pub const SHSTOCKICONID_SIID_DELETE: SHSTOCKICONID = 84; +pub const SHSTOCKICONID_SIID_MEDIAAUDIODVD: SHSTOCKICONID = 85; +pub const SHSTOCKICONID_SIID_MEDIAMOVIEDVD: SHSTOCKICONID = 86; +pub const SHSTOCKICONID_SIID_MEDIAENHANCEDCD: SHSTOCKICONID = 87; +pub const SHSTOCKICONID_SIID_MEDIAENHANCEDDVD: SHSTOCKICONID = 88; +pub const SHSTOCKICONID_SIID_MEDIAHDDVD: SHSTOCKICONID = 89; +pub const SHSTOCKICONID_SIID_MEDIABLURAY: SHSTOCKICONID = 90; +pub const SHSTOCKICONID_SIID_MEDIAVCD: SHSTOCKICONID = 91; +pub const SHSTOCKICONID_SIID_MEDIADVDPLUSR: SHSTOCKICONID = 92; +pub const SHSTOCKICONID_SIID_MEDIADVDPLUSRW: SHSTOCKICONID = 93; +pub const SHSTOCKICONID_SIID_DESKTOPPC: SHSTOCKICONID = 94; +pub const SHSTOCKICONID_SIID_MOBILEPC: SHSTOCKICONID = 95; +pub const SHSTOCKICONID_SIID_USERS: SHSTOCKICONID = 96; +pub const SHSTOCKICONID_SIID_MEDIASMARTMEDIA: SHSTOCKICONID = 97; +pub const SHSTOCKICONID_SIID_MEDIACOMPACTFLASH: SHSTOCKICONID = 98; +pub const SHSTOCKICONID_SIID_DEVICECELLPHONE: SHSTOCKICONID = 99; +pub const SHSTOCKICONID_SIID_DEVICECAMERA: SHSTOCKICONID = 100; +pub const SHSTOCKICONID_SIID_DEVICEVIDEOCAMERA: SHSTOCKICONID = 101; +pub const SHSTOCKICONID_SIID_DEVICEAUDIOPLAYER: SHSTOCKICONID = 102; +pub const SHSTOCKICONID_SIID_NETWORKCONNECT: SHSTOCKICONID = 103; +pub const SHSTOCKICONID_SIID_INTERNET: SHSTOCKICONID = 104; +pub const SHSTOCKICONID_SIID_ZIPFILE: SHSTOCKICONID = 105; +pub const SHSTOCKICONID_SIID_SETTINGS: SHSTOCKICONID = 106; +pub const SHSTOCKICONID_SIID_DRIVEHDDVD: SHSTOCKICONID = 132; +pub const SHSTOCKICONID_SIID_DRIVEBD: SHSTOCKICONID = 133; +pub const SHSTOCKICONID_SIID_MEDIAHDDVDROM: SHSTOCKICONID = 134; +pub const SHSTOCKICONID_SIID_MEDIAHDDVDR: SHSTOCKICONID = 135; +pub const SHSTOCKICONID_SIID_MEDIAHDDVDRAM: SHSTOCKICONID = 136; +pub const SHSTOCKICONID_SIID_MEDIABDROM: SHSTOCKICONID = 137; +pub const SHSTOCKICONID_SIID_MEDIABDR: SHSTOCKICONID = 138; +pub const SHSTOCKICONID_SIID_MEDIABDRE: SHSTOCKICONID = 139; +pub const SHSTOCKICONID_SIID_CLUSTEREDDRIVE: SHSTOCKICONID = 140; +pub const SHSTOCKICONID_SIID_MAX_ICONS: SHSTOCKICONID = 181; +pub type SHSTOCKICONID = ::std::os::raw::c_int; +extern "C" { + pub fn SHGetStockIconInfo( + siid: SHSTOCKICONID, + uFlags: UINT, + psii: *mut SHSTOCKICONINFO, + ) -> HRESULT; +} +extern "C" { + pub fn SHGetDiskFreeSpaceExA( + pszDirectoryName: LPCSTR, + pulFreeBytesAvailableToCaller: *mut ULARGE_INTEGER, + pulTotalNumberOfBytes: *mut ULARGE_INTEGER, + pulTotalNumberOfFreeBytes: *mut ULARGE_INTEGER, + ) -> BOOL; +} +extern "C" { + pub fn SHGetDiskFreeSpaceExW( + pszDirectoryName: LPCWSTR, + pulFreeBytesAvailableToCaller: *mut ULARGE_INTEGER, + pulTotalNumberOfBytes: *mut ULARGE_INTEGER, + pulTotalNumberOfFreeBytes: *mut ULARGE_INTEGER, + ) -> BOOL; +} +extern "C" { + pub fn SHGetNewLinkInfoA( + pszLinkTo: LPCSTR, + pszDir: LPCSTR, + pszName: LPSTR, + pfMustCopy: *mut BOOL, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SHGetNewLinkInfoW( + pszLinkTo: LPCWSTR, + pszDir: LPCWSTR, + pszName: LPWSTR, + pfMustCopy: *mut BOOL, + uFlags: UINT, + ) -> BOOL; +} +extern "C" { + pub fn SHInvokePrinterCommandA( + hwnd: HWND, + uAction: UINT, + lpBuf1: LPCSTR, + lpBuf2: LPCSTR, + fModal: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn SHInvokePrinterCommandW( + hwnd: HWND, + uAction: UINT, + lpBuf1: LPCWSTR, + lpBuf2: LPCWSTR, + fModal: BOOL, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OPEN_PRINTER_PROPS_INFOA { + pub dwSize: DWORD, + pub pszSheetName: LPSTR, + pub uSheetIndex: UINT, + pub dwFlags: DWORD, + pub bModal: BOOL, +} +#[test] +fn bindgen_test_layout__OPEN_PRINTER_PROPS_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_OPEN_PRINTER_PROPS_INFOA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OPEN_PRINTER_PROPS_INFOA>(), + 32usize, + concat!("Size of: ", stringify!(_OPEN_PRINTER_PROPS_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_OPEN_PRINTER_PROPS_INFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_OPEN_PRINTER_PROPS_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszSheetName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(pszSheetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uSheetIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(uSheetIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bModal) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOA), + "::", + stringify!(bModal) + ) + ); +} +pub type OPEN_PRINTER_PROPS_INFOA = _OPEN_PRINTER_PROPS_INFOA; +pub type POPEN_PRINTER_PROPS_INFOA = *mut _OPEN_PRINTER_PROPS_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OPEN_PRINTER_PROPS_INFOW { + pub dwSize: DWORD, + pub pszSheetName: LPWSTR, + pub uSheetIndex: UINT, + pub dwFlags: DWORD, + pub bModal: BOOL, +} +#[test] +fn bindgen_test_layout__OPEN_PRINTER_PROPS_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_OPEN_PRINTER_PROPS_INFOW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OPEN_PRINTER_PROPS_INFOW>(), + 32usize, + concat!("Size of: ", stringify!(_OPEN_PRINTER_PROPS_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_OPEN_PRINTER_PROPS_INFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_OPEN_PRINTER_PROPS_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszSheetName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(pszSheetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uSheetIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(uSheetIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bModal) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OPEN_PRINTER_PROPS_INFOW), + "::", + stringify!(bModal) + ) + ); +} +pub type OPEN_PRINTER_PROPS_INFOW = _OPEN_PRINTER_PROPS_INFOW; +pub type POPEN_PRINTER_PROPS_INFOW = *mut _OPEN_PRINTER_PROPS_INFOW; +pub type OPEN_PRINTER_PROPS_INFO = OPEN_PRINTER_PROPS_INFOA; +pub type POPEN_PRINTER_PROPS_INFO = POPEN_PRINTER_PROPS_INFOA; +extern "C" { + pub fn SHLoadNonloadedIconOverlayIdentifiers() -> HRESULT; +} +extern "C" { + pub fn SHIsFileAvailableOffline(pwszPath: PCWSTR, pdwStatus: *mut DWORD) -> HRESULT; +} +extern "C" { + pub fn SHSetLocalizedName( + pszPath: PCWSTR, + pszResModule: PCWSTR, + idsRes: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHRemoveLocalizedName(pszPath: PCWSTR) -> HRESULT; +} +extern "C" { + pub fn SHGetLocalizedName( + pszPath: PCWSTR, + pszResModule: PWSTR, + cch: UINT, + pidsRes: *mut ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn ShellMessageBoxA( + hAppInst: HINSTANCE, + hWnd: HWND, + lpcText: LPCSTR, + lpcTitle: LPCSTR, + fuStyle: UINT, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ShellMessageBoxW( + hAppInst: HINSTANCE, + hWnd: HWND, + lpcText: LPCWSTR, + lpcTitle: LPCWSTR, + fuStyle: UINT, + ... + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn IsLFNDriveA(pszPath: LPCSTR) -> BOOL; +} +extern "C" { + pub fn IsLFNDriveW(pszPath: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SHEnumerateUnreadMailAccountsA( + hKeyUser: HKEY, + dwIndex: DWORD, + pszMailAddress: LPSTR, + cchMailAddress: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHEnumerateUnreadMailAccountsW( + hKeyUser: HKEY, + dwIndex: DWORD, + pszMailAddress: LPWSTR, + cchMailAddress: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHGetUnreadMailCountA( + hKeyUser: HKEY, + pszMailAddress: LPCSTR, + pdwCount: *mut DWORD, + pFileTime: *mut FILETIME, + pszShellExecuteCommand: LPSTR, + cchShellExecuteCommand: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHGetUnreadMailCountW( + hKeyUser: HKEY, + pszMailAddress: LPCWSTR, + pdwCount: *mut DWORD, + pFileTime: *mut FILETIME, + pszShellExecuteCommand: LPWSTR, + cchShellExecuteCommand: ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn SHSetUnreadMailCountA( + pszMailAddress: LPCSTR, + dwCount: DWORD, + pszShellExecuteCommand: LPCSTR, + ) -> HRESULT; +} +extern "C" { + pub fn SHSetUnreadMailCountW( + pszMailAddress: LPCWSTR, + dwCount: DWORD, + pszShellExecuteCommand: LPCWSTR, + ) -> HRESULT; +} +extern "C" { + pub fn SHTestTokenMembership(hToken: HANDLE, ulRID: ULONG) -> BOOL; +} +extern "C" { + pub fn SHGetImageList( + iImageList: ::std::os::raw::c_int, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +pub type PFNCANSHAREFOLDERW = + ::std::option::Option HRESULT>; +pub type PFNSHOWSHAREFOLDERUIW = + ::std::option::Option HRESULT>; +extern "C" { + pub fn InitNetworkAddressControl() -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagNC_ADDRESS { + pub pAddrInfo: *mut NET_ADDRESS_INFO_, + pub PortNumber: USHORT, + pub PrefixLength: BYTE, +} +#[test] +fn bindgen_test_layout_tagNC_ADDRESS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagNC_ADDRESS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagNC_ADDRESS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAddrInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagNC_ADDRESS), + "::", + stringify!(pAddrInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PortNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagNC_ADDRESS), + "::", + stringify!(PortNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrefixLength) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagNC_ADDRESS), + "::", + stringify!(PrefixLength) + ) + ); +} +pub type NC_ADDRESS = tagNC_ADDRESS; +pub type PNC_ADDRESS = *mut tagNC_ADDRESS; +extern "C" { + pub fn SHGetDriveMedia(pszDrive: PCWSTR, pdwMediaContent: *mut DWORD) -> HRESULT; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PERF_DATA_BLOCK { + pub Signature: [WCHAR; 4usize], + pub LittleEndian: DWORD, + pub Version: DWORD, + pub Revision: DWORD, + pub TotalByteLength: DWORD, + pub HeaderLength: DWORD, + pub NumObjectTypes: DWORD, + pub DefaultObject: LONG, + pub SystemTime: SYSTEMTIME, + pub PerfTime: LARGE_INTEGER, + pub PerfFreq: LARGE_INTEGER, + pub PerfTime100nSec: LARGE_INTEGER, + pub SystemNameLength: DWORD, + pub SystemNameOffset: DWORD, +} +#[test] +fn bindgen_test_layout__PERF_DATA_BLOCK() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_DATA_BLOCK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_DATA_BLOCK>(), + 88usize, + concat!("Size of: ", stringify!(_PERF_DATA_BLOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_DATA_BLOCK>(), + 8usize, + concat!("Alignment of ", stringify!(_PERF_DATA_BLOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LittleEndian) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(LittleEndian) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalByteLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(TotalByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(HeaderLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumObjectTypes) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(NumObjectTypes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultObject) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(DefaultObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemTime) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(SystemTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfTime) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(PerfTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfFreq) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(PerfFreq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfTime100nSec) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(PerfTime100nSec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemNameLength) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(SystemNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SystemNameOffset) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_PERF_DATA_BLOCK), + "::", + stringify!(SystemNameOffset) + ) + ); +} +pub type PERF_DATA_BLOCK = _PERF_DATA_BLOCK; +pub type PPERF_DATA_BLOCK = *mut _PERF_DATA_BLOCK; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PERF_OBJECT_TYPE { + pub TotalByteLength: DWORD, + pub DefinitionLength: DWORD, + pub HeaderLength: DWORD, + pub ObjectNameTitleIndex: DWORD, + pub ObjectNameTitle: DWORD, + pub ObjectHelpTitleIndex: DWORD, + pub ObjectHelpTitle: DWORD, + pub DetailLevel: DWORD, + pub NumCounters: DWORD, + pub DefaultCounter: LONG, + pub NumInstances: LONG, + pub CodePage: DWORD, + pub PerfTime: LARGE_INTEGER, + pub PerfFreq: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__PERF_OBJECT_TYPE() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_OBJECT_TYPE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_OBJECT_TYPE>(), + 64usize, + concat!("Size of: ", stringify!(_PERF_OBJECT_TYPE)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_OBJECT_TYPE>(), + 8usize, + concat!("Alignment of ", stringify!(_PERF_OBJECT_TYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalByteLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(TotalByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefinitionLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(DefinitionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(HeaderLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectNameTitleIndex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(ObjectNameTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectNameTitle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(ObjectNameTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectHelpTitleIndex) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(ObjectHelpTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectHelpTitle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(ObjectHelpTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DetailLevel) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(DetailLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumCounters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(NumCounters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultCounter) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(DefaultCounter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumInstances) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(NumInstances) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodePage) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(CodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfTime) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(PerfTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PerfFreq) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PERF_OBJECT_TYPE), + "::", + stringify!(PerfFreq) + ) + ); +} +pub type PERF_OBJECT_TYPE = _PERF_OBJECT_TYPE; +pub type PPERF_OBJECT_TYPE = *mut _PERF_OBJECT_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERF_COUNTER_DEFINITION { + pub ByteLength: DWORD, + pub CounterNameTitleIndex: DWORD, + pub CounterNameTitle: DWORD, + pub CounterHelpTitleIndex: DWORD, + pub CounterHelpTitle: DWORD, + pub DefaultScale: LONG, + pub DetailLevel: DWORD, + pub CounterType: DWORD, + pub CounterSize: DWORD, + pub CounterOffset: DWORD, +} +#[test] +fn bindgen_test_layout__PERF_COUNTER_DEFINITION() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_COUNTER_DEFINITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_COUNTER_DEFINITION>(), + 40usize, + concat!("Size of: ", stringify!(_PERF_COUNTER_DEFINITION)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_COUNTER_DEFINITION>(), + 4usize, + concat!("Alignment of ", stringify!(_PERF_COUNTER_DEFINITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(ByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterNameTitleIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterNameTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterNameTitle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterNameTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterHelpTitleIndex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterHelpTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterHelpTitle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterHelpTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultScale) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(DefaultScale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DetailLevel) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(DetailLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CounterOffset) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_DEFINITION), + "::", + stringify!(CounterOffset) + ) + ); +} +pub type PERF_COUNTER_DEFINITION = _PERF_COUNTER_DEFINITION; +pub type PPERF_COUNTER_DEFINITION = *mut _PERF_COUNTER_DEFINITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERF_INSTANCE_DEFINITION { + pub ByteLength: DWORD, + pub ParentObjectTitleIndex: DWORD, + pub ParentObjectInstance: DWORD, + pub UniqueID: LONG, + pub NameOffset: DWORD, + pub NameLength: DWORD, +} +#[test] +fn bindgen_test_layout__PERF_INSTANCE_DEFINITION() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_INSTANCE_DEFINITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_INSTANCE_DEFINITION>(), + 24usize, + concat!("Size of: ", stringify!(_PERF_INSTANCE_DEFINITION)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_INSTANCE_DEFINITION>(), + 4usize, + concat!("Alignment of ", stringify!(_PERF_INSTANCE_DEFINITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(ByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentObjectTitleIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(ParentObjectTitleIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentObjectInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(ParentObjectInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UniqueID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(UniqueID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(NameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PERF_INSTANCE_DEFINITION), + "::", + stringify!(NameLength) + ) + ); +} +pub type PERF_INSTANCE_DEFINITION = _PERF_INSTANCE_DEFINITION; +pub type PPERF_INSTANCE_DEFINITION = *mut _PERF_INSTANCE_DEFINITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERF_COUNTER_BLOCK { + pub ByteLength: DWORD, +} +#[test] +fn bindgen_test_layout__PERF_COUNTER_BLOCK() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_COUNTER_BLOCK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_COUNTER_BLOCK>(), + 4usize, + concat!("Size of: ", stringify!(_PERF_COUNTER_BLOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_COUNTER_BLOCK>(), + 4usize, + concat!("Alignment of ", stringify!(_PERF_COUNTER_BLOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_COUNTER_BLOCK), + "::", + stringify!(ByteLength) + ) + ); +} +pub type PERF_COUNTER_BLOCK = _PERF_COUNTER_BLOCK; +pub type PPERF_COUNTER_BLOCK = *mut _PERF_COUNTER_BLOCK; +pub type ALG_ID = ::std::os::raw::c_uint; +pub type HCRYPTPROV = ULONG_PTR; +pub type HCRYPTKEY = ULONG_PTR; +pub type HCRYPTHASH = ULONG_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMS_KEY_INFO { + pub dwVersion: DWORD, + pub Algid: ALG_ID, + pub pbOID: *mut BYTE, + pub cbOID: DWORD, +} +#[test] +fn bindgen_test_layout__CMS_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMS_KEY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMS_KEY_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMS_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMS_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMS_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMS_KEY_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMS_KEY_INFO), + "::", + stringify!(Algid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbOID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMS_KEY_INFO), + "::", + stringify!(pbOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMS_KEY_INFO), + "::", + stringify!(cbOID) + ) + ); +} +pub type CMS_KEY_INFO = _CMS_KEY_INFO; +pub type PCMS_KEY_INFO = *mut _CMS_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HMAC_Info { + pub HashAlgid: ALG_ID, + pub pbInnerString: *mut BYTE, + pub cbInnerString: DWORD, + pub pbOuterString: *mut BYTE, + pub cbOuterString: DWORD, +} +#[test] +fn bindgen_test_layout__HMAC_Info() { + const UNINIT: ::std::mem::MaybeUninit<_HMAC_Info> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HMAC_Info>(), + 40usize, + concat!("Size of: ", stringify!(_HMAC_Info)) + ); + assert_eq!( + ::std::mem::align_of::<_HMAC_Info>(), + 8usize, + concat!("Alignment of ", stringify!(_HMAC_Info)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(HashAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbInnerString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(pbInnerString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbInnerString) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(cbInnerString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbOuterString) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(pbOuterString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOuterString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_HMAC_Info), + "::", + stringify!(cbOuterString) + ) + ); +} +pub type HMAC_INFO = _HMAC_Info; +pub type PHMAC_INFO = *mut _HMAC_Info; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCHANNEL_ALG { + pub dwUse: DWORD, + pub Algid: ALG_ID, + pub cBits: DWORD, + pub dwFlags: DWORD, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__SCHANNEL_ALG() { + const UNINIT: ::std::mem::MaybeUninit<_SCHANNEL_ALG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCHANNEL_ALG>(), + 20usize, + concat!("Size of: ", stringify!(_SCHANNEL_ALG)) + ); + assert_eq!( + ::std::mem::align_of::<_SCHANNEL_ALG>(), + 4usize, + concat!("Alignment of ", stringify!(_SCHANNEL_ALG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(dwUse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(Algid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBits) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(cBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCHANNEL_ALG), + "::", + stringify!(dwReserved) + ) + ); +} +pub type SCHANNEL_ALG = _SCHANNEL_ALG; +pub type PSCHANNEL_ALG = *mut _SCHANNEL_ALG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROV_ENUMALGS { + pub aiAlgid: ALG_ID, + pub dwBitLen: DWORD, + pub dwNameLen: DWORD, + pub szName: [CHAR; 20usize], +} +#[test] +fn bindgen_test_layout__PROV_ENUMALGS() { + const UNINIT: ::std::mem::MaybeUninit<_PROV_ENUMALGS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROV_ENUMALGS>(), + 32usize, + concat!("Size of: ", stringify!(_PROV_ENUMALGS)) + ); + assert_eq!( + ::std::mem::align_of::<_PROV_ENUMALGS>(), + 4usize, + concat!("Alignment of ", stringify!(_PROV_ENUMALGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aiAlgid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS), + "::", + stringify!(aiAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBitLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS), + "::", + stringify!(dwBitLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameLen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS), + "::", + stringify!(dwNameLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS), + "::", + stringify!(szName) + ) + ); +} +pub type PROV_ENUMALGS = _PROV_ENUMALGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROV_ENUMALGS_EX { + pub aiAlgid: ALG_ID, + pub dwDefaultLen: DWORD, + pub dwMinLen: DWORD, + pub dwMaxLen: DWORD, + pub dwProtocols: DWORD, + pub dwNameLen: DWORD, + pub szName: [CHAR; 20usize], + pub dwLongNameLen: DWORD, + pub szLongName: [CHAR; 40usize], +} +#[test] +fn bindgen_test_layout__PROV_ENUMALGS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_PROV_ENUMALGS_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROV_ENUMALGS_EX>(), + 88usize, + concat!("Size of: ", stringify!(_PROV_ENUMALGS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_PROV_ENUMALGS_EX>(), + 4usize, + concat!("Alignment of ", stringify!(_PROV_ENUMALGS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aiAlgid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(aiAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDefaultLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwDefaultLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinLen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwMinLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxLen) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwMaxLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProtocols) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameLen) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwNameLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLongNameLen) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(dwLongNameLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szLongName) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROV_ENUMALGS_EX), + "::", + stringify!(szLongName) + ) + ); +} +pub type PROV_ENUMALGS_EX = _PROV_ENUMALGS_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PUBLICKEYSTRUC { + pub bType: BYTE, + pub bVersion: BYTE, + pub reserved: WORD, + pub aiKeyAlg: ALG_ID, +} +#[test] +fn bindgen_test_layout__PUBLICKEYSTRUC() { + const UNINIT: ::std::mem::MaybeUninit<_PUBLICKEYSTRUC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PUBLICKEYSTRUC>(), + 8usize, + concat!("Size of: ", stringify!(_PUBLICKEYSTRUC)) + ); + assert_eq!( + ::std::mem::align_of::<_PUBLICKEYSTRUC>(), + 4usize, + concat!("Alignment of ", stringify!(_PUBLICKEYSTRUC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PUBLICKEYSTRUC), + "::", + stringify!(bType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVersion) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_PUBLICKEYSTRUC), + "::", + stringify!(bVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PUBLICKEYSTRUC), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aiKeyAlg) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PUBLICKEYSTRUC), + "::", + stringify!(aiKeyAlg) + ) + ); +} +pub type BLOBHEADER = _PUBLICKEYSTRUC; +pub type PUBLICKEYSTRUC = _PUBLICKEYSTRUC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _RSAPUBKEY { + pub magic: DWORD, + pub bitlen: DWORD, + pub pubexp: DWORD, +} +#[test] +fn bindgen_test_layout__RSAPUBKEY() { + const UNINIT: ::std::mem::MaybeUninit<_RSAPUBKEY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RSAPUBKEY>(), + 12usize, + concat!("Size of: ", stringify!(_RSAPUBKEY)) + ); + assert_eq!( + ::std::mem::align_of::<_RSAPUBKEY>(), + 4usize, + concat!("Alignment of ", stringify!(_RSAPUBKEY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RSAPUBKEY), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RSAPUBKEY), + "::", + stringify!(bitlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pubexp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_RSAPUBKEY), + "::", + stringify!(pubexp) + ) + ); +} +pub type RSAPUBKEY = _RSAPUBKEY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PUBKEY { + pub magic: DWORD, + pub bitlen: DWORD, +} +#[test] +fn bindgen_test_layout__PUBKEY() { + const UNINIT: ::std::mem::MaybeUninit<_PUBKEY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PUBKEY>(), + 8usize, + concat!("Size of: ", stringify!(_PUBKEY)) + ); + assert_eq!( + ::std::mem::align_of::<_PUBKEY>(), + 4usize, + concat!("Alignment of ", stringify!(_PUBKEY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEY), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEY), + "::", + stringify!(bitlen) + ) + ); +} +pub type DHPUBKEY = _PUBKEY; +pub type DSSPUBKEY = _PUBKEY; +pub type KEAPUBKEY = _PUBKEY; +pub type TEKPUBKEY = _PUBKEY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DSSSEED { + pub counter: DWORD, + pub seed: [BYTE; 20usize], +} +#[test] +fn bindgen_test_layout__DSSSEED() { + const UNINIT: ::std::mem::MaybeUninit<_DSSSEED> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DSSSEED>(), + 24usize, + concat!("Size of: ", stringify!(_DSSSEED)) + ); + assert_eq!( + ::std::mem::align_of::<_DSSSEED>(), + 4usize, + concat!("Alignment of ", stringify!(_DSSSEED)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).counter) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DSSSEED), + "::", + stringify!(counter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DSSSEED), + "::", + stringify!(seed) + ) + ); +} +pub type DSSSEED = _DSSSEED; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PUBKEYVER3 { + pub magic: DWORD, + pub bitlenP: DWORD, + pub bitlenQ: DWORD, + pub bitlenJ: DWORD, + pub DSSSeed: DSSSEED, +} +#[test] +fn bindgen_test_layout__PUBKEYVER3() { + const UNINIT: ::std::mem::MaybeUninit<_PUBKEYVER3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PUBKEYVER3>(), + 40usize, + concat!("Size of: ", stringify!(_PUBKEYVER3)) + ); + assert_eq!( + ::std::mem::align_of::<_PUBKEYVER3>(), + 4usize, + concat!("Alignment of ", stringify!(_PUBKEYVER3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenP) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(bitlenP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenQ) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(bitlenQ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenJ) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(bitlenJ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DSSSeed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PUBKEYVER3), + "::", + stringify!(DSSSeed) + ) + ); +} +pub type DHPUBKEY_VER3 = _PUBKEYVER3; +pub type DSSPUBKEY_VER3 = _PUBKEYVER3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRIVKEYVER3 { + pub magic: DWORD, + pub bitlenP: DWORD, + pub bitlenQ: DWORD, + pub bitlenJ: DWORD, + pub bitlenX: DWORD, + pub DSSSeed: DSSSEED, +} +#[test] +fn bindgen_test_layout__PRIVKEYVER3() { + const UNINIT: ::std::mem::MaybeUninit<_PRIVKEYVER3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRIVKEYVER3>(), + 44usize, + concat!("Size of: ", stringify!(_PRIVKEYVER3)) + ); + assert_eq!( + ::std::mem::align_of::<_PRIVKEYVER3>(), + 4usize, + concat!("Alignment of ", stringify!(_PRIVKEYVER3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenP) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(bitlenP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenQ) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(bitlenQ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenJ) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(bitlenJ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bitlenX) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(bitlenX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DSSSeed) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PRIVKEYVER3), + "::", + stringify!(DSSSeed) + ) + ); +} +pub type DHPRIVKEY_VER3 = _PRIVKEYVER3; +pub type DSSPRIVKEY_VER3 = _PRIVKEYVER3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _KEY_TYPE_SUBTYPE { + pub dwKeySpec: DWORD, + pub Type: GUID, + pub Subtype: GUID, +} +#[test] +fn bindgen_test_layout__KEY_TYPE_SUBTYPE() { + const UNINIT: ::std::mem::MaybeUninit<_KEY_TYPE_SUBTYPE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_KEY_TYPE_SUBTYPE>(), + 36usize, + concat!("Size of: ", stringify!(_KEY_TYPE_SUBTYPE)) + ); + assert_eq!( + ::std::mem::align_of::<_KEY_TYPE_SUBTYPE>(), + 4usize, + concat!("Alignment of ", stringify!(_KEY_TYPE_SUBTYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_KEY_TYPE_SUBTYPE), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_KEY_TYPE_SUBTYPE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subtype) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_KEY_TYPE_SUBTYPE), + "::", + stringify!(Subtype) + ) + ); +} +pub type KEY_TYPE_SUBTYPE = _KEY_TYPE_SUBTYPE; +pub type PKEY_TYPE_SUBTYPE = *mut _KEY_TYPE_SUBTYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_FORTEZZA_DATA_PROP { + pub SerialNumber: [::std::os::raw::c_uchar; 8usize], + pub CertIndex: ::std::os::raw::c_int, + pub CertLabel: [::std::os::raw::c_uchar; 36usize], +} +#[test] +fn bindgen_test_layout__CERT_FORTEZZA_DATA_PROP() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_FORTEZZA_DATA_PROP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_FORTEZZA_DATA_PROP>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_FORTEZZA_DATA_PROP)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_FORTEZZA_DATA_PROP>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_FORTEZZA_DATA_PROP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_FORTEZZA_DATA_PROP), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_FORTEZZA_DATA_PROP), + "::", + stringify!(CertIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertLabel) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_FORTEZZA_DATA_PROP), + "::", + stringify!(CertLabel) + ) + ); +} +pub type CERT_FORTEZZA_DATA_PROP = _CERT_FORTEZZA_DATA_PROP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RC4_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 16usize], + pub SBox: [::std::os::raw::c_uchar; 256usize], + pub i: ::std::os::raw::c_uchar, + pub j: ::std::os::raw::c_uchar, +} +#[test] +fn bindgen_test_layout__CRYPT_RC4_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RC4_KEY_STATE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RC4_KEY_STATE>(), + 274usize, + concat!("Size of: ", stringify!(_CRYPT_RC4_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RC4_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_RC4_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC4_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SBox) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC4_KEY_STATE), + "::", + stringify!(SBox) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC4_KEY_STATE), + "::", + stringify!(i) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).j) as usize - ptr as usize }, + 273usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC4_KEY_STATE), + "::", + stringify!(j) + ) + ); +} +pub type CRYPT_RC4_KEY_STATE = _CRYPT_RC4_KEY_STATE; +pub type PCRYPT_RC4_KEY_STATE = *mut _CRYPT_RC4_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_DES_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 8usize], + pub IV: [::std::os::raw::c_uchar; 8usize], + pub Feedback: [::std::os::raw::c_uchar; 8usize], +} +#[test] +fn bindgen_test_layout__CRYPT_DES_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_DES_KEY_STATE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_DES_KEY_STATE>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_DES_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_DES_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_DES_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DES_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IV) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DES_KEY_STATE), + "::", + stringify!(IV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Feedback) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DES_KEY_STATE), + "::", + stringify!(Feedback) + ) + ); +} +pub type CRYPT_DES_KEY_STATE = _CRYPT_DES_KEY_STATE; +pub type PCRYPT_DES_KEY_STATE = *mut _CRYPT_DES_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_3DES_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 24usize], + pub IV: [::std::os::raw::c_uchar; 8usize], + pub Feedback: [::std::os::raw::c_uchar; 8usize], +} +#[test] +fn bindgen_test_layout__CRYPT_3DES_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_3DES_KEY_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_3DES_KEY_STATE>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_3DES_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_3DES_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_3DES_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_3DES_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IV) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_3DES_KEY_STATE), + "::", + stringify!(IV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Feedback) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_3DES_KEY_STATE), + "::", + stringify!(Feedback) + ) + ); +} +pub type CRYPT_3DES_KEY_STATE = _CRYPT_3DES_KEY_STATE; +pub type PCRYPT_3DES_KEY_STATE = *mut _CRYPT_3DES_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_AES_128_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 16usize], + pub IV: [::std::os::raw::c_uchar; 16usize], + pub EncryptionState: [[::std::os::raw::c_uchar; 16usize]; 11usize], + pub DecryptionState: [[::std::os::raw::c_uchar; 16usize]; 11usize], + pub Feedback: [::std::os::raw::c_uchar; 16usize], +} +#[test] +fn bindgen_test_layout__CRYPT_AES_128_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_AES_128_KEY_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_AES_128_KEY_STATE>(), + 400usize, + concat!("Size of: ", stringify!(_CRYPT_AES_128_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_AES_128_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_AES_128_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IV) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(IV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionState) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(EncryptionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecryptionState) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(DecryptionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Feedback) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_128_KEY_STATE), + "::", + stringify!(Feedback) + ) + ); +} +pub type CRYPT_AES_128_KEY_STATE = _CRYPT_AES_128_KEY_STATE; +pub type PCRYPT_AES_128_KEY_STATE = *mut _CRYPT_AES_128_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_AES_256_KEY_STATE { + pub Key: [::std::os::raw::c_uchar; 32usize], + pub IV: [::std::os::raw::c_uchar; 16usize], + pub EncryptionState: [[::std::os::raw::c_uchar; 16usize]; 15usize], + pub DecryptionState: [[::std::os::raw::c_uchar; 16usize]; 15usize], + pub Feedback: [::std::os::raw::c_uchar; 16usize], +} +#[test] +fn bindgen_test_layout__CRYPT_AES_256_KEY_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_AES_256_KEY_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_AES_256_KEY_STATE>(), + 544usize, + concat!("Size of: ", stringify!(_CRYPT_AES_256_KEY_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_AES_256_KEY_STATE>(), + 1usize, + concat!("Alignment of ", stringify!(_CRYPT_AES_256_KEY_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IV) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(IV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionState) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(EncryptionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DecryptionState) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(DecryptionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Feedback) as usize - ptr as usize }, + 528usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_AES_256_KEY_STATE), + "::", + stringify!(Feedback) + ) + ); +} +pub type CRYPT_AES_256_KEY_STATE = _CRYPT_AES_256_KEY_STATE; +pub type PCRYPT_AES_256_KEY_STATE = *mut _CRYPT_AES_256_KEY_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTOAPI_BLOB { + pub cbData: DWORD, + pub pbData: *mut BYTE, +} +#[test] +fn bindgen_test_layout__CRYPTOAPI_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTOAPI_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTOAPI_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPTOAPI_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTOAPI_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPTOAPI_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTOAPI_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTOAPI_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type CRYPT_INTEGER_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_INTEGER_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_UINT_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_UINT_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_OBJID_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_OBJID_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CERT_NAME_BLOB = _CRYPTOAPI_BLOB; +pub type PCERT_NAME_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CERT_RDN_VALUE_BLOB = _CRYPTOAPI_BLOB; +pub type PCERT_RDN_VALUE_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CERT_BLOB = _CRYPTOAPI_BLOB; +pub type PCERT_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRL_BLOB = _CRYPTOAPI_BLOB; +pub type PCRL_BLOB = *mut _CRYPTOAPI_BLOB; +pub type DATA_BLOB = _CRYPTOAPI_BLOB; +pub type PDATA_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_DATA_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_DATA_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_HASH_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_HASH_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_DIGEST_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_DIGEST_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_DER_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_DER_BLOB = *mut _CRYPTOAPI_BLOB; +pub type CRYPT_ATTR_BLOB = _CRYPTOAPI_BLOB; +pub type PCRYPT_ATTR_BLOB = *mut _CRYPTOAPI_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMS_DH_KEY_INFO { + pub dwVersion: DWORD, + pub Algid: ALG_ID, + pub pszContentEncObjId: LPSTR, + pub PubInfo: CRYPT_DATA_BLOB, + pub pReserved: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMS_DH_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMS_DH_KEY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMS_DH_KEY_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CMS_DH_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMS_DH_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMS_DH_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(Algid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszContentEncObjId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(pszContentEncObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PubInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(PubInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pReserved) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMS_DH_KEY_INFO), + "::", + stringify!(pReserved) + ) + ); +} +pub type CMS_DH_KEY_INFO = _CMS_DH_KEY_INFO; +pub type PCMS_DH_KEY_INFO = *mut _CMS_DH_KEY_INFO; +extern "C" { + pub fn CryptAcquireContextA( + phProv: *mut HCRYPTPROV, + szContainer: LPCSTR, + szProvider: LPCSTR, + dwProvType: DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptAcquireContextW( + phProv: *mut HCRYPTPROV, + szContainer: LPCWSTR, + szProvider: LPCWSTR, + dwProvType: DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptReleaseContext(hProv: HCRYPTPROV, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptGenKey( + hProv: HCRYPTPROV, + Algid: ALG_ID, + dwFlags: DWORD, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptDeriveKey( + hProv: HCRYPTPROV, + Algid: ALG_ID, + hBaseData: HCRYPTHASH, + dwFlags: DWORD, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptDestroyKey(hKey: HCRYPTKEY) -> BOOL; +} +extern "C" { + pub fn CryptSetKeyParam( + hKey: HCRYPTKEY, + dwParam: DWORD, + pbData: *const BYTE, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetKeyParam( + hKey: HCRYPTKEY, + dwParam: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetHashParam( + hHash: HCRYPTHASH, + dwParam: DWORD, + pbData: *const BYTE, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetHashParam( + hHash: HCRYPTHASH, + dwParam: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetProvParam( + hProv: HCRYPTPROV, + dwParam: DWORD, + pbData: *const BYTE, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetProvParam( + hProv: HCRYPTPROV, + dwParam: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGenRandom(hProv: HCRYPTPROV, dwLen: DWORD, pbBuffer: *mut BYTE) -> BOOL; +} +extern "C" { + pub fn CryptGetUserKey(hProv: HCRYPTPROV, dwKeySpec: DWORD, phUserKey: *mut HCRYPTKEY) -> BOOL; +} +extern "C" { + pub fn CryptExportKey( + hKey: HCRYPTKEY, + hExpKey: HCRYPTKEY, + dwBlobType: DWORD, + dwFlags: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptImportKey( + hProv: HCRYPTPROV, + pbData: *const BYTE, + dwDataLen: DWORD, + hPubKey: HCRYPTKEY, + dwFlags: DWORD, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptEncrypt( + hKey: HCRYPTKEY, + hHash: HCRYPTHASH, + Final: BOOL, + dwFlags: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + dwBufLen: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecrypt( + hKey: HCRYPTKEY, + hHash: HCRYPTHASH, + Final: BOOL, + dwFlags: DWORD, + pbData: *mut BYTE, + pdwDataLen: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptCreateHash( + hProv: HCRYPTPROV, + Algid: ALG_ID, + hKey: HCRYPTKEY, + dwFlags: DWORD, + phHash: *mut HCRYPTHASH, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashData( + hHash: HCRYPTHASH, + pbData: *const BYTE, + dwDataLen: DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashSessionKey(hHash: HCRYPTHASH, hKey: HCRYPTKEY, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptDestroyHash(hHash: HCRYPTHASH) -> BOOL; +} +extern "C" { + pub fn CryptSignHashA( + hHash: HCRYPTHASH, + dwKeySpec: DWORD, + szDescription: LPCSTR, + dwFlags: DWORD, + pbSignature: *mut BYTE, + pdwSigLen: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignHashW( + hHash: HCRYPTHASH, + dwKeySpec: DWORD, + szDescription: LPCWSTR, + dwFlags: DWORD, + pbSignature: *mut BYTE, + pdwSigLen: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifySignatureA( + hHash: HCRYPTHASH, + pbSignature: *const BYTE, + dwSigLen: DWORD, + hPubKey: HCRYPTKEY, + szDescription: LPCSTR, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifySignatureW( + hHash: HCRYPTHASH, + pbSignature: *const BYTE, + dwSigLen: DWORD, + hPubKey: HCRYPTKEY, + szDescription: LPCWSTR, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetProviderA(pszProvName: LPCSTR, dwProvType: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptSetProviderW(pszProvName: LPCWSTR, dwProvType: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptSetProviderExA( + pszProvName: LPCSTR, + dwProvType: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetProviderExW( + pszProvName: LPCWSTR, + dwProvType: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetDefaultProviderA( + dwProvType: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pszProvName: LPSTR, + pcbProvName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetDefaultProviderW( + dwProvType: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pszProvName: LPWSTR, + pcbProvName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEnumProviderTypesA( + dwIndex: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pdwProvType: *mut DWORD, + szTypeName: LPSTR, + pcbTypeName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEnumProviderTypesW( + dwIndex: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pdwProvType: *mut DWORD, + szTypeName: LPWSTR, + pcbTypeName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEnumProvidersA( + dwIndex: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pdwProvType: *mut DWORD, + szProvName: LPSTR, + pcbProvName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEnumProvidersW( + dwIndex: DWORD, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + pdwProvType: *mut DWORD, + szProvName: LPWSTR, + pcbProvName: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptContextAddRef(hProv: HCRYPTPROV, pdwReserved: *mut DWORD, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptDuplicateKey( + hKey: HCRYPTKEY, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptDuplicateHash( + hHash: HCRYPTHASH, + pdwReserved: *mut DWORD, + dwFlags: DWORD, + phHash: *mut HCRYPTHASH, + ) -> BOOL; +} +extern "C" { + pub fn GetEncSChannel(pData: *mut *mut BYTE, dwDecSize: *mut DWORD) -> BOOL; +} +pub type NTSTATUS = LONG; +pub type PNTSTATUS = *mut NTSTATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __BCRYPT_KEY_LENGTHS_STRUCT { + pub dwMinLength: ULONG, + pub dwMaxLength: ULONG, + pub dwIncrement: ULONG, +} +#[test] +fn bindgen_test_layout___BCRYPT_KEY_LENGTHS_STRUCT() { + const UNINIT: ::std::mem::MaybeUninit<__BCRYPT_KEY_LENGTHS_STRUCT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__BCRYPT_KEY_LENGTHS_STRUCT>(), + 12usize, + concat!("Size of: ", stringify!(__BCRYPT_KEY_LENGTHS_STRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<__BCRYPT_KEY_LENGTHS_STRUCT>(), + 4usize, + concat!("Alignment of ", stringify!(__BCRYPT_KEY_LENGTHS_STRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__BCRYPT_KEY_LENGTHS_STRUCT), + "::", + stringify!(dwMinLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__BCRYPT_KEY_LENGTHS_STRUCT), + "::", + stringify!(dwMaxLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIncrement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__BCRYPT_KEY_LENGTHS_STRUCT), + "::", + stringify!(dwIncrement) + ) + ); +} +pub type BCRYPT_KEY_LENGTHS_STRUCT = __BCRYPT_KEY_LENGTHS_STRUCT; +pub type BCRYPT_AUTH_TAG_LENGTHS_STRUCT = BCRYPT_KEY_LENGTHS_STRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_OID { + pub cbOID: ULONG, + pub pbOID: PUCHAR, +} +#[test] +fn bindgen_test_layout__BCRYPT_OID() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_OID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_OID>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_OID)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_OID>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_OID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OID), + "::", + stringify!(cbOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbOID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OID), + "::", + stringify!(pbOID) + ) + ); +} +pub type BCRYPT_OID = _BCRYPT_OID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_OID_LIST { + pub dwOIDCount: ULONG, + pub pOIDs: *mut BCRYPT_OID, +} +#[test] +fn bindgen_test_layout__BCRYPT_OID_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_OID_LIST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_OID_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_OID_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_OID_LIST>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_OID_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOIDCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OID_LIST), + "::", + stringify!(dwOIDCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOIDs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OID_LIST), + "::", + stringify!(pOIDs) + ) + ); +} +pub type BCRYPT_OID_LIST = _BCRYPT_OID_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_PKCS1_PADDING_INFO { + pub pszAlgId: LPCWSTR, +} +#[test] +fn bindgen_test_layout__BCRYPT_PKCS1_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_PKCS1_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_PKCS1_PADDING_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_PKCS1_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_PKCS1_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_PKCS1_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAlgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_PKCS1_PADDING_INFO), + "::", + stringify!(pszAlgId) + ) + ); +} +pub type BCRYPT_PKCS1_PADDING_INFO = _BCRYPT_PKCS1_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_PSS_PADDING_INFO { + pub pszAlgId: LPCWSTR, + pub cbSalt: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_PSS_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_PSS_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_PSS_PADDING_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_PSS_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_PSS_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_PSS_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAlgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_PSS_PADDING_INFO), + "::", + stringify!(pszAlgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSalt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_PSS_PADDING_INFO), + "::", + stringify!(cbSalt) + ) + ); +} +pub type BCRYPT_PSS_PADDING_INFO = _BCRYPT_PSS_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_OAEP_PADDING_INFO { + pub pszAlgId: LPCWSTR, + pub pbLabel: PUCHAR, + pub cbLabel: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_OAEP_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_OAEP_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_OAEP_PADDING_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_BCRYPT_OAEP_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_OAEP_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_OAEP_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAlgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OAEP_PADDING_INFO), + "::", + stringify!(pszAlgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbLabel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OAEP_PADDING_INFO), + "::", + stringify!(pbLabel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbLabel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_OAEP_PADDING_INFO), + "::", + stringify!(cbLabel) + ) + ); +} +pub type BCRYPT_OAEP_PADDING_INFO = _BCRYPT_OAEP_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO { + pub cbSize: ULONG, + pub dwInfoVersion: ULONG, + pub pbNonce: PUCHAR, + pub cbNonce: ULONG, + pub pbAuthData: PUCHAR, + pub cbAuthData: ULONG, + pub pbTag: PUCHAR, + pub cbTag: ULONG, + pub pbMacContext: PUCHAR, + pub cbMacContext: ULONG, + pub cbAAD: ULONG, + pub cbData: ULONGLONG, + pub dwFlags: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>(), + 88usize, + concat!( + "Size of: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(dwInfoVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbNonce) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(pbNonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbNonce) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbNonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbAuthData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(pbAuthData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAuthData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbAuthData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbTag) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(pbTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTag) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbMacContext) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(pbMacContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbMacContext) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbMacContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAAD) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbAAD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO = _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO; +pub type PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO = *mut _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCryptBuffer { + pub cbBuffer: ULONG, + pub BufferType: ULONG, + pub pvBuffer: PVOID, +} +#[test] +fn bindgen_test_layout__BCryptBuffer() { + const UNINIT: ::std::mem::MaybeUninit<_BCryptBuffer> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCryptBuffer>(), + 16usize, + concat!("Size of: ", stringify!(_BCryptBuffer)) + ); + assert_eq!( + ::std::mem::align_of::<_BCryptBuffer>(), + 8usize, + concat!("Alignment of ", stringify!(_BCryptBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBuffer), + "::", + stringify!(cbBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBuffer), + "::", + stringify!(BufferType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvBuffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBuffer), + "::", + stringify!(pvBuffer) + ) + ); +} +pub type BCryptBuffer = _BCryptBuffer; +pub type PBCryptBuffer = *mut _BCryptBuffer; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCryptBufferDesc { + pub ulVersion: ULONG, + pub cBuffers: ULONG, + pub pBuffers: PBCryptBuffer, +} +#[test] +fn bindgen_test_layout__BCryptBufferDesc() { + const UNINIT: ::std::mem::MaybeUninit<_BCryptBufferDesc> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCryptBufferDesc>(), + 16usize, + concat!("Size of: ", stringify!(_BCryptBufferDesc)) + ); + assert_eq!( + ::std::mem::align_of::<_BCryptBufferDesc>(), + 8usize, + concat!("Alignment of ", stringify!(_BCryptBufferDesc)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBufferDesc), + "::", + stringify!(ulVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBuffers) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBufferDesc), + "::", + stringify!(cBuffers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBuffers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCryptBufferDesc), + "::", + stringify!(pBuffers) + ) + ); +} +pub type BCryptBufferDesc = _BCryptBufferDesc; +pub type PBCryptBufferDesc = *mut _BCryptBufferDesc; +pub type BCRYPT_HANDLE = PVOID; +pub type BCRYPT_ALG_HANDLE = PVOID; +pub type BCRYPT_KEY_HANDLE = PVOID; +pub type BCRYPT_HASH_HANDLE = PVOID; +pub type BCRYPT_SECRET_HANDLE = PVOID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_KEY_BLOB { + pub Magic: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_KEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_KEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_KEY_BLOB>(), + 4usize, + concat!("Size of: ", stringify!(_BCRYPT_KEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_KEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_KEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_KEY_BLOB), + "::", + stringify!(Magic) + ) + ); +} +pub type BCRYPT_KEY_BLOB = _BCRYPT_KEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_RSAKEY_BLOB { + pub Magic: ULONG, + pub BitLength: ULONG, + pub cbPublicExp: ULONG, + pub cbModulus: ULONG, + pub cbPrime1: ULONG, + pub cbPrime2: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_RSAKEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_RSAKEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_RSAKEY_BLOB>(), + 24usize, + concat!("Size of: ", stringify!(_BCRYPT_RSAKEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_RSAKEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_RSAKEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(BitLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPublicExp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(cbPublicExp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbModulus) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(cbModulus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPrime1) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(cbPrime1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPrime2) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_RSAKEY_BLOB), + "::", + stringify!(cbPrime2) + ) + ); +} +pub type BCRYPT_RSAKEY_BLOB = _BCRYPT_RSAKEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_ECCKEY_BLOB { + pub dwMagic: ULONG, + pub cbKey: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_ECCKEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_ECCKEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_ECCKEY_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_ECCKEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_ECCKEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_ECCKEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCKEY_BLOB), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCKEY_BLOB), + "::", + stringify!(cbKey) + ) + ); +} +pub type BCRYPT_ECCKEY_BLOB = _BCRYPT_ECCKEY_BLOB; +pub type PBCRYPT_ECCKEY_BLOB = *mut _BCRYPT_ECCKEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_ECCKEY_BLOB { + pub dwCurveType: ULONG, + pub cbKey: ULONG, +} +#[test] +fn bindgen_test_layout__SSL_ECCKEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_ECCKEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_ECCKEY_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_SSL_ECCKEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_ECCKEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_SSL_ECCKEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurveType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_ECCKEY_BLOB), + "::", + stringify!(dwCurveType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_ECCKEY_BLOB), + "::", + stringify!(cbKey) + ) + ); +} +pub type SSL_ECCKEY_BLOB = _SSL_ECCKEY_BLOB; +pub type PSSL_ECCKEY_BLOB = *mut _SSL_ECCKEY_BLOB; +pub const ECC_CURVE_TYPE_ENUM_BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE: ECC_CURVE_TYPE_ENUM = 1; +pub const ECC_CURVE_TYPE_ENUM_BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE: ECC_CURVE_TYPE_ENUM = 2; +pub const ECC_CURVE_TYPE_ENUM_BCRYPT_ECC_PRIME_MONTGOMERY_CURVE: ECC_CURVE_TYPE_ENUM = 3; +pub type ECC_CURVE_TYPE_ENUM = ::std::os::raw::c_int; +pub const ECC_CURVE_ALG_ID_ENUM_BCRYPT_NO_CURVE_GENERATION_ALG_ID: ECC_CURVE_ALG_ID_ENUM = 0; +pub type ECC_CURVE_ALG_ID_ENUM = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_ECCFULLKEY_BLOB { + pub dwMagic: ULONG, + pub dwVersion: ULONG, + pub dwCurveType: ECC_CURVE_TYPE_ENUM, + pub dwCurveGenerationAlgId: ECC_CURVE_ALG_ID_ENUM, + pub cbFieldLength: ULONG, + pub cbSubgroupOrder: ULONG, + pub cbCofactor: ULONG, + pub cbSeed: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_ECCFULLKEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_ECCFULLKEY_BLOB> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_ECCFULLKEY_BLOB>(), + 32usize, + concat!("Size of: ", stringify!(_BCRYPT_ECCFULLKEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_ECCFULLKEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_ECCFULLKEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurveType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(dwCurveType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurveGenerationAlgId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(dwCurveGenerationAlgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbFieldLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(cbFieldLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSubgroupOrder) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(cbSubgroupOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCofactor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(cbCofactor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSeed) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECCFULLKEY_BLOB), + "::", + stringify!(cbSeed) + ) + ); +} +pub type BCRYPT_ECCFULLKEY_BLOB = _BCRYPT_ECCFULLKEY_BLOB; +pub type PBCRYPT_ECCFULLKEY_BLOB = *mut _BCRYPT_ECCFULLKEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DH_KEY_BLOB { + pub dwMagic: ULONG, + pub cbKey: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_DH_KEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DH_KEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DH_KEY_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_DH_KEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DH_KEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DH_KEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_KEY_BLOB), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_KEY_BLOB), + "::", + stringify!(cbKey) + ) + ); +} +pub type BCRYPT_DH_KEY_BLOB = _BCRYPT_DH_KEY_BLOB; +pub type PBCRYPT_DH_KEY_BLOB = *mut _BCRYPT_DH_KEY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DH_PARAMETER_HEADER { + pub cbLength: ULONG, + pub dwMagic: ULONG, + pub cbKeyLength: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_DH_PARAMETER_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DH_PARAMETER_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DH_PARAMETER_HEADER>(), + 12usize, + concat!("Size of: ", stringify!(_BCRYPT_DH_PARAMETER_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DH_PARAMETER_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DH_PARAMETER_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_PARAMETER_HEADER), + "::", + stringify!(cbLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_PARAMETER_HEADER), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DH_PARAMETER_HEADER), + "::", + stringify!(cbKeyLength) + ) + ); +} +pub type BCRYPT_DH_PARAMETER_HEADER = _BCRYPT_DH_PARAMETER_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DSA_KEY_BLOB { + pub dwMagic: ULONG, + pub cbKey: ULONG, + pub Count: [UCHAR; 4usize], + pub Seed: [UCHAR; 20usize], + pub q: [UCHAR; 20usize], +} +#[test] +fn bindgen_test_layout__BCRYPT_DSA_KEY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DSA_KEY_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DSA_KEY_BLOB>(), + 52usize, + concat!("Size of: ", stringify!(_BCRYPT_DSA_KEY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DSA_KEY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DSA_KEY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(cbKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(Seed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB), + "::", + stringify!(q) + ) + ); +} +pub type BCRYPT_DSA_KEY_BLOB = _BCRYPT_DSA_KEY_BLOB; +pub type PBCRYPT_DSA_KEY_BLOB = *mut _BCRYPT_DSA_KEY_BLOB; +pub const HASHALGORITHM_ENUM_DSA_HASH_ALGORITHM_SHA1: HASHALGORITHM_ENUM = 0; +pub const HASHALGORITHM_ENUM_DSA_HASH_ALGORITHM_SHA256: HASHALGORITHM_ENUM = 1; +pub const HASHALGORITHM_ENUM_DSA_HASH_ALGORITHM_SHA512: HASHALGORITHM_ENUM = 2; +pub type HASHALGORITHM_ENUM = ::std::os::raw::c_int; +pub const DSAFIPSVERSION_ENUM_DSA_FIPS186_2: DSAFIPSVERSION_ENUM = 0; +pub const DSAFIPSVERSION_ENUM_DSA_FIPS186_3: DSAFIPSVERSION_ENUM = 1; +pub type DSAFIPSVERSION_ENUM = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DSA_KEY_BLOB_V2 { + pub dwMagic: ULONG, + pub cbKey: ULONG, + pub hashAlgorithm: HASHALGORITHM_ENUM, + pub standardVersion: DSAFIPSVERSION_ENUM, + pub cbSeedLength: ULONG, + pub cbGroupSize: ULONG, + pub Count: [UCHAR; 4usize], +} +#[test] +fn bindgen_test_layout__BCRYPT_DSA_KEY_BLOB_V2() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DSA_KEY_BLOB_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DSA_KEY_BLOB_V2>(), + 28usize, + concat!("Size of: ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DSA_KEY_BLOB_V2>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DSA_KEY_BLOB_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKey) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(cbKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(hashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).standardVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(standardVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSeedLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(cbSeedLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbGroupSize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(cbGroupSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_KEY_BLOB_V2), + "::", + stringify!(Count) + ) + ); +} +pub type BCRYPT_DSA_KEY_BLOB_V2 = _BCRYPT_DSA_KEY_BLOB_V2; +pub type PBCRYPT_DSA_KEY_BLOB_V2 = *mut _BCRYPT_DSA_KEY_BLOB_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_KEY_DATA_BLOB_HEADER { + pub dwMagic: ULONG, + pub dwVersion: ULONG, + pub cbKeyData: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_KEY_DATA_BLOB_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_KEY_DATA_BLOB_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_KEY_DATA_BLOB_HEADER>(), + 12usize, + concat!("Size of: ", stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_KEY_DATA_BLOB_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_KEY_DATA_BLOB_HEADER), + "::", + stringify!(cbKeyData) + ) + ); +} +pub type BCRYPT_KEY_DATA_BLOB_HEADER = _BCRYPT_KEY_DATA_BLOB_HEADER; +pub type PBCRYPT_KEY_DATA_BLOB_HEADER = *mut _BCRYPT_KEY_DATA_BLOB_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DSA_PARAMETER_HEADER { + pub cbLength: ULONG, + pub dwMagic: ULONG, + pub cbKeyLength: ULONG, + pub Count: [UCHAR; 4usize], + pub Seed: [UCHAR; 20usize], + pub q: [UCHAR; 20usize], +} +#[test] +fn bindgen_test_layout__BCRYPT_DSA_PARAMETER_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DSA_PARAMETER_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DSA_PARAMETER_HEADER>(), + 56usize, + concat!("Size of: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DSA_PARAMETER_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(cbLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(cbKeyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(Seed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER), + "::", + stringify!(q) + ) + ); +} +pub type BCRYPT_DSA_PARAMETER_HEADER = _BCRYPT_DSA_PARAMETER_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_DSA_PARAMETER_HEADER_V2 { + pub cbLength: ULONG, + pub dwMagic: ULONG, + pub cbKeyLength: ULONG, + pub hashAlgorithm: HASHALGORITHM_ENUM, + pub standardVersion: DSAFIPSVERSION_ENUM, + pub cbSeedLength: ULONG, + pub cbGroupSize: ULONG, + pub Count: [UCHAR; 4usize], +} +#[test] +fn bindgen_test_layout__BCRYPT_DSA_PARAMETER_HEADER_V2() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_DSA_PARAMETER_HEADER_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_DSA_PARAMETER_HEADER_V2>(), + 32usize, + concat!("Size of: ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_DSA_PARAMETER_HEADER_V2>(), + 4usize, + concat!("Alignment of ", stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(cbLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(cbKeyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(hashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).standardVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(standardVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSeedLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(cbSeedLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbGroupSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(cbGroupSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_DSA_PARAMETER_HEADER_V2), + "::", + stringify!(Count) + ) + ); +} +pub type BCRYPT_DSA_PARAMETER_HEADER_V2 = _BCRYPT_DSA_PARAMETER_HEADER_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_ECC_CURVE_NAMES { + pub dwEccCurveNames: ULONG, + pub pEccCurveNames: *mut LPWSTR, +} +#[test] +fn bindgen_test_layout__BCRYPT_ECC_CURVE_NAMES() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_ECC_CURVE_NAMES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_ECC_CURVE_NAMES>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_ECC_CURVE_NAMES)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_ECC_CURVE_NAMES>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_ECC_CURVE_NAMES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEccCurveNames) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECC_CURVE_NAMES), + "::", + stringify!(dwEccCurveNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEccCurveNames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ECC_CURVE_NAMES), + "::", + stringify!(pEccCurveNames) + ) + ); +} +pub type BCRYPT_ECC_CURVE_NAMES = _BCRYPT_ECC_CURVE_NAMES; +pub const BCRYPT_HASH_OPERATION_TYPE_BCRYPT_HASH_OPERATION_HASH_DATA: BCRYPT_HASH_OPERATION_TYPE = + 1; +pub const BCRYPT_HASH_OPERATION_TYPE_BCRYPT_HASH_OPERATION_FINISH_HASH: BCRYPT_HASH_OPERATION_TYPE = + 2; +pub type BCRYPT_HASH_OPERATION_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_MULTI_HASH_OPERATION { + pub iHash: ULONG, + pub hashOperation: BCRYPT_HASH_OPERATION_TYPE, + pub pbBuffer: PUCHAR, + pub cbBuffer: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_MULTI_HASH_OPERATION() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_MULTI_HASH_OPERATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_MULTI_HASH_OPERATION>(), + 24usize, + concat!("Size of: ", stringify!(_BCRYPT_MULTI_HASH_OPERATION)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_MULTI_HASH_OPERATION>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_MULTI_HASH_OPERATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iHash) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_HASH_OPERATION), + "::", + stringify!(iHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hashOperation) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_HASH_OPERATION), + "::", + stringify!(hashOperation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbBuffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_HASH_OPERATION), + "::", + stringify!(pbBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_HASH_OPERATION), + "::", + stringify!(cbBuffer) + ) + ); +} +pub type BCRYPT_MULTI_HASH_OPERATION = _BCRYPT_MULTI_HASH_OPERATION; +pub const BCRYPT_MULTI_OPERATION_TYPE_BCRYPT_OPERATION_TYPE_HASH: BCRYPT_MULTI_OPERATION_TYPE = 1; +pub type BCRYPT_MULTI_OPERATION_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_MULTI_OBJECT_LENGTH_STRUCT { + pub cbPerObject: ULONG, + pub cbPerElement: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_MULTI_OBJECT_LENGTH_STRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPerObject) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT), + "::", + stringify!(cbPerObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPerElement) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_MULTI_OBJECT_LENGTH_STRUCT), + "::", + stringify!(cbPerElement) + ) + ); +} +pub type BCRYPT_MULTI_OBJECT_LENGTH_STRUCT = _BCRYPT_MULTI_OBJECT_LENGTH_STRUCT; +extern "C" { + pub fn BCryptOpenAlgorithmProvider( + phAlgorithm: *mut BCRYPT_ALG_HANDLE, + pszAlgId: LPCWSTR, + pszImplementation: LPCWSTR, + dwFlags: ULONG, + ) -> NTSTATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_ALGORITHM_IDENTIFIER { + pub pszName: LPWSTR, + pub dwClass: ULONG, + pub dwFlags: ULONG, +} +#[test] +fn bindgen_test_layout__BCRYPT_ALGORITHM_IDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_ALGORITHM_IDENTIFIER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_ALGORITHM_IDENTIFIER>(), + 16usize, + concat!("Size of: ", stringify!(_BCRYPT_ALGORITHM_IDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_ALGORITHM_IDENTIFIER>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_ALGORITHM_IDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(pszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwClass) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(dwClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(dwFlags) + ) + ); +} +pub type BCRYPT_ALGORITHM_IDENTIFIER = _BCRYPT_ALGORITHM_IDENTIFIER; +extern "C" { + pub fn BCryptEnumAlgorithms( + dwAlgOperations: ULONG, + pAlgCount: *mut ULONG, + ppAlgList: *mut *mut BCRYPT_ALGORITHM_IDENTIFIER, + dwFlags: ULONG, + ) -> NTSTATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_PROVIDER_NAME { + pub pszProviderName: LPWSTR, +} +#[test] +fn bindgen_test_layout__BCRYPT_PROVIDER_NAME() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_PROVIDER_NAME> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_PROVIDER_NAME>(), + 8usize, + concat!("Size of: ", stringify!(_BCRYPT_PROVIDER_NAME)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_PROVIDER_NAME>(), + 8usize, + concat!("Alignment of ", stringify!(_BCRYPT_PROVIDER_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProviderName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_PROVIDER_NAME), + "::", + stringify!(pszProviderName) + ) + ); +} +pub type BCRYPT_PROVIDER_NAME = _BCRYPT_PROVIDER_NAME; +extern "C" { + pub fn BCryptEnumProviders( + pszAlgId: LPCWSTR, + pImplCount: *mut ULONG, + ppImplList: *mut *mut BCRYPT_PROVIDER_NAME, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptGetProperty( + hObject: BCRYPT_HANDLE, + pszProperty: LPCWSTR, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptSetProperty( + hObject: BCRYPT_HANDLE, + pszProperty: LPCWSTR, + pbInput: PUCHAR, + cbInput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptCloseAlgorithmProvider(hAlgorithm: BCRYPT_ALG_HANDLE, dwFlags: ULONG) -> NTSTATUS; +} +extern "C" { + pub fn BCryptFreeBuffer(pvBuffer: PVOID); +} +extern "C" { + pub fn BCryptGenerateSymmetricKey( + hAlgorithm: BCRYPT_ALG_HANDLE, + phKey: *mut BCRYPT_KEY_HANDLE, + pbKeyObject: PUCHAR, + cbKeyObject: ULONG, + pbSecret: PUCHAR, + cbSecret: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptGenerateKeyPair( + hAlgorithm: BCRYPT_ALG_HANDLE, + phKey: *mut BCRYPT_KEY_HANDLE, + dwLength: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEncrypt( + hKey: BCRYPT_KEY_HANDLE, + pbInput: PUCHAR, + cbInput: ULONG, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbIV: PUCHAR, + cbIV: ULONG, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDecrypt( + hKey: BCRYPT_KEY_HANDLE, + pbInput: PUCHAR, + cbInput: ULONG, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbIV: PUCHAR, + cbIV: ULONG, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptExportKey( + hKey: BCRYPT_KEY_HANDLE, + hExportKey: BCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptImportKey( + hAlgorithm: BCRYPT_ALG_HANDLE, + hImportKey: BCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + phKey: *mut BCRYPT_KEY_HANDLE, + pbKeyObject: PUCHAR, + cbKeyObject: ULONG, + pbInput: PUCHAR, + cbInput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptImportKeyPair( + hAlgorithm: BCRYPT_ALG_HANDLE, + hImportKey: BCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + phKey: *mut BCRYPT_KEY_HANDLE, + pbInput: PUCHAR, + cbInput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDuplicateKey( + hKey: BCRYPT_KEY_HANDLE, + phNewKey: *mut BCRYPT_KEY_HANDLE, + pbKeyObject: PUCHAR, + cbKeyObject: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptFinalizeKeyPair(hKey: BCRYPT_KEY_HANDLE, dwFlags: ULONG) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDestroyKey(hKey: BCRYPT_KEY_HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDestroySecret(hSecret: BCRYPT_SECRET_HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptSignHash( + hKey: BCRYPT_KEY_HANDLE, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbInput: PUCHAR, + cbInput: ULONG, + pbOutput: PUCHAR, + cbOutput: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptVerifySignature( + hKey: BCRYPT_KEY_HANDLE, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbHash: PUCHAR, + cbHash: ULONG, + pbSignature: PUCHAR, + cbSignature: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptSecretAgreement( + hPrivKey: BCRYPT_KEY_HANDLE, + hPubKey: BCRYPT_KEY_HANDLE, + phAgreedSecret: *mut BCRYPT_SECRET_HANDLE, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDeriveKey( + hSharedSecret: BCRYPT_SECRET_HANDLE, + pwszKDF: LPCWSTR, + pParameterList: *mut BCryptBufferDesc, + pbDerivedKey: PUCHAR, + cbDerivedKey: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptKeyDerivation( + hKey: BCRYPT_KEY_HANDLE, + pParameterList: *mut BCryptBufferDesc, + pbDerivedKey: PUCHAR, + cbDerivedKey: ULONG, + pcbResult: *mut ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptCreateHash( + hAlgorithm: BCRYPT_ALG_HANDLE, + phHash: *mut BCRYPT_HASH_HANDLE, + pbHashObject: PUCHAR, + cbHashObject: ULONG, + pbSecret: PUCHAR, + cbSecret: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptHashData( + hHash: BCRYPT_HASH_HANDLE, + pbInput: PUCHAR, + cbInput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptFinishHash( + hHash: BCRYPT_HASH_HANDLE, + pbOutput: PUCHAR, + cbOutput: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptCreateMultiHash( + hAlgorithm: BCRYPT_ALG_HANDLE, + phHash: *mut BCRYPT_HASH_HANDLE, + nHashes: ULONG, + pbHashObject: PUCHAR, + cbHashObject: ULONG, + pbSecret: PUCHAR, + cbSecret: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptProcessMultiOperations( + hObject: BCRYPT_HANDLE, + operationType: BCRYPT_MULTI_OPERATION_TYPE, + pOperations: PVOID, + cbOperations: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDuplicateHash( + hHash: BCRYPT_HASH_HANDLE, + phNewHash: *mut BCRYPT_HASH_HANDLE, + pbHashObject: PUCHAR, + cbHashObject: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDestroyHash(hHash: BCRYPT_HASH_HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptHash( + hAlgorithm: BCRYPT_ALG_HANDLE, + pbSecret: PUCHAR, + cbSecret: ULONG, + pbInput: PUCHAR, + cbInput: ULONG, + pbOutput: PUCHAR, + cbOutput: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptGenRandom( + hAlgorithm: BCRYPT_ALG_HANDLE, + pbBuffer: PUCHAR, + cbBuffer: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDeriveKeyCapi( + hHash: BCRYPT_HASH_HANDLE, + hTargetAlg: BCRYPT_ALG_HANDLE, + pbDerivedKey: PUCHAR, + cbDerivedKey: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDeriveKeyPBKDF2( + hPrf: BCRYPT_ALG_HANDLE, + pbPassword: PUCHAR, + cbPassword: ULONG, + pbSalt: PUCHAR, + cbSalt: ULONG, + cIterations: ULONGLONG, + pbDerivedKey: PUCHAR, + cbDerivedKey: ULONG, + dwFlags: ULONG, + ) -> NTSTATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BCRYPT_INTERFACE_VERSION { + pub MajorVersion: USHORT, + pub MinorVersion: USHORT, +} +#[test] +fn bindgen_test_layout__BCRYPT_INTERFACE_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_BCRYPT_INTERFACE_VERSION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BCRYPT_INTERFACE_VERSION>(), + 4usize, + concat!("Size of: ", stringify!(_BCRYPT_INTERFACE_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_BCRYPT_INTERFACE_VERSION>(), + 2usize, + concat!("Alignment of ", stringify!(_BCRYPT_INTERFACE_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_INTERFACE_VERSION), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_BCRYPT_INTERFACE_VERSION), + "::", + stringify!(MinorVersion) + ) + ); +} +pub type BCRYPT_INTERFACE_VERSION = _BCRYPT_INTERFACE_VERSION; +pub type PBCRYPT_INTERFACE_VERSION = *mut _BCRYPT_INTERFACE_VERSION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_INTERFACE_REG { + pub dwInterface: ULONG, + pub dwFlags: ULONG, + pub cFunctions: ULONG, + pub rgpszFunctions: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_INTERFACE_REG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_INTERFACE_REG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_INTERFACE_REG>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_INTERFACE_REG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_INTERFACE_REG>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_INTERFACE_REG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_INTERFACE_REG), + "::", + stringify!(dwInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_INTERFACE_REG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFunctions) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_INTERFACE_REG), + "::", + stringify!(cFunctions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszFunctions) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_INTERFACE_REG), + "::", + stringify!(rgpszFunctions) + ) + ); +} +pub type CRYPT_INTERFACE_REG = _CRYPT_INTERFACE_REG; +pub type PCRYPT_INTERFACE_REG = *mut _CRYPT_INTERFACE_REG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_IMAGE_REG { + pub pszImage: PWSTR, + pub cInterfaces: ULONG, + pub rgpInterfaces: *mut PCRYPT_INTERFACE_REG, +} +#[test] +fn bindgen_test_layout__CRYPT_IMAGE_REG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_IMAGE_REG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_IMAGE_REG>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_IMAGE_REG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_IMAGE_REG>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_IMAGE_REG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszImage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REG), + "::", + stringify!(pszImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cInterfaces) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REG), + "::", + stringify!(cInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpInterfaces) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REG), + "::", + stringify!(rgpInterfaces) + ) + ); +} +pub type CRYPT_IMAGE_REG = _CRYPT_IMAGE_REG; +pub type PCRYPT_IMAGE_REG = *mut _CRYPT_IMAGE_REG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROVIDER_REG { + pub cAliases: ULONG, + pub rgpszAliases: *mut PWSTR, + pub pUM: PCRYPT_IMAGE_REG, + pub pKM: PCRYPT_IMAGE_REG, +} +#[test] +fn bindgen_test_layout__CRYPT_PROVIDER_REG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROVIDER_REG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROVIDER_REG>(), + 32usize, + concat!("Size of: ", stringify!(_CRYPT_PROVIDER_REG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROVIDER_REG>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROVIDER_REG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAliases) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REG), + "::", + stringify!(cAliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszAliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REG), + "::", + stringify!(rgpszAliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUM) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REG), + "::", + stringify!(pUM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKM) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REG), + "::", + stringify!(pKM) + ) + ); +} +pub type CRYPT_PROVIDER_REG = _CRYPT_PROVIDER_REG; +pub type PCRYPT_PROVIDER_REG = *mut _CRYPT_PROVIDER_REG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROVIDERS { + pub cProviders: ULONG, + pub rgpszProviders: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_PROVIDERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROVIDERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROVIDERS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_PROVIDERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROVIDERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROVIDERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProviders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDERS), + "::", + stringify!(cProviders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszProviders) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDERS), + "::", + stringify!(rgpszProviders) + ) + ); +} +pub type CRYPT_PROVIDERS = _CRYPT_PROVIDERS; +pub type PCRYPT_PROVIDERS = *mut _CRYPT_PROVIDERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXT_CONFIG { + pub dwFlags: ULONG, + pub dwReserved: ULONG, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXT_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXT_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXT_CONFIG>(), + 8usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXT_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXT_CONFIG>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTEXT_CONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_CONFIG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_CONFIG), + "::", + stringify!(dwReserved) + ) + ); +} +pub type CRYPT_CONTEXT_CONFIG = _CRYPT_CONTEXT_CONFIG; +pub type PCRYPT_CONTEXT_CONFIG = *mut _CRYPT_CONTEXT_CONFIG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXT_FUNCTION_CONFIG { + pub dwFlags: ULONG, + pub dwReserved: ULONG, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXT_FUNCTION_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXT_FUNCTION_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXT_FUNCTION_CONFIG>(), + 8usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXT_FUNCTION_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXT_FUNCTION_CONFIG>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTEXT_FUNCTION_CONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTION_CONFIG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTION_CONFIG), + "::", + stringify!(dwReserved) + ) + ); +} +pub type CRYPT_CONTEXT_FUNCTION_CONFIG = _CRYPT_CONTEXT_FUNCTION_CONFIG; +pub type PCRYPT_CONTEXT_FUNCTION_CONFIG = *mut _CRYPT_CONTEXT_FUNCTION_CONFIG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXTS { + pub cContexts: ULONG, + pub rgpszContexts: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXTS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXTS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXTS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXTS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTEXTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cContexts) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXTS), + "::", + stringify!(cContexts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszContexts) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXTS), + "::", + stringify!(rgpszContexts) + ) + ); +} +pub type CRYPT_CONTEXTS = _CRYPT_CONTEXTS; +pub type PCRYPT_CONTEXTS = *mut _CRYPT_CONTEXTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXT_FUNCTIONS { + pub cFunctions: ULONG, + pub rgpszFunctions: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXT_FUNCTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXT_FUNCTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXT_FUNCTIONS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXT_FUNCTIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXT_FUNCTIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTEXT_FUNCTIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFunctions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTIONS), + "::", + stringify!(cFunctions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszFunctions) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTIONS), + "::", + stringify!(rgpszFunctions) + ) + ); +} +pub type CRYPT_CONTEXT_FUNCTIONS = _CRYPT_CONTEXT_FUNCTIONS; +pub type PCRYPT_CONTEXT_FUNCTIONS = *mut _CRYPT_CONTEXT_FUNCTIONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTEXT_FUNCTION_PROVIDERS { + pub cProviders: ULONG, + pub rgpszProviders: *mut PWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTEXT_FUNCTION_PROVIDERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTEXT_FUNCTION_PROVIDERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTEXT_FUNCTION_PROVIDERS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_CONTEXT_FUNCTION_PROVIDERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTEXT_FUNCTION_PROVIDERS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_CONTEXT_FUNCTION_PROVIDERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProviders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTION_PROVIDERS), + "::", + stringify!(cProviders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszProviders) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTEXT_FUNCTION_PROVIDERS), + "::", + stringify!(rgpszProviders) + ) + ); +} +pub type CRYPT_CONTEXT_FUNCTION_PROVIDERS = _CRYPT_CONTEXT_FUNCTION_PROVIDERS; +pub type PCRYPT_CONTEXT_FUNCTION_PROVIDERS = *mut _CRYPT_CONTEXT_FUNCTION_PROVIDERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROPERTY_REF { + pub pszProperty: PWSTR, + pub cbValue: ULONG, + pub pbValue: PUCHAR, +} +#[test] +fn bindgen_test_layout__CRYPT_PROPERTY_REF() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROPERTY_REF> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROPERTY_REF>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_PROPERTY_REF)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROPERTY_REF>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROPERTY_REF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProperty) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROPERTY_REF), + "::", + stringify!(pszProperty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROPERTY_REF), + "::", + stringify!(cbValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROPERTY_REF), + "::", + stringify!(pbValue) + ) + ); +} +pub type CRYPT_PROPERTY_REF = _CRYPT_PROPERTY_REF; +pub type PCRYPT_PROPERTY_REF = *mut _CRYPT_PROPERTY_REF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_IMAGE_REF { + pub pszImage: PWSTR, + pub dwFlags: ULONG, +} +#[test] +fn bindgen_test_layout__CRYPT_IMAGE_REF() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_IMAGE_REF> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_IMAGE_REF>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_IMAGE_REF)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_IMAGE_REF>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_IMAGE_REF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszImage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REF), + "::", + stringify!(pszImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_IMAGE_REF), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CRYPT_IMAGE_REF = _CRYPT_IMAGE_REF; +pub type PCRYPT_IMAGE_REF = *mut _CRYPT_IMAGE_REF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROVIDER_REF { + pub dwInterface: ULONG, + pub pszFunction: PWSTR, + pub pszProvider: PWSTR, + pub cProperties: ULONG, + pub rgpProperties: *mut PCRYPT_PROPERTY_REF, + pub pUM: PCRYPT_IMAGE_REF, + pub pKM: PCRYPT_IMAGE_REF, +} +#[test] +fn bindgen_test_layout__CRYPT_PROVIDER_REF() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROVIDER_REF> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROVIDER_REF>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_PROVIDER_REF)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROVIDER_REF>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROVIDER_REF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(dwInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFunction) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(pszFunction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(pszProvider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProperties) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(cProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpProperties) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(rgpProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUM) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(pUM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKM) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REF), + "::", + stringify!(pKM) + ) + ); +} +pub type CRYPT_PROVIDER_REF = _CRYPT_PROVIDER_REF; +pub type PCRYPT_PROVIDER_REF = *mut _CRYPT_PROVIDER_REF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PROVIDER_REFS { + pub cProviders: ULONG, + pub rgpProviders: *mut PCRYPT_PROVIDER_REF, +} +#[test] +fn bindgen_test_layout__CRYPT_PROVIDER_REFS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PROVIDER_REFS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PROVIDER_REFS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_PROVIDER_REFS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PROVIDER_REFS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PROVIDER_REFS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProviders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REFS), + "::", + stringify!(cProviders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpProviders) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PROVIDER_REFS), + "::", + stringify!(rgpProviders) + ) + ); +} +pub type CRYPT_PROVIDER_REFS = _CRYPT_PROVIDER_REFS; +pub type PCRYPT_PROVIDER_REFS = *mut _CRYPT_PROVIDER_REFS; +extern "C" { + pub fn BCryptQueryProviderRegistration( + pszProvider: LPCWSTR, + dwMode: ULONG, + dwInterface: ULONG, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_PROVIDER_REG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEnumRegisteredProviders( + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_PROVIDERS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptCreateContext( + dwTable: ULONG, + pszContext: LPCWSTR, + pConfig: PCRYPT_CONTEXT_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptDeleteContext(dwTable: ULONG, pszContext: LPCWSTR) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEnumContexts( + dwTable: ULONG, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXTS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptConfigureContext( + dwTable: ULONG, + pszContext: LPCWSTR, + pConfig: PCRYPT_CONTEXT_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptQueryContextConfiguration( + dwTable: ULONG, + pszContext: LPCWSTR, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXT_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptAddContextFunction( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + dwPosition: ULONG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptRemoveContextFunction( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEnumContextFunctions( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXT_FUNCTIONS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptConfigureContextFunction( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pConfig: PCRYPT_CONTEXT_FUNCTION_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptQueryContextFunctionConfiguration( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXT_FUNCTION_CONFIG, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptEnumContextFunctionProviders( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_CONTEXT_FUNCTION_PROVIDERS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptSetContextFunctionProperty( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pszProperty: LPCWSTR, + cbValue: ULONG, + pbValue: PUCHAR, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptQueryContextFunctionProperty( + dwTable: ULONG, + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pszProperty: LPCWSTR, + pcbValue: *mut ULONG, + ppbValue: *mut PUCHAR, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptRegisterConfigChangeNotify(phEvent: *mut HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptUnregisterConfigChangeNotify(hEvent: HANDLE) -> NTSTATUS; +} +extern "C" { + pub fn BCryptResolveProviders( + pszContext: LPCWSTR, + dwInterface: ULONG, + pszFunction: LPCWSTR, + pszProvider: LPCWSTR, + dwMode: ULONG, + dwFlags: ULONG, + pcbBuffer: *mut ULONG, + ppBuffer: *mut PCRYPT_PROVIDER_REFS, + ) -> NTSTATUS; +} +extern "C" { + pub fn BCryptGetFipsAlgorithmMode(pfEnabled: *mut BOOLEAN) -> NTSTATUS; +} +extern "C" { + pub fn CngGetFipsAlgorithmMode() -> BOOLEAN; +} +pub type SECURITY_STATUS = LONG; +pub type PFN_NCRYPT_ALLOC = ::std::option::Option LPVOID>; +pub type PFN_NCRYPT_FREE = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NCRYPT_ALLOC_PARA { + pub cbSize: DWORD, + pub pfnAlloc: PFN_NCRYPT_ALLOC, + pub pfnFree: PFN_NCRYPT_FREE, +} +#[test] +fn bindgen_test_layout_NCRYPT_ALLOC_PARA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(NCRYPT_ALLOC_PARA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NCRYPT_ALLOC_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_ALLOC_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_ALLOC_PARA), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_ALLOC_PARA), + "::", + stringify!(pfnFree) + ) + ); +} +pub type NCryptBuffer = BCryptBuffer; +pub type PNCryptBuffer = *mut BCryptBuffer; +pub type NCryptBufferDesc = BCryptBufferDesc; +pub type PNCryptBufferDesc = *mut BCryptBufferDesc; +pub type NCRYPT_HANDLE = ULONG_PTR; +pub type NCRYPT_PROV_HANDLE = ULONG_PTR; +pub type NCRYPT_KEY_HANDLE = ULONG_PTR; +pub type NCRYPT_HASH_HANDLE = ULONG_PTR; +pub type NCRYPT_SECRET_HANDLE = ULONG_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_CIPHER_PADDING_INFO { + pub cbSize: ULONG, + pub dwFlags: DWORD, + pub pbIV: PUCHAR, + pub cbIV: ULONG, + pub pbOtherInfo: PUCHAR, + pub cbOtherInfo: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_CIPHER_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_CIPHER_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_CIPHER_PADDING_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_NCRYPT_CIPHER_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_CIPHER_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_NCRYPT_CIPHER_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbIV) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(pbIV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbIV) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(cbIV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbOtherInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(pbOtherInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbOtherInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_CIPHER_PADDING_INFO), + "::", + stringify!(cbOtherInfo) + ) + ); +} +pub type NCRYPT_CIPHER_PADDING_INFO = _NCRYPT_CIPHER_PADDING_INFO; +pub type PNCRYPT_CIPHER_PADDING_INFO = *mut _NCRYPT_CIPHER_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_PLATFORM_ATTEST_PADDING_INFO { + pub magic: ULONG, + pub pcrMask: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_PLATFORM_ATTEST_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_PLATFORM_ATTEST_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_PLATFORM_ATTEST_PADDING_INFO>(), + 8usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_PLATFORM_ATTEST_PADDING_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_PLATFORM_ATTEST_PADDING_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_PLATFORM_ATTEST_PADDING_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_PLATFORM_ATTEST_PADDING_INFO), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcrMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_PLATFORM_ATTEST_PADDING_INFO), + "::", + stringify!(pcrMask) + ) + ); +} +pub type NCRYPT_PLATFORM_ATTEST_PADDING_INFO = _NCRYPT_PLATFORM_ATTEST_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_KEY_ATTEST_PADDING_INFO { + pub magic: ULONG, + pub pbKeyBlob: PUCHAR, + pub cbKeyBlob: ULONG, + pub pbKeyAuth: PUCHAR, + pub cbKeyAuth: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_KEY_ATTEST_PADDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_KEY_ATTEST_PADDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_KEY_ATTEST_PADDING_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_KEY_ATTEST_PADDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbKeyBlob) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(pbKeyBlob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyBlob) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(cbKeyBlob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbKeyAuth) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(pbKeyAuth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyAuth) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_ATTEST_PADDING_INFO), + "::", + stringify!(cbKeyAuth) + ) + ); +} +pub type NCRYPT_KEY_ATTEST_PADDING_INFO = _NCRYPT_KEY_ATTEST_PADDING_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES { + pub Version: ULONG, + pub Flags: ULONG, + pub cbPublicKeyBlob: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES>(), + 12usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPublicKeyBlob) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES), + "::", + stringify!(cbPublicKeyBlob) + ) + ); +} +pub type NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES = _NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES; +pub type PNCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES = *mut _NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_VSM_KEY_ATTESTATION_STATEMENT { + pub Magic: ULONG, + pub Version: ULONG, + pub cbSignature: ULONG, + pub cbReport: ULONG, + pub cbAttributes: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_VSM_KEY_ATTESTATION_STATEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT>(), + 20usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSignature) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(cbSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReport) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(cbReport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAttributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_STATEMENT), + "::", + stringify!(cbAttributes) + ) + ); +} +pub type NCRYPT_VSM_KEY_ATTESTATION_STATEMENT = _NCRYPT_VSM_KEY_ATTESTATION_STATEMENT; +pub type PNCRYPT_VSM_KEY_ATTESTATION_STATEMENT = *mut _NCRYPT_VSM_KEY_ATTESTATION_STATEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS { + pub Version: ULONG, + pub TrustletId: ULONGLONG, + pub MinSvn: ULONG, + pub FlagsMask: ULONG, + pub FlagsExpected: ULONG, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS>(), + 32usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustletId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(TrustletId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSvn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(MinSvn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagsMask) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(FlagsMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagsExpected) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS), + "::", + stringify!(FlagsExpected) + ) + ); +} +impl _NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS { + #[inline] + pub fn AllowDebugging(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_AllowDebugging(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AllowDebugging: ULONG, + Reserved: ULONG, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AllowDebugging: u32 = unsafe { ::std::mem::transmute(AllowDebugging) }; + AllowDebugging as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS = + _NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS; +pub type PNCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS = + *mut _NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_EXPORTED_ISOLATED_KEY_HEADER { + pub Version: ULONG, + pub KeyUsage: ULONG, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub cbAlgName: ULONG, + pub cbNonce: ULONG, + pub cbAuthTag: ULONG, + pub cbWrappingKey: ULONG, + pub cbIsolatedKey: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_EXPORTED_ISOLATED_KEY_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>(), + 32usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyUsage) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(KeyUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAlgName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbAlgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbNonce) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbNonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAuthTag) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbAuthTag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbWrappingKey) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbWrappingKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbIsolatedKey) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_HEADER), + "::", + stringify!(cbIsolatedKey) + ) + ); +} +impl _NCRYPT_EXPORTED_ISOLATED_KEY_HEADER { + #[inline] + pub fn PerBootKey(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_PerBootKey(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + PerBootKey: ULONG, + Reserved: ULONG, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let PerBootKey: u32 = unsafe { ::std::mem::transmute(PerBootKey) }; + PerBootKey as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type NCRYPT_EXPORTED_ISOLATED_KEY_HEADER = _NCRYPT_EXPORTED_ISOLATED_KEY_HEADER; +pub type PNCRYPT_EXPORTED_ISOLATED_KEY_HEADER = *mut _NCRYPT_EXPORTED_ISOLATED_KEY_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE { + pub Header: NCRYPT_EXPORTED_ISOLATED_KEY_HEADER, +} +#[test] +fn bindgen_test_layout__NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE>(), + 32usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE), + "::", + stringify!(Header) + ) + ); +} +pub type NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE = _NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE; +pub type PNCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE = *mut _NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT { + pub Magic: UINT32, + pub Version: UINT32, + pub HeaderSize: UINT32, + pub cbCertifyInfo: UINT32, + pub cbSignature: UINT32, + pub cbTpmPublic: UINT32, +} +#[test] +fn bindgen_test_layout___NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>(), + 24usize, + concat!( + "Size of: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCertifyInfo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(cbCertifyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSignature) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(cbSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTpmPublic) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT), + "::", + stringify!(cbTpmPublic) + ) + ); +} +pub type NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT = + __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT; +pub type PNCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT = + *mut __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT { + pub Magic: ULONG, + pub Version: ULONG, + pub pcrAlg: ULONG, + pub cbSignature: ULONG, + pub cbQuote: ULONG, + pub cbPcrs: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>(), + 24usize, + concat!( + "Size of: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(Magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcrAlg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(pcrAlg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSignature) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(cbSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbQuote) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(cbQuote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPcrs) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT), + "::", + stringify!(cbPcrs) + ) + ); +} +pub type NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT = _NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT; +pub type PNCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT = + *mut _NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT; +extern "C" { + pub fn NCryptOpenStorageProvider( + phProvider: *mut NCRYPT_PROV_HANDLE, + pszProviderName: LPCWSTR, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCryptAlgorithmName { + pub pszName: LPWSTR, + pub dwClass: DWORD, + pub dwAlgOperations: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__NCryptAlgorithmName() { + const UNINIT: ::std::mem::MaybeUninit<_NCryptAlgorithmName> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCryptAlgorithmName>(), + 24usize, + concat!("Size of: ", stringify!(_NCryptAlgorithmName)) + ); + assert_eq!( + ::std::mem::align_of::<_NCryptAlgorithmName>(), + 8usize, + concat!("Alignment of ", stringify!(_NCryptAlgorithmName)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCryptAlgorithmName), + "::", + stringify!(pszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwClass) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCryptAlgorithmName), + "::", + stringify!(dwClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAlgOperations) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCryptAlgorithmName), + "::", + stringify!(dwAlgOperations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NCryptAlgorithmName), + "::", + stringify!(dwFlags) + ) + ); +} +pub type NCryptAlgorithmName = _NCryptAlgorithmName; +extern "C" { + pub fn NCryptEnumAlgorithms( + hProvider: NCRYPT_PROV_HANDLE, + dwAlgOperations: DWORD, + pdwAlgCount: *mut DWORD, + ppAlgList: *mut *mut NCryptAlgorithmName, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptIsAlgSupported( + hProvider: NCRYPT_PROV_HANDLE, + pszAlgId: LPCWSTR, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NCryptKeyName { + pub pszName: LPWSTR, + pub pszAlgid: LPWSTR, + pub dwLegacyKeySpec: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_NCryptKeyName() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(NCryptKeyName)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NCryptKeyName)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NCryptKeyName), + "::", + stringify!(pszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAlgid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NCryptKeyName), + "::", + stringify!(pszAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLegacyKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NCryptKeyName), + "::", + stringify!(dwLegacyKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(NCryptKeyName), + "::", + stringify!(dwFlags) + ) + ); +} +extern "C" { + pub fn NCryptEnumKeys( + hProvider: NCRYPT_PROV_HANDLE, + pszScope: LPCWSTR, + ppKeyName: *mut *mut NCryptKeyName, + ppEnumState: *mut PVOID, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NCryptProviderName { + pub pszName: LPWSTR, + pub pszComment: LPWSTR, +} +#[test] +fn bindgen_test_layout_NCryptProviderName() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(NCryptProviderName)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NCryptProviderName)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NCryptProviderName), + "::", + stringify!(pszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszComment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NCryptProviderName), + "::", + stringify!(pszComment) + ) + ); +} +extern "C" { + pub fn NCryptEnumStorageProviders( + pdwProviderCount: *mut DWORD, + ppProviderList: *mut *mut NCryptProviderName, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptFreeBuffer(pvInput: PVOID) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptOpenKey( + hProvider: NCRYPT_PROV_HANDLE, + phKey: *mut NCRYPT_KEY_HANDLE, + pszKeyName: LPCWSTR, + dwLegacyKeySpec: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptCreatePersistedKey( + hProvider: NCRYPT_PROV_HANDLE, + phKey: *mut NCRYPT_KEY_HANDLE, + pszAlgId: LPCWSTR, + pszKeyName: LPCWSTR, + dwLegacyKeySpec: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_UI_POLICY { + pub dwVersion: DWORD, + pub dwFlags: DWORD, + pub pszCreationTitle: LPCWSTR, + pub pszFriendlyName: LPCWSTR, + pub pszDescription: LPCWSTR, +} +#[test] +fn bindgen_test_layout___NCRYPT_UI_POLICY() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_UI_POLICY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_UI_POLICY>(), + 32usize, + concat!("Size of: ", stringify!(__NCRYPT_UI_POLICY)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_UI_POLICY>(), + 8usize, + concat!("Alignment of ", stringify!(__NCRYPT_UI_POLICY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCreationTitle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(pszCreationTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFriendlyName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(pszFriendlyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszDescription) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_UI_POLICY), + "::", + stringify!(pszDescription) + ) + ); +} +pub type NCRYPT_UI_POLICY = __NCRYPT_UI_POLICY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_KEY_ACCESS_POLICY_BLOB { + pub dwVersion: DWORD, + pub dwPolicyFlags: DWORD, + pub cbUserSid: DWORD, + pub cbApplicationSid: DWORD, +} +#[test] +fn bindgen_test_layout___NCRYPT_KEY_ACCESS_POLICY_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_KEY_ACCESS_POLICY_BLOB> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_KEY_ACCESS_POLICY_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_KEY_ACCESS_POLICY_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPolicyFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), + "::", + stringify!(dwPolicyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbUserSid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), + "::", + stringify!(cbUserSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbApplicationSid) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_KEY_ACCESS_POLICY_BLOB), + "::", + stringify!(cbApplicationSid) + ) + ); +} +pub type NCRYPT_KEY_ACCESS_POLICY_BLOB = __NCRYPT_KEY_ACCESS_POLICY_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_SUPPORTED_LENGTHS { + pub dwMinLength: DWORD, + pub dwMaxLength: DWORD, + pub dwIncrement: DWORD, + pub dwDefaultLength: DWORD, +} +#[test] +fn bindgen_test_layout___NCRYPT_SUPPORTED_LENGTHS() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_SUPPORTED_LENGTHS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_SUPPORTED_LENGTHS>(), + 16usize, + concat!("Size of: ", stringify!(__NCRYPT_SUPPORTED_LENGTHS)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_SUPPORTED_LENGTHS>(), + 4usize, + concat!("Alignment of ", stringify!(__NCRYPT_SUPPORTED_LENGTHS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_SUPPORTED_LENGTHS), + "::", + stringify!(dwMinLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_SUPPORTED_LENGTHS), + "::", + stringify!(dwMaxLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIncrement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_SUPPORTED_LENGTHS), + "::", + stringify!(dwIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDefaultLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_SUPPORTED_LENGTHS), + "::", + stringify!(dwDefaultLength) + ) + ); +} +pub type NCRYPT_SUPPORTED_LENGTHS = __NCRYPT_SUPPORTED_LENGTHS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO { + pub dwVersion: DWORD, + pub iExpiration: INT32, + pub pabNonce: [BYTE; 32usize], + pub pabPolicyRef: [BYTE; 32usize], + pub pabHMAC: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout___NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO>(), + 104usize, + concat!( + "Size of: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iExpiration) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(iExpiration) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pabNonce) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(pabNonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pabPolicyRef) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(pabPolicyRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pabHMAC) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO), + "::", + stringify!(pabHMAC) + ) + ); +} +pub type NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO = __NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_PCP_TPM_FW_VERSION_INFO { + pub major1: UINT16, + pub major2: UINT16, + pub minor1: UINT16, + pub minor2: UINT16, +} +#[test] +fn bindgen_test_layout___NCRYPT_PCP_TPM_FW_VERSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_PCP_TPM_FW_VERSION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_PCP_TPM_FW_VERSION_INFO>(), + 8usize, + concat!("Size of: ", stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_PCP_TPM_FW_VERSION_INFO>(), + 2usize, + concat!( + "Alignment of ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).major1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), + "::", + stringify!(major1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).major2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), + "::", + stringify!(major2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).minor1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), + "::", + stringify!(minor1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).minor2) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_TPM_FW_VERSION_INFO), + "::", + stringify!(minor2) + ) + ); +} +pub type NCRYPT_PCP_TPM_FW_VERSION_INFO = __NCRYPT_PCP_TPM_FW_VERSION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __NCRYPT_PCP_RAW_POLICYDIGEST { + pub dwVersion: DWORD, + pub cbDigest: DWORD, +} +#[test] +fn bindgen_test_layout___NCRYPT_PCP_RAW_POLICYDIGEST() { + const UNINIT: ::std::mem::MaybeUninit<__NCRYPT_PCP_RAW_POLICYDIGEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__NCRYPT_PCP_RAW_POLICYDIGEST>(), + 8usize, + concat!("Size of: ", stringify!(__NCRYPT_PCP_RAW_POLICYDIGEST)) + ); + assert_eq!( + ::std::mem::align_of::<__NCRYPT_PCP_RAW_POLICYDIGEST>(), + 4usize, + concat!("Alignment of ", stringify!(__NCRYPT_PCP_RAW_POLICYDIGEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_RAW_POLICYDIGEST), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbDigest) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(__NCRYPT_PCP_RAW_POLICYDIGEST), + "::", + stringify!(cbDigest) + ) + ); +} +pub type NCRYPT_PCP_RAW_POLICYDIGEST_INFO = __NCRYPT_PCP_RAW_POLICYDIGEST; +extern "C" { + pub fn NCryptGetProperty( + hObject: NCRYPT_HANDLE, + pszProperty: LPCWSTR, + pbOutput: PBYTE, + cbOutput: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptSetProperty( + hObject: NCRYPT_HANDLE, + pszProperty: LPCWSTR, + pbInput: PBYTE, + cbInput: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptFinalizeKey(hKey: NCRYPT_KEY_HANDLE, dwFlags: DWORD) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptEncrypt( + hKey: NCRYPT_KEY_HANDLE, + pbInput: PBYTE, + cbInput: DWORD, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbOutput: PBYTE, + cbOutput: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptDecrypt( + hKey: NCRYPT_KEY_HANDLE, + pbInput: PBYTE, + cbInput: DWORD, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbOutput: PBYTE, + cbOutput: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NCRYPT_KEY_BLOB_HEADER { + pub cbSize: ULONG, + pub dwMagic: ULONG, + pub cbAlgName: ULONG, + pub cbKeyData: ULONG, +} +#[test] +fn bindgen_test_layout__NCRYPT_KEY_BLOB_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_NCRYPT_KEY_BLOB_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NCRYPT_KEY_BLOB_HEADER>(), + 16usize, + concat!("Size of: ", stringify!(_NCRYPT_KEY_BLOB_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_NCRYPT_KEY_BLOB_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_NCRYPT_KEY_BLOB_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_BLOB_HEADER), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMagic) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_BLOB_HEADER), + "::", + stringify!(dwMagic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAlgName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_BLOB_HEADER), + "::", + stringify!(cbAlgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbKeyData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NCRYPT_KEY_BLOB_HEADER), + "::", + stringify!(cbKeyData) + ) + ); +} +pub type NCRYPT_KEY_BLOB_HEADER = _NCRYPT_KEY_BLOB_HEADER; +pub type PNCRYPT_KEY_BLOB_HEADER = *mut _NCRYPT_KEY_BLOB_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER { + pub magic: DWORD, + pub cbHeader: DWORD, + pub cbPublic: DWORD, + pub cbPrivate: DWORD, + pub cbName: DWORD, +} +#[test] +fn bindgen_test_layout_NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(magic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbHeader) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(cbHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPublic) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(cbPublic) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPrivate) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(cbPrivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER), + "::", + stringify!(cbName) + ) + ); +} +pub type PNCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER = *mut NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER; +extern "C" { + pub fn NCryptImportKey( + hProvider: NCRYPT_PROV_HANDLE, + hImportKey: NCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + pParameterList: *mut NCryptBufferDesc, + phKey: *mut NCRYPT_KEY_HANDLE, + pbData: PBYTE, + cbData: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptExportKey( + hKey: NCRYPT_KEY_HANDLE, + hExportKey: NCRYPT_KEY_HANDLE, + pszBlobType: LPCWSTR, + pParameterList: *mut NCryptBufferDesc, + pbOutput: PBYTE, + cbOutput: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptSignHash( + hKey: NCRYPT_KEY_HANDLE, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbHashValue: PBYTE, + cbHashValue: DWORD, + pbSignature: PBYTE, + cbSignature: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptVerifySignature( + hKey: NCRYPT_KEY_HANDLE, + pPaddingInfo: *mut ::std::os::raw::c_void, + pbHashValue: PBYTE, + cbHashValue: DWORD, + pbSignature: PBYTE, + cbSignature: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptDeleteKey(hKey: NCRYPT_KEY_HANDLE, dwFlags: DWORD) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptFreeObject(hObject: NCRYPT_HANDLE) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptIsKeyHandle(hKey: NCRYPT_KEY_HANDLE) -> BOOL; +} +extern "C" { + pub fn NCryptTranslateHandle( + phProvider: *mut NCRYPT_PROV_HANDLE, + phKey: *mut NCRYPT_KEY_HANDLE, + hLegacyProv: HCRYPTPROV, + hLegacyKey: HCRYPTKEY, + dwLegacyKeySpec: DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptNotifyChangeKey( + hProvider: NCRYPT_PROV_HANDLE, + phEvent: *mut HANDLE, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptSecretAgreement( + hPrivKey: NCRYPT_KEY_HANDLE, + hPubKey: NCRYPT_KEY_HANDLE, + phAgreedSecret: *mut NCRYPT_SECRET_HANDLE, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptDeriveKey( + hSharedSecret: NCRYPT_SECRET_HANDLE, + pwszKDF: LPCWSTR, + pParameterList: *mut NCryptBufferDesc, + pbDerivedKey: PBYTE, + cbDerivedKey: DWORD, + pcbResult: *mut DWORD, + dwFlags: ULONG, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptKeyDerivation( + hKey: NCRYPT_KEY_HANDLE, + pParameterList: *mut NCryptBufferDesc, + pbDerivedKey: PUCHAR, + cbDerivedKey: DWORD, + pcbResult: *mut DWORD, + dwFlags: ULONG, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptCreateClaim( + hSubjectKey: NCRYPT_KEY_HANDLE, + hAuthorityKey: NCRYPT_KEY_HANDLE, + dwClaimType: DWORD, + pParameterList: *mut NCryptBufferDesc, + pbClaimBlob: PBYTE, + cbClaimBlob: DWORD, + pcbResult: *mut DWORD, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +extern "C" { + pub fn NCryptVerifyClaim( + hSubjectKey: NCRYPT_KEY_HANDLE, + hAuthorityKey: NCRYPT_KEY_HANDLE, + dwClaimType: DWORD, + pParameterList: *mut NCryptBufferDesc, + pbClaimBlob: PBYTE, + cbClaimBlob: DWORD, + pOutput: *mut NCryptBufferDesc, + dwFlags: DWORD, + ) -> SECURITY_STATUS; +} +pub type HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = ULONG_PTR; +pub type HCRYPTPROV_LEGACY = ULONG_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_BIT_BLOB { + pub cbData: DWORD, + pub pbData: *mut BYTE, + pub cUnusedBits: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_BIT_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_BIT_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_BIT_BLOB>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_BIT_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_BIT_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_BIT_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BIT_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BIT_BLOB), + "::", + stringify!(pbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUnusedBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BIT_BLOB), + "::", + stringify!(cUnusedBits) + ) + ); +} +pub type CRYPT_BIT_BLOB = _CRYPT_BIT_BLOB; +pub type PCRYPT_BIT_BLOB = *mut _CRYPT_BIT_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ALGORITHM_IDENTIFIER { + pub pszObjId: LPSTR, + pub Parameters: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ALGORITHM_IDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ALGORITHM_IDENTIFIER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ALGORITHM_IDENTIFIER>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_ALGORITHM_IDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ALGORITHM_IDENTIFIER>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ALGORITHM_IDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Parameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ALGORITHM_IDENTIFIER), + "::", + stringify!(Parameters) + ) + ); +} +pub type CRYPT_ALGORITHM_IDENTIFIER = _CRYPT_ALGORITHM_IDENTIFIER; +pub type PCRYPT_ALGORITHM_IDENTIFIER = *mut _CRYPT_ALGORITHM_IDENTIFIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_OBJID_TABLE { + pub dwAlgId: DWORD, + pub pszObjId: LPCSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_OBJID_TABLE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OBJID_TABLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OBJID_TABLE>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_OBJID_TABLE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OBJID_TABLE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_OBJID_TABLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAlgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJID_TABLE), + "::", + stringify!(dwAlgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJID_TABLE), + "::", + stringify!(pszObjId) + ) + ); +} +pub type CRYPT_OBJID_TABLE = _CRYPT_OBJID_TABLE; +pub type PCRYPT_OBJID_TABLE = *mut _CRYPT_OBJID_TABLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_HASH_INFO { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Hash: CRYPT_HASH_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_HASH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_HASH_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_HASH_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_HASH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_HASH_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_HASH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_INFO), + "::", + stringify!(Hash) + ) + ); +} +pub type CRYPT_HASH_INFO = _CRYPT_HASH_INFO; +pub type PCRYPT_HASH_INFO = *mut _CRYPT_HASH_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_EXTENSION { + pub pszObjId: LPSTR, + pub fCritical: BOOL, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_EXTENSION() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_EXTENSION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_EXTENSION>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_EXTENSION)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_EXTENSION>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_EXTENSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSION), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCritical) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSION), + "::", + stringify!(fCritical) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSION), + "::", + stringify!(Value) + ) + ); +} +pub type CERT_EXTENSION = _CERT_EXTENSION; +pub type PCERT_EXTENSION = *mut _CERT_EXTENSION; +pub type PCCERT_EXTENSION = *const CERT_EXTENSION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ATTRIBUTE_TYPE_VALUE { + pub pszObjId: LPSTR, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ATTRIBUTE_TYPE_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ATTRIBUTE_TYPE_VALUE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ATTRIBUTE_TYPE_VALUE>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_ATTRIBUTE_TYPE_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ATTRIBUTE_TYPE_VALUE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ATTRIBUTE_TYPE_VALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE_TYPE_VALUE), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE_TYPE_VALUE), + "::", + stringify!(Value) + ) + ); +} +pub type CRYPT_ATTRIBUTE_TYPE_VALUE = _CRYPT_ATTRIBUTE_TYPE_VALUE; +pub type PCRYPT_ATTRIBUTE_TYPE_VALUE = *mut _CRYPT_ATTRIBUTE_TYPE_VALUE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ATTRIBUTE { + pub pszObjId: LPSTR, + pub cValue: DWORD, + pub rgValue: PCRYPT_ATTR_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ATTRIBUTE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ATTRIBUTE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ATTRIBUTE>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_ATTRIBUTE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ATTRIBUTE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ATTRIBUTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE), + "::", + stringify!(cValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTE), + "::", + stringify!(rgValue) + ) + ); +} +pub type CRYPT_ATTRIBUTE = _CRYPT_ATTRIBUTE; +pub type PCRYPT_ATTRIBUTE = *mut _CRYPT_ATTRIBUTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ATTRIBUTES { + pub cAttr: DWORD, + pub rgAttr: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CRYPT_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ATTRIBUTES>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTES), + "::", + stringify!(cAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ATTRIBUTES), + "::", + stringify!(rgAttr) + ) + ); +} +pub type CRYPT_ATTRIBUTES = _CRYPT_ATTRIBUTES; +pub type PCRYPT_ATTRIBUTES = *mut _CRYPT_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_RDN_ATTR { + pub pszObjId: LPSTR, + pub dwValueType: DWORD, + pub Value: CERT_RDN_VALUE_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_RDN_ATTR() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_RDN_ATTR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_RDN_ATTR>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_RDN_ATTR)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_RDN_ATTR>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_RDN_ATTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN_ATTR), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValueType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN_ATTR), + "::", + stringify!(dwValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN_ATTR), + "::", + stringify!(Value) + ) + ); +} +pub type CERT_RDN_ATTR = _CERT_RDN_ATTR; +pub type PCERT_RDN_ATTR = *mut _CERT_RDN_ATTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_RDN { + pub cRDNAttr: DWORD, + pub rgRDNAttr: PCERT_RDN_ATTR, +} +#[test] +fn bindgen_test_layout__CERT_RDN() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_RDN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_RDN>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_RDN)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_RDN>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_RDN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRDNAttr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN), + "::", + stringify!(cRDNAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgRDNAttr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_RDN), + "::", + stringify!(rgRDNAttr) + ) + ); +} +pub type CERT_RDN = _CERT_RDN; +pub type PCERT_RDN = *mut _CERT_RDN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_NAME_INFO { + pub cRDN: DWORD, + pub rgRDN: PCERT_RDN, +} +#[test] +fn bindgen_test_layout__CERT_NAME_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_NAME_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_NAME_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_NAME_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_NAME_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_NAME_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRDN) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_INFO), + "::", + stringify!(cRDN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgRDN) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_INFO), + "::", + stringify!(rgRDN) + ) + ); +} +pub type CERT_NAME_INFO = _CERT_NAME_INFO; +pub type PCERT_NAME_INFO = *mut _CERT_NAME_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_NAME_VALUE { + pub dwValueType: DWORD, + pub Value: CERT_RDN_VALUE_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_NAME_VALUE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_NAME_VALUE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_NAME_VALUE>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_NAME_VALUE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_NAME_VALUE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_NAME_VALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValueType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_VALUE), + "::", + stringify!(dwValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_VALUE), + "::", + stringify!(Value) + ) + ); +} +pub type CERT_NAME_VALUE = _CERT_NAME_VALUE; +pub type PCERT_NAME_VALUE = *mut _CERT_NAME_VALUE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_PUBLIC_KEY_INFO { + pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub PublicKey: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_PUBLIC_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_PUBLIC_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_PUBLIC_KEY_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_PUBLIC_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_PUBLIC_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_PUBLIC_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PUBLIC_KEY_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PublicKey) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PUBLIC_KEY_INFO), + "::", + stringify!(PublicKey) + ) + ); +} +pub type CERT_PUBLIC_KEY_INFO = _CERT_PUBLIC_KEY_INFO; +pub type PCERT_PUBLIC_KEY_INFO = *mut _CERT_PUBLIC_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ECC_PRIVATE_KEY_INFO { + pub dwVersion: DWORD, + pub PrivateKey: CRYPT_DER_BLOB, + pub szCurveOid: LPSTR, + pub PublicKey: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ECC_PRIVATE_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ECC_PRIVATE_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ECC_PRIVATE_KEY_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ECC_PRIVATE_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), + "::", + stringify!(PrivateKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCurveOid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), + "::", + stringify!(szCurveOid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PublicKey) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_PRIVATE_KEY_INFO), + "::", + stringify!(PublicKey) + ) + ); +} +pub type CRYPT_ECC_PRIVATE_KEY_INFO = _CRYPT_ECC_PRIVATE_KEY_INFO; +pub type PCRYPT_ECC_PRIVATE_KEY_INFO = *mut _CRYPT_ECC_PRIVATE_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PRIVATE_KEY_INFO { + pub Version: DWORD, + pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub PrivateKey: CRYPT_DER_BLOB, + pub pAttributes: PCRYPT_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__CRYPT_PRIVATE_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PRIVATE_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PRIVATE_KEY_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_PRIVATE_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PRIVATE_KEY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PRIVATE_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PRIVATE_KEY_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PRIVATE_KEY_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateKey) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PRIVATE_KEY_INFO), + "::", + stringify!(PrivateKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PRIVATE_KEY_INFO), + "::", + stringify!(pAttributes) + ) + ); +} +pub type CRYPT_PRIVATE_KEY_INFO = _CRYPT_PRIVATE_KEY_INFO; +pub type PCRYPT_PRIVATE_KEY_INFO = *mut _CRYPT_PRIVATE_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO { + pub EncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedPrivateKey: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_ENCRYPTED_PRIVATE_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO), + "::", + stringify!(EncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedPrivateKey) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPTED_PRIVATE_KEY_INFO), + "::", + stringify!(EncryptedPrivateKey) + ) + ); +} +pub type CRYPT_ENCRYPTED_PRIVATE_KEY_INFO = _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO; +pub type PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO = *mut _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO; +pub type PCRYPT_DECRYPT_PRIVATE_KEY_FUNC = ::std::option::Option< + unsafe extern "C" fn( + Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + EncryptedPrivateKey: CRYPT_DATA_BLOB, + pbClearTextKey: *mut BYTE, + pcbClearTextKey: *mut DWORD, + pVoidDecryptFunc: LPVOID, + ) -> BOOL, +>; +pub type PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC = ::std::option::Option< + unsafe extern "C" fn( + pAlgorithm: *mut CRYPT_ALGORITHM_IDENTIFIER, + pClearTextPrivateKey: *mut CRYPT_DATA_BLOB, + pbEncryptedKey: *mut BYTE, + pcbEncryptedKey: *mut DWORD, + pVoidEncryptFunc: LPVOID, + ) -> BOOL, +>; +pub type PCRYPT_RESOLVE_HCRYPTPROV_FUNC = ::std::option::Option< + unsafe extern "C" fn( + pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, + phCryptProv: *mut HCRYPTPROV, + pVoidResolveFunc: LPVOID, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PKCS8_IMPORT_PARAMS { + pub PrivateKey: CRYPT_DIGEST_BLOB, + pub pResolvehCryptProvFunc: PCRYPT_RESOLVE_HCRYPTPROV_FUNC, + pub pVoidResolveFunc: LPVOID, + pub pDecryptPrivateKeyFunc: PCRYPT_DECRYPT_PRIVATE_KEY_FUNC, + pub pVoidDecryptFunc: LPVOID, +} +#[test] +fn bindgen_test_layout__CRYPT_PKCS8_IMPORT_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PKCS8_IMPORT_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PKCS8_IMPORT_PARAMS>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_PKCS8_IMPORT_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PKCS8_IMPORT_PARAMS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PKCS8_IMPORT_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(PrivateKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResolvehCryptProvFunc) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(pResolvehCryptProvFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVoidResolveFunc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(pVoidResolveFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDecryptPrivateKeyFunc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(pDecryptPrivateKeyFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVoidDecryptFunc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_IMPORT_PARAMS), + "::", + stringify!(pVoidDecryptFunc) + ) + ); +} +pub type CRYPT_PKCS8_IMPORT_PARAMS = _CRYPT_PKCS8_IMPORT_PARAMS; +pub type PCRYPT_PKCS8_IMPORT_PARAMS = *mut _CRYPT_PKCS8_IMPORT_PARAMS; +pub type CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = _CRYPT_PKCS8_IMPORT_PARAMS; +pub type PCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = *mut _CRYPT_PKCS8_IMPORT_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PKCS8_EXPORT_PARAMS { + pub hCryptProv: HCRYPTPROV, + pub dwKeySpec: DWORD, + pub pszPrivateKeyObjId: LPSTR, + pub pEncryptPrivateKeyFunc: PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC, + pub pVoidEncryptFunc: LPVOID, +} +#[test] +fn bindgen_test_layout__CRYPT_PKCS8_EXPORT_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PKCS8_EXPORT_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PKCS8_EXPORT_PARAMS>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_PKCS8_EXPORT_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PKCS8_EXPORT_PARAMS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PKCS8_EXPORT_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPrivateKeyObjId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(pszPrivateKeyObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEncryptPrivateKeyFunc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(pEncryptPrivateKeyFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVoidEncryptFunc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS8_EXPORT_PARAMS), + "::", + stringify!(pVoidEncryptFunc) + ) + ); +} +pub type CRYPT_PKCS8_EXPORT_PARAMS = _CRYPT_PKCS8_EXPORT_PARAMS; +pub type PCRYPT_PKCS8_EXPORT_PARAMS = *mut _CRYPT_PKCS8_EXPORT_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_INFO { + pub dwVersion: DWORD, + pub SerialNumber: CRYPT_INTEGER_BLOB, + pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Issuer: CERT_NAME_BLOB, + pub NotBefore: FILETIME, + pub NotAfter: FILETIME, + pub Subject: CERT_NAME_BLOB, + pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, + pub IssuerUniqueId: CRYPT_BIT_BLOB, + pub SubjectUniqueId: CRYPT_BIT_BLOB, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CERT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_INFO>(), + 208usize, + concat!("Size of: ", stringify!(_CERT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Issuer) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(Issuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotBefore) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(NotBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotAfter) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(NotAfter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subject) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(Subject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectPublicKeyInfo) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(SubjectPublicKeyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IssuerUniqueId) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(IssuerUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectUniqueId) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(SubjectUniqueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_CERT_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CERT_INFO = _CERT_INFO; +pub type PCERT_INFO = *mut _CERT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_ENTRY { + pub SerialNumber: CRYPT_INTEGER_BLOB, + pub RevocationDate: FILETIME, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRL_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_CRL_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ENTRY), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevocationDate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ENTRY), + "::", + stringify!(RevocationDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ENTRY), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ENTRY), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRL_ENTRY = _CRL_ENTRY; +pub type PCRL_ENTRY = *mut _CRL_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_INFO { + pub dwVersion: DWORD, + pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Issuer: CERT_NAME_BLOB, + pub ThisUpdate: FILETIME, + pub NextUpdate: FILETIME, + pub cCRLEntry: DWORD, + pub rgCRLEntry: PCRL_ENTRY, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_INFO>(), + 96usize, + concat!("Size of: ", stringify!(_CRL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Issuer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(Issuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisUpdate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(ThisUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUpdate) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(NextUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCRLEntry) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(cCRLEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCRLEntry) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(rgCRLEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CRL_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRL_INFO = _CRL_INFO; +pub type PCRL_INFO = *mut _CRL_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_OR_CRL_BLOB { + pub dwChoice: DWORD, + pub cbEncoded: DWORD, + pub pbEncoded: *mut BYTE, +} +#[test] +fn bindgen_test_layout__CERT_OR_CRL_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_OR_CRL_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_OR_CRL_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_OR_CRL_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_OR_CRL_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_OR_CRL_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BLOB), + "::", + stringify!(dwChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEncoded) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BLOB), + "::", + stringify!(cbEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BLOB), + "::", + stringify!(pbEncoded) + ) + ); +} +pub type CERT_OR_CRL_BLOB = _CERT_OR_CRL_BLOB; +pub type PCERT_OR_CRL_BLOB = *mut _CERT_OR_CRL_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_OR_CRL_BUNDLE { + pub cItem: DWORD, + pub rgItem: PCERT_OR_CRL_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_OR_CRL_BUNDLE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_OR_CRL_BUNDLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_OR_CRL_BUNDLE>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_OR_CRL_BUNDLE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_OR_CRL_BUNDLE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_OR_CRL_BUNDLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cItem) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BUNDLE), + "::", + stringify!(cItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgItem) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OR_CRL_BUNDLE), + "::", + stringify!(rgItem) + ) + ); +} +pub type CERT_OR_CRL_BUNDLE = _CERT_OR_CRL_BUNDLE; +pub type PCERT_OR_CRL_BUNDLE = *mut _CERT_OR_CRL_BUNDLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REQUEST_INFO { + pub dwVersion: DWORD, + pub Subject: CERT_NAME_BLOB, + pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, + pub cAttribute: DWORD, + pub rgAttribute: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CERT_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REQUEST_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REQUEST_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_CERT_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Subject) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(Subject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectPublicKeyInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(SubjectPublicKeyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttribute) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(cAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttribute) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REQUEST_INFO), + "::", + stringify!(rgAttribute) + ) + ); +} +pub type CERT_REQUEST_INFO = _CERT_REQUEST_INFO; +pub type PCERT_REQUEST_INFO = *mut _CERT_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_KEYGEN_REQUEST_INFO { + pub dwVersion: DWORD, + pub SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, + pub pwszChallengeString: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_KEYGEN_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEYGEN_REQUEST_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEYGEN_REQUEST_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_KEYGEN_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEYGEN_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_KEYGEN_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEYGEN_REQUEST_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectPublicKeyInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEYGEN_REQUEST_INFO), + "::", + stringify!(SubjectPublicKeyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszChallengeString) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEYGEN_REQUEST_INFO), + "::", + stringify!(pwszChallengeString) + ) + ); +} +pub type CERT_KEYGEN_REQUEST_INFO = _CERT_KEYGEN_REQUEST_INFO; +pub type PCERT_KEYGEN_REQUEST_INFO = *mut _CERT_KEYGEN_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SIGNED_CONTENT_INFO { + pub ToBeSigned: CRYPT_DER_BLOB, + pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Signature: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_SIGNED_CONTENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SIGNED_CONTENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SIGNED_CONTENT_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_SIGNED_CONTENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SIGNED_CONTENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SIGNED_CONTENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ToBeSigned) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIGNED_CONTENT_INFO), + "::", + stringify!(ToBeSigned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIGNED_CONTENT_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIGNED_CONTENT_INFO), + "::", + stringify!(Signature) + ) + ); +} +pub type CERT_SIGNED_CONTENT_INFO = _CERT_SIGNED_CONTENT_INFO; +pub type PCERT_SIGNED_CONTENT_INFO = *mut _CERT_SIGNED_CONTENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_USAGE { + pub cUsageIdentifier: DWORD, + pub rgpszUsageIdentifier: *mut LPSTR, +} +#[test] +fn bindgen_test_layout__CTL_USAGE() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_USAGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_USAGE>(), + 16usize, + concat!("Size of: ", stringify!(_CTL_USAGE)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_USAGE>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_USAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUsageIdentifier) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_USAGE), + "::", + stringify!(cUsageIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszUsageIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_USAGE), + "::", + stringify!(rgpszUsageIdentifier) + ) + ); +} +pub type CTL_USAGE = _CTL_USAGE; +pub type PCTL_USAGE = *mut _CTL_USAGE; +pub type CERT_ENHKEY_USAGE = _CTL_USAGE; +pub type PCERT_ENHKEY_USAGE = *mut _CTL_USAGE; +pub type PCCTL_USAGE = *const CTL_USAGE; +pub type PCCERT_ENHKEY_USAGE = *const CERT_ENHKEY_USAGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_ENTRY { + pub SubjectIdentifier: CRYPT_DATA_BLOB, + pub cAttribute: DWORD, + pub rgAttribute: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CTL_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_ENTRY>(), + 32usize, + concat!("Size of: ", stringify!(_CTL_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectIdentifier) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ENTRY), + "::", + stringify!(SubjectIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttribute) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ENTRY), + "::", + stringify!(cAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttribute) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ENTRY), + "::", + stringify!(rgAttribute) + ) + ); +} +pub type CTL_ENTRY = _CTL_ENTRY; +pub type PCTL_ENTRY = *mut _CTL_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_INFO { + pub dwVersion: DWORD, + pub SubjectUsage: CTL_USAGE, + pub ListIdentifier: CRYPT_DATA_BLOB, + pub SequenceNumber: CRYPT_INTEGER_BLOB, + pub ThisUpdate: FILETIME, + pub NextUpdate: FILETIME, + pub SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub cCTLEntry: DWORD, + pub rgCTLEntry: PCTL_ENTRY, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CTL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_INFO>(), + 128usize, + concat!("Size of: ", stringify!(_CTL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectUsage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(SubjectUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ListIdentifier) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(ListIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequenceNumber) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(SequenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisUpdate) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(ThisUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUpdate) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(NextUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectAlgorithm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(SubjectAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCTLEntry) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(cCTLEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCTLEntry) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(rgCTLEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CTL_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CTL_INFO = _CTL_INFO; +pub type PCTL_INFO = *mut _CTL_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIME_STAMP_REQUEST_INFO { + pub pszTimeStampAlgorithm: LPSTR, + pub pszContentType: LPSTR, + pub Content: CRYPT_OBJID_BLOB, + pub cAttribute: DWORD, + pub rgAttribute: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CRYPT_TIME_STAMP_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIME_STAMP_REQUEST_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIME_STAMP_REQUEST_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIME_STAMP_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTimeStampAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(pszTimeStampAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszContentType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(pszContentType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Content) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(Content) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttribute) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(cAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttribute) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIME_STAMP_REQUEST_INFO), + "::", + stringify!(rgAttribute) + ) + ); +} +pub type CRYPT_TIME_STAMP_REQUEST_INFO = _CRYPT_TIME_STAMP_REQUEST_INFO; +pub type PCRYPT_TIME_STAMP_REQUEST_INFO = *mut _CRYPT_TIME_STAMP_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ENROLLMENT_NAME_VALUE_PAIR { + pub pwszName: LPWSTR, + pub pwszValue: LPWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_ENROLLMENT_NAME_VALUE_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ENROLLMENT_NAME_VALUE_PAIR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ENROLLMENT_NAME_VALUE_PAIR>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_ENROLLMENT_NAME_VALUE_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ENROLLMENT_NAME_VALUE_PAIR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_ENROLLMENT_NAME_VALUE_PAIR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENROLLMENT_NAME_VALUE_PAIR), + "::", + stringify!(pwszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENROLLMENT_NAME_VALUE_PAIR), + "::", + stringify!(pwszValue) + ) + ); +} +pub type CRYPT_ENROLLMENT_NAME_VALUE_PAIR = _CRYPT_ENROLLMENT_NAME_VALUE_PAIR; +pub type PCRYPT_ENROLLMENT_NAME_VALUE_PAIR = *mut _CRYPT_ENROLLMENT_NAME_VALUE_PAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CSP_PROVIDER { + pub dwKeySpec: DWORD, + pub pwszProviderName: LPWSTR, + pub Signature: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_CSP_PROVIDER() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CSP_PROVIDER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CSP_PROVIDER>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPT_CSP_PROVIDER)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CSP_PROVIDER>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CSP_PROVIDER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CSP_PROVIDER), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszProviderName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CSP_PROVIDER), + "::", + stringify!(pwszProviderName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CSP_PROVIDER), + "::", + stringify!(Signature) + ) + ); +} +pub type CRYPT_CSP_PROVIDER = _CRYPT_CSP_PROVIDER; +pub type PCRYPT_CSP_PROVIDER = *mut _CRYPT_CSP_PROVIDER; +extern "C" { + pub fn CryptFormatObject( + dwCertEncodingType: DWORD, + dwFormatType: DWORD, + dwFormatStrType: DWORD, + pFormatStruct: *mut ::std::os::raw::c_void, + lpszStructType: LPCSTR, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pbFormat: *mut ::std::os::raw::c_void, + pcbFormat: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_ALLOC = ::std::option::Option LPVOID>; +pub type PFN_CRYPT_FREE = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ENCODE_PARA { + pub cbSize: DWORD, + pub pfnAlloc: PFN_CRYPT_ALLOC, + pub pfnFree: PFN_CRYPT_FREE, +} +#[test] +fn bindgen_test_layout__CRYPT_ENCODE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ENCODE_PARA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ENCODE_PARA>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_ENCODE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ENCODE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ENCODE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCODE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCODE_PARA), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCODE_PARA), + "::", + stringify!(pfnFree) + ) + ); +} +pub type CRYPT_ENCODE_PARA = _CRYPT_ENCODE_PARA; +pub type PCRYPT_ENCODE_PARA = *mut _CRYPT_ENCODE_PARA; +extern "C" { + pub fn CryptEncodeObjectEx( + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pvStructInfo: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pEncodePara: PCRYPT_ENCODE_PARA, + pvEncoded: *mut ::std::os::raw::c_void, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptEncodeObject( + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pvStructInfo: *const ::std::os::raw::c_void, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_DECODE_PARA { + pub cbSize: DWORD, + pub pfnAlloc: PFN_CRYPT_ALLOC, + pub pfnFree: PFN_CRYPT_FREE, +} +#[test] +fn bindgen_test_layout__CRYPT_DECODE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_DECODE_PARA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_DECODE_PARA>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_DECODE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_DECODE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_DECODE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECODE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECODE_PARA), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECODE_PARA), + "::", + stringify!(pfnFree) + ) + ); +} +pub type CRYPT_DECODE_PARA = _CRYPT_DECODE_PARA; +pub type PCRYPT_DECODE_PARA = *mut _CRYPT_DECODE_PARA; +extern "C" { + pub fn CryptDecodeObjectEx( + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + dwFlags: DWORD, + pDecodePara: PCRYPT_DECODE_PARA, + pvStructInfo: *mut ::std::os::raw::c_void, + pcbStructInfo: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecodeObject( + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + dwFlags: DWORD, + pvStructInfo: *mut ::std::os::raw::c_void, + pcbStructInfo: *mut DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_EXTENSIONS { + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CERT_EXTENSIONS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_EXTENSIONS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_EXTENSIONS>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_EXTENSIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_EXTENSIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_EXTENSIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSIONS), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_EXTENSIONS), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CERT_EXTENSIONS = _CERT_EXTENSIONS; +pub type PCERT_EXTENSIONS = *mut _CERT_EXTENSIONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_AUTHORITY_KEY_ID_INFO { + pub KeyId: CRYPT_DATA_BLOB, + pub CertIssuer: CERT_NAME_BLOB, + pub CertSerialNumber: CRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_AUTHORITY_KEY_ID_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_AUTHORITY_KEY_ID_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_AUTHORITY_KEY_ID_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_AUTHORITY_KEY_ID_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_AUTHORITY_KEY_ID_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_AUTHORITY_KEY_ID_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertIssuer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID_INFO), + "::", + stringify!(CertIssuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertSerialNumber) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID_INFO), + "::", + stringify!(CertSerialNumber) + ) + ); +} +pub type CERT_AUTHORITY_KEY_ID_INFO = _CERT_AUTHORITY_KEY_ID_INFO; +pub type PCERT_AUTHORITY_KEY_ID_INFO = *mut _CERT_AUTHORITY_KEY_ID_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_PRIVATE_KEY_VALIDITY { + pub NotBefore: FILETIME, + pub NotAfter: FILETIME, +} +#[test] +fn bindgen_test_layout__CERT_PRIVATE_KEY_VALIDITY() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_PRIVATE_KEY_VALIDITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_PRIVATE_KEY_VALIDITY>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_PRIVATE_KEY_VALIDITY)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_PRIVATE_KEY_VALIDITY>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_PRIVATE_KEY_VALIDITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotBefore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PRIVATE_KEY_VALIDITY), + "::", + stringify!(NotBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotAfter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PRIVATE_KEY_VALIDITY), + "::", + stringify!(NotAfter) + ) + ); +} +pub type CERT_PRIVATE_KEY_VALIDITY = _CERT_PRIVATE_KEY_VALIDITY; +pub type PCERT_PRIVATE_KEY_VALIDITY = *mut _CERT_PRIVATE_KEY_VALIDITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_KEY_ATTRIBUTES_INFO { + pub KeyId: CRYPT_DATA_BLOB, + pub IntendedKeyUsage: CRYPT_BIT_BLOB, + pub pPrivateKeyUsagePeriod: PCERT_PRIVATE_KEY_VALIDITY, +} +#[test] +fn bindgen_test_layout__CERT_KEY_ATTRIBUTES_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEY_ATTRIBUTES_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEY_ATTRIBUTES_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_KEY_ATTRIBUTES_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEY_ATTRIBUTES_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_KEY_ATTRIBUTES_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_ATTRIBUTES_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IntendedKeyUsage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_ATTRIBUTES_INFO), + "::", + stringify!(IntendedKeyUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrivateKeyUsagePeriod) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_ATTRIBUTES_INFO), + "::", + stringify!(pPrivateKeyUsagePeriod) + ) + ); +} +pub type CERT_KEY_ATTRIBUTES_INFO = _CERT_KEY_ATTRIBUTES_INFO; +pub type PCERT_KEY_ATTRIBUTES_INFO = *mut _CERT_KEY_ATTRIBUTES_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_ID { + pub cCertPolicyElementId: DWORD, + pub rgpszCertPolicyElementId: *mut LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_ID() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_ID>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_ID>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertPolicyElementId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_ID), + "::", + stringify!(cCertPolicyElementId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszCertPolicyElementId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_ID), + "::", + stringify!(rgpszCertPolicyElementId) + ) + ); +} +pub type CERT_POLICY_ID = _CERT_POLICY_ID; +pub type PCERT_POLICY_ID = *mut _CERT_POLICY_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_KEY_USAGE_RESTRICTION_INFO { + pub cCertPolicyId: DWORD, + pub rgCertPolicyId: PCERT_POLICY_ID, + pub RestrictedKeyUsage: CRYPT_BIT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_KEY_USAGE_RESTRICTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEY_USAGE_RESTRICTION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEY_USAGE_RESTRICTION_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEY_USAGE_RESTRICTION_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertPolicyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO), + "::", + stringify!(cCertPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCertPolicyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO), + "::", + stringify!(rgCertPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedKeyUsage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_USAGE_RESTRICTION_INFO), + "::", + stringify!(RestrictedKeyUsage) + ) + ); +} +pub type CERT_KEY_USAGE_RESTRICTION_INFO = _CERT_KEY_USAGE_RESTRICTION_INFO; +pub type PCERT_KEY_USAGE_RESTRICTION_INFO = *mut _CERT_KEY_USAGE_RESTRICTION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_OTHER_NAME { + pub pszObjId: LPSTR, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_OTHER_NAME() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_OTHER_NAME> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_OTHER_NAME>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_OTHER_NAME)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_OTHER_NAME>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_OTHER_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OTHER_NAME), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OTHER_NAME), + "::", + stringify!(Value) + ) + ); +} +pub type CERT_OTHER_NAME = _CERT_OTHER_NAME; +pub type PCERT_OTHER_NAME = *mut _CERT_OTHER_NAME; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_ALT_NAME_ENTRY { + pub dwAltNameChoice: DWORD, + pub __bindgen_anon_1: _CERT_ALT_NAME_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_ALT_NAME_ENTRY__bindgen_ty_1 { + pub pOtherName: PCERT_OTHER_NAME, + pub pwszRfc822Name: LPWSTR, + pub pwszDNSName: LPWSTR, + pub DirectoryName: CERT_NAME_BLOB, + pub pwszURL: LPWSTR, + pub IPAddress: CRYPT_DATA_BLOB, + pub pszRegisteredID: LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_ALT_NAME_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ALT_NAME_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ALT_NAME_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pOtherName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszRfc822Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pwszRfc822Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszDNSName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pwszDNSName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DirectoryName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(DirectoryName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszURL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pwszURL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IPAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(IPAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszRegisteredID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY__bindgen_ty_1), + "::", + stringify!(pszRegisteredID) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_ALT_NAME_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ALT_NAME_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ALT_NAME_ENTRY>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_ALT_NAME_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ALT_NAME_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ALT_NAME_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAltNameChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_ENTRY), + "::", + stringify!(dwAltNameChoice) + ) + ); +} +pub type CERT_ALT_NAME_ENTRY = _CERT_ALT_NAME_ENTRY; +pub type PCERT_ALT_NAME_ENTRY = *mut _CERT_ALT_NAME_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_ALT_NAME_INFO { + pub cAltEntry: DWORD, + pub rgAltEntry: PCERT_ALT_NAME_ENTRY, +} +#[test] +fn bindgen_test_layout__CERT_ALT_NAME_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ALT_NAME_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ALT_NAME_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_ALT_NAME_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ALT_NAME_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ALT_NAME_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAltEntry) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_INFO), + "::", + stringify!(cAltEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAltEntry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ALT_NAME_INFO), + "::", + stringify!(rgAltEntry) + ) + ); +} +pub type CERT_ALT_NAME_INFO = _CERT_ALT_NAME_INFO; +pub type PCERT_ALT_NAME_INFO = *mut _CERT_ALT_NAME_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_BASIC_CONSTRAINTS_INFO { + pub SubjectType: CRYPT_BIT_BLOB, + pub fPathLenConstraint: BOOL, + pub dwPathLenConstraint: DWORD, + pub cSubtreesConstraint: DWORD, + pub rgSubtreesConstraint: *mut CERT_NAME_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_BASIC_CONSTRAINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BASIC_CONSTRAINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BASIC_CONSTRAINTS_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_BASIC_CONSTRAINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BASIC_CONSTRAINTS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_BASIC_CONSTRAINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(SubjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPathLenConstraint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(fPathLenConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPathLenConstraint) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(dwPathLenConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSubtreesConstraint) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(cSubtreesConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgSubtreesConstraint) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS_INFO), + "::", + stringify!(rgSubtreesConstraint) + ) + ); +} +pub type CERT_BASIC_CONSTRAINTS_INFO = _CERT_BASIC_CONSTRAINTS_INFO; +pub type PCERT_BASIC_CONSTRAINTS_INFO = *mut _CERT_BASIC_CONSTRAINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_BASIC_CONSTRAINTS2_INFO { + pub fCA: BOOL, + pub fPathLenConstraint: BOOL, + pub dwPathLenConstraint: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_BASIC_CONSTRAINTS2_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BASIC_CONSTRAINTS2_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BASIC_CONSTRAINTS2_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_CERT_BASIC_CONSTRAINTS2_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BASIC_CONSTRAINTS2_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_BASIC_CONSTRAINTS2_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCA) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS2_INFO), + "::", + stringify!(fCA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPathLenConstraint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS2_INFO), + "::", + stringify!(fPathLenConstraint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPathLenConstraint) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BASIC_CONSTRAINTS2_INFO), + "::", + stringify!(dwPathLenConstraint) + ) + ); +} +pub type CERT_BASIC_CONSTRAINTS2_INFO = _CERT_BASIC_CONSTRAINTS2_INFO; +pub type PCERT_BASIC_CONSTRAINTS2_INFO = *mut _CERT_BASIC_CONSTRAINTS2_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_QUALIFIER_INFO { + pub pszPolicyQualifierId: LPSTR, + pub Qualifier: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_QUALIFIER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_QUALIFIER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_QUALIFIER_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_POLICY_QUALIFIER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_QUALIFIER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_QUALIFIER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPolicyQualifierId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_INFO), + "::", + stringify!(pszPolicyQualifierId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Qualifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_INFO), + "::", + stringify!(Qualifier) + ) + ); +} +pub type CERT_POLICY_QUALIFIER_INFO = _CERT_POLICY_QUALIFIER_INFO; +pub type PCERT_POLICY_QUALIFIER_INFO = *mut _CERT_POLICY_QUALIFIER_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_INFO { + pub pszPolicyIdentifier: LPSTR, + pub cPolicyQualifier: DWORD, + pub rgPolicyQualifier: *mut CERT_POLICY_QUALIFIER_INFO, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_POLICY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPolicyIdentifier) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_INFO), + "::", + stringify!(pszPolicyIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPolicyQualifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_INFO), + "::", + stringify!(cPolicyQualifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgPolicyQualifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_INFO), + "::", + stringify!(rgPolicyQualifier) + ) + ); +} +pub type CERT_POLICY_INFO = _CERT_POLICY_INFO; +pub type PCERT_POLICY_INFO = *mut _CERT_POLICY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICIES_INFO { + pub cPolicyInfo: DWORD, + pub rgPolicyInfo: *mut CERT_POLICY_INFO, +} +#[test] +fn bindgen_test_layout__CERT_POLICIES_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICIES_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICIES_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICIES_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICIES_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICIES_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPolicyInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICIES_INFO), + "::", + stringify!(cPolicyInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgPolicyInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICIES_INFO), + "::", + stringify!(rgPolicyInfo) + ) + ); +} +pub type CERT_POLICIES_INFO = _CERT_POLICIES_INFO; +pub type PCERT_POLICIES_INFO = *mut _CERT_POLICIES_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE { + pub pszOrganization: LPSTR, + pub cNoticeNumbers: DWORD, + pub rgNoticeNumbers: *mut ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_QUALIFIER_NOTICE_REFERENCE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE>(), + 24usize, + concat!( + "Size of: ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOrganization) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE), + "::", + stringify!(pszOrganization) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cNoticeNumbers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE), + "::", + stringify!(cNoticeNumbers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgNoticeNumbers) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_NOTICE_REFERENCE), + "::", + stringify!(rgNoticeNumbers) + ) + ); +} +pub type CERT_POLICY_QUALIFIER_NOTICE_REFERENCE = _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE; +pub type PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE = *mut _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_QUALIFIER_USER_NOTICE { + pub pNoticeReference: *mut CERT_POLICY_QUALIFIER_NOTICE_REFERENCE, + pub pszDisplayText: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_QUALIFIER_USER_NOTICE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_QUALIFIER_USER_NOTICE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_QUALIFIER_USER_NOTICE>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_QUALIFIER_USER_NOTICE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_QUALIFIER_USER_NOTICE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_POLICY_QUALIFIER_USER_NOTICE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNoticeReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_USER_NOTICE), + "::", + stringify!(pNoticeReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszDisplayText) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_QUALIFIER_USER_NOTICE), + "::", + stringify!(pszDisplayText) + ) + ); +} +pub type CERT_POLICY_QUALIFIER_USER_NOTICE = _CERT_POLICY_QUALIFIER_USER_NOTICE; +pub type PCERT_POLICY_QUALIFIER_USER_NOTICE = *mut _CERT_POLICY_QUALIFIER_USER_NOTICE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CPS_URLS { + pub pszURL: LPWSTR, + pub pAlgorithm: *mut CRYPT_ALGORITHM_IDENTIFIER, + pub pDigest: *mut CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CPS_URLS() { + const UNINIT: ::std::mem::MaybeUninit<_CPS_URLS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CPS_URLS>(), + 24usize, + concat!("Size of: ", stringify!(_CPS_URLS)) + ); + assert_eq!( + ::std::mem::align_of::<_CPS_URLS>(), + 8usize, + concat!("Alignment of ", stringify!(_CPS_URLS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszURL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CPS_URLS), + "::", + stringify!(pszURL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CPS_URLS), + "::", + stringify!(pAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDigest) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CPS_URLS), + "::", + stringify!(pDigest) + ) + ); +} +pub type CPS_URLS = _CPS_URLS; +pub type PCPS_URLS = *mut _CPS_URLS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY95_QUALIFIER1 { + pub pszPracticesReference: LPWSTR, + pub pszNoticeIdentifier: LPSTR, + pub pszNSINoticeIdentifier: LPSTR, + pub cCPSURLs: DWORD, + pub rgCPSURLs: *mut CPS_URLS, +} +#[test] +fn bindgen_test_layout__CERT_POLICY95_QUALIFIER1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY95_QUALIFIER1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY95_QUALIFIER1>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_POLICY95_QUALIFIER1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY95_QUALIFIER1>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY95_QUALIFIER1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPracticesReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(pszPracticesReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszNoticeIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(pszNoticeIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszNSINoticeIdentifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(pszNSINoticeIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCPSURLs) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(cCPSURLs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCPSURLs) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY95_QUALIFIER1), + "::", + stringify!(rgCPSURLs) + ) + ); +} +pub type CERT_POLICY95_QUALIFIER1 = _CERT_POLICY95_QUALIFIER1; +pub type PCERT_POLICY95_QUALIFIER1 = *mut _CERT_POLICY95_QUALIFIER1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_MAPPING { + pub pszIssuerDomainPolicy: LPSTR, + pub pszSubjectDomainPolicy: LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_MAPPING() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_MAPPING> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_MAPPING>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_MAPPING)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_MAPPING>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_MAPPING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIssuerDomainPolicy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_MAPPING), + "::", + stringify!(pszIssuerDomainPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszSubjectDomainPolicy) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_MAPPING), + "::", + stringify!(pszSubjectDomainPolicy) + ) + ); +} +pub type CERT_POLICY_MAPPING = _CERT_POLICY_MAPPING; +pub type PCERT_POLICY_MAPPING = *mut _CERT_POLICY_MAPPING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_MAPPINGS_INFO { + pub cPolicyMapping: DWORD, + pub rgPolicyMapping: PCERT_POLICY_MAPPING, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_MAPPINGS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_MAPPINGS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_MAPPINGS_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_MAPPINGS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_MAPPINGS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_MAPPINGS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPolicyMapping) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_MAPPINGS_INFO), + "::", + stringify!(cPolicyMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgPolicyMapping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_MAPPINGS_INFO), + "::", + stringify!(rgPolicyMapping) + ) + ); +} +pub type CERT_POLICY_MAPPINGS_INFO = _CERT_POLICY_MAPPINGS_INFO; +pub type PCERT_POLICY_MAPPINGS_INFO = *mut _CERT_POLICY_MAPPINGS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_POLICY_CONSTRAINTS_INFO { + pub fRequireExplicitPolicy: BOOL, + pub dwRequireExplicitPolicySkipCerts: DWORD, + pub fInhibitPolicyMapping: BOOL, + pub dwInhibitPolicyMappingSkipCerts: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_POLICY_CONSTRAINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_POLICY_CONSTRAINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_POLICY_CONSTRAINTS_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_POLICY_CONSTRAINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_POLICY_CONSTRAINTS_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_POLICY_CONSTRAINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fRequireExplicitPolicy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_CONSTRAINTS_INFO), + "::", + stringify!(fRequireExplicitPolicy) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dwRequireExplicitPolicySkipCerts) as usize - ptr as usize + }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_CONSTRAINTS_INFO), + "::", + stringify!(dwRequireExplicitPolicySkipCerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fInhibitPolicyMapping) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_CONSTRAINTS_INFO), + "::", + stringify!(fInhibitPolicyMapping) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dwInhibitPolicyMappingSkipCerts) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_POLICY_CONSTRAINTS_INFO), + "::", + stringify!(dwInhibitPolicyMappingSkipCerts) + ) + ); +} +pub type CERT_POLICY_CONSTRAINTS_INFO = _CERT_POLICY_CONSTRAINTS_INFO; +pub type PCERT_POLICY_CONSTRAINTS_INFO = *mut _CERT_POLICY_CONSTRAINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY { + pub pszObjId: LPSTR, + pub cValue: DWORD, + pub rgValue: PCRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY), + "::", + stringify!(cValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY), + "::", + stringify!(rgValue) + ) + ); +} +pub type CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY = _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY; +pub type PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY = *mut _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CONTENT_INFO { + pub pszObjId: LPSTR, + pub Content: CRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_CONTENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CONTENT_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CONTENT_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_CONTENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CONTENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CONTENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Content) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CONTENT_INFO), + "::", + stringify!(Content) + ) + ); +} +pub type CRYPT_CONTENT_INFO = _CRYPT_CONTENT_INFO; +pub type PCRYPT_CONTENT_INFO = *mut _CRYPT_CONTENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SEQUENCE_OF_ANY { + pub cValue: DWORD, + pub rgValue: PCRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_SEQUENCE_OF_ANY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SEQUENCE_OF_ANY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SEQUENCE_OF_ANY>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_SEQUENCE_OF_ANY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SEQUENCE_OF_ANY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_SEQUENCE_OF_ANY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SEQUENCE_OF_ANY), + "::", + stringify!(cValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SEQUENCE_OF_ANY), + "::", + stringify!(rgValue) + ) + ); +} +pub type CRYPT_SEQUENCE_OF_ANY = _CRYPT_SEQUENCE_OF_ANY; +pub type PCRYPT_SEQUENCE_OF_ANY = *mut _CRYPT_SEQUENCE_OF_ANY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_AUTHORITY_KEY_ID2_INFO { + pub KeyId: CRYPT_DATA_BLOB, + pub AuthorityCertIssuer: CERT_ALT_NAME_INFO, + pub AuthorityCertSerialNumber: CRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_AUTHORITY_KEY_ID2_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_AUTHORITY_KEY_ID2_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_AUTHORITY_KEY_ID2_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_AUTHORITY_KEY_ID2_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_AUTHORITY_KEY_ID2_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_AUTHORITY_KEY_ID2_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID2_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthorityCertIssuer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID2_INFO), + "::", + stringify!(AuthorityCertIssuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthorityCertSerialNumber) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_KEY_ID2_INFO), + "::", + stringify!(AuthorityCertSerialNumber) + ) + ); +} +pub type CERT_AUTHORITY_KEY_ID2_INFO = _CERT_AUTHORITY_KEY_ID2_INFO; +pub type PCERT_AUTHORITY_KEY_ID2_INFO = *mut _CERT_AUTHORITY_KEY_ID2_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_ACCESS_DESCRIPTION { + pub pszAccessMethod: LPSTR, + pub AccessLocation: CERT_ALT_NAME_ENTRY, +} +#[test] +fn bindgen_test_layout__CERT_ACCESS_DESCRIPTION() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ACCESS_DESCRIPTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ACCESS_DESCRIPTION>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_ACCESS_DESCRIPTION)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ACCESS_DESCRIPTION>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ACCESS_DESCRIPTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszAccessMethod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ACCESS_DESCRIPTION), + "::", + stringify!(pszAccessMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessLocation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ACCESS_DESCRIPTION), + "::", + stringify!(AccessLocation) + ) + ); +} +pub type CERT_ACCESS_DESCRIPTION = _CERT_ACCESS_DESCRIPTION; +pub type PCERT_ACCESS_DESCRIPTION = *mut _CERT_ACCESS_DESCRIPTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_AUTHORITY_INFO_ACCESS { + pub cAccDescr: DWORD, + pub rgAccDescr: PCERT_ACCESS_DESCRIPTION, +} +#[test] +fn bindgen_test_layout__CERT_AUTHORITY_INFO_ACCESS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_AUTHORITY_INFO_ACCESS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_AUTHORITY_INFO_ACCESS>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_AUTHORITY_INFO_ACCESS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_AUTHORITY_INFO_ACCESS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_AUTHORITY_INFO_ACCESS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccDescr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_INFO_ACCESS), + "::", + stringify!(cAccDescr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAccDescr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_AUTHORITY_INFO_ACCESS), + "::", + stringify!(rgAccDescr) + ) + ); +} +pub type CERT_AUTHORITY_INFO_ACCESS = _CERT_AUTHORITY_INFO_ACCESS; +pub type PCERT_AUTHORITY_INFO_ACCESS = *mut _CERT_AUTHORITY_INFO_ACCESS; +pub type CERT_SUBJECT_INFO_ACCESS = _CERT_AUTHORITY_INFO_ACCESS; +pub type PCERT_SUBJECT_INFO_ACCESS = *mut _CERT_AUTHORITY_INFO_ACCESS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRL_DIST_POINT_NAME { + pub dwDistPointNameChoice: DWORD, + pub __bindgen_anon_1: _CRL_DIST_POINT_NAME__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CRL_DIST_POINT_NAME__bindgen_ty_1 { + pub FullName: CERT_ALT_NAME_INFO, +} +#[test] +fn bindgen_test_layout__CRL_DIST_POINT_NAME__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_DIST_POINT_NAME__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_DIST_POINT_NAME__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_CRL_DIST_POINT_NAME__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_DIST_POINT_NAME__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRL_DIST_POINT_NAME__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FullName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT_NAME__bindgen_ty_1), + "::", + stringify!(FullName) + ) + ); +} +#[test] +fn bindgen_test_layout__CRL_DIST_POINT_NAME() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_DIST_POINT_NAME> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_DIST_POINT_NAME>(), + 24usize, + concat!("Size of: ", stringify!(_CRL_DIST_POINT_NAME)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_DIST_POINT_NAME>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_DIST_POINT_NAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDistPointNameChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT_NAME), + "::", + stringify!(dwDistPointNameChoice) + ) + ); +} +pub type CRL_DIST_POINT_NAME = _CRL_DIST_POINT_NAME; +pub type PCRL_DIST_POINT_NAME = *mut _CRL_DIST_POINT_NAME; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRL_DIST_POINT { + pub DistPointName: CRL_DIST_POINT_NAME, + pub ReasonFlags: CRYPT_BIT_BLOB, + pub CRLIssuer: CERT_ALT_NAME_INFO, +} +#[test] +fn bindgen_test_layout__CRL_DIST_POINT() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_DIST_POINT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_DIST_POINT>(), + 64usize, + concat!("Size of: ", stringify!(_CRL_DIST_POINT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_DIST_POINT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_DIST_POINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DistPointName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT), + "::", + stringify!(DistPointName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT), + "::", + stringify!(ReasonFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CRLIssuer) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINT), + "::", + stringify!(CRLIssuer) + ) + ); +} +pub type CRL_DIST_POINT = _CRL_DIST_POINT; +pub type PCRL_DIST_POINT = *mut _CRL_DIST_POINT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_DIST_POINTS_INFO { + pub cDistPoint: DWORD, + pub rgDistPoint: PCRL_DIST_POINT, +} +#[test] +fn bindgen_test_layout__CRL_DIST_POINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_DIST_POINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_DIST_POINTS_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CRL_DIST_POINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_DIST_POINTS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_DIST_POINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDistPoint) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINTS_INFO), + "::", + stringify!(cDistPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgDistPoint) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_DIST_POINTS_INFO), + "::", + stringify!(rgDistPoint) + ) + ); +} +pub type CRL_DIST_POINTS_INFO = _CRL_DIST_POINTS_INFO; +pub type PCRL_DIST_POINTS_INFO = *mut _CRL_DIST_POINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CROSS_CERT_DIST_POINTS_INFO { + pub dwSyncDeltaTime: DWORD, + pub cDistPoint: DWORD, + pub rgDistPoint: PCERT_ALT_NAME_INFO, +} +#[test] +fn bindgen_test_layout__CROSS_CERT_DIST_POINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CROSS_CERT_DIST_POINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CROSS_CERT_DIST_POINTS_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CROSS_CERT_DIST_POINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CROSS_CERT_DIST_POINTS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CROSS_CERT_DIST_POINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSyncDeltaTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CROSS_CERT_DIST_POINTS_INFO), + "::", + stringify!(dwSyncDeltaTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDistPoint) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CROSS_CERT_DIST_POINTS_INFO), + "::", + stringify!(cDistPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgDistPoint) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CROSS_CERT_DIST_POINTS_INFO), + "::", + stringify!(rgDistPoint) + ) + ); +} +pub type CROSS_CERT_DIST_POINTS_INFO = _CROSS_CERT_DIST_POINTS_INFO; +pub type PCROSS_CERT_DIST_POINTS_INFO = *mut _CROSS_CERT_DIST_POINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_PAIR { + pub Forward: CERT_BLOB, + pub Reverse: CERT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_PAIR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_PAIR>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_PAIR>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_PAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Forward) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PAIR), + "::", + stringify!(Forward) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reverse) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PAIR), + "::", + stringify!(Reverse) + ) + ); +} +pub type CERT_PAIR = _CERT_PAIR; +pub type PCERT_PAIR = *mut _CERT_PAIR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRL_ISSUING_DIST_POINT { + pub DistPointName: CRL_DIST_POINT_NAME, + pub fOnlyContainsUserCerts: BOOL, + pub fOnlyContainsCACerts: BOOL, + pub OnlySomeReasonFlags: CRYPT_BIT_BLOB, + pub fIndirectCRL: BOOL, +} +#[test] +fn bindgen_test_layout__CRL_ISSUING_DIST_POINT() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_ISSUING_DIST_POINT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_ISSUING_DIST_POINT>(), + 64usize, + concat!("Size of: ", stringify!(_CRL_ISSUING_DIST_POINT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_ISSUING_DIST_POINT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_ISSUING_DIST_POINT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DistPointName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(DistPointName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fOnlyContainsUserCerts) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(fOnlyContainsUserCerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fOnlyContainsCACerts) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(fOnlyContainsCACerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnlySomeReasonFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(OnlySomeReasonFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIndirectCRL) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRL_ISSUING_DIST_POINT), + "::", + stringify!(fIndirectCRL) + ) + ); +} +pub type CRL_ISSUING_DIST_POINT = _CRL_ISSUING_DIST_POINT; +pub type PCRL_ISSUING_DIST_POINT = *mut _CRL_ISSUING_DIST_POINT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_GENERAL_SUBTREE { + pub Base: CERT_ALT_NAME_ENTRY, + pub dwMinimum: DWORD, + pub fMaximum: BOOL, + pub dwMaximum: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_GENERAL_SUBTREE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_GENERAL_SUBTREE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_GENERAL_SUBTREE>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_GENERAL_SUBTREE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_GENERAL_SUBTREE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_GENERAL_SUBTREE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Base) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_GENERAL_SUBTREE), + "::", + stringify!(Base) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinimum) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_GENERAL_SUBTREE), + "::", + stringify!(dwMinimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMaximum) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CERT_GENERAL_SUBTREE), + "::", + stringify!(fMaximum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaximum) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_GENERAL_SUBTREE), + "::", + stringify!(dwMaximum) + ) + ); +} +pub type CERT_GENERAL_SUBTREE = _CERT_GENERAL_SUBTREE; +pub type PCERT_GENERAL_SUBTREE = *mut _CERT_GENERAL_SUBTREE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_NAME_CONSTRAINTS_INFO { + pub cPermittedSubtree: DWORD, + pub rgPermittedSubtree: PCERT_GENERAL_SUBTREE, + pub cExcludedSubtree: DWORD, + pub rgExcludedSubtree: PCERT_GENERAL_SUBTREE, +} +#[test] +fn bindgen_test_layout__CERT_NAME_CONSTRAINTS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_NAME_CONSTRAINTS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_NAME_CONSTRAINTS_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_NAME_CONSTRAINTS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_NAME_CONSTRAINTS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_NAME_CONSTRAINTS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPermittedSubtree) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_CONSTRAINTS_INFO), + "::", + stringify!(cPermittedSubtree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgPermittedSubtree) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_CONSTRAINTS_INFO), + "::", + stringify!(rgPermittedSubtree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExcludedSubtree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_CONSTRAINTS_INFO), + "::", + stringify!(cExcludedSubtree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExcludedSubtree) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_NAME_CONSTRAINTS_INFO), + "::", + stringify!(rgExcludedSubtree) + ) + ); +} +pub type CERT_NAME_CONSTRAINTS_INFO = _CERT_NAME_CONSTRAINTS_INFO; +pub type PCERT_NAME_CONSTRAINTS_INFO = *mut _CERT_NAME_CONSTRAINTS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_DSS_PARAMETERS { + pub p: CRYPT_UINT_BLOB, + pub q: CRYPT_UINT_BLOB, + pub g: CRYPT_UINT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_DSS_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_DSS_PARAMETERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_DSS_PARAMETERS>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_DSS_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_DSS_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_DSS_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DSS_PARAMETERS), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DSS_PARAMETERS), + "::", + stringify!(q) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DSS_PARAMETERS), + "::", + stringify!(g) + ) + ); +} +pub type CERT_DSS_PARAMETERS = _CERT_DSS_PARAMETERS; +pub type PCERT_DSS_PARAMETERS = *mut _CERT_DSS_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_DH_PARAMETERS { + pub p: CRYPT_UINT_BLOB, + pub g: CRYPT_UINT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_DH_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_DH_PARAMETERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_DH_PARAMETERS>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_DH_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_DH_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_DH_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DH_PARAMETERS), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_DH_PARAMETERS), + "::", + stringify!(g) + ) + ); +} +pub type CERT_DH_PARAMETERS = _CERT_DH_PARAMETERS; +pub type PCERT_DH_PARAMETERS = *mut _CERT_DH_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_ECC_SIGNATURE { + pub r: CRYPT_UINT_BLOB, + pub s: CRYPT_UINT_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_ECC_SIGNATURE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ECC_SIGNATURE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ECC_SIGNATURE>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_ECC_SIGNATURE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ECC_SIGNATURE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ECC_SIGNATURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ECC_SIGNATURE), + "::", + stringify!(r) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ECC_SIGNATURE), + "::", + stringify!(s) + ) + ); +} +pub type CERT_ECC_SIGNATURE = _CERT_ECC_SIGNATURE; +pub type PCERT_ECC_SIGNATURE = *mut _CERT_ECC_SIGNATURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_X942_DH_VALIDATION_PARAMS { + pub seed: CRYPT_BIT_BLOB, + pub pgenCounter: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_X942_DH_VALIDATION_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_X942_DH_VALIDATION_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_X942_DH_VALIDATION_PARAMS>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_X942_DH_VALIDATION_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_X942_DH_VALIDATION_PARAMS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_X942_DH_VALIDATION_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_VALIDATION_PARAMS), + "::", + stringify!(seed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pgenCounter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_VALIDATION_PARAMS), + "::", + stringify!(pgenCounter) + ) + ); +} +pub type CERT_X942_DH_VALIDATION_PARAMS = _CERT_X942_DH_VALIDATION_PARAMS; +pub type PCERT_X942_DH_VALIDATION_PARAMS = *mut _CERT_X942_DH_VALIDATION_PARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_X942_DH_PARAMETERS { + pub p: CRYPT_UINT_BLOB, + pub g: CRYPT_UINT_BLOB, + pub q: CRYPT_UINT_BLOB, + pub j: CRYPT_UINT_BLOB, + pub pValidationParams: PCERT_X942_DH_VALIDATION_PARAMS, +} +#[test] +fn bindgen_test_layout__CERT_X942_DH_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_X942_DH_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_X942_DH_PARAMETERS>(), + 72usize, + concat!("Size of: ", stringify!(_CERT_X942_DH_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_X942_DH_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_X942_DH_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(p) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).g) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(g) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).q) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(q) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).j) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(j) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pValidationParams) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CERT_X942_DH_PARAMETERS), + "::", + stringify!(pValidationParams) + ) + ); +} +pub type CERT_X942_DH_PARAMETERS = _CERT_X942_DH_PARAMETERS; +pub type PCERT_X942_DH_PARAMETERS = *mut _CERT_X942_DH_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_X942_OTHER_INFO { + pub pszContentEncryptionObjId: LPSTR, + pub rgbCounter: [BYTE; 4usize], + pub rgbKeyLength: [BYTE; 4usize], + pub PubInfo: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_X942_OTHER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_X942_OTHER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_X942_OTHER_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CRYPT_X942_OTHER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_X942_OTHER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_X942_OTHER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszContentEncryptionObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_X942_OTHER_INFO), + "::", + stringify!(pszContentEncryptionObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbCounter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_X942_OTHER_INFO), + "::", + stringify!(rgbCounter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbKeyLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_X942_OTHER_INFO), + "::", + stringify!(rgbKeyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PubInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_X942_OTHER_INFO), + "::", + stringify!(PubInfo) + ) + ); +} +pub type CRYPT_X942_OTHER_INFO = _CRYPT_X942_OTHER_INFO; +pub type PCRYPT_X942_OTHER_INFO = *mut _CRYPT_X942_OTHER_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ECC_CMS_SHARED_INFO { + pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EntityUInfo: CRYPT_DATA_BLOB, + pub rgbSuppPubInfo: [BYTE; 4usize], +} +#[test] +fn bindgen_test_layout__CRYPT_ECC_CMS_SHARED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ECC_CMS_SHARED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ECC_CMS_SHARED_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_ECC_CMS_SHARED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ECC_CMS_SHARED_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ECC_CMS_SHARED_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_CMS_SHARED_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntityUInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_CMS_SHARED_INFO), + "::", + stringify!(EntityUInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbSuppPubInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ECC_CMS_SHARED_INFO), + "::", + stringify!(rgbSuppPubInfo) + ) + ); +} +pub type CRYPT_ECC_CMS_SHARED_INFO = _CRYPT_ECC_CMS_SHARED_INFO; +pub type PCRYPT_ECC_CMS_SHARED_INFO = *mut _CRYPT_ECC_CMS_SHARED_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RC2_CBC_PARAMETERS { + pub dwVersion: DWORD, + pub fIV: BOOL, + pub rgbIV: [BYTE; 8usize], +} +#[test] +fn bindgen_test_layout__CRYPT_RC2_CBC_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RC2_CBC_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RC2_CBC_PARAMETERS>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_RC2_CBC_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RC2_CBC_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_RC2_CBC_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC2_CBC_PARAMETERS), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIV) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC2_CBC_PARAMETERS), + "::", + stringify!(fIV) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbIV) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RC2_CBC_PARAMETERS), + "::", + stringify!(rgbIV) + ) + ); +} +pub type CRYPT_RC2_CBC_PARAMETERS = _CRYPT_RC2_CBC_PARAMETERS; +pub type PCRYPT_RC2_CBC_PARAMETERS = *mut _CRYPT_RC2_CBC_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SMIME_CAPABILITY { + pub pszObjId: LPSTR, + pub Parameters: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_SMIME_CAPABILITY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SMIME_CAPABILITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SMIME_CAPABILITY>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_SMIME_CAPABILITY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SMIME_CAPABILITY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_SMIME_CAPABILITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMIME_CAPABILITY), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Parameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMIME_CAPABILITY), + "::", + stringify!(Parameters) + ) + ); +} +pub type CRYPT_SMIME_CAPABILITY = _CRYPT_SMIME_CAPABILITY; +pub type PCRYPT_SMIME_CAPABILITY = *mut _CRYPT_SMIME_CAPABILITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SMIME_CAPABILITIES { + pub cCapability: DWORD, + pub rgCapability: PCRYPT_SMIME_CAPABILITY, +} +#[test] +fn bindgen_test_layout__CRYPT_SMIME_CAPABILITIES() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SMIME_CAPABILITIES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SMIME_CAPABILITIES>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_SMIME_CAPABILITIES)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SMIME_CAPABILITIES>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_SMIME_CAPABILITIES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCapability) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMIME_CAPABILITIES), + "::", + stringify!(cCapability) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCapability) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMIME_CAPABILITIES), + "::", + stringify!(rgCapability) + ) + ); +} +pub type CRYPT_SMIME_CAPABILITIES = _CRYPT_SMIME_CAPABILITIES; +pub type PCRYPT_SMIME_CAPABILITIES = *mut _CRYPT_SMIME_CAPABILITIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_QC_STATEMENT { + pub pszStatementId: LPSTR, + pub StatementInfo: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_QC_STATEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_QC_STATEMENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_QC_STATEMENT>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_QC_STATEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_QC_STATEMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_QC_STATEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszStatementId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_QC_STATEMENT), + "::", + stringify!(pszStatementId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatementInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_QC_STATEMENT), + "::", + stringify!(StatementInfo) + ) + ); +} +pub type CERT_QC_STATEMENT = _CERT_QC_STATEMENT; +pub type PCERT_QC_STATEMENT = *mut _CERT_QC_STATEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_QC_STATEMENTS_EXT_INFO { + pub cStatement: DWORD, + pub rgStatement: PCERT_QC_STATEMENT, +} +#[test] +fn bindgen_test_layout__CERT_QC_STATEMENTS_EXT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_QC_STATEMENTS_EXT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_QC_STATEMENTS_EXT_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_QC_STATEMENTS_EXT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_QC_STATEMENTS_EXT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_QC_STATEMENTS_EXT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStatement) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_QC_STATEMENTS_EXT_INFO), + "::", + stringify!(cStatement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgStatement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_QC_STATEMENTS_EXT_INFO), + "::", + stringify!(rgStatement) + ) + ); +} +pub type CERT_QC_STATEMENTS_EXT_INFO = _CERT_QC_STATEMENTS_EXT_INFO; +pub type PCERT_QC_STATEMENTS_EXT_INFO = *mut _CERT_QC_STATEMENTS_EXT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_MASK_GEN_ALGORITHM { + pub pszObjId: LPSTR, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, +} +#[test] +fn bindgen_test_layout__CRYPT_MASK_GEN_ALGORITHM() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_MASK_GEN_ALGORITHM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_MASK_GEN_ALGORITHM>(), + 32usize, + concat!("Size of: ", stringify!(_CRYPT_MASK_GEN_ALGORITHM)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_MASK_GEN_ALGORITHM>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_MASK_GEN_ALGORITHM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_MASK_GEN_ALGORITHM), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_MASK_GEN_ALGORITHM), + "::", + stringify!(HashAlgorithm) + ) + ); +} +pub type CRYPT_MASK_GEN_ALGORITHM = _CRYPT_MASK_GEN_ALGORITHM; +pub type PCRYPT_MASK_GEN_ALGORITHM = *mut _CRYPT_MASK_GEN_ALGORITHM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RSA_SSA_PSS_PARAMETERS { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub MaskGenAlgorithm: CRYPT_MASK_GEN_ALGORITHM, + pub dwSaltLength: DWORD, + pub dwTrailerField: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_RSA_SSA_PSS_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RSA_SSA_PSS_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RSA_SSA_PSS_PARAMETERS>(), + 64usize, + concat!("Size of: ", stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RSA_SSA_PSS_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaskGenAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), + "::", + stringify!(MaskGenAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSaltLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), + "::", + stringify!(dwSaltLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTrailerField) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSA_SSA_PSS_PARAMETERS), + "::", + stringify!(dwTrailerField) + ) + ); +} +pub type CRYPT_RSA_SSA_PSS_PARAMETERS = _CRYPT_RSA_SSA_PSS_PARAMETERS; +pub type PCRYPT_RSA_SSA_PSS_PARAMETERS = *mut _CRYPT_RSA_SSA_PSS_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PSOURCE_ALGORITHM { + pub pszObjId: LPSTR, + pub EncodingParameters: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_PSOURCE_ALGORITHM() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PSOURCE_ALGORITHM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PSOURCE_ALGORITHM>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_PSOURCE_ALGORITHM)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PSOURCE_ALGORITHM>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PSOURCE_ALGORITHM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PSOURCE_ALGORITHM), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncodingParameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PSOURCE_ALGORITHM), + "::", + stringify!(EncodingParameters) + ) + ); +} +pub type CRYPT_PSOURCE_ALGORITHM = _CRYPT_PSOURCE_ALGORITHM; +pub type PCRYPT_PSOURCE_ALGORITHM = *mut _CRYPT_PSOURCE_ALGORITHM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RSAES_OAEP_PARAMETERS { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub MaskGenAlgorithm: CRYPT_MASK_GEN_ALGORITHM, + pub PSourceAlgorithm: CRYPT_PSOURCE_ALGORITHM, +} +#[test] +fn bindgen_test_layout__CRYPT_RSAES_OAEP_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RSAES_OAEP_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RSAES_OAEP_PARAMETERS>(), + 80usize, + concat!("Size of: ", stringify!(_CRYPT_RSAES_OAEP_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RSAES_OAEP_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_RSAES_OAEP_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSAES_OAEP_PARAMETERS), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaskGenAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSAES_OAEP_PARAMETERS), + "::", + stringify!(MaskGenAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PSourceAlgorithm) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RSAES_OAEP_PARAMETERS), + "::", + stringify!(PSourceAlgorithm) + ) + ); +} +pub type CRYPT_RSAES_OAEP_PARAMETERS = _CRYPT_RSAES_OAEP_PARAMETERS; +pub type PCRYPT_RSAES_OAEP_PARAMETERS = *mut _CRYPT_RSAES_OAEP_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_TAGGED_ATTRIBUTE { + pub dwBodyPartID: DWORD, + pub Attribute: CRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_ATTRIBUTE() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_ATTRIBUTE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_ATTRIBUTE>(), + 32usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_ATTRIBUTE)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_ATTRIBUTE>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_ATTRIBUTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBodyPartID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_ATTRIBUTE), + "::", + stringify!(dwBodyPartID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attribute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_ATTRIBUTE), + "::", + stringify!(Attribute) + ) + ); +} +pub type CMC_TAGGED_ATTRIBUTE = _CMC_TAGGED_ATTRIBUTE; +pub type PCMC_TAGGED_ATTRIBUTE = *mut _CMC_TAGGED_ATTRIBUTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_TAGGED_CERT_REQUEST { + pub dwBodyPartID: DWORD, + pub SignedCertRequest: CRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_CERT_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_CERT_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_CERT_REQUEST>(), + 24usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_CERT_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_CERT_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_CERT_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBodyPartID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_CERT_REQUEST), + "::", + stringify!(dwBodyPartID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignedCertRequest) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_CERT_REQUEST), + "::", + stringify!(SignedCertRequest) + ) + ); +} +pub type CMC_TAGGED_CERT_REQUEST = _CMC_TAGGED_CERT_REQUEST; +pub type PCMC_TAGGED_CERT_REQUEST = *mut _CMC_TAGGED_CERT_REQUEST; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMC_TAGGED_REQUEST { + pub dwTaggedRequestChoice: DWORD, + pub __bindgen_anon_1: _CMC_TAGGED_REQUEST__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMC_TAGGED_REQUEST__bindgen_ty_1 { + pub pTaggedCertRequest: PCMC_TAGGED_CERT_REQUEST, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_REQUEST__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_REQUEST__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_REQUEST__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_REQUEST__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_REQUEST__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMC_TAGGED_REQUEST__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTaggedCertRequest) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_REQUEST__bindgen_ty_1), + "::", + stringify!(pTaggedCertRequest) + ) + ); +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_REQUEST>(), + 16usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTaggedRequestChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_REQUEST), + "::", + stringify!(dwTaggedRequestChoice) + ) + ); +} +pub type CMC_TAGGED_REQUEST = _CMC_TAGGED_REQUEST; +pub type PCMC_TAGGED_REQUEST = *mut _CMC_TAGGED_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_TAGGED_CONTENT_INFO { + pub dwBodyPartID: DWORD, + pub EncodedContentInfo: CRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_CONTENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_CONTENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_CONTENT_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_CONTENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_CONTENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_CONTENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBodyPartID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_CONTENT_INFO), + "::", + stringify!(dwBodyPartID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncodedContentInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_CONTENT_INFO), + "::", + stringify!(EncodedContentInfo) + ) + ); +} +pub type CMC_TAGGED_CONTENT_INFO = _CMC_TAGGED_CONTENT_INFO; +pub type PCMC_TAGGED_CONTENT_INFO = *mut _CMC_TAGGED_CONTENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_TAGGED_OTHER_MSG { + pub dwBodyPartID: DWORD, + pub pszObjId: LPSTR, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__CMC_TAGGED_OTHER_MSG() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_TAGGED_OTHER_MSG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_TAGGED_OTHER_MSG>(), + 32usize, + concat!("Size of: ", stringify!(_CMC_TAGGED_OTHER_MSG)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_TAGGED_OTHER_MSG>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_TAGGED_OTHER_MSG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBodyPartID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_OTHER_MSG), + "::", + stringify!(dwBodyPartID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_OTHER_MSG), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_TAGGED_OTHER_MSG), + "::", + stringify!(Value) + ) + ); +} +pub type CMC_TAGGED_OTHER_MSG = _CMC_TAGGED_OTHER_MSG; +pub type PCMC_TAGGED_OTHER_MSG = *mut _CMC_TAGGED_OTHER_MSG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_DATA_INFO { + pub cTaggedAttribute: DWORD, + pub rgTaggedAttribute: PCMC_TAGGED_ATTRIBUTE, + pub cTaggedRequest: DWORD, + pub rgTaggedRequest: PCMC_TAGGED_REQUEST, + pub cTaggedContentInfo: DWORD, + pub rgTaggedContentInfo: PCMC_TAGGED_CONTENT_INFO, + pub cTaggedOtherMsg: DWORD, + pub rgTaggedOtherMsg: PCMC_TAGGED_OTHER_MSG, +} +#[test] +fn bindgen_test_layout__CMC_DATA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_DATA_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_DATA_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CMC_DATA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_DATA_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_DATA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedAttribute) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(cTaggedAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedAttribute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(rgTaggedAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedRequest) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(cTaggedRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedRequest) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(rgTaggedRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedContentInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(cTaggedContentInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedContentInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(rgTaggedContentInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedOtherMsg) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(cTaggedOtherMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedOtherMsg) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMC_DATA_INFO), + "::", + stringify!(rgTaggedOtherMsg) + ) + ); +} +pub type CMC_DATA_INFO = _CMC_DATA_INFO; +pub type PCMC_DATA_INFO = *mut _CMC_DATA_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_RESPONSE_INFO { + pub cTaggedAttribute: DWORD, + pub rgTaggedAttribute: PCMC_TAGGED_ATTRIBUTE, + pub cTaggedContentInfo: DWORD, + pub rgTaggedContentInfo: PCMC_TAGGED_CONTENT_INFO, + pub cTaggedOtherMsg: DWORD, + pub rgTaggedOtherMsg: PCMC_TAGGED_OTHER_MSG, +} +#[test] +fn bindgen_test_layout__CMC_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_RESPONSE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_RESPONSE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CMC_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_RESPONSE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_RESPONSE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedAttribute) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(cTaggedAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedAttribute) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(rgTaggedAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedContentInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(cTaggedContentInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedContentInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(rgTaggedContentInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTaggedOtherMsg) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(cTaggedOtherMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgTaggedOtherMsg) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMC_RESPONSE_INFO), + "::", + stringify!(rgTaggedOtherMsg) + ) + ); +} +pub type CMC_RESPONSE_INFO = _CMC_RESPONSE_INFO; +pub type PCMC_RESPONSE_INFO = *mut _CMC_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_PEND_INFO { + pub PendToken: CRYPT_DATA_BLOB, + pub PendTime: FILETIME, +} +#[test] +fn bindgen_test_layout__CMC_PEND_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_PEND_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_PEND_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMC_PEND_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_PEND_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_PEND_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PendToken) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_PEND_INFO), + "::", + stringify!(PendToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PendTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_PEND_INFO), + "::", + stringify!(PendTime) + ) + ); +} +pub type CMC_PEND_INFO = _CMC_PEND_INFO; +pub type PCMC_PEND_INFO = *mut _CMC_PEND_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMC_STATUS_INFO { + pub dwStatus: DWORD, + pub cBodyList: DWORD, + pub rgdwBodyList: *mut DWORD, + pub pwszStatusString: LPWSTR, + pub dwOtherInfoChoice: DWORD, + pub __bindgen_anon_1: _CMC_STATUS_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMC_STATUS_INFO__bindgen_ty_1 { + pub dwFailInfo: DWORD, + pub pPendInfo: PCMC_PEND_INFO, +} +#[test] +fn bindgen_test_layout__CMC_STATUS_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_STATUS_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_STATUS_INFO__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CMC_STATUS_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_STATUS_INFO__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_STATUS_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFailInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO__bindgen_ty_1), + "::", + stringify!(dwFailInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPendInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO__bindgen_ty_1), + "::", + stringify!(pPendInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__CMC_STATUS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_STATUS_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_STATUS_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CMC_STATUS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_STATUS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_STATUS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBodyList) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(cBodyList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgdwBodyList) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(rgdwBodyList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszStatusString) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(pwszStatusString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOtherInfoChoice) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_STATUS_INFO), + "::", + stringify!(dwOtherInfoChoice) + ) + ); +} +pub type CMC_STATUS_INFO = _CMC_STATUS_INFO; +pub type PCMC_STATUS_INFO = *mut _CMC_STATUS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_ADD_EXTENSIONS_INFO { + pub dwCmcDataReference: DWORD, + pub cCertReference: DWORD, + pub rgdwCertReference: *mut DWORD, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CMC_ADD_EXTENSIONS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_ADD_EXTENSIONS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_ADD_EXTENSIONS_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CMC_ADD_EXTENSIONS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_ADD_EXTENSIONS_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_ADD_EXTENSIONS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCmcDataReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(dwCmcDataReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertReference) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(cCertReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgdwCertReference) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(rgdwCertReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_EXTENSIONS_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CMC_ADD_EXTENSIONS_INFO = _CMC_ADD_EXTENSIONS_INFO; +pub type PCMC_ADD_EXTENSIONS_INFO = *mut _CMC_ADD_EXTENSIONS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMC_ADD_ATTRIBUTES_INFO { + pub dwCmcDataReference: DWORD, + pub cCertReference: DWORD, + pub rgdwCertReference: *mut DWORD, + pub cAttribute: DWORD, + pub rgAttribute: PCRYPT_ATTRIBUTE, +} +#[test] +fn bindgen_test_layout__CMC_ADD_ATTRIBUTES_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMC_ADD_ATTRIBUTES_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMC_ADD_ATTRIBUTES_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CMC_ADD_ATTRIBUTES_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMC_ADD_ATTRIBUTES_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMC_ADD_ATTRIBUTES_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCmcDataReference) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(dwCmcDataReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertReference) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(cCertReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgdwCertReference) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(rgdwCertReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAttribute) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(cAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAttribute) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMC_ADD_ATTRIBUTES_INFO), + "::", + stringify!(rgAttribute) + ) + ); +} +pub type CMC_ADD_ATTRIBUTES_INFO = _CMC_ADD_ATTRIBUTES_INFO; +pub type PCMC_ADD_ATTRIBUTES_INFO = *mut _CMC_ADD_ATTRIBUTES_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_TEMPLATE_EXT { + pub pszObjId: LPSTR, + pub dwMajorVersion: DWORD, + pub fMinorVersion: BOOL, + pub dwMinorVersion: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_TEMPLATE_EXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_TEMPLATE_EXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_TEMPLATE_EXT>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_TEMPLATE_EXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_TEMPLATE_EXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_TEMPLATE_EXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TEMPLATE_EXT), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMajorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TEMPLATE_EXT), + "::", + stringify!(dwMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMinorVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TEMPLATE_EXT), + "::", + stringify!(fMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMinorVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TEMPLATE_EXT), + "::", + stringify!(dwMinorVersion) + ) + ); +} +pub type CERT_TEMPLATE_EXT = _CERT_TEMPLATE_EXT; +pub type PCERT_TEMPLATE_EXT = *mut _CERT_TEMPLATE_EXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_HASHED_URL { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Hash: CRYPT_HASH_BLOB, + pub pwszUrl: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_HASHED_URL() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_HASHED_URL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_HASHED_URL>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_HASHED_URL)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_HASHED_URL>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_HASHED_URL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_HASHED_URL), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_HASHED_URL), + "::", + stringify!(Hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszUrl) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_HASHED_URL), + "::", + stringify!(pwszUrl) + ) + ); +} +pub type CERT_HASHED_URL = _CERT_HASHED_URL; +pub type PCERT_HASHED_URL = *mut _CERT_HASHED_URL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_DETAILS { + pub pwszMimeType: LPWSTR, + pub cHashedUrl: DWORD, + pub rgHashedUrl: PCERT_HASHED_URL, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_DETAILS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_DETAILS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_DETAILS>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_DETAILS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_DETAILS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_DETAILS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszMimeType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DETAILS), + "::", + stringify!(pwszMimeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cHashedUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DETAILS), + "::", + stringify!(cHashedUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgHashedUrl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DETAILS), + "::", + stringify!(rgHashedUrl) + ) + ); +} +pub type CERT_LOGOTYPE_DETAILS = _CERT_LOGOTYPE_DETAILS; +pub type PCERT_LOGOTYPE_DETAILS = *mut _CERT_LOGOTYPE_DETAILS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_REFERENCE { + pub cHashedUrl: DWORD, + pub rgHashedUrl: PCERT_HASHED_URL, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_REFERENCE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_REFERENCE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_REFERENCE>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_REFERENCE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_REFERENCE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_REFERENCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cHashedUrl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_REFERENCE), + "::", + stringify!(cHashedUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgHashedUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_REFERENCE), + "::", + stringify!(rgHashedUrl) + ) + ); +} +pub type CERT_LOGOTYPE_REFERENCE = _CERT_LOGOTYPE_REFERENCE; +pub type PCERT_LOGOTYPE_REFERENCE = *mut _CERT_LOGOTYPE_REFERENCE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_LOGOTYPE_IMAGE_INFO { + pub dwLogotypeImageInfoChoice: DWORD, + pub dwFileSize: DWORD, + pub dwXSize: DWORD, + pub dwYSize: DWORD, + pub dwLogotypeImageResolutionChoice: DWORD, + pub __bindgen_anon_1: _CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1, + pub pwszLanguage: LPWSTR, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1 { + pub dwNumBits: DWORD, + pub dwTableSize: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumBits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1), + "::", + stringify!(dwNumBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTableSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO__bindgen_ty_1), + "::", + stringify!(dwTableSize) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_IMAGE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_IMAGE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_IMAGE_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_IMAGE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_IMAGE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLogotypeImageInfoChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwLogotypeImageInfoChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwXSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwXSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwYSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwYSize) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dwLogotypeImageResolutionChoice) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(dwLogotypeImageResolutionChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszLanguage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE_INFO), + "::", + stringify!(pwszLanguage) + ) + ); +} +pub type CERT_LOGOTYPE_IMAGE_INFO = _CERT_LOGOTYPE_IMAGE_INFO; +pub type PCERT_LOGOTYPE_IMAGE_INFO = *mut _CERT_LOGOTYPE_IMAGE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_IMAGE { + pub LogotypeDetails: CERT_LOGOTYPE_DETAILS, + pub pLogotypeImageInfo: PCERT_LOGOTYPE_IMAGE_INFO, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_IMAGE() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_IMAGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_IMAGE>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_IMAGE)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_IMAGE>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_IMAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogotypeDetails) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE), + "::", + stringify!(LogotypeDetails) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLogotypeImageInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_IMAGE), + "::", + stringify!(pLogotypeImageInfo) + ) + ); +} +pub type CERT_LOGOTYPE_IMAGE = _CERT_LOGOTYPE_IMAGE; +pub type PCERT_LOGOTYPE_IMAGE = *mut _CERT_LOGOTYPE_IMAGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_AUDIO_INFO { + pub dwFileSize: DWORD, + pub dwPlayTime: DWORD, + pub dwChannels: DWORD, + pub dwSampleRate: DWORD, + pub pwszLanguage: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_AUDIO_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_AUDIO_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_AUDIO_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_AUDIO_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_AUDIO_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_AUDIO_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFileSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(dwFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlayTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(dwPlayTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwChannels) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(dwChannels) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSampleRate) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(dwSampleRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszLanguage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO_INFO), + "::", + stringify!(pwszLanguage) + ) + ); +} +pub type CERT_LOGOTYPE_AUDIO_INFO = _CERT_LOGOTYPE_AUDIO_INFO; +pub type PCERT_LOGOTYPE_AUDIO_INFO = *mut _CERT_LOGOTYPE_AUDIO_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_AUDIO { + pub LogotypeDetails: CERT_LOGOTYPE_DETAILS, + pub pLogotypeAudioInfo: PCERT_LOGOTYPE_AUDIO_INFO, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_AUDIO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_AUDIO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_AUDIO>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_AUDIO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_AUDIO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_AUDIO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogotypeDetails) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO), + "::", + stringify!(LogotypeDetails) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLogotypeAudioInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_AUDIO), + "::", + stringify!(pLogotypeAudioInfo) + ) + ); +} +pub type CERT_LOGOTYPE_AUDIO = _CERT_LOGOTYPE_AUDIO; +pub type PCERT_LOGOTYPE_AUDIO = *mut _CERT_LOGOTYPE_AUDIO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_DATA { + pub cLogotypeImage: DWORD, + pub rgLogotypeImage: PCERT_LOGOTYPE_IMAGE, + pub cLogotypeAudio: DWORD, + pub rgLogotypeAudio: PCERT_LOGOTYPE_AUDIO, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_DATA>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLogotypeImage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DATA), + "::", + stringify!(cLogotypeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgLogotypeImage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DATA), + "::", + stringify!(rgLogotypeImage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLogotypeAudio) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DATA), + "::", + stringify!(cLogotypeAudio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgLogotypeAudio) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_DATA), + "::", + stringify!(rgLogotypeAudio) + ) + ); +} +pub type CERT_LOGOTYPE_DATA = _CERT_LOGOTYPE_DATA; +pub type PCERT_LOGOTYPE_DATA = *mut _CERT_LOGOTYPE_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_LOGOTYPE_INFO { + pub dwLogotypeInfoChoice: DWORD, + pub __bindgen_anon_1: _CERT_LOGOTYPE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_LOGOTYPE_INFO__bindgen_ty_1 { + pub pLogotypeDirectInfo: PCERT_LOGOTYPE_DATA, + pub pLogotypeIndirectInfo: PCERT_LOGOTYPE_REFERENCE, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_INFO__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLogotypeDirectInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1), + "::", + stringify!(pLogotypeDirectInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLogotypeIndirectInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_INFO__bindgen_ty_1), + "::", + stringify!(pLogotypeIndirectInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLogotypeInfoChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_INFO), + "::", + stringify!(dwLogotypeInfoChoice) + ) + ); +} +pub type CERT_LOGOTYPE_INFO = _CERT_LOGOTYPE_INFO; +pub type PCERT_LOGOTYPE_INFO = *mut _CERT_LOGOTYPE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_OTHER_LOGOTYPE_INFO { + pub pszObjId: LPSTR, + pub LogotypeInfo: CERT_LOGOTYPE_INFO, +} +#[test] +fn bindgen_test_layout__CERT_OTHER_LOGOTYPE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_OTHER_LOGOTYPE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_OTHER_LOGOTYPE_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_OTHER_LOGOTYPE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_OTHER_LOGOTYPE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_OTHER_LOGOTYPE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OTHER_LOGOTYPE_INFO), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogotypeInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_OTHER_LOGOTYPE_INFO), + "::", + stringify!(LogotypeInfo) + ) + ); +} +pub type CERT_OTHER_LOGOTYPE_INFO = _CERT_OTHER_LOGOTYPE_INFO; +pub type PCERT_OTHER_LOGOTYPE_INFO = *mut _CERT_OTHER_LOGOTYPE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LOGOTYPE_EXT_INFO { + pub cCommunityLogo: DWORD, + pub rgCommunityLogo: PCERT_LOGOTYPE_INFO, + pub pIssuerLogo: PCERT_LOGOTYPE_INFO, + pub pSubjectLogo: PCERT_LOGOTYPE_INFO, + pub cOtherLogo: DWORD, + pub rgOtherLogo: PCERT_OTHER_LOGOTYPE_INFO, +} +#[test] +fn bindgen_test_layout__CERT_LOGOTYPE_EXT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LOGOTYPE_EXT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LOGOTYPE_EXT_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_LOGOTYPE_EXT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LOGOTYPE_EXT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LOGOTYPE_EXT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCommunityLogo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(cCommunityLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCommunityLogo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(rgCommunityLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIssuerLogo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(pIssuerLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSubjectLogo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(pSubjectLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cOtherLogo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(cOtherLogo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgOtherLogo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LOGOTYPE_EXT_INFO), + "::", + stringify!(rgOtherLogo) + ) + ); +} +pub type CERT_LOGOTYPE_EXT_INFO = _CERT_LOGOTYPE_EXT_INFO; +pub type PCERT_LOGOTYPE_EXT_INFO = *mut _CERT_LOGOTYPE_EXT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_BIOMETRIC_DATA { + pub dwTypeOfBiometricDataChoice: DWORD, + pub __bindgen_anon_1: _CERT_BIOMETRIC_DATA__bindgen_ty_1, + pub HashedUrl: CERT_HASHED_URL, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_BIOMETRIC_DATA__bindgen_ty_1 { + pub dwPredefined: DWORD, + pub pszObjId: LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_BIOMETRIC_DATA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BIOMETRIC_DATA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BIOMETRIC_DATA__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BIOMETRIC_DATA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPredefined) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1), + "::", + stringify!(dwPredefined) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_DATA__bindgen_ty_1), + "::", + stringify!(pszObjId) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_BIOMETRIC_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BIOMETRIC_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BIOMETRIC_DATA>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_BIOMETRIC_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BIOMETRIC_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_BIOMETRIC_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTypeOfBiometricDataChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_DATA), + "::", + stringify!(dwTypeOfBiometricDataChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashedUrl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_DATA), + "::", + stringify!(HashedUrl) + ) + ); +} +pub type CERT_BIOMETRIC_DATA = _CERT_BIOMETRIC_DATA; +pub type PCERT_BIOMETRIC_DATA = *mut _CERT_BIOMETRIC_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_BIOMETRIC_EXT_INFO { + pub cBiometricData: DWORD, + pub rgBiometricData: PCERT_BIOMETRIC_DATA, +} +#[test] +fn bindgen_test_layout__CERT_BIOMETRIC_EXT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_BIOMETRIC_EXT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_BIOMETRIC_EXT_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_BIOMETRIC_EXT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_BIOMETRIC_EXT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_BIOMETRIC_EXT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBiometricData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_EXT_INFO), + "::", + stringify!(cBiometricData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgBiometricData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_BIOMETRIC_EXT_INFO), + "::", + stringify!(rgBiometricData) + ) + ); +} +pub type CERT_BIOMETRIC_EXT_INFO = _CERT_BIOMETRIC_EXT_INFO; +pub type PCERT_BIOMETRIC_EXT_INFO = *mut _CERT_BIOMETRIC_EXT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_SIGNATURE_INFO { + pub SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub Signature: CRYPT_BIT_BLOB, + pub cCertEncoded: DWORD, + pub rgCertEncoded: PCERT_BLOB, +} +#[test] +fn bindgen_test_layout__OCSP_SIGNATURE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_SIGNATURE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_SIGNATURE_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_OCSP_SIGNATURE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_SIGNATURE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_SIGNATURE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNATURE_INFO), + "::", + stringify!(SignatureAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNATURE_INFO), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertEncoded) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNATURE_INFO), + "::", + stringify!(cCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCertEncoded) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNATURE_INFO), + "::", + stringify!(rgCertEncoded) + ) + ); +} +pub type OCSP_SIGNATURE_INFO = _OCSP_SIGNATURE_INFO; +pub type POCSP_SIGNATURE_INFO = *mut _OCSP_SIGNATURE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_SIGNED_REQUEST_INFO { + pub ToBeSigned: CRYPT_DER_BLOB, + pub pOptionalSignatureInfo: POCSP_SIGNATURE_INFO, +} +#[test] +fn bindgen_test_layout__OCSP_SIGNED_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_SIGNED_REQUEST_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_SIGNED_REQUEST_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_OCSP_SIGNED_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_SIGNED_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_SIGNED_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ToBeSigned) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNED_REQUEST_INFO), + "::", + stringify!(ToBeSigned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOptionalSignatureInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_SIGNED_REQUEST_INFO), + "::", + stringify!(pOptionalSignatureInfo) + ) + ); +} +pub type OCSP_SIGNED_REQUEST_INFO = _OCSP_SIGNED_REQUEST_INFO; +pub type POCSP_SIGNED_REQUEST_INFO = *mut _OCSP_SIGNED_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_CERT_ID { + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub IssuerNameHash: CRYPT_HASH_BLOB, + pub IssuerKeyHash: CRYPT_HASH_BLOB, + pub SerialNumber: CRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__OCSP_CERT_ID() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_CERT_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_CERT_ID>(), + 72usize, + concat!("Size of: ", stringify!(_OCSP_CERT_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_CERT_ID>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_CERT_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_CERT_ID), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IssuerNameHash) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_CERT_ID), + "::", + stringify!(IssuerNameHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IssuerKeyHash) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_CERT_ID), + "::", + stringify!(IssuerKeyHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_CERT_ID), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type OCSP_CERT_ID = _OCSP_CERT_ID; +pub type POCSP_CERT_ID = *mut _OCSP_CERT_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_REQUEST_ENTRY { + pub CertId: OCSP_CERT_ID, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__OCSP_REQUEST_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_REQUEST_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_REQUEST_ENTRY>(), + 88usize, + concat!("Size of: ", stringify!(_OCSP_REQUEST_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_REQUEST_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_REQUEST_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_ENTRY), + "::", + stringify!(CertId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_ENTRY), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_ENTRY), + "::", + stringify!(rgExtension) + ) + ); +} +pub type OCSP_REQUEST_ENTRY = _OCSP_REQUEST_ENTRY; +pub type POCSP_REQUEST_ENTRY = *mut _OCSP_REQUEST_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_REQUEST_INFO { + pub dwVersion: DWORD, + pub pRequestorName: PCERT_ALT_NAME_ENTRY, + pub cRequestEntry: DWORD, + pub rgRequestEntry: POCSP_REQUEST_ENTRY, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__OCSP_REQUEST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_REQUEST_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_REQUEST_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_OCSP_REQUEST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_REQUEST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_REQUEST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRequestorName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(pRequestorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRequestEntry) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(cRequestEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgRequestEntry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(rgRequestEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_REQUEST_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type OCSP_REQUEST_INFO = _OCSP_REQUEST_INFO; +pub type POCSP_REQUEST_INFO = *mut _OCSP_REQUEST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_RESPONSE_INFO { + pub dwStatus: DWORD, + pub pszObjId: LPSTR, + pub Value: CRYPT_OBJID_BLOB, +} +#[test] +fn bindgen_test_layout__OCSP_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_RESPONSE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_RESPONSE_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_OCSP_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_RESPONSE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_RESPONSE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_RESPONSE_INFO), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_RESPONSE_INFO), + "::", + stringify!(pszObjId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_RESPONSE_INFO), + "::", + stringify!(Value) + ) + ); +} +pub type OCSP_RESPONSE_INFO = _OCSP_RESPONSE_INFO; +pub type POCSP_RESPONSE_INFO = *mut _OCSP_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_BASIC_SIGNED_RESPONSE_INFO { + pub ToBeSigned: CRYPT_DER_BLOB, + pub SignatureInfo: OCSP_SIGNATURE_INFO, +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_SIGNED_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_SIGNED_RESPONSE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_SIGNED_RESPONSE_INFO>(), + 80usize, + concat!("Size of: ", stringify!(_OCSP_BASIC_SIGNED_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_SIGNED_RESPONSE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_OCSP_BASIC_SIGNED_RESPONSE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ToBeSigned) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_SIGNED_RESPONSE_INFO), + "::", + stringify!(ToBeSigned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignatureInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_SIGNED_RESPONSE_INFO), + "::", + stringify!(SignatureInfo) + ) + ); +} +pub type OCSP_BASIC_SIGNED_RESPONSE_INFO = _OCSP_BASIC_SIGNED_RESPONSE_INFO; +pub type POCSP_BASIC_SIGNED_RESPONSE_INFO = *mut _OCSP_BASIC_SIGNED_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OCSP_BASIC_REVOKED_INFO { + pub RevocationDate: FILETIME, + pub dwCrlReasonCode: DWORD, +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_REVOKED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_REVOKED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_REVOKED_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_OCSP_BASIC_REVOKED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_REVOKED_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_OCSP_BASIC_REVOKED_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevocationDate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_REVOKED_INFO), + "::", + stringify!(RevocationDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCrlReasonCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_REVOKED_INFO), + "::", + stringify!(dwCrlReasonCode) + ) + ); +} +pub type OCSP_BASIC_REVOKED_INFO = _OCSP_BASIC_REVOKED_INFO; +pub type POCSP_BASIC_REVOKED_INFO = *mut _OCSP_BASIC_REVOKED_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _OCSP_BASIC_RESPONSE_ENTRY { + pub CertId: OCSP_CERT_ID, + pub dwCertStatus: DWORD, + pub __bindgen_anon_1: _OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1, + pub ThisUpdate: FILETIME, + pub NextUpdate: FILETIME, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1 { + pub pRevokedInfo: POCSP_BASIC_REVOKED_INFO, +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRevokedInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY__bindgen_ty_1), + "::", + stringify!(pRevokedInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_RESPONSE_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_RESPONSE_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_RESPONSE_ENTRY>(), + 120usize, + concat!("Size of: ", stringify!(_OCSP_BASIC_RESPONSE_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_RESPONSE_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_BASIC_RESPONSE_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(CertId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCertStatus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(dwCertStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisUpdate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(ThisUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUpdate) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(NextUpdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_ENTRY), + "::", + stringify!(rgExtension) + ) + ); +} +pub type OCSP_BASIC_RESPONSE_ENTRY = _OCSP_BASIC_RESPONSE_ENTRY; +pub type POCSP_BASIC_RESPONSE_ENTRY = *mut _OCSP_BASIC_RESPONSE_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _OCSP_BASIC_RESPONSE_INFO { + pub dwVersion: DWORD, + pub dwResponderIdChoice: DWORD, + pub __bindgen_anon_1: _OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1, + pub ProducedAt: FILETIME, + pub cResponseEntry: DWORD, + pub rgResponseEntry: POCSP_BASIC_RESPONSE_ENTRY, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1 { + pub ByNameResponderId: CERT_NAME_BLOB, + pub ByKeyResponderId: CRYPT_HASH_BLOB, +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByNameResponderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1), + "::", + stringify!(ByNameResponderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByKeyResponderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO__bindgen_ty_1), + "::", + stringify!(ByKeyResponderId) + ) + ); +} +#[test] +fn bindgen_test_layout__OCSP_BASIC_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_OCSP_BASIC_RESPONSE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OCSP_BASIC_RESPONSE_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_OCSP_BASIC_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_OCSP_BASIC_RESPONSE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_OCSP_BASIC_RESPONSE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResponderIdChoice) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(dwResponderIdChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProducedAt) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(ProducedAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cResponseEntry) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(cResponseEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgResponseEntry) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(rgResponseEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_OCSP_BASIC_RESPONSE_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type OCSP_BASIC_RESPONSE_INFO = _OCSP_BASIC_RESPONSE_INFO; +pub type POCSP_BASIC_RESPONSE_INFO = *mut _OCSP_BASIC_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SUPPORTED_ALGORITHM_INFO { + pub Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub IntendedKeyUsage: CRYPT_BIT_BLOB, + pub IntendedCertPolicies: CERT_POLICIES_INFO, +} +#[test] +fn bindgen_test_layout__CERT_SUPPORTED_ALGORITHM_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SUPPORTED_ALGORITHM_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SUPPORTED_ALGORITHM_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_SUPPORTED_ALGORITHM_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SUPPORTED_ALGORITHM_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SUPPORTED_ALGORITHM_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SUPPORTED_ALGORITHM_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IntendedKeyUsage) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SUPPORTED_ALGORITHM_INFO), + "::", + stringify!(IntendedKeyUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IntendedCertPolicies) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SUPPORTED_ALGORITHM_INFO), + "::", + stringify!(IntendedCertPolicies) + ) + ); +} +pub type CERT_SUPPORTED_ALGORITHM_INFO = _CERT_SUPPORTED_ALGORITHM_INFO; +pub type PCERT_SUPPORTED_ALGORITHM_INFO = *mut _CERT_SUPPORTED_ALGORITHM_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_TPM_SPECIFICATION_INFO { + pub pwszFamily: LPWSTR, + pub dwLevel: DWORD, + pub dwRevision: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_TPM_SPECIFICATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_TPM_SPECIFICATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_TPM_SPECIFICATION_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_TPM_SPECIFICATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_TPM_SPECIFICATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_TPM_SPECIFICATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszFamily) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TPM_SPECIFICATION_INFO), + "::", + stringify!(pwszFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLevel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TPM_SPECIFICATION_INFO), + "::", + stringify!(dwLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRevision) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TPM_SPECIFICATION_INFO), + "::", + stringify!(dwRevision) + ) + ); +} +pub type CERT_TPM_SPECIFICATION_INFO = _CERT_TPM_SPECIFICATION_INFO; +pub type PCERT_TPM_SPECIFICATION_INFO = *mut _CERT_TPM_SPECIFICATION_INFO; +pub type HCRYPTOIDFUNCSET = *mut ::std::os::raw::c_void; +pub type HCRYPTOIDFUNCADDR = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_OID_FUNC_ENTRY { + pub pszOID: LPCSTR, + pub pvFuncAddr: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CRYPT_OID_FUNC_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OID_FUNC_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OID_FUNC_ENTRY>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_OID_FUNC_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OID_FUNC_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_OID_FUNC_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_FUNC_ENTRY), + "::", + stringify!(pszOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvFuncAddr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_FUNC_ENTRY), + "::", + stringify!(pvFuncAddr) + ) + ); +} +pub type CRYPT_OID_FUNC_ENTRY = _CRYPT_OID_FUNC_ENTRY; +pub type PCRYPT_OID_FUNC_ENTRY = *mut _CRYPT_OID_FUNC_ENTRY; +extern "C" { + pub fn CryptInstallOIDFunctionAddress( + hModule: HMODULE, + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + cFuncEntry: DWORD, + rgFuncEntry: *const CRYPT_OID_FUNC_ENTRY, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptInitOIDFunctionSet(pszFuncName: LPCSTR, dwFlags: DWORD) -> HCRYPTOIDFUNCSET; +} +extern "C" { + pub fn CryptGetOIDFunctionAddress( + hFuncSet: HCRYPTOIDFUNCSET, + dwEncodingType: DWORD, + pszOID: LPCSTR, + dwFlags: DWORD, + ppvFuncAddr: *mut *mut ::std::os::raw::c_void, + phFuncAddr: *mut HCRYPTOIDFUNCADDR, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetDefaultOIDDllList( + hFuncSet: HCRYPTOIDFUNCSET, + dwEncodingType: DWORD, + pwszDllList: *mut WCHAR, + pcchDllList: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetDefaultOIDFunctionAddress( + hFuncSet: HCRYPTOIDFUNCSET, + dwEncodingType: DWORD, + pwszDll: LPCWSTR, + dwFlags: DWORD, + ppvFuncAddr: *mut *mut ::std::os::raw::c_void, + phFuncAddr: *mut HCRYPTOIDFUNCADDR, + ) -> BOOL; +} +extern "C" { + pub fn CryptFreeOIDFunctionAddress(hFuncAddr: HCRYPTOIDFUNCADDR, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptRegisterOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + pwszDll: LPCWSTR, + pszOverrideFuncName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CryptUnregisterOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CryptRegisterDefaultOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + dwIndex: DWORD, + pwszDll: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn CryptUnregisterDefaultOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pwszDll: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetOIDFunctionValue( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + pwszValueName: LPCWSTR, + dwValueType: DWORD, + pbValueData: *const BYTE, + cbValueData: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetOIDFunctionValue( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + pwszValueName: LPCWSTR, + pdwValueType: *mut DWORD, + pbValueData: *mut BYTE, + pcbValueData: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_ENUM_OID_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + cValue: DWORD, + rgdwValueType: *const DWORD, + rgpwszValueName: *const LPCWSTR, + rgpbValueData: *const *const BYTE, + rgcbValueData: *const DWORD, + pvArg: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +extern "C" { + pub fn CryptEnumOIDFunction( + dwEncodingType: DWORD, + pszFuncName: LPCSTR, + pszOID: LPCSTR, + dwFlags: DWORD, + pvArg: *mut ::std::os::raw::c_void, + pfnEnumOIDFunc: PFN_CRYPT_ENUM_OID_FUNC, + ) -> BOOL; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRYPT_OID_INFO { + pub cbSize: DWORD, + pub pszOID: LPCSTR, + pub pwszName: LPCWSTR, + pub dwGroupId: DWORD, + pub __bindgen_anon_1: _CRYPT_OID_INFO__bindgen_ty_1, + pub ExtraInfo: CRYPT_DATA_BLOB, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CRYPT_OID_INFO__bindgen_ty_1 { + pub dwValue: DWORD, + pub Algid: ALG_ID, + pub dwLength: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_OID_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OID_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OID_INFO__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_CRYPT_OID_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OID_INFO__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_OID_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO__bindgen_ty_1), + "::", + stringify!(dwValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO__bindgen_ty_1), + "::", + stringify!(Algid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO__bindgen_ty_1), + "::", + stringify!(dwLength) + ) + ); +} +#[test] +fn bindgen_test_layout__CRYPT_OID_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OID_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OID_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_OID_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OID_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_OID_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(pszOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(pwszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwGroupId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(dwGroupId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OID_INFO), + "::", + stringify!(ExtraInfo) + ) + ); +} +pub type CRYPT_OID_INFO = _CRYPT_OID_INFO; +pub type PCRYPT_OID_INFO = *mut _CRYPT_OID_INFO; +pub type CCRYPT_OID_INFO = CRYPT_OID_INFO; +pub type PCCRYPT_OID_INFO = *const CRYPT_OID_INFO; +extern "C" { + pub fn CryptFindOIDInfo( + dwKeyType: DWORD, + pvKey: *mut ::std::os::raw::c_void, + dwGroupId: DWORD, + ) -> PCCRYPT_OID_INFO; +} +extern "C" { + pub fn CryptRegisterOIDInfo(pInfo: PCCRYPT_OID_INFO, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptUnregisterOIDInfo(pInfo: PCCRYPT_OID_INFO) -> BOOL; +} +pub type PFN_CRYPT_ENUM_OID_INFO = ::std::option::Option< + unsafe extern "C" fn(pInfo: PCCRYPT_OID_INFO, pvArg: *mut ::std::os::raw::c_void) -> BOOL, +>; +extern "C" { + pub fn CryptEnumOIDInfo( + dwGroupId: DWORD, + dwFlags: DWORD, + pvArg: *mut ::std::os::raw::c_void, + pfnEnumOIDInfo: PFN_CRYPT_ENUM_OID_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptFindLocalizedName(pwszCryptName: LPCWSTR) -> LPCWSTR; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_STRONG_SIGN_SERIALIZED_INFO { + pub dwFlags: DWORD, + pub pwszCNGSignHashAlgids: LPWSTR, + pub pwszCNGPubKeyMinBitLengths: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_STRONG_SIGN_SERIALIZED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STRONG_SIGN_SERIALIZED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STRONG_SIGN_SERIALIZED_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STRONG_SIGN_SERIALIZED_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszCNGSignHashAlgids) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO), + "::", + stringify!(pwszCNGSignHashAlgids) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszCNGPubKeyMinBitLengths) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_SERIALIZED_INFO), + "::", + stringify!(pwszCNGPubKeyMinBitLengths) + ) + ); +} +pub type CERT_STRONG_SIGN_SERIALIZED_INFO = _CERT_STRONG_SIGN_SERIALIZED_INFO; +pub type PCERT_STRONG_SIGN_SERIALIZED_INFO = *mut _CERT_STRONG_SIGN_SERIALIZED_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_STRONG_SIGN_PARA { + pub cbSize: DWORD, + pub dwInfoChoice: DWORD, + pub __bindgen_anon_1: _CERT_STRONG_SIGN_PARA__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_STRONG_SIGN_PARA__bindgen_ty_1 { + pub pvInfo: *mut ::std::os::raw::c_void, + pub pSerializedInfo: PCERT_STRONG_SIGN_SERIALIZED_INFO, + pub pszOID: LPSTR, +} +#[test] +fn bindgen_test_layout__CERT_STRONG_SIGN_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STRONG_SIGN_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STRONG_SIGN_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STRONG_SIGN_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1), + "::", + stringify!(pvInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSerializedInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1), + "::", + stringify!(pSerializedInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA__bindgen_ty_1), + "::", + stringify!(pszOID) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_STRONG_SIGN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STRONG_SIGN_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STRONG_SIGN_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_STRONG_SIGN_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STRONG_SIGN_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_STRONG_SIGN_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoChoice) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STRONG_SIGN_PARA), + "::", + stringify!(dwInfoChoice) + ) + ); +} +pub type CERT_STRONG_SIGN_PARA = _CERT_STRONG_SIGN_PARA; +pub type PCERT_STRONG_SIGN_PARA = *mut _CERT_STRONG_SIGN_PARA; +pub type PCCERT_STRONG_SIGN_PARA = *const CERT_STRONG_SIGN_PARA; +pub type HCRYPTMSG = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_ISSUER_SERIAL_NUMBER { + pub Issuer: CERT_NAME_BLOB, + pub SerialNumber: CRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_ISSUER_SERIAL_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ISSUER_SERIAL_NUMBER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ISSUER_SERIAL_NUMBER>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_ISSUER_SERIAL_NUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ISSUER_SERIAL_NUMBER>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ISSUER_SERIAL_NUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Issuer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ISSUER_SERIAL_NUMBER), + "::", + stringify!(Issuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ISSUER_SERIAL_NUMBER), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type CERT_ISSUER_SERIAL_NUMBER = _CERT_ISSUER_SERIAL_NUMBER; +pub type PCERT_ISSUER_SERIAL_NUMBER = *mut _CERT_ISSUER_SERIAL_NUMBER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_ID { + pub dwIdChoice: DWORD, + pub __bindgen_anon_1: _CERT_ID__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_ID__bindgen_ty_1 { + pub IssuerSerialNumber: CERT_ISSUER_SERIAL_NUMBER, + pub KeyId: CRYPT_HASH_BLOB, + pub HashId: CRYPT_HASH_BLOB, +} +#[test] +fn bindgen_test_layout__CERT_ID__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ID__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ID__bindgen_ty_1>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_ID__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ID__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ID__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IssuerSerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ID__bindgen_ty_1), + "::", + stringify!(IssuerSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ID__bindgen_ty_1), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ID__bindgen_ty_1), + "::", + stringify!(HashId) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_ID() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_ID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_ID>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_ID>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIdChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_ID), + "::", + stringify!(dwIdChoice) + ) + ); +} +pub type CERT_ID = _CERT_ID; +pub type PCERT_ID = *mut _CERT_ID; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_SIGNER_ENCODE_INFO { + pub cbSize: DWORD, + pub pCertInfo: PCERT_INFO, + pub __bindgen_anon_1: _CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, + pub cAuthAttr: DWORD, + pub rgAuthAttr: PCRYPT_ATTRIBUTE, + pub cUnauthAttr: DWORD, + pub rgUnauthAttr: PCRYPT_ATTRIBUTE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_SIGNER_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNER_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNER_ENCODE_INFO>(), + 96usize, + concat!("Size of: ", stringify!(_CMSG_SIGNER_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNER_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_SIGNER_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(pCertInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(pvHashAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuthAttr) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(cAuthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAuthAttr) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(rgAuthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUnauthAttr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(cUnauthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgUnauthAttr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_ENCODE_INFO), + "::", + stringify!(rgUnauthAttr) + ) + ); +} +pub type CMSG_SIGNER_ENCODE_INFO = _CMSG_SIGNER_ENCODE_INFO; +pub type PCMSG_SIGNER_ENCODE_INFO = *mut _CMSG_SIGNER_ENCODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_SIGNED_ENCODE_INFO { + pub cbSize: DWORD, + pub cSigners: DWORD, + pub rgSigners: PCMSG_SIGNER_ENCODE_INFO, + pub cCertEncoded: DWORD, + pub rgCertEncoded: PCERT_BLOB, + pub cCrlEncoded: DWORD, + pub rgCrlEncoded: PCRL_BLOB, +} +#[test] +fn bindgen_test_layout__CMSG_SIGNED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNED_ENCODE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CMSG_SIGNED_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNED_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_SIGNED_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSigners) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(cSigners) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgSigners) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(rgSigners) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertEncoded) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(cCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCertEncoded) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(rgCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCrlEncoded) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(cCrlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCrlEncoded) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_ENCODE_INFO), + "::", + stringify!(rgCrlEncoded) + ) + ); +} +pub type CMSG_SIGNED_ENCODE_INFO = _CMSG_SIGNED_ENCODE_INFO; +pub type PCMSG_SIGNED_ENCODE_INFO = *mut _CMSG_SIGNED_ENCODE_INFO; +pub type CMSG_RECIPIENT_ENCODE_INFO = _CMSG_RECIPIENT_ENCODE_INFO; +pub type PCMSG_RECIPIENT_ENCODE_INFO = *mut _CMSG_RECIPIENT_ENCODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_ENVELOPED_ENCODE_INFO { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub cRecipients: DWORD, + pub rgpRecipients: *mut PCERT_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_ENVELOPED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_ENVELOPED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_ENVELOPED_ENCODE_INFO>(), + 64usize, + concat!("Size of: ", stringify!(_CMSG_ENVELOPED_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_ENVELOPED_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_ENVELOPED_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvEncryptionAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(pvEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRecipients) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(cRecipients) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpRecipients) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENVELOPED_ENCODE_INFO), + "::", + stringify!(rgpRecipients) + ) + ); +} +pub type CMSG_ENVELOPED_ENCODE_INFO = _CMSG_ENVELOPED_ENCODE_INFO; +pub type PCMSG_ENVELOPED_ENCODE_INFO = *mut _CMSG_ENVELOPED_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO { + pub cbSize: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvKeyEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub RecipientPublicKey: CRYPT_BIT_BLOB, + pub RecipientId: CERT_ID, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>(), + 112usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionAuxInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pvKeyEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientPublicKey) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(RecipientPublicKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO), + "::", + stringify!(RecipientId) + ) + ); +} +pub type CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO = _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO; +pub type PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO = *mut _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO { + pub cbSize: DWORD, + pub RecipientPublicKey: CRYPT_BIT_BLOB, + pub RecipientId: CERT_ID, + pub Date: FILETIME, + pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, +} +#[test] +fn bindgen_test_layout__CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO>(), + 88usize, + concat!( + "Size of: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientPublicKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(RecipientPublicKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(RecipientId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherAttr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO), + "::", + stringify!(pOtherAttr) + ) + ); +} +pub type CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO = _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO; +pub type PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO = *mut _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO { + pub cbSize: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvKeyEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub KeyWrapAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvKeyWrapAuxInfo: *mut ::std::os::raw::c_void, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub dwKeySpec: DWORD, + pub dwKeyChoice: DWORD, + pub __bindgen_anon_1: _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1, + pub UserKeyingMaterial: CRYPT_DATA_BLOB, + pub cRecipientEncryptedKeys: DWORD, + pub rgpRecipientEncryptedKeys: *mut PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1 { + pub pEphemeralAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pub pSenderId: PCERT_ID, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEphemeralAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pEphemeralAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSenderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pSenderId) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>(), + 128usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionAuxInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pvKeyEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyWrapAlgorithm) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyWrapAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyWrapAuxInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pvKeyWrapAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyChoice) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(dwKeyChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserKeyingMaterial) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(UserKeyingMaterial) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRecipientEncryptedKeys) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(cRecipientEncryptedKeys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpRecipientEncryptedKeys) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO), + "::", + stringify!(rgpRecipientEncryptedKeys) + ) + ); +} +pub type CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO = _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO; +pub type PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO = *mut _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO { + pub cbSize: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvKeyEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub hCryptProv: HCRYPTPROV, + pub dwKeyChoice: DWORD, + pub __bindgen_anon_1: _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1, + pub KeyId: CRYPT_DATA_BLOB, + pub Date: FILETIME, + pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1 { + pub hKeyEncryptionKey: HCRYPTKEY, + pub pvKeyEncryptionKey: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKeyEncryptionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(hKeyEncryptionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pvKeyEncryptionKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>(), + 96usize, + concat!( + "Size of: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionAuxInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pvKeyEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyChoice) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(dwKeyChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherAttr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO), + "::", + stringify!(pOtherAttr) + ) + ); +} +pub type CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO = _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO; +pub type PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO = *mut _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_RECIPIENT_ENCODE_INFO { + pub dwRecipientChoice: DWORD, + pub __bindgen_anon_1: _CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1 { + pub pKeyTrans: PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, + pub pKeyAgree: PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, + pub pMailList: PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyTrans) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pKeyTrans) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyAgree) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pKeyAgree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMailList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO__bindgen_ty_1), + "::", + stringify!(pMailList) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_RECIPIENT_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RECIPIENT_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RECIPIENT_ENCODE_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CMSG_RECIPIENT_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RECIPIENT_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_RECIPIENT_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCODE_INFO), + "::", + stringify!(dwRecipientChoice) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_RC2_AUX_INFO { + pub cbSize: DWORD, + pub dwBitLen: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_RC2_AUX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RC2_AUX_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RC2_AUX_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CMSG_RC2_AUX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RC2_AUX_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CMSG_RC2_AUX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RC2_AUX_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBitLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RC2_AUX_INFO), + "::", + stringify!(dwBitLen) + ) + ); +} +pub type CMSG_RC2_AUX_INFO = _CMSG_RC2_AUX_INFO; +pub type PCMSG_RC2_AUX_INFO = *mut _CMSG_RC2_AUX_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_SP3_COMPATIBLE_AUX_INFO { + pub cbSize: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_SP3_COMPATIBLE_AUX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SP3_COMPATIBLE_AUX_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SP3_COMPATIBLE_AUX_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CMSG_SP3_COMPATIBLE_AUX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SP3_COMPATIBLE_AUX_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CMSG_SP3_COMPATIBLE_AUX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SP3_COMPATIBLE_AUX_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SP3_COMPATIBLE_AUX_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CMSG_SP3_COMPATIBLE_AUX_INFO = _CMSG_SP3_COMPATIBLE_AUX_INFO; +pub type PCMSG_SP3_COMPATIBLE_AUX_INFO = *mut _CMSG_SP3_COMPATIBLE_AUX_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_RC4_AUX_INFO { + pub cbSize: DWORD, + pub dwBitLen: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_RC4_AUX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RC4_AUX_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RC4_AUX_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_CMSG_RC4_AUX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RC4_AUX_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CMSG_RC4_AUX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RC4_AUX_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBitLen) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RC4_AUX_INFO), + "::", + stringify!(dwBitLen) + ) + ); +} +pub type CMSG_RC4_AUX_INFO = _CMSG_RC4_AUX_INFO; +pub type PCMSG_RC4_AUX_INFO = *mut _CMSG_RC4_AUX_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO { + pub cbSize: DWORD, + pub SignedInfo: CMSG_SIGNED_ENCODE_INFO, + pub EnvelopedInfo: CMSG_ENVELOPED_ENCODE_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO>(), + 120usize, + concat!( + "Size of: ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignedInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO), + "::", + stringify!(SignedInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnvelopedInfo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO), + "::", + stringify!(EnvelopedInfo) + ) + ); +} +pub type CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO = _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO; +pub type PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO = *mut _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_HASHED_ENCODE_INFO { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_HASHED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_HASHED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_HASHED_ENCODE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CMSG_HASHED_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_HASHED_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_HASHED_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_HASHED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_HASHED_ENCODE_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_HASHED_ENCODE_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_HASHED_ENCODE_INFO), + "::", + stringify!(pvHashAuxInfo) + ) + ); +} +pub type CMSG_HASHED_ENCODE_INFO = _CMSG_HASHED_ENCODE_INFO; +pub type PCMSG_HASHED_ENCODE_INFO = *mut _CMSG_HASHED_ENCODE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_ENCRYPTED_ENCODE_INFO { + pub cbSize: DWORD, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvEncryptionAuxInfo: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_ENCRYPTED_ENCODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_ENCRYPTED_ENCODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_ENCRYPTED_ENCODE_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CMSG_ENCRYPTED_ENCODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_ENCRYPTED_ENCODE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_ENCRYPTED_ENCODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENCRYPTED_ENCODE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENCRYPTED_ENCODE_INFO), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvEncryptionAuxInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_ENCRYPTED_ENCODE_INFO), + "::", + stringify!(pvEncryptionAuxInfo) + ) + ); +} +pub type CMSG_ENCRYPTED_ENCODE_INFO = _CMSG_ENCRYPTED_ENCODE_INFO; +pub type PCMSG_ENCRYPTED_ENCODE_INFO = *mut _CMSG_ENCRYPTED_ENCODE_INFO; +pub type PFN_CMSG_STREAM_OUTPUT = ::std::option::Option< + unsafe extern "C" fn( + pvArg: *const ::std::os::raw::c_void, + pbData: *mut BYTE, + cbData: DWORD, + fFinal: BOOL, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_STREAM_INFO { + pub cbContent: DWORD, + pub pfnStreamOutput: PFN_CMSG_STREAM_OUTPUT, + pub pvArg: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_STREAM_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_STREAM_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_STREAM_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMSG_STREAM_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_STREAM_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_STREAM_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbContent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_STREAM_INFO), + "::", + stringify!(cbContent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnStreamOutput) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_STREAM_INFO), + "::", + stringify!(pfnStreamOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvArg) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_STREAM_INFO), + "::", + stringify!(pvArg) + ) + ); +} +pub type CMSG_STREAM_INFO = _CMSG_STREAM_INFO; +pub type PCMSG_STREAM_INFO = *mut _CMSG_STREAM_INFO; +extern "C" { + pub fn CryptMsgOpenToEncode( + dwMsgEncodingType: DWORD, + dwFlags: DWORD, + dwMsgType: DWORD, + pvMsgEncodeInfo: *const ::std::os::raw::c_void, + pszInnerContentObjID: LPSTR, + pStreamInfo: PCMSG_STREAM_INFO, + ) -> HCRYPTMSG; +} +extern "C" { + pub fn CryptMsgCalculateEncodedLength( + dwMsgEncodingType: DWORD, + dwFlags: DWORD, + dwMsgType: DWORD, + pvMsgEncodeInfo: *const ::std::os::raw::c_void, + pszInnerContentObjID: LPSTR, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CryptMsgOpenToDecode( + dwMsgEncodingType: DWORD, + dwFlags: DWORD, + dwMsgType: DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + pRecipientInfo: PCERT_INFO, + pStreamInfo: PCMSG_STREAM_INFO, + ) -> HCRYPTMSG; +} +extern "C" { + pub fn CryptMsgDuplicate(hCryptMsg: HCRYPTMSG) -> HCRYPTMSG; +} +extern "C" { + pub fn CryptMsgClose(hCryptMsg: HCRYPTMSG) -> BOOL; +} +extern "C" { + pub fn CryptMsgUpdate( + hCryptMsg: HCRYPTMSG, + pbData: *const BYTE, + cbData: DWORD, + fFinal: BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgGetParam( + hCryptMsg: HCRYPTMSG, + dwParamType: DWORD, + dwIndex: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_SIGNER_INFO { + pub dwVersion: DWORD, + pub Issuer: CERT_NAME_BLOB, + pub SerialNumber: CRYPT_INTEGER_BLOB, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedHash: CRYPT_DATA_BLOB, + pub AuthAttrs: CRYPT_ATTRIBUTES, + pub UnauthAttrs: CRYPT_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__CMSG_SIGNER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_SIGNER_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_SIGNER_INFO>(), + 136usize, + concat!("Size of: ", stringify!(_CMSG_SIGNER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_SIGNER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_SIGNER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Issuer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(Issuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashEncryptionAlgorithm) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(HashEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedHash) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(EncryptedHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthAttrs) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(AuthAttrs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnauthAttrs) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_SIGNER_INFO), + "::", + stringify!(UnauthAttrs) + ) + ); +} +pub type CMSG_SIGNER_INFO = _CMSG_SIGNER_INFO; +pub type PCMSG_SIGNER_INFO = *mut _CMSG_SIGNER_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CMS_SIGNER_INFO { + pub dwVersion: DWORD, + pub SignerId: CERT_ID, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub HashEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedHash: CRYPT_DATA_BLOB, + pub AuthAttrs: CRYPT_ATTRIBUTES, + pub UnauthAttrs: CRYPT_ATTRIBUTES, +} +#[test] +fn bindgen_test_layout__CMSG_CMS_SIGNER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CMS_SIGNER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CMS_SIGNER_INFO>(), + 144usize, + concat!("Size of: ", stringify!(_CMSG_CMS_SIGNER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CMS_SIGNER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CMS_SIGNER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SignerId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(SignerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashEncryptionAlgorithm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(HashEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedHash) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(EncryptedHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthAttrs) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(AuthAttrs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnauthAttrs) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_SIGNER_INFO), + "::", + stringify!(UnauthAttrs) + ) + ); +} +pub type CMSG_CMS_SIGNER_INFO = _CMSG_CMS_SIGNER_INFO; +pub type PCMSG_CMS_SIGNER_INFO = *mut _CMSG_CMS_SIGNER_INFO; +pub type CMSG_ATTR = CRYPT_ATTRIBUTES; +pub type PCMSG_ATTR = *mut CRYPT_ATTRIBUTES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_TRANS_RECIPIENT_INFO { + pub dwVersion: DWORD, + pub RecipientId: CERT_ID, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedKey: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_TRANS_RECIPIENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_TRANS_RECIPIENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_TRANS_RECIPIENT_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_TRANS_RECIPIENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), + "::", + stringify!(RecipientId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_RECIPIENT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); +} +pub type CMSG_KEY_TRANS_RECIPIENT_INFO = _CMSG_KEY_TRANS_RECIPIENT_INFO; +pub type PCMSG_KEY_TRANS_RECIPIENT_INFO = *mut _CMSG_KEY_TRANS_RECIPIENT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO { + pub RecipientId: CERT_ID, + pub EncryptedKey: CRYPT_DATA_BLOB, + pub Date: FILETIME, + pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, +} +#[test] +fn bindgen_test_layout__CMSG_RECIPIENT_ENCRYPTED_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO>(), + 72usize, + concat!("Size of: ", stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecipientId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), + "::", + stringify!(RecipientId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), + "::", + stringify!(EncryptedKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherAttr) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO), + "::", + stringify!(pOtherAttr) + ) + ); +} +pub type CMSG_RECIPIENT_ENCRYPTED_KEY_INFO = _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO; +pub type PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO = *mut _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_AGREE_RECIPIENT_INFO { + pub dwVersion: DWORD, + pub dwOriginatorChoice: DWORD, + pub __bindgen_anon_1: _CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1, + pub UserKeyingMaterial: CRYPT_DATA_BLOB, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub cRecipientEncryptedKeys: DWORD, + pub rgpRecipientEncryptedKeys: *mut PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1 { + pub OriginatorCertId: CERT_ID, + pub OriginatorPublicKeyInfo: CERT_PUBLIC_KEY_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1>(), + 48usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorCertId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(OriginatorCertId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorPublicKeyInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(OriginatorPublicKeyInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_RECIPIENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_RECIPIENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_RECIPIENT_INFO>(), + 112usize, + concat!("Size of: ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_RECIPIENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOriginatorChoice) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(dwOriginatorChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserKeyingMaterial) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(UserKeyingMaterial) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRecipientEncryptedKeys) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(cRecipientEncryptedKeys) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpRecipientEncryptedKeys) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_RECIPIENT_INFO), + "::", + stringify!(rgpRecipientEncryptedKeys) + ) + ); +} +pub type CMSG_KEY_AGREE_RECIPIENT_INFO = _CMSG_KEY_AGREE_RECIPIENT_INFO; +pub type PCMSG_KEY_AGREE_RECIPIENT_INFO = *mut _CMSG_KEY_AGREE_RECIPIENT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_MAIL_LIST_RECIPIENT_INFO { + pub dwVersion: DWORD, + pub KeyId: CRYPT_DATA_BLOB, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedKey: CRYPT_DATA_BLOB, + pub Date: FILETIME, + pub pOtherAttr: PCRYPT_ATTRIBUTE_TYPE_VALUE, +} +#[test] +fn bindgen_test_layout__CMSG_MAIL_LIST_RECIPIENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_MAIL_LIST_RECIPIENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_MAIL_LIST_RECIPIENT_INFO>(), + 80usize, + concat!("Size of: ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_MAIL_LIST_RECIPIENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(KeyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Date) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(Date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOtherAttr) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_RECIPIENT_INFO), + "::", + stringify!(pOtherAttr) + ) + ); +} +pub type CMSG_MAIL_LIST_RECIPIENT_INFO = _CMSG_MAIL_LIST_RECIPIENT_INFO; +pub type PCMSG_MAIL_LIST_RECIPIENT_INFO = *mut _CMSG_MAIL_LIST_RECIPIENT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CMS_RECIPIENT_INFO { + pub dwRecipientChoice: DWORD, + pub __bindgen_anon_1: _CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1 { + pub pKeyTrans: PCMSG_KEY_TRANS_RECIPIENT_INFO, + pub pKeyAgree: PCMSG_KEY_AGREE_RECIPIENT_INFO, + pub pMailList: PCMSG_MAIL_LIST_RECIPIENT_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyTrans) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(pKeyTrans) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyAgree) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(pKeyAgree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMailList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO__bindgen_ty_1), + "::", + stringify!(pMailList) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CMS_RECIPIENT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CMS_RECIPIENT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CMS_RECIPIENT_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CMSG_CMS_RECIPIENT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CMS_RECIPIENT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CMS_RECIPIENT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientChoice) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CMS_RECIPIENT_INFO), + "::", + stringify!(dwRecipientChoice) + ) + ); +} +pub type CMSG_CMS_RECIPIENT_INFO = _CMSG_CMS_RECIPIENT_INFO; +pub type PCMSG_CMS_RECIPIENT_INFO = *mut _CMSG_CMS_RECIPIENT_INFO; +extern "C" { + pub fn CryptMsgControl( + hCryptMsg: HCRYPTMSG, + dwFlags: DWORD, + dwCtrlType: DWORD, + pvCtrlPara: *const ::std::os::raw::c_void, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub dwSignerIndex: DWORD, + pub dwSignerType: DWORD, + pub pvSigner: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA>(), + 32usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(dwSignerIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerType) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(dwSignerType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvSigner) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA), + "::", + stringify!(pvSigner) + ) + ); +} +pub type CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA = _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA; +pub type PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA = *mut _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CTRL_DECRYPT_PARA { + pub cbSize: DWORD, + pub __bindgen_anon_1: _CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub dwRecipientIndex: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_DECRYPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_DECRYPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_DECRYPT_PARA>(), + 24usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_DECRYPT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_DECRYPT_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CTRL_DECRYPT_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DECRYPT_PARA), + "::", + stringify!(dwRecipientIndex) + ) + ); +} +pub type CMSG_CTRL_DECRYPT_PARA = _CMSG_CTRL_DECRYPT_PARA; +pub type PCMSG_CTRL_DECRYPT_PARA = *mut _CMSG_CTRL_DECRYPT_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA { + pub cbSize: DWORD, + pub __bindgen_anon_1: _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub pKeyTrans: PCMSG_KEY_TRANS_RECIPIENT_INFO, + pub dwRecipientIndex: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_KEY_TRANS_DECRYPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA>(), + 40usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyTrans) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), + "::", + stringify!(pKeyTrans) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_TRANS_DECRYPT_PARA), + "::", + stringify!(dwRecipientIndex) + ) + ); +} +pub type CMSG_CTRL_KEY_TRANS_DECRYPT_PARA = _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA; +pub type PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA = *mut _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA { + pub cbSize: DWORD, + pub __bindgen_anon_1: _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub pKeyAgree: PCMSG_KEY_AGREE_RECIPIENT_INFO, + pub dwRecipientIndex: DWORD, + pub dwRecipientEncryptedKeyIndex: DWORD, + pub OriginatorPublicKey: CRYPT_BIT_BLOB, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_KEY_AGREE_DECRYPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>(), + 64usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyAgree) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(pKeyAgree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).dwRecipientEncryptedKeyIndex) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(dwRecipientEncryptedKeyIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorPublicKey) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_KEY_AGREE_DECRYPT_PARA), + "::", + stringify!(OriginatorPublicKey) + ) + ); +} +pub type CMSG_CTRL_KEY_AGREE_DECRYPT_PARA = _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA; +pub type PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA = *mut _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV, + pub pMailList: PCMSG_MAIL_LIST_RECIPIENT_INFO, + pub dwRecipientIndex: DWORD, + pub dwKeyChoice: DWORD, + pub __bindgen_anon_1: _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1 { + pub hKeyEncryptionKey: HCRYPTKEY, + pub pvKeyEncryptionKey: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKeyEncryptionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(hKeyEncryptionKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvKeyEncryptionKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA__bindgen_ty_1), + "::", + stringify!(pvKeyEncryptionKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_MAIL_LIST_DECRYPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA>(), + 40usize, + concat!("Size of: ", stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMailList) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(pMailList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeyChoice) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_MAIL_LIST_DECRYPT_PARA), + "::", + stringify!(dwKeyChoice) + ) + ); +} +pub type CMSG_CTRL_MAIL_LIST_DECRYPT_PARA = _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA; +pub type PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA = *mut _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA { + pub cbSize: DWORD, + pub dwSignerIndex: DWORD, + pub blob: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA>(), + 24usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(dwSignerIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).blob) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(blob) + ) + ); +} +pub type CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA = _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA; +pub type PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA = *mut _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA { + pub cbSize: DWORD, + pub dwSignerIndex: DWORD, + pub dwUnauthAttrIndex: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA>(), + 12usize, + concat!( + "Size of: ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(dwSignerIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUnauthAttrIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA), + "::", + stringify!(dwUnauthAttrIndex) + ) + ); +} +pub type CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA = _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA; +pub type PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA = *mut _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA; +extern "C" { + pub fn CryptMsgVerifyCountersignatureEncoded( + hCryptProv: HCRYPTPROV_LEGACY, + dwEncodingType: DWORD, + pbSignerInfo: PBYTE, + cbSignerInfo: DWORD, + pbSignerInfoCountersignature: PBYTE, + cbSignerInfoCountersignature: DWORD, + pciCountersigner: PCERT_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgVerifyCountersignatureEncodedEx( + hCryptProv: HCRYPTPROV_LEGACY, + dwEncodingType: DWORD, + pbSignerInfo: PBYTE, + cbSignerInfo: DWORD, + pbSignerInfoCountersignature: PBYTE, + cbSignerInfoCountersignature: DWORD, + dwSignerType: DWORD, + pvSigner: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + pvExtra: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgCountersign( + hCryptMsg: HCRYPTMSG, + dwIndex: DWORD, + cCountersigners: DWORD, + rgCountersigners: PCMSG_SIGNER_ENCODE_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgCountersignEncoded( + dwEncodingType: DWORD, + pbSignerInfo: PBYTE, + cbSignerInfo: DWORD, + cCountersigners: DWORD, + rgCountersigners: PCMSG_SIGNER_ENCODE_INFO, + pbCountersignature: PBYTE, + pcbCountersignature: PDWORD, + ) -> BOOL; +} +pub type PFN_CMSG_ALLOC = + ::std::option::Option *mut ::std::os::raw::c_void>; +pub type PFN_CMSG_FREE = + ::std::option::Option; +pub type PFN_CMSG_GEN_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + phCryptProv: *mut HCRYPTPROV, + paiEncrypt: PCRYPT_ALGORITHM_IDENTIFIER, + pvEncryptAuxInfo: PVOID, + pPublicKeyInfo: PCERT_PUBLIC_KEY_INFO, + pfnAlloc: PFN_CMSG_ALLOC, + phEncryptKey: *mut HCRYPTKEY, + ppbEncryptParameters: *mut PBYTE, + pcbEncryptParameters: PDWORD, + ) -> BOOL, +>; +pub type PFN_CMSG_EXPORT_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + hCryptProv: HCRYPTPROV, + hEncryptKey: HCRYPTKEY, + pPublicKeyInfo: PCERT_PUBLIC_KEY_INFO, + pbData: PBYTE, + pcbData: PDWORD, + ) -> BOOL, +>; +pub type PFN_CMSG_IMPORT_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + hCryptProv: HCRYPTPROV, + dwKeySpec: DWORD, + paiEncrypt: PCRYPT_ALGORITHM_IDENTIFIER, + paiPubKey: PCRYPT_ALGORITHM_IDENTIFIER, + pbEncodedKey: PBYTE, + cbEncodedKey: DWORD, + phEncryptKey: *mut HCRYPTKEY, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_CONTENT_ENCRYPT_INFO { + pub cbSize: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub cRecipients: DWORD, + pub rgCmsRecipients: PCMSG_RECIPIENT_ENCODE_INFO, + pub pfnAlloc: PFN_CMSG_ALLOC, + pub pfnFree: PFN_CMSG_FREE, + pub dwEncryptFlags: DWORD, + pub __bindgen_anon_1: _CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1, + pub dwFlags: DWORD, + pub fCNG: BOOL, + pub pbCNGContentEncryptKeyObject: *mut BYTE, + pub pbContentEncryptKey: *mut BYTE, + pub cbContentEncryptKey: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1 { + pub hContentEncryptKey: HCRYPTKEY, + pub hCNGContentEncryptKey: BCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hContentEncryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1), + "::", + stringify!(hContentEncryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCNGContentEncryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO__bindgen_ty_1), + "::", + stringify!(hCNGContentEncryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_CONTENT_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CONTENT_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CONTENT_ENCRYPT_INFO>(), + 128usize, + concat!("Size of: ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CONTENT_ENCRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CONTENT_ENCRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvEncryptionAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pvEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cRecipients) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(cRecipients) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCmsRecipients) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(rgCmsRecipients) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEncryptFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(dwEncryptFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCNG) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(fCNG) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).pbCNGContentEncryptKeyObject) as usize - ptr as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pbCNGContentEncryptKeyObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbContentEncryptKey) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(pbContentEncryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbContentEncryptKey) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CONTENT_ENCRYPT_INFO), + "::", + stringify!(cbContentEncryptKey) + ) + ); +} +pub type CMSG_CONTENT_ENCRYPT_INFO = _CMSG_CONTENT_ENCRYPT_INFO; +pub type PCMSG_CONTENT_ENCRYPT_INFO = *mut _CMSG_CONTENT_ENCRYPT_INFO; +pub type PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_KEY_TRANS_ENCRYPT_INFO { + pub cbSize: DWORD, + pub dwRecipientIndex: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedKey: CRYPT_DATA_BLOB, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_TRANS_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_TRANS_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_TRANS_ENCRYPT_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_TRANS_ENCRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_TRANS_ENCRYPT_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CMSG_KEY_TRANS_ENCRYPT_INFO = _CMSG_KEY_TRANS_ENCRYPT_INFO; +pub type PCMSG_KEY_TRANS_ENCRYPT_INFO = *mut _CMSG_KEY_TRANS_ENCRYPT_INFO; +pub type PFN_CMSG_EXPORT_KEY_TRANS = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, + pKeyTransEncodeInfo: PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, + pKeyTransEncryptInfo: PCMSG_KEY_TRANS_ENCRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO { + pub cbSize: DWORD, + pub EncryptedKey: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_KEY_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_KEY_ENCRYPT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); +} +pub type CMSG_KEY_AGREE_KEY_ENCRYPT_INFO = _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO; +pub type PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO = *mut _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CMSG_KEY_AGREE_ENCRYPT_INFO { + pub cbSize: DWORD, + pub dwRecipientIndex: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub UserKeyingMaterial: CRYPT_DATA_BLOB, + pub dwOriginatorChoice: DWORD, + pub __bindgen_anon_1: _CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1, + pub cKeyAgreeKeyEncryptInfo: DWORD, + pub rgpKeyAgreeKeyEncryptInfo: *mut PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO, + pub dwFlags: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1 { + pub OriginatorCertId: CERT_ID, + pub OriginatorPublicKeyInfo: CERT_PUBLIC_KEY_INFO, +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1>(), + 48usize, + concat!( + "Size of: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorCertId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1), + "::", + stringify!(OriginatorCertId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginatorPublicKeyInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO__bindgen_ty_1), + "::", + stringify!(OriginatorPublicKeyInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__CMSG_KEY_AGREE_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_KEY_AGREE_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_KEY_AGREE_ENCRYPT_INFO>(), + 128usize, + concat!("Size of: ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_KEY_AGREE_ENCRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserKeyingMaterial) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(UserKeyingMaterial) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOriginatorChoice) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(dwOriginatorChoice) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cKeyAgreeKeyEncryptInfo) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(cKeyAgreeKeyEncryptInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpKeyAgreeKeyEncryptInfo) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(rgpKeyAgreeKeyEncryptInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_KEY_AGREE_ENCRYPT_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CMSG_KEY_AGREE_ENCRYPT_INFO = _CMSG_KEY_AGREE_ENCRYPT_INFO; +pub type PCMSG_KEY_AGREE_ENCRYPT_INFO = *mut _CMSG_KEY_AGREE_ENCRYPT_INFO; +pub type PFN_CMSG_EXPORT_KEY_AGREE = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, + pKeyAgreeEncodeInfo: PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, + pKeyAgreeEncryptInfo: PCMSG_KEY_AGREE_ENCRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_MAIL_LIST_ENCRYPT_INFO { + pub cbSize: DWORD, + pub dwRecipientIndex: DWORD, + pub KeyEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub EncryptedKey: CRYPT_DATA_BLOB, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CMSG_MAIL_LIST_ENCRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_MAIL_LIST_ENCRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_MAIL_LIST_ENCRYPT_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_MAIL_LIST_ENCRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRecipientIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(dwRecipientIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(KeyEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptedKey) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(EncryptedKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_MAIL_LIST_ENCRYPT_INFO), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CMSG_MAIL_LIST_ENCRYPT_INFO = _CMSG_MAIL_LIST_ENCRYPT_INFO; +pub type PCMSG_MAIL_LIST_ENCRYPT_INFO = *mut _CMSG_MAIL_LIST_ENCRYPT_INFO; +pub type PFN_CMSG_EXPORT_MAIL_LIST = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptInfo: PCMSG_CONTENT_ENCRYPT_INFO, + pMailListEncodeInfo: PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, + pMailListEncryptInfo: PCMSG_MAIL_LIST_ENCRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CMSG_IMPORT_KEY_TRANS = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptionAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pKeyTransDecryptPara: PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + phContentEncryptKey: *mut HCRYPTKEY, + ) -> BOOL, +>; +pub type PFN_CMSG_IMPORT_KEY_AGREE = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptionAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pKeyAgreeDecryptPara: PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + phContentEncryptKey: *mut HCRYPTKEY, + ) -> BOOL, +>; +pub type PFN_CMSG_IMPORT_MAIL_LIST = ::std::option::Option< + unsafe extern "C" fn( + pContentEncryptionAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pMailListDecryptPara: PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + phContentEncryptKey: *mut HCRYPTKEY, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CMSG_CNG_CONTENT_DECRYPT_INFO { + pub cbSize: DWORD, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pfnAlloc: PFN_CMSG_ALLOC, + pub pfnFree: PFN_CMSG_FREE, + pub hNCryptKey: NCRYPT_KEY_HANDLE, + pub pbContentEncryptKey: *mut BYTE, + pub cbContentEncryptKey: DWORD, + pub hCNGContentEncryptKey: BCRYPT_KEY_HANDLE, + pub pbCNGContentEncryptKeyObject: *mut BYTE, +} +#[test] +fn bindgen_test_layout__CMSG_CNG_CONTENT_DECRYPT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CMSG_CNG_CONTENT_DECRYPT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CMSG_CNG_CONTENT_DECRYPT_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CMSG_CNG_CONTENT_DECRYPT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAlloc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(pfnAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(hNCryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbContentEncryptKey) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(pbContentEncryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbContentEncryptKey) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(cbContentEncryptKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCNGContentEncryptKey) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(hCNGContentEncryptKey) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).pbCNGContentEncryptKeyObject) as usize - ptr as usize + }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CMSG_CNG_CONTENT_DECRYPT_INFO), + "::", + stringify!(pbCNGContentEncryptKeyObject) + ) + ); +} +pub type CMSG_CNG_CONTENT_DECRYPT_INFO = _CMSG_CNG_CONTENT_DECRYPT_INFO; +pub type PCMSG_CNG_CONTENT_DECRYPT_INFO = *mut _CMSG_CNG_CONTENT_DECRYPT_INFO; +pub type PFN_CMSG_CNG_IMPORT_KEY_TRANS = ::std::option::Option< + unsafe extern "C" fn( + pCNGContentDecryptInfo: PCMSG_CNG_CONTENT_DECRYPT_INFO, + pKeyTransDecryptPara: PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CMSG_CNG_IMPORT_KEY_AGREE = ::std::option::Option< + unsafe extern "C" fn( + pCNGContentDecryptInfo: PCMSG_CNG_CONTENT_DECRYPT_INFO, + pKeyAgreeDecryptPara: PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY = ::std::option::Option< + unsafe extern "C" fn( + pCNGContentDecryptInfo: PCMSG_CNG_CONTENT_DECRYPT_INFO, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type HCERTSTORE = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CONTEXT { + pub dwCertEncodingType: DWORD, + pub pbCertEncoded: *mut BYTE, + pub cbCertEncoded: DWORD, + pub pCertInfo: PCERT_INFO, + pub hCertStore: HCERTSTORE, +} +#[test] +fn bindgen_test_layout__CERT_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CONTEXT>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCertEncodingType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(dwCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbCertEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(pbCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCertEncoded) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(cbCertEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(pCertInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCertStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CONTEXT), + "::", + stringify!(hCertStore) + ) + ); +} +pub type CERT_CONTEXT = _CERT_CONTEXT; +pub type PCERT_CONTEXT = *mut _CERT_CONTEXT; +pub type PCCERT_CONTEXT = *const CERT_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_CONTEXT { + pub dwCertEncodingType: DWORD, + pub pbCrlEncoded: *mut BYTE, + pub cbCrlEncoded: DWORD, + pub pCrlInfo: PCRL_INFO, + pub hCertStore: HCERTSTORE, +} +#[test] +fn bindgen_test_layout__CRL_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_CONTEXT>(), + 40usize, + concat!("Size of: ", stringify!(_CRL_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCertEncodingType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(dwCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbCrlEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(pbCrlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCrlEncoded) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(cbCrlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(pCrlInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCertStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRL_CONTEXT), + "::", + stringify!(hCertStore) + ) + ); +} +pub type CRL_CONTEXT = _CRL_CONTEXT; +pub type PCRL_CONTEXT = *mut _CRL_CONTEXT; +pub type PCCRL_CONTEXT = *const CRL_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_CONTEXT { + pub dwMsgAndCertEncodingType: DWORD, + pub pbCtlEncoded: *mut BYTE, + pub cbCtlEncoded: DWORD, + pub pCtlInfo: PCTL_INFO, + pub hCertStore: HCERTSTORE, + pub hCryptMsg: HCRYPTMSG, + pub pbCtlContent: *mut BYTE, + pub cbCtlContent: DWORD, +} +#[test] +fn bindgen_test_layout__CTL_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_CONTEXT>(), + 64usize, + concat!("Size of: ", stringify!(_CTL_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbCtlEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(pbCtlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCtlEncoded) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(cbCtlEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCtlInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(pCtlInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCertStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(hCertStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptMsg) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(hCryptMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbCtlContent) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(pbCtlContent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCtlContent) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CTL_CONTEXT), + "::", + stringify!(cbCtlContent) + ) + ); +} +pub type CTL_CONTEXT = _CTL_CONTEXT; +pub type PCTL_CONTEXT = *mut _CTL_CONTEXT; +pub type PCCTL_CONTEXT = *const CTL_CONTEXT; +pub const CertKeyType_KeyTypeOther: CertKeyType = 0; +pub const CertKeyType_KeyTypeVirtualSmartCard: CertKeyType = 1; +pub const CertKeyType_KeyTypePhysicalSmartCard: CertKeyType = 2; +pub const CertKeyType_KeyTypePassport: CertKeyType = 3; +pub const CertKeyType_KeyTypePassportRemote: CertKeyType = 4; +pub const CertKeyType_KeyTypePassportSmartCard: CertKeyType = 5; +pub const CertKeyType_KeyTypeHardware: CertKeyType = 6; +pub const CertKeyType_KeyTypeSoftware: CertKeyType = 7; +pub const CertKeyType_KeyTypeSelfSigned: CertKeyType = 8; +pub type CertKeyType = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_KEY_PROV_PARAM { + pub dwParam: DWORD, + pub pbData: *mut BYTE, + pub cbData: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_PROV_PARAM() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_PROV_PARAM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_PROV_PARAM>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_KEY_PROV_PARAM)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_PROV_PARAM>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_KEY_PROV_PARAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwParam) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_PARAM), + "::", + stringify!(dwParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_PARAM), + "::", + stringify!(pbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_PARAM), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_PARAM), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CRYPT_KEY_PROV_PARAM = _CRYPT_KEY_PROV_PARAM; +pub type PCRYPT_KEY_PROV_PARAM = *mut _CRYPT_KEY_PROV_PARAM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_KEY_PROV_INFO { + pub pwszContainerName: LPWSTR, + pub pwszProvName: LPWSTR, + pub dwProvType: DWORD, + pub dwFlags: DWORD, + pub cProvParam: DWORD, + pub rgProvParam: PCRYPT_KEY_PROV_PARAM, + pub dwKeySpec: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_PROV_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_PROV_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_PROV_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_KEY_PROV_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_PROV_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_KEY_PROV_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszContainerName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(pwszContainerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszProvName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(pwszProvName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProvType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(dwProvType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cProvParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(cProvParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgProvParam) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(rgProvParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_PROV_INFO), + "::", + stringify!(dwKeySpec) + ) + ); +} +pub type CRYPT_KEY_PROV_INFO = _CRYPT_KEY_PROV_INFO; +pub type PCRYPT_KEY_PROV_INFO = *mut _CRYPT_KEY_PROV_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_KEY_CONTEXT { + pub cbSize: DWORD, + pub __bindgen_anon_1: _CERT_KEY_CONTEXT__bindgen_ty_1, + pub dwKeySpec: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_KEY_CONTEXT__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CERT_KEY_CONTEXT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEY_CONTEXT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEY_CONTEXT__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEY_CONTEXT__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_CONTEXT__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_KEY_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_KEY_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_KEY_CONTEXT>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_KEY_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_KEY_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_KEY_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_CONTEXT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_KEY_CONTEXT), + "::", + stringify!(dwKeySpec) + ) + ); +} +pub type CERT_KEY_CONTEXT = _CERT_KEY_CONTEXT; +pub type PCERT_KEY_CONTEXT = *mut _CERT_KEY_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ROOT_INFO_LUID { + pub LowPart: DWORD, + pub HighPart: LONG, +} +#[test] +fn bindgen_test_layout__ROOT_INFO_LUID() { + const UNINIT: ::std::mem::MaybeUninit<_ROOT_INFO_LUID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ROOT_INFO_LUID>(), + 8usize, + concat!("Size of: ", stringify!(_ROOT_INFO_LUID)) + ); + assert_eq!( + ::std::mem::align_of::<_ROOT_INFO_LUID>(), + 4usize, + concat!("Alignment of ", stringify!(_ROOT_INFO_LUID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ROOT_INFO_LUID), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ROOT_INFO_LUID), + "::", + stringify!(HighPart) + ) + ); +} +pub type ROOT_INFO_LUID = _ROOT_INFO_LUID; +pub type PROOT_INFO_LUID = *mut _ROOT_INFO_LUID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SMART_CARD_ROOT_INFO { + pub rgbCardID: [BYTE; 16usize], + pub luid: ROOT_INFO_LUID, +} +#[test] +fn bindgen_test_layout__CRYPT_SMART_CARD_ROOT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SMART_CARD_ROOT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SMART_CARD_ROOT_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_SMART_CARD_ROOT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SMART_CARD_ROOT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_SMART_CARD_ROOT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbCardID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMART_CARD_ROOT_INFO), + "::", + stringify!(rgbCardID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).luid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SMART_CARD_ROOT_INFO), + "::", + stringify!(luid) + ) + ); +} +pub type CRYPT_SMART_CARD_ROOT_INFO = _CRYPT_SMART_CARD_ROOT_INFO; +pub type PCRYPT_SMART_CARD_ROOT_INFO = *mut _CRYPT_SMART_CARD_ROOT_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CERT_SYSTEM_STORE_RELOCATE_PARA { + pub __bindgen_anon_1: _CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1, + pub __bindgen_anon_2: _CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1 { + pub hKeyBase: HKEY, + pub pvBase: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKeyBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1), + "::", + stringify!(hKeyBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_1), + "::", + stringify!(pvBase) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2 { + pub pvSystemStore: *mut ::std::os::raw::c_void, + pub pszSystemStore: LPCSTR, + pub pwszSystemStore: LPCWSTR, +} +#[test] +fn bindgen_test_layout__CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvSystemStore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2), + "::", + stringify!(pvSystemStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszSystemStore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2), + "::", + stringify!(pszSystemStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszSystemStore) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA__bindgen_ty_2), + "::", + stringify!(pwszSystemStore) + ) + ); +} +#[test] +fn bindgen_test_layout__CERT_SYSTEM_STORE_RELOCATE_PARA() { + assert_eq!( + ::std::mem::size_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SYSTEM_STORE_RELOCATE_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SYSTEM_STORE_RELOCATE_PARA) + ) + ); +} +pub type CERT_SYSTEM_STORE_RELOCATE_PARA = _CERT_SYSTEM_STORE_RELOCATE_PARA; +pub type PCERT_SYSTEM_STORE_RELOCATE_PARA = *mut _CERT_SYSTEM_STORE_RELOCATE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REGISTRY_STORE_CLIENT_GPT_PARA { + pub hKeyBase: HKEY, + pub pwszRegPath: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_REGISTRY_STORE_CLIENT_GPT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REGISTRY_STORE_CLIENT_GPT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REGISTRY_STORE_CLIENT_GPT_PARA>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CERT_REGISTRY_STORE_CLIENT_GPT_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REGISTRY_STORE_CLIENT_GPT_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_REGISTRY_STORE_CLIENT_GPT_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKeyBase) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REGISTRY_STORE_CLIENT_GPT_PARA), + "::", + stringify!(hKeyBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszRegPath) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REGISTRY_STORE_CLIENT_GPT_PARA), + "::", + stringify!(pwszRegPath) + ) + ); +} +pub type CERT_REGISTRY_STORE_CLIENT_GPT_PARA = _CERT_REGISTRY_STORE_CLIENT_GPT_PARA; +pub type PCERT_REGISTRY_STORE_CLIENT_GPT_PARA = *mut _CERT_REGISTRY_STORE_CLIENT_GPT_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REGISTRY_STORE_ROAMING_PARA { + pub hKey: HKEY, + pub pwszStoreDirectory: LPWSTR, +} +#[test] +fn bindgen_test_layout__CERT_REGISTRY_STORE_ROAMING_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REGISTRY_STORE_ROAMING_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REGISTRY_STORE_ROAMING_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_REGISTRY_STORE_ROAMING_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REGISTRY_STORE_ROAMING_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_REGISTRY_STORE_ROAMING_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REGISTRY_STORE_ROAMING_PARA), + "::", + stringify!(hKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszStoreDirectory) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REGISTRY_STORE_ROAMING_PARA), + "::", + stringify!(pwszStoreDirectory) + ) + ); +} +pub type CERT_REGISTRY_STORE_ROAMING_PARA = _CERT_REGISTRY_STORE_ROAMING_PARA; +pub type PCERT_REGISTRY_STORE_ROAMING_PARA = *mut _CERT_REGISTRY_STORE_ROAMING_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_LDAP_STORE_OPENED_PARA { + pub pvLdapSessionHandle: *mut ::std::os::raw::c_void, + pub pwszLdapUrl: LPCWSTR, +} +#[test] +fn bindgen_test_layout__CERT_LDAP_STORE_OPENED_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_LDAP_STORE_OPENED_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_LDAP_STORE_OPENED_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_LDAP_STORE_OPENED_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_LDAP_STORE_OPENED_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_LDAP_STORE_OPENED_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvLdapSessionHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LDAP_STORE_OPENED_PARA), + "::", + stringify!(pvLdapSessionHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszLdapUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_LDAP_STORE_OPENED_PARA), + "::", + stringify!(pwszLdapUrl) + ) + ); +} +pub type CERT_LDAP_STORE_OPENED_PARA = _CERT_LDAP_STORE_OPENED_PARA; +pub type PCERT_LDAP_STORE_OPENED_PARA = *mut _CERT_LDAP_STORE_OPENED_PARA; +extern "C" { + pub fn CertOpenStore( + lpszStoreProvider: LPCSTR, + dwEncodingType: DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + dwFlags: DWORD, + pvPara: *const ::std::os::raw::c_void, + ) -> HCERTSTORE; +} +pub type HCERTSTOREPROV = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_STORE_PROV_INFO { + pub cbSize: DWORD, + pub cStoreProvFunc: DWORD, + pub rgpvStoreProvFunc: *mut *mut ::std::os::raw::c_void, + pub hStoreProv: HCERTSTOREPROV, + pub dwStoreProvFlags: DWORD, + pub hStoreProvFuncAddr2: HCRYPTOIDFUNCADDR, +} +#[test] +fn bindgen_test_layout__CERT_STORE_PROV_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STORE_PROV_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STORE_PROV_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_STORE_PROV_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STORE_PROV_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_STORE_PROV_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cStoreProvFunc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(cStoreProvFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpvStoreProvFunc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(rgpvStoreProvFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStoreProv) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(hStoreProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStoreProvFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(dwStoreProvFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hStoreProvFuncAddr2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_INFO), + "::", + stringify!(hStoreProvFuncAddr2) + ) + ); +} +pub type CERT_STORE_PROV_INFO = _CERT_STORE_PROV_INFO; +pub type PCERT_STORE_PROV_INFO = *mut _CERT_STORE_PROV_INFO; +pub type PFN_CERT_DLL_OPEN_STORE_PROV_FUNC = ::std::option::Option< + unsafe extern "C" fn( + lpszStoreProvider: LPCSTR, + dwEncodingType: DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + dwFlags: DWORD, + pvPara: *const ::std::os::raw::c_void, + hCertStore: HCERTSTORE, + pStoreProvInfo: PCERT_STORE_PROV_INFO, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_CLOSE = + ::std::option::Option; +pub type PFN_CERT_STORE_PROV_READ_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pStoreCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + ppProvCertContext: *mut PCCERT_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_WRITE_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_DELETE_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_SET_CERT_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_READ_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pStoreCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + ppProvCrlContext: *mut PCCRL_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_WRITE_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_DELETE_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_SET_CRL_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_READ_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pStoreCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ppProvCtlContext: *mut PCCTL_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_WRITE_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_DELETE_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_SET_CTL_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_CONTROL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + dwFlags: DWORD, + dwCtrlType: DWORD, + pvCtrlPara: *const ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_STORE_PROV_FIND_INFO { + pub cbSize: DWORD, + pub dwMsgAndCertEncodingType: DWORD, + pub dwFindFlags: DWORD, + pub dwFindType: DWORD, + pub pvFindPara: *const ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_STORE_PROV_FIND_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_STORE_PROV_FIND_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_STORE_PROV_FIND_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_STORE_PROV_FIND_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_STORE_PROV_FIND_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_STORE_PROV_FIND_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFindFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(dwFindFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFindType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(dwFindType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvFindPara) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_STORE_PROV_FIND_INFO), + "::", + stringify!(pvFindPara) + ) + ); +} +pub type CERT_STORE_PROV_FIND_INFO = _CERT_STORE_PROV_FIND_INFO; +pub type PCERT_STORE_PROV_FIND_INFO = *mut _CERT_STORE_PROV_FIND_INFO; +pub type CCERT_STORE_PROV_FIND_INFO = CERT_STORE_PROV_FIND_INFO; +pub type PCCERT_STORE_PROV_FIND_INFO = *const CERT_STORE_PROV_FIND_INFO; +pub type PFN_CERT_STORE_PROV_FIND_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pFindInfo: PCCERT_STORE_PROV_FIND_INFO, + pPrevCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + ppvStoreProvFindInfo: *mut *mut ::std::os::raw::c_void, + ppProvCertContext: *mut PCCERT_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FREE_FIND_CERT = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + pvStoreProvFindInfo: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_GET_CERT_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FIND_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pFindInfo: PCCERT_STORE_PROV_FIND_INFO, + pPrevCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + ppvStoreProvFindInfo: *mut *mut ::std::os::raw::c_void, + ppProvCrlContext: *mut PCCRL_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FREE_FIND_CRL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + pvStoreProvFindInfo: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_GET_CRL_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCrlContext: PCCRL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FIND_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pFindInfo: PCCERT_STORE_PROV_FIND_INFO, + pPrevCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ppvStoreProvFindInfo: *mut *mut ::std::os::raw::c_void, + ppProvCtlContext: *mut PCCTL_CONTEXT, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_FREE_FIND_CTL = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + pvStoreProvFindInfo: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL, +>; +pub type PFN_CERT_STORE_PROV_GET_CTL_PROPERTY = ::std::option::Option< + unsafe extern "C" fn( + hStoreProv: HCERTSTOREPROV, + pCtlContext: PCCTL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CertDuplicateStore(hCertStore: HCERTSTORE) -> HCERTSTORE; +} +extern "C" { + pub fn CertSaveStore( + hCertStore: HCERTSTORE, + dwEncodingType: DWORD, + dwSaveAs: DWORD, + dwSaveTo: DWORD, + pvSaveToPara: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertCloseStore(hCertStore: HCERTSTORE, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CertGetSubjectCertificateFromStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + pCertId: PCERT_INFO, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertEnumCertificatesInStore( + hCertStore: HCERTSTORE, + pPrevCertContext: PCCERT_CONTEXT, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertFindCertificateInStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + dwFindFlags: DWORD, + dwFindType: DWORD, + pvFindPara: *const ::std::os::raw::c_void, + pPrevCertContext: PCCERT_CONTEXT, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertGetIssuerCertificateFromStore( + hCertStore: HCERTSTORE, + pSubjectContext: PCCERT_CONTEXT, + pPrevIssuerContext: PCCERT_CONTEXT, + pdwFlags: *mut DWORD, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertVerifySubjectCertificateContext( + pSubject: PCCERT_CONTEXT, + pIssuer: PCCERT_CONTEXT, + pdwFlags: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertDuplicateCertificateContext(pCertContext: PCCERT_CONTEXT) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertCreateCertificateContext( + dwCertEncodingType: DWORD, + pbCertEncoded: *const BYTE, + cbCertEncoded: DWORD, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CertFreeCertificateContext(pCertContext: PCCERT_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertSetCertificateContextProperty( + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertGetCertificateContextProperty( + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumCertificateContextProperties( + pCertContext: PCCERT_CONTEXT, + dwPropId: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertCreateCTLEntryFromCertificateContextProperties( + pCertContext: PCCERT_CONTEXT, + cOptAttr: DWORD, + rgOptAttr: PCRYPT_ATTRIBUTE, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pCtlEntry: PCTL_ENTRY, + pcbCtlEntry: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertSetCertificateContextPropertiesFromCTLEntry( + pCertContext: PCCERT_CONTEXT, + pCtlEntry: PCTL_ENTRY, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertGetCRLFromStore( + hCertStore: HCERTSTORE, + pIssuerContext: PCCERT_CONTEXT, + pPrevCrlContext: PCCRL_CONTEXT, + pdwFlags: *mut DWORD, + ) -> PCCRL_CONTEXT; +} +extern "C" { + pub fn CertEnumCRLsInStore( + hCertStore: HCERTSTORE, + pPrevCrlContext: PCCRL_CONTEXT, + ) -> PCCRL_CONTEXT; +} +extern "C" { + pub fn CertFindCRLInStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + dwFindFlags: DWORD, + dwFindType: DWORD, + pvFindPara: *const ::std::os::raw::c_void, + pPrevCrlContext: PCCRL_CONTEXT, + ) -> PCCRL_CONTEXT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_FIND_ISSUED_FOR_PARA { + pub pSubjectCert: PCCERT_CONTEXT, + pub pIssuerCert: PCCERT_CONTEXT, +} +#[test] +fn bindgen_test_layout__CRL_FIND_ISSUED_FOR_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_FIND_ISSUED_FOR_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_FIND_ISSUED_FOR_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CRL_FIND_ISSUED_FOR_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_FIND_ISSUED_FOR_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_FIND_ISSUED_FOR_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSubjectCert) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_FIND_ISSUED_FOR_PARA), + "::", + stringify!(pSubjectCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIssuerCert) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_FIND_ISSUED_FOR_PARA), + "::", + stringify!(pIssuerCert) + ) + ); +} +pub type CRL_FIND_ISSUED_FOR_PARA = _CRL_FIND_ISSUED_FOR_PARA; +pub type PCRL_FIND_ISSUED_FOR_PARA = *mut _CRL_FIND_ISSUED_FOR_PARA; +extern "C" { + pub fn CertDuplicateCRLContext(pCrlContext: PCCRL_CONTEXT) -> PCCRL_CONTEXT; +} +extern "C" { + pub fn CertCreateCRLContext( + dwCertEncodingType: DWORD, + pbCrlEncoded: *const BYTE, + cbCrlEncoded: DWORD, + ) -> PCCRL_CONTEXT; +} +extern "C" { + pub fn CertFreeCRLContext(pCrlContext: PCCRL_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertSetCRLContextProperty( + pCrlContext: PCCRL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertGetCRLContextProperty( + pCrlContext: PCCRL_CONTEXT, + dwPropId: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumCRLContextProperties(pCrlContext: PCCRL_CONTEXT, dwPropId: DWORD) -> DWORD; +} +extern "C" { + pub fn CertFindCertificateInCRL( + pCert: PCCERT_CONTEXT, + pCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ppCrlEntry: *mut PCRL_ENTRY, + ) -> BOOL; +} +extern "C" { + pub fn CertIsValidCRLForCertificate( + pCert: PCCERT_CONTEXT, + pCrl: PCCRL_CONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertAddEncodedCertificateToStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + pbCertEncoded: *const BYTE, + cbCertEncoded: DWORD, + dwAddDisposition: DWORD, + ppCertContext: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCertificateContextToStore( + hCertStore: HCERTSTORE, + pCertContext: PCCERT_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddSerializedElementToStore( + hCertStore: HCERTSTORE, + pbElement: *const BYTE, + cbElement: DWORD, + dwAddDisposition: DWORD, + dwFlags: DWORD, + dwContextTypeFlags: DWORD, + pdwContextType: *mut DWORD, + ppvContext: *mut *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertDeleteCertificateFromStore(pCertContext: PCCERT_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertAddEncodedCRLToStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + pbCrlEncoded: *const BYTE, + cbCrlEncoded: DWORD, + dwAddDisposition: DWORD, + ppCrlContext: *mut PCCRL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCRLContextToStore( + hCertStore: HCERTSTORE, + pCrlContext: PCCRL_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCRL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertDeleteCRLFromStore(pCrlContext: PCCRL_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertSerializeCertificateStoreElement( + pCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + pbElement: *mut BYTE, + pcbElement: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertSerializeCRLStoreElement( + pCrlContext: PCCRL_CONTEXT, + dwFlags: DWORD, + pbElement: *mut BYTE, + pcbElement: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertDuplicateCTLContext(pCtlContext: PCCTL_CONTEXT) -> PCCTL_CONTEXT; +} +extern "C" { + pub fn CertCreateCTLContext( + dwMsgAndCertEncodingType: DWORD, + pbCtlEncoded: *const BYTE, + cbCtlEncoded: DWORD, + ) -> PCCTL_CONTEXT; +} +extern "C" { + pub fn CertFreeCTLContext(pCtlContext: PCCTL_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertSetCTLContextProperty( + pCtlContext: PCCTL_CONTEXT, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertGetCTLContextProperty( + pCtlContext: PCCTL_CONTEXT, + dwPropId: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumCTLContextProperties(pCtlContext: PCCTL_CONTEXT, dwPropId: DWORD) -> DWORD; +} +extern "C" { + pub fn CertEnumCTLsInStore( + hCertStore: HCERTSTORE, + pPrevCtlContext: PCCTL_CONTEXT, + ) -> PCCTL_CONTEXT; +} +extern "C" { + pub fn CertFindSubjectInCTL( + dwEncodingType: DWORD, + dwSubjectType: DWORD, + pvSubject: *mut ::std::os::raw::c_void, + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + ) -> PCTL_ENTRY; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_ANY_SUBJECT_INFO { + pub SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub SubjectIdentifier: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CTL_ANY_SUBJECT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_ANY_SUBJECT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_ANY_SUBJECT_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CTL_ANY_SUBJECT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_ANY_SUBJECT_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_ANY_SUBJECT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ANY_SUBJECT_INFO), + "::", + stringify!(SubjectAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectIdentifier) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_ANY_SUBJECT_INFO), + "::", + stringify!(SubjectIdentifier) + ) + ); +} +pub type CTL_ANY_SUBJECT_INFO = _CTL_ANY_SUBJECT_INFO; +pub type PCTL_ANY_SUBJECT_INFO = *mut _CTL_ANY_SUBJECT_INFO; +extern "C" { + pub fn CertFindCTLInStore( + hCertStore: HCERTSTORE, + dwMsgAndCertEncodingType: DWORD, + dwFindFlags: DWORD, + dwFindType: DWORD, + pvFindPara: *const ::std::os::raw::c_void, + pPrevCtlContext: PCCTL_CONTEXT, + ) -> PCCTL_CONTEXT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_FIND_USAGE_PARA { + pub cbSize: DWORD, + pub SubjectUsage: CTL_USAGE, + pub ListIdentifier: CRYPT_DATA_BLOB, + pub pSigner: PCERT_INFO, +} +#[test] +fn bindgen_test_layout__CTL_FIND_USAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_FIND_USAGE_PARA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_FIND_USAGE_PARA>(), + 48usize, + concat!("Size of: ", stringify!(_CTL_FIND_USAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_FIND_USAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_FIND_USAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_USAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubjectUsage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_USAGE_PARA), + "::", + stringify!(SubjectUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ListIdentifier) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_USAGE_PARA), + "::", + stringify!(ListIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSigner) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_USAGE_PARA), + "::", + stringify!(pSigner) + ) + ); +} +pub type CTL_FIND_USAGE_PARA = _CTL_FIND_USAGE_PARA; +pub type PCTL_FIND_USAGE_PARA = *mut _CTL_FIND_USAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_FIND_SUBJECT_PARA { + pub cbSize: DWORD, + pub pUsagePara: PCTL_FIND_USAGE_PARA, + pub dwSubjectType: DWORD, + pub pvSubject: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CTL_FIND_SUBJECT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_FIND_SUBJECT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_FIND_SUBJECT_PARA>(), + 32usize, + concat!("Size of: ", stringify!(_CTL_FIND_SUBJECT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_FIND_SUBJECT_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_FIND_SUBJECT_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_SUBJECT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUsagePara) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_SUBJECT_PARA), + "::", + stringify!(pUsagePara) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSubjectType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_SUBJECT_PARA), + "::", + stringify!(dwSubjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvSubject) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_FIND_SUBJECT_PARA), + "::", + stringify!(pvSubject) + ) + ); +} +pub type CTL_FIND_SUBJECT_PARA = _CTL_FIND_SUBJECT_PARA; +pub type PCTL_FIND_SUBJECT_PARA = *mut _CTL_FIND_SUBJECT_PARA; +extern "C" { + pub fn CertAddEncodedCTLToStore( + hCertStore: HCERTSTORE, + dwMsgAndCertEncodingType: DWORD, + pbCtlEncoded: *const BYTE, + cbCtlEncoded: DWORD, + dwAddDisposition: DWORD, + ppCtlContext: *mut PCCTL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCTLContextToStore( + hCertStore: HCERTSTORE, + pCtlContext: PCCTL_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCTL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertSerializeCTLStoreElement( + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + pbElement: *mut BYTE, + pcbElement: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertDeleteCTLFromStore(pCtlContext: PCCTL_CONTEXT) -> BOOL; +} +extern "C" { + pub fn CertAddCertificateLinkToStore( + hCertStore: HCERTSTORE, + pCertContext: PCCERT_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCRLLinkToStore( + hCertStore: HCERTSTORE, + pCrlContext: PCCRL_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCRL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddCTLLinkToStore( + hCertStore: HCERTSTORE, + pCtlContext: PCCTL_CONTEXT, + dwAddDisposition: DWORD, + ppStoreContext: *mut PCCTL_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertAddStoreToCollection( + hCollectionStore: HCERTSTORE, + hSiblingStore: HCERTSTORE, + dwUpdateFlags: DWORD, + dwPriority: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertRemoveStoreFromCollection(hCollectionStore: HCERTSTORE, hSiblingStore: HCERTSTORE); +} +extern "C" { + pub fn CertControlStore( + hCertStore: HCERTSTORE, + dwFlags: DWORD, + dwCtrlType: DWORD, + pvCtrlPara: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertSetStoreProperty( + hCertStore: HCERTSTORE, + dwPropId: DWORD, + dwFlags: DWORD, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertGetStoreProperty( + hCertStore: HCERTSTORE, + dwPropId: DWORD, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CERT_CREATE_CONTEXT_SORT_FUNC = ::std::option::Option< + unsafe extern "C" fn( + cbTotalEncoded: DWORD, + cbRemainEncoded: DWORD, + cEntry: DWORD, + pvSort: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CREATE_CONTEXT_PARA { + pub cbSize: DWORD, + pub pfnFree: PFN_CRYPT_FREE, + pub pvFree: *mut ::std::os::raw::c_void, + pub pfnSort: PFN_CERT_CREATE_CONTEXT_SORT_FUNC, + pub pvSort: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_CREATE_CONTEXT_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CREATE_CONTEXT_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CREATE_CONTEXT_PARA>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_CREATE_CONTEXT_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CREATE_CONTEXT_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CREATE_CONTEXT_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(pvFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnSort) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(pfnSort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvSort) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CREATE_CONTEXT_PARA), + "::", + stringify!(pvSort) + ) + ); +} +pub type CERT_CREATE_CONTEXT_PARA = _CERT_CREATE_CONTEXT_PARA; +pub type PCERT_CREATE_CONTEXT_PARA = *mut _CERT_CREATE_CONTEXT_PARA; +extern "C" { + pub fn CertCreateContext( + dwContextType: DWORD, + dwEncodingType: DWORD, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + dwFlags: DWORD, + pCreatePara: PCERT_CREATE_CONTEXT_PARA, + ) -> *const ::std::os::raw::c_void; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SYSTEM_STORE_INFO { + pub cbSize: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_SYSTEM_STORE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SYSTEM_STORE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SYSTEM_STORE_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_CERT_SYSTEM_STORE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SYSTEM_STORE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_SYSTEM_STORE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SYSTEM_STORE_INFO), + "::", + stringify!(cbSize) + ) + ); +} +pub type CERT_SYSTEM_STORE_INFO = _CERT_SYSTEM_STORE_INFO; +pub type PCERT_SYSTEM_STORE_INFO = *mut _CERT_SYSTEM_STORE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_PHYSICAL_STORE_INFO { + pub cbSize: DWORD, + pub pszOpenStoreProvider: LPSTR, + pub dwOpenEncodingType: DWORD, + pub dwOpenFlags: DWORD, + pub OpenParameters: CRYPT_DATA_BLOB, + pub dwFlags: DWORD, + pub dwPriority: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_PHYSICAL_STORE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_PHYSICAL_STORE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_PHYSICAL_STORE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_PHYSICAL_STORE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_PHYSICAL_STORE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_PHYSICAL_STORE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOpenStoreProvider) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(pszOpenStoreProvider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOpenEncodingType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(dwOpenEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOpenFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(dwOpenFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpenParameters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(OpenParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPriority) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_CERT_PHYSICAL_STORE_INFO), + "::", + stringify!(dwPriority) + ) + ); +} +pub type CERT_PHYSICAL_STORE_INFO = _CERT_PHYSICAL_STORE_INFO; +pub type PCERT_PHYSICAL_STORE_INFO = *mut _CERT_PHYSICAL_STORE_INFO; +extern "C" { + pub fn CertRegisterSystemStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pStoreInfo: PCERT_SYSTEM_STORE_INFO, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertRegisterPhysicalStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pwszStoreName: LPCWSTR, + pStoreInfo: PCERT_PHYSICAL_STORE_INFO, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CertUnregisterSystemStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertUnregisterPhysicalStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pwszStoreName: LPCWSTR, + ) -> BOOL; +} +pub type PFN_CERT_ENUM_SYSTEM_STORE_LOCATION = ::std::option::Option< + unsafe extern "C" fn( + pwszStoreLocation: LPCWSTR, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_ENUM_SYSTEM_STORE = ::std::option::Option< + unsafe extern "C" fn( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pStoreInfo: PCERT_SYSTEM_STORE_INFO, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +pub type PFN_CERT_ENUM_PHYSICAL_STORE = ::std::option::Option< + unsafe extern "C" fn( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pwszStoreName: LPCWSTR, + pStoreInfo: PCERT_PHYSICAL_STORE_INFO, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +extern "C" { + pub fn CertEnumSystemStoreLocation( + dwFlags: DWORD, + pvArg: *mut ::std::os::raw::c_void, + pfnEnum: PFN_CERT_ENUM_SYSTEM_STORE_LOCATION, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumSystemStore( + dwFlags: DWORD, + pvSystemStoreLocationPara: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + pfnEnum: PFN_CERT_ENUM_SYSTEM_STORE, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumPhysicalStore( + pvSystemStore: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pvArg: *mut ::std::os::raw::c_void, + pfnEnum: PFN_CERT_ENUM_PHYSICAL_STORE, + ) -> BOOL; +} +extern "C" { + pub fn CertGetEnhancedKeyUsage( + pCertContext: PCCERT_CONTEXT, + dwFlags: DWORD, + pUsage: PCERT_ENHKEY_USAGE, + pcbUsage: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertSetEnhancedKeyUsage( + pCertContext: PCCERT_CONTEXT, + pUsage: PCERT_ENHKEY_USAGE, + ) -> BOOL; +} +extern "C" { + pub fn CertAddEnhancedKeyUsageIdentifier( + pCertContext: PCCERT_CONTEXT, + pszUsageIdentifier: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CertRemoveEnhancedKeyUsageIdentifier( + pCertContext: PCCERT_CONTEXT, + pszUsageIdentifier: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CertGetValidUsages( + cCerts: DWORD, + rghCerts: *mut PCCERT_CONTEXT, + cNumOIDs: *mut ::std::os::raw::c_int, + rghOIDs: *mut LPSTR, + pcbOIDs: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgGetAndVerifySigner( + hCryptMsg: HCRYPTMSG, + cSignerStore: DWORD, + rghSignerStore: *mut HCERTSTORE, + dwFlags: DWORD, + ppSigner: *mut PCCERT_CONTEXT, + pdwSignerIndex: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgSignCTL( + dwMsgEncodingType: DWORD, + pbCtlContent: *mut BYTE, + cbCtlContent: DWORD, + pSignInfo: PCMSG_SIGNED_ENCODE_INFO, + dwFlags: DWORD, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptMsgEncodeAndSignCTL( + dwMsgEncodingType: DWORD, + pCtlInfo: PCTL_INFO, + pSignInfo: PCMSG_SIGNED_ENCODE_INFO, + dwFlags: DWORD, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertFindSubjectInSortedCTL( + pSubjectIdentifier: PCRYPT_DATA_BLOB, + pCtlContext: PCCTL_CONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pEncodedAttributes: PCRYPT_DER_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CertEnumSubjectInSortedCTL( + pCtlContext: PCCTL_CONTEXT, + ppvNextSubject: *mut *mut ::std::os::raw::c_void, + pSubjectIdentifier: PCRYPT_DER_BLOB, + pEncodedAttributes: PCRYPT_DER_BLOB, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_VERIFY_USAGE_PARA { + pub cbSize: DWORD, + pub ListIdentifier: CRYPT_DATA_BLOB, + pub cCtlStore: DWORD, + pub rghCtlStore: *mut HCERTSTORE, + pub cSignerStore: DWORD, + pub rghSignerStore: *mut HCERTSTORE, +} +#[test] +fn bindgen_test_layout__CTL_VERIFY_USAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_VERIFY_USAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_VERIFY_USAGE_PARA>(), + 56usize, + concat!("Size of: ", stringify!(_CTL_VERIFY_USAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_VERIFY_USAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_VERIFY_USAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ListIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(ListIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCtlStore) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(cCtlStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rghCtlStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(rghCtlStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cSignerStore) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(cSignerStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rghSignerStore) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_PARA), + "::", + stringify!(rghSignerStore) + ) + ); +} +pub type CTL_VERIFY_USAGE_PARA = _CTL_VERIFY_USAGE_PARA; +pub type PCTL_VERIFY_USAGE_PARA = *mut _CTL_VERIFY_USAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_VERIFY_USAGE_STATUS { + pub cbSize: DWORD, + pub dwError: DWORD, + pub dwFlags: DWORD, + pub ppCtl: *mut PCCTL_CONTEXT, + pub dwCtlEntryIndex: DWORD, + pub ppSigner: *mut PCCERT_CONTEXT, + pub dwSignerIndex: DWORD, +} +#[test] +fn bindgen_test_layout__CTL_VERIFY_USAGE_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_VERIFY_USAGE_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_VERIFY_USAGE_STATUS>(), + 48usize, + concat!("Size of: ", stringify!(_CTL_VERIFY_USAGE_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_VERIFY_USAGE_STATUS>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_VERIFY_USAGE_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppCtl) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(ppCtl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCtlEntryIndex) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(dwCtlEntryIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppSigner) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(ppSigner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignerIndex) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CTL_VERIFY_USAGE_STATUS), + "::", + stringify!(dwSignerIndex) + ) + ); +} +pub type CTL_VERIFY_USAGE_STATUS = _CTL_VERIFY_USAGE_STATUS; +pub type PCTL_VERIFY_USAGE_STATUS = *mut _CTL_VERIFY_USAGE_STATUS; +extern "C" { + pub fn CertVerifyCTLUsage( + dwEncodingType: DWORD, + dwSubjectType: DWORD, + pvSubject: *mut ::std::os::raw::c_void, + pSubjectUsage: PCTL_USAGE, + dwFlags: DWORD, + pVerifyUsagePara: PCTL_VERIFY_USAGE_PARA, + pVerifyUsageStatus: PCTL_VERIFY_USAGE_STATUS, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_CRL_INFO { + pub cbSize: DWORD, + pub pBaseCrlContext: PCCRL_CONTEXT, + pub pDeltaCrlContext: PCCRL_CONTEXT, + pub pCrlEntry: PCRL_ENTRY, + pub fDeltaCrlEntry: BOOL, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_CRL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_CRL_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_CRL_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_CRL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_CRL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_CRL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBaseCrlContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(pBaseCrlContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDeltaCrlContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(pDeltaCrlContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlEntry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(pCrlEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fDeltaCrlEntry) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CRL_INFO), + "::", + stringify!(fDeltaCrlEntry) + ) + ); +} +pub type CERT_REVOCATION_CRL_INFO = _CERT_REVOCATION_CRL_INFO; +pub type PCERT_REVOCATION_CRL_INFO = *mut _CERT_REVOCATION_CRL_INFO; +pub type CERT_REVOCATION_CHAIN_PARA = _CERT_REVOCATION_CHAIN_PARA; +pub type PCERT_REVOCATION_CHAIN_PARA = *mut _CERT_REVOCATION_CHAIN_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_PARA { + pub cbSize: DWORD, + pub pIssuerCert: PCCERT_CONTEXT, + pub cCertStore: DWORD, + pub rgCertStore: *mut HCERTSTORE, + pub hCrlStore: HCERTSTORE, + pub pftTimeToUse: LPFILETIME, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_PARA>(), + 48usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIssuerCert) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(pIssuerCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertStore) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(cCertStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgCertStore) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(rgCertStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCrlStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(hCrlStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftTimeToUse) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_PARA), + "::", + stringify!(pftTimeToUse) + ) + ); +} +pub type CERT_REVOCATION_PARA = _CERT_REVOCATION_PARA; +pub type PCERT_REVOCATION_PARA = *mut _CERT_REVOCATION_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_STATUS { + pub cbSize: DWORD, + pub dwIndex: DWORD, + pub dwError: DWORD, + pub dwReason: DWORD, + pub fHasFreshnessTime: BOOL, + pub dwFreshnessTime: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_STATUS>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(dwIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReason) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(dwReason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasFreshnessTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(fHasFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFreshnessTime) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_STATUS), + "::", + stringify!(dwFreshnessTime) + ) + ); +} +pub type CERT_REVOCATION_STATUS = _CERT_REVOCATION_STATUS; +pub type PCERT_REVOCATION_STATUS = *mut _CERT_REVOCATION_STATUS; +extern "C" { + pub fn CertVerifyRevocation( + dwEncodingType: DWORD, + dwRevType: DWORD, + cContext: DWORD, + rgpvContext: *mut PVOID, + dwFlags: DWORD, + pRevPara: PCERT_REVOCATION_PARA, + pRevStatus: PCERT_REVOCATION_STATUS, + ) -> BOOL; +} +extern "C" { + pub fn CertCompareIntegerBlob(pInt1: PCRYPT_INTEGER_BLOB, pInt2: PCRYPT_INTEGER_BLOB) -> BOOL; +} +extern "C" { + pub fn CertCompareCertificate( + dwCertEncodingType: DWORD, + pCertId1: PCERT_INFO, + pCertId2: PCERT_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CertCompareCertificateName( + dwCertEncodingType: DWORD, + pCertName1: PCERT_NAME_BLOB, + pCertName2: PCERT_NAME_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CertIsRDNAttrsInCertificateName( + dwCertEncodingType: DWORD, + dwFlags: DWORD, + pCertName: PCERT_NAME_BLOB, + pRDN: PCERT_RDN, + ) -> BOOL; +} +extern "C" { + pub fn CertComparePublicKeyInfo( + dwCertEncodingType: DWORD, + pPublicKey1: PCERT_PUBLIC_KEY_INFO, + pPublicKey2: PCERT_PUBLIC_KEY_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CertGetPublicKeyLength( + dwCertEncodingType: DWORD, + pPublicKey: PCERT_PUBLIC_KEY_INFO, + ) -> DWORD; +} +extern "C" { + pub fn CryptVerifyCertificateSignature( + hCryptProv: HCRYPTPROV_LEGACY, + dwCertEncodingType: DWORD, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pPublicKey: PCERT_PUBLIC_KEY_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyCertificateSignatureEx( + hCryptProv: HCRYPTPROV_LEGACY, + dwCertEncodingType: DWORD, + dwSubjectType: DWORD, + pvSubject: *mut ::std::os::raw::c_void, + dwIssuerType: DWORD, + pvIssuer: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + pvExtra: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO { + pub CertSignHashCNGAlgPropData: CRYPT_DATA_BLOB, + pub CertIssuerPubKeyBitLengthPropData: CRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO>(), + 32usize, + concat!( + "Size of: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CertSignHashCNGAlgPropData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO), + "::", + stringify!(CertSignHashCNGAlgPropData) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CertIssuerPubKeyBitLengthPropData) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO), + "::", + stringify!(CertIssuerPubKeyBitLengthPropData) + ) + ); +} +pub type CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO = + _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO; +pub type PCRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO = + *mut _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO { + pub cCNGHashAlgid: DWORD, + pub rgpwszCNGHashAlgid: *mut PCWSTR, + pub dwWeakIndex: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO>(), + 24usize, + concat!( + "Size of: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCNGHashAlgid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO), + "::", + stringify!(cCNGHashAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpwszCNGHashAlgid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO), + "::", + stringify!(rgpwszCNGHashAlgid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWeakIndex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO), + "::", + stringify!(dwWeakIndex) + ) + ); +} +pub type CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO = _CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO; +pub type PCRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO = *mut _CRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO; +extern "C" { + pub fn CertIsStrongHashToSign( + pStrongSignPara: PCCERT_STRONG_SIGN_PARA, + pwszCNGHashAlgid: LPCWSTR, + pSigningCert: PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashToBeSigned( + hCryptProv: HCRYPTPROV_LEGACY, + dwCertEncodingType: DWORD, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashCertificate( + hCryptProv: HCRYPTPROV_LEGACY, + Algid: ALG_ID, + dwFlags: DWORD, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashCertificate2( + pwszCNGHashAlgid: LPCWSTR, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pbEncoded: *const BYTE, + cbEncoded: DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignCertificate( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + dwKeySpec: DWORD, + dwCertEncodingType: DWORD, + pbEncodedToBeSigned: *const BYTE, + cbEncodedToBeSigned: DWORD, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pvHashAuxInfo: *const ::std::os::raw::c_void, + pbSignature: *mut BYTE, + pcbSignature: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignAndEncodeCertificate( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + dwKeySpec: DWORD, + dwCertEncodingType: DWORD, + lpszStructType: LPCSTR, + pvStructInfo: *const ::std::os::raw::c_void, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pvHashAuxInfo: *const ::std::os::raw::c_void, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwCertEncodingType: DWORD, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + ppvDecodedSignPara: *mut *mut ::std::os::raw::c_void, + ppwszCNGHashAlgid: *mut LPWSTR, + ) -> BOOL, +>; +pub type PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hKey: NCRYPT_KEY_HANDLE, + dwCertEncodingType: DWORD, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pvDecodedSignPara: *mut ::std::os::raw::c_void, + pwszCNGPubKeyAlgid: LPCWSTR, + pwszCNGHashAlgid: LPCWSTR, + pbComputedHash: *mut BYTE, + cbComputedHash: DWORD, + pbSignature: *mut BYTE, + pcbSignature: *mut DWORD, + ) -> BOOL, +>; +pub type PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwCertEncodingType: DWORD, + pPubKeyInfo: PCERT_PUBLIC_KEY_INFO, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pvDecodedSignPara: *mut ::std::os::raw::c_void, + pwszCNGPubKeyAlgid: LPCWSTR, + pwszCNGHashAlgid: LPCWSTR, + pbComputedHash: *mut BYTE, + cbComputedHash: DWORD, + pbSignature: *mut BYTE, + cbSignature: DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CertVerifyTimeValidity(pTimeToVerify: LPFILETIME, pCertInfo: PCERT_INFO) -> LONG; +} +extern "C" { + pub fn CertVerifyCRLTimeValidity(pTimeToVerify: LPFILETIME, pCrlInfo: PCRL_INFO) -> LONG; +} +extern "C" { + pub fn CertVerifyValidityNesting(pSubjectInfo: PCERT_INFO, pIssuerInfo: PCERT_INFO) -> BOOL; +} +extern "C" { + pub fn CertVerifyCRLRevocation( + dwCertEncodingType: DWORD, + pCertId: PCERT_INFO, + cCrlInfo: DWORD, + rgpCrlInfo: *mut PCRL_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CertAlgIdToOID(dwAlgId: DWORD) -> LPCSTR; +} +extern "C" { + pub fn CertOIDToAlgId(pszObjId: LPCSTR) -> DWORD; +} +extern "C" { + pub fn CertFindExtension( + pszObjId: LPCSTR, + cExtensions: DWORD, + rgExtensions: *mut CERT_EXTENSION, + ) -> PCERT_EXTENSION; +} +extern "C" { + pub fn CertFindAttribute( + pszObjId: LPCSTR, + cAttr: DWORD, + rgAttr: *mut CRYPT_ATTRIBUTE, + ) -> PCRYPT_ATTRIBUTE; +} +extern "C" { + pub fn CertFindRDNAttr(pszObjId: LPCSTR, pName: PCERT_NAME_INFO) -> PCERT_RDN_ATTR; +} +extern "C" { + pub fn CertGetIntendedKeyUsage( + dwCertEncodingType: DWORD, + pCertInfo: PCERT_INFO, + pbKeyUsage: *mut BYTE, + cbKeyUsage: DWORD, + ) -> BOOL; +} +pub type HCRYPTDEFAULTCONTEXT = *mut ::std::os::raw::c_void; +extern "C" { + pub fn CryptInstallDefaultContext( + hCryptProv: HCRYPTPROV, + dwDefaultType: DWORD, + pvDefaultPara: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + phDefaultContext: *mut HCRYPTDEFAULTCONTEXT, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA { + pub cOID: DWORD, + pub rgpszOID: *mut LPSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA>(), + 16usize, + concat!( + "Size of: ", + stringify!(_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cOID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA), + "::", + stringify!(cOID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszOID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA), + "::", + stringify!(rgpszOID) + ) + ); +} +pub type CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA = _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA; +pub type PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA = *mut _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA; +extern "C" { + pub fn CryptUninstallDefaultContext( + hDefaultContext: HCRYPTDEFAULTCONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptExportPublicKeyInfo( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + dwKeySpec: DWORD, + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptExportPublicKeyInfoEx( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + dwKeySpec: DWORD, + dwCertEncodingType: DWORD, + pszPublicKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hNCryptKey: NCRYPT_KEY_HANDLE, + dwCertEncodingType: DWORD, + pszPublicKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CryptExportPublicKeyInfoFromBCryptKeyHandle( + hBCryptKey: BCRYPT_KEY_HANDLE, + dwCertEncodingType: DWORD, + pszPublicKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL; +} +pub type PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hBCryptKey: BCRYPT_KEY_HANDLE, + dwCertEncodingType: DWORD, + pszPublicKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pInfo: PCERT_PUBLIC_KEY_INFO, + pcbInfo: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CryptImportPublicKeyInfo( + hCryptProv: HCRYPTPROV, + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptImportPublicKeyInfoEx( + hCryptProv: HCRYPTPROV, + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + aiKeyAlg: ALG_ID, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + phKey: *mut HCRYPTKEY, + ) -> BOOL; +} +extern "C" { + pub fn CryptImportPublicKeyInfoEx2( + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + phKey: *mut BCRYPT_KEY_HANDLE, + ) -> BOOL; +} +pub type PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC = ::std::option::Option< + unsafe extern "C" fn( + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + phKey: *mut BCRYPT_KEY_HANDLE, + ) -> BOOL, +>; +extern "C" { + pub fn CryptAcquireCertificatePrivateKey( + pCert: PCCERT_CONTEXT, + dwFlags: DWORD, + pvParameters: *mut ::std::os::raw::c_void, + phCryptProvOrNCryptKey: *mut HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + pdwKeySpec: *mut DWORD, + pfCallerFreeProvOrNCryptKey: *mut BOOL, + ) -> BOOL; +} +extern "C" { + pub fn CryptFindCertificateKeyProvInfo( + pCert: PCCERT_CONTEXT, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +pub type PFN_IMPORT_PRIV_KEY_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hCryptProv: HCRYPTPROV, + pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +extern "C" { + pub fn CryptImportPKCS8( + sPrivateKeyAndParams: CRYPT_PKCS8_IMPORT_PARAMS, + dwFlags: DWORD, + phCryptProv: *mut HCRYPTPROV, + pvAuxInfo: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +pub type PFN_EXPORT_PRIV_KEY_FUNC = ::std::option::Option< + unsafe extern "C" fn( + hCryptProv: HCRYPTPROV, + dwKeySpec: DWORD, + pszPrivateKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, + pcbPrivateKeyInfo: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CryptExportPKCS8( + hCryptProv: HCRYPTPROV, + dwKeySpec: DWORD, + pszPrivateKeyObjId: LPSTR, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pbPrivateKeyBlob: *mut BYTE, + pcbPrivateKeyBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptExportPKCS8Ex( + psExportParams: *mut CRYPT_PKCS8_EXPORT_PARAMS, + dwFlags: DWORD, + pvAuxInfo: *mut ::std::os::raw::c_void, + pbPrivateKeyBlob: *mut BYTE, + pcbPrivateKeyBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashPublicKeyInfo( + hCryptProv: HCRYPTPROV_LEGACY, + Algid: ALG_ID, + dwFlags: DWORD, + dwCertEncodingType: DWORD, + pInfo: PCERT_PUBLIC_KEY_INFO, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertRDNValueToStrA( + dwValueType: DWORD, + pValue: PCERT_RDN_VALUE_BLOB, + psz: LPSTR, + csz: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertRDNValueToStrW( + dwValueType: DWORD, + pValue: PCERT_RDN_VALUE_BLOB, + psz: LPWSTR, + csz: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertNameToStrA( + dwCertEncodingType: DWORD, + pName: PCERT_NAME_BLOB, + dwStrType: DWORD, + psz: LPSTR, + csz: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertNameToStrW( + dwCertEncodingType: DWORD, + pName: PCERT_NAME_BLOB, + dwStrType: DWORD, + psz: LPWSTR, + csz: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertStrToNameA( + dwCertEncodingType: DWORD, + pszX500: LPCSTR, + dwStrType: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ppszError: *mut LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn CertStrToNameW( + dwCertEncodingType: DWORD, + pszX500: LPCWSTR, + dwStrType: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pbEncoded: *mut BYTE, + pcbEncoded: *mut DWORD, + ppszError: *mut LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn CertGetNameStringA( + pCertContext: PCCERT_CONTEXT, + dwType: DWORD, + dwFlags: DWORD, + pvTypePara: *mut ::std::os::raw::c_void, + pszNameString: LPSTR, + cchNameString: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn CertGetNameStringW( + pCertContext: PCCERT_CONTEXT, + dwType: DWORD, + dwFlags: DWORD, + pvTypePara: *mut ::std::os::raw::c_void, + pszNameString: LPWSTR, + cchNameString: DWORD, + ) -> DWORD; +} +pub type PFN_CRYPT_GET_SIGNER_CERTIFICATE = ::std::option::Option< + unsafe extern "C" fn( + pvGetArg: *mut ::std::os::raw::c_void, + dwCertEncodingType: DWORD, + pSignerId: PCERT_INFO, + hMsgCertStore: HCERTSTORE, + ) -> PCCERT_CONTEXT, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_SIGN_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgEncodingType: DWORD, + pub pSigningCert: PCCERT_CONTEXT, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, + pub cMsgCert: DWORD, + pub rgpMsgCert: *mut PCCERT_CONTEXT, + pub cMsgCrl: DWORD, + pub rgpMsgCrl: *mut PCCRL_CONTEXT, + pub cAuthAttr: DWORD, + pub rgAuthAttr: PCRYPT_ATTRIBUTE, + pub cUnauthAttr: DWORD, + pub rgUnauthAttr: PCRYPT_ATTRIBUTE, + pub dwFlags: DWORD, + pub dwInnerContentType: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_SIGN_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_SIGN_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_SIGN_MESSAGE_PARA>(), + 120usize, + concat!("Size of: ", stringify!(_CRYPT_SIGN_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_SIGN_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_SIGN_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(dwMsgEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSigningCert) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(pSigningCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(pvHashAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMsgCert) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cMsgCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpMsgCert) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(rgpMsgCert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMsgCrl) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cMsgCrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpMsgCrl) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(rgpMsgCrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuthAttr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cAuthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgAuthAttr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(rgAuthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUnauthAttr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(cUnauthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgUnauthAttr) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(rgUnauthAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInnerContentType) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_SIGN_MESSAGE_PARA), + "::", + stringify!(dwInnerContentType) + ) + ); +} +pub type CRYPT_SIGN_MESSAGE_PARA = _CRYPT_SIGN_MESSAGE_PARA; +pub type PCRYPT_SIGN_MESSAGE_PARA = *mut _CRYPT_SIGN_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_VERIFY_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgAndCertEncodingType: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub pfnGetSignerCertificate: PFN_CRYPT_GET_SIGNER_CERTIFICATE, + pub pvGetArg: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CRYPT_VERIFY_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_VERIFY_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_VERIFY_MESSAGE_PARA>(), + 32usize, + concat!("Size of: ", stringify!(_CRYPT_VERIFY_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_VERIFY_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_VERIFY_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnGetSignerCertificate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(pfnGetSignerCertificate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvGetArg) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_VERIFY_MESSAGE_PARA), + "::", + stringify!(pvGetArg) + ) + ); +} +pub type CRYPT_VERIFY_MESSAGE_PARA = _CRYPT_VERIFY_MESSAGE_PARA; +pub type PCRYPT_VERIFY_MESSAGE_PARA = *mut _CRYPT_VERIFY_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ENCRYPT_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgEncodingType: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvEncryptionAuxInfo: *mut ::std::os::raw::c_void, + pub dwFlags: DWORD, + pub dwInnerContentType: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_ENCRYPT_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ENCRYPT_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ENCRYPT_MESSAGE_PARA>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ENCRYPT_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(dwMsgEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentEncryptionAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(ContentEncryptionAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvEncryptionAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(pvEncryptionAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInnerContentType) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ENCRYPT_MESSAGE_PARA), + "::", + stringify!(dwInnerContentType) + ) + ); +} +pub type CRYPT_ENCRYPT_MESSAGE_PARA = _CRYPT_ENCRYPT_MESSAGE_PARA; +pub type PCRYPT_ENCRYPT_MESSAGE_PARA = *mut _CRYPT_ENCRYPT_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_DECRYPT_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgAndCertEncodingType: DWORD, + pub cCertStore: DWORD, + pub rghCertStore: *mut HCERTSTORE, +} +#[test] +fn bindgen_test_layout__CRYPT_DECRYPT_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_DECRYPT_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_DECRYPT_MESSAGE_PARA>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_DECRYPT_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_DECRYPT_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_DECRYPT_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCertStore) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), + "::", + stringify!(cCertStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rghCertStore) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_DECRYPT_MESSAGE_PARA), + "::", + stringify!(rghCertStore) + ) + ); +} +pub type CRYPT_DECRYPT_MESSAGE_PARA = _CRYPT_DECRYPT_MESSAGE_PARA; +pub type PCRYPT_DECRYPT_MESSAGE_PARA = *mut _CRYPT_DECRYPT_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_HASH_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgEncodingType: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CRYPT_HASH_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_HASH_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_HASH_MESSAGE_PARA>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_HASH_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_HASH_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_HASH_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(dwMsgEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_HASH_MESSAGE_PARA), + "::", + stringify!(pvHashAuxInfo) + ) + ); +} +pub type CRYPT_HASH_MESSAGE_PARA = _CRYPT_HASH_MESSAGE_PARA; +pub type PCRYPT_HASH_MESSAGE_PARA = *mut _CRYPT_HASH_MESSAGE_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CRYPT_KEY_SIGN_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgAndCertEncodingType: DWORD, + pub __bindgen_anon_1: _CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1, + pub dwKeySpec: DWORD, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub pvHashAuxInfo: *mut ::std::os::raw::c_void, + pub PubKeyAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1 { + pub hCryptProv: HCRYPTPROV, + pub hNCryptKey: NCRYPT_KEY_HANDLE, +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1), + "::", + stringify!(hCryptProv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNCryptKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA__bindgen_ty_1), + "::", + stringify!(hNCryptKey) + ) + ); +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_SIGN_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_SIGN_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_SIGN_MESSAGE_PARA>(), + 80usize, + concat!("Size of: ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_SIGN_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgAndCertEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(dwMsgAndCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvHashAuxInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(pvHashAuxInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PubKeyAlgorithm) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_SIGN_MESSAGE_PARA), + "::", + stringify!(PubKeyAlgorithm) + ) + ); +} +pub type CRYPT_KEY_SIGN_MESSAGE_PARA = _CRYPT_KEY_SIGN_MESSAGE_PARA; +pub type PCRYPT_KEY_SIGN_MESSAGE_PARA = *mut _CRYPT_KEY_SIGN_MESSAGE_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_KEY_VERIFY_MESSAGE_PARA { + pub cbSize: DWORD, + pub dwMsgEncodingType: DWORD, + pub hCryptProv: HCRYPTPROV_LEGACY, +} +#[test] +fn bindgen_test_layout__CRYPT_KEY_VERIFY_MESSAGE_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_KEY_VERIFY_MESSAGE_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_KEY_VERIFY_MESSAGE_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_KEY_VERIFY_MESSAGE_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMsgEncodingType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA), + "::", + stringify!(dwMsgEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCryptProv) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_KEY_VERIFY_MESSAGE_PARA), + "::", + stringify!(hCryptProv) + ) + ); +} +pub type CRYPT_KEY_VERIFY_MESSAGE_PARA = _CRYPT_KEY_VERIFY_MESSAGE_PARA; +pub type PCRYPT_KEY_VERIFY_MESSAGE_PARA = *mut _CRYPT_KEY_VERIFY_MESSAGE_PARA; +extern "C" { + pub fn CryptSignMessage( + pSignPara: PCRYPT_SIGN_MESSAGE_PARA, + fDetachedSignature: BOOL, + cToBeSigned: DWORD, + rgpbToBeSigned: *mut *const BYTE, + rgcbToBeSigned: *mut DWORD, + pbSignedBlob: *mut BYTE, + pcbSignedBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyMessageSignature( + pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, + dwSignerIndex: DWORD, + pbSignedBlob: *const BYTE, + cbSignedBlob: DWORD, + pbDecoded: *mut BYTE, + pcbDecoded: *mut DWORD, + ppSignerCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetMessageSignerCount( + dwMsgEncodingType: DWORD, + pbSignedBlob: *const BYTE, + cbSignedBlob: DWORD, + ) -> LONG; +} +extern "C" { + pub fn CryptGetMessageCertificates( + dwMsgAndCertEncodingType: DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + dwFlags: DWORD, + pbSignedBlob: *const BYTE, + cbSignedBlob: DWORD, + ) -> HCERTSTORE; +} +extern "C" { + pub fn CryptVerifyDetachedMessageSignature( + pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, + dwSignerIndex: DWORD, + pbDetachedSignBlob: *const BYTE, + cbDetachedSignBlob: DWORD, + cToBeSigned: DWORD, + rgpbToBeSigned: *mut *const BYTE, + rgcbToBeSigned: *mut DWORD, + ppSignerCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptEncryptMessage( + pEncryptPara: PCRYPT_ENCRYPT_MESSAGE_PARA, + cRecipientCert: DWORD, + rgpRecipientCert: *mut PCCERT_CONTEXT, + pbToBeEncrypted: *const BYTE, + cbToBeEncrypted: DWORD, + pbEncryptedBlob: *mut BYTE, + pcbEncryptedBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecryptMessage( + pDecryptPara: PCRYPT_DECRYPT_MESSAGE_PARA, + pbEncryptedBlob: *const BYTE, + cbEncryptedBlob: DWORD, + pbDecrypted: *mut BYTE, + pcbDecrypted: *mut DWORD, + ppXchgCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignAndEncryptMessage( + pSignPara: PCRYPT_SIGN_MESSAGE_PARA, + pEncryptPara: PCRYPT_ENCRYPT_MESSAGE_PARA, + cRecipientCert: DWORD, + rgpRecipientCert: *mut PCCERT_CONTEXT, + pbToBeSignedAndEncrypted: *const BYTE, + cbToBeSignedAndEncrypted: DWORD, + pbSignedAndEncryptedBlob: *mut BYTE, + pcbSignedAndEncryptedBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecryptAndVerifyMessageSignature( + pDecryptPara: PCRYPT_DECRYPT_MESSAGE_PARA, + pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, + dwSignerIndex: DWORD, + pbEncryptedBlob: *const BYTE, + cbEncryptedBlob: DWORD, + pbDecrypted: *mut BYTE, + pcbDecrypted: *mut DWORD, + ppXchgCert: *mut PCCERT_CONTEXT, + ppSignerCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptDecodeMessage( + dwMsgTypeFlags: DWORD, + pDecryptPara: PCRYPT_DECRYPT_MESSAGE_PARA, + pVerifyPara: PCRYPT_VERIFY_MESSAGE_PARA, + dwSignerIndex: DWORD, + pbEncodedBlob: *const BYTE, + cbEncodedBlob: DWORD, + dwPrevInnerContentType: DWORD, + pdwMsgType: *mut DWORD, + pdwInnerContentType: *mut DWORD, + pbDecoded: *mut BYTE, + pcbDecoded: *mut DWORD, + ppXchgCert: *mut PCCERT_CONTEXT, + ppSignerCert: *mut PCCERT_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CryptHashMessage( + pHashPara: PCRYPT_HASH_MESSAGE_PARA, + fDetachedHash: BOOL, + cToBeHashed: DWORD, + rgpbToBeHashed: *mut *const BYTE, + rgcbToBeHashed: *mut DWORD, + pbHashedBlob: *mut BYTE, + pcbHashedBlob: *mut DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyMessageHash( + pHashPara: PCRYPT_HASH_MESSAGE_PARA, + pbHashedBlob: *mut BYTE, + cbHashedBlob: DWORD, + pbToBeHashed: *mut BYTE, + pcbToBeHashed: *mut DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyDetachedMessageHash( + pHashPara: PCRYPT_HASH_MESSAGE_PARA, + pbDetachedHashBlob: *mut BYTE, + cbDetachedHashBlob: DWORD, + cToBeHashed: DWORD, + rgpbToBeHashed: *mut *const BYTE, + rgcbToBeHashed: *mut DWORD, + pbComputedHash: *mut BYTE, + pcbComputedHash: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSignMessageWithKey( + pSignPara: PCRYPT_KEY_SIGN_MESSAGE_PARA, + pbToBeSigned: *const BYTE, + cbToBeSigned: DWORD, + pbSignedBlob: *mut BYTE, + pcbSignedBlob: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyMessageSignatureWithKey( + pVerifyPara: PCRYPT_KEY_VERIFY_MESSAGE_PARA, + pPublicKeyInfo: PCERT_PUBLIC_KEY_INFO, + pbSignedBlob: *const BYTE, + cbSignedBlob: DWORD, + pbDecoded: *mut BYTE, + pcbDecoded: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertOpenSystemStoreA( + hProv: HCRYPTPROV_LEGACY, + szSubsystemProtocol: LPCSTR, + ) -> HCERTSTORE; +} +extern "C" { + pub fn CertOpenSystemStoreW( + hProv: HCRYPTPROV_LEGACY, + szSubsystemProtocol: LPCWSTR, + ) -> HCERTSTORE; +} +extern "C" { + pub fn CertAddEncodedCertificateToSystemStoreA( + szCertStoreName: LPCSTR, + pbCertEncoded: *const BYTE, + cbCertEncoded: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CertAddEncodedCertificateToSystemStoreW( + szCertStoreName: LPCWSTR, + pbCertEncoded: *const BYTE, + cbCertEncoded: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN { + pub cCerts: DWORD, + pub certs: PCERT_BLOB, + pub keyLocatorInfo: CRYPT_KEY_PROV_INFO, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN>(), + 64usize, + concat!("Size of: ", stringify!(_CERT_CHAIN)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCerts) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN), + "::", + stringify!(cCerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).certs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN), + "::", + stringify!(certs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).keyLocatorInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN), + "::", + stringify!(keyLocatorInfo) + ) + ); +} +pub type CERT_CHAIN = _CERT_CHAIN; +pub type PCERT_CHAIN = *mut _CERT_CHAIN; +extern "C" { + pub fn FindCertsByIssuer( + pCertChains: PCERT_CHAIN, + pcbCertChains: *mut DWORD, + pcCertChains: *mut DWORD, + pbEncodedIssuerName: *mut BYTE, + cbEncodedIssuerName: DWORD, + pwszPurpose: LPCWSTR, + dwKeySpec: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CryptQueryObject( + dwObjectType: DWORD, + pvObject: *const ::std::os::raw::c_void, + dwExpectedContentTypeFlags: DWORD, + dwExpectedFormatTypeFlags: DWORD, + dwFlags: DWORD, + pdwMsgAndCertEncodingType: *mut DWORD, + pdwContentType: *mut DWORD, + pdwFormatType: *mut DWORD, + phCertStore: *mut HCERTSTORE, + phMsg: *mut HCRYPTMSG, + ppvContext: *mut *const ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptMemAlloc(cbSize: ULONG) -> LPVOID; +} +extern "C" { + pub fn CryptMemRealloc(pv: LPVOID, cbSize: ULONG) -> LPVOID; +} +extern "C" { + pub fn CryptMemFree(pv: LPVOID); +} +pub type HCRYPTASYNC = HANDLE; +pub type PHCRYPTASYNC = *mut HANDLE; +pub type PFN_CRYPT_ASYNC_PARAM_FREE_FUNC = + ::std::option::Option; +extern "C" { + pub fn CryptCreateAsyncHandle(dwFlags: DWORD, phAsync: PHCRYPTASYNC) -> BOOL; +} +extern "C" { + pub fn CryptSetAsyncParam( + hAsync: HCRYPTASYNC, + pszParamOid: LPSTR, + pvParam: LPVOID, + pfnFree: PFN_CRYPT_ASYNC_PARAM_FREE_FUNC, + ) -> BOOL; +} +extern "C" { + pub fn CryptGetAsyncParam( + hAsync: HCRYPTASYNC, + pszParamOid: LPSTR, + ppvParam: *mut LPVOID, + ppfnFree: *mut PFN_CRYPT_ASYNC_PARAM_FREE_FUNC, + ) -> BOOL; +} +extern "C" { + pub fn CryptCloseAsyncHandle(hAsync: HCRYPTASYNC) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_BLOB_ARRAY { + pub cBlob: DWORD, + pub rgBlob: PCRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_BLOB_ARRAY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_BLOB_ARRAY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_BLOB_ARRAY>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_BLOB_ARRAY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_BLOB_ARRAY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_BLOB_ARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBlob) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BLOB_ARRAY), + "::", + stringify!(cBlob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgBlob) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_BLOB_ARRAY), + "::", + stringify!(rgBlob) + ) + ); +} +pub type CRYPT_BLOB_ARRAY = _CRYPT_BLOB_ARRAY; +pub type PCRYPT_BLOB_ARRAY = *mut _CRYPT_BLOB_ARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_CREDENTIALS { + pub cbSize: DWORD, + pub pszCredentialsOid: LPCSTR, + pub pvCredentials: LPVOID, +} +#[test] +fn bindgen_test_layout__CRYPT_CREDENTIALS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_CREDENTIALS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_CREDENTIALS>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_CREDENTIALS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_CREDENTIALS>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_CREDENTIALS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CREDENTIALS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCredentialsOid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CREDENTIALS), + "::", + stringify!(pszCredentialsOid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvCredentials) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_CREDENTIALS), + "::", + stringify!(pvCredentials) + ) + ); +} +pub type CRYPT_CREDENTIALS = _CRYPT_CREDENTIALS; +pub type PCRYPT_CREDENTIALS = *mut _CRYPT_CREDENTIALS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PASSWORD_CREDENTIALSA { + pub cbSize: DWORD, + pub pszUsername: LPSTR, + pub pszPassword: LPSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_PASSWORD_CREDENTIALSA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PASSWORD_CREDENTIALSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PASSWORD_CREDENTIALSA>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_PASSWORD_CREDENTIALSA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PASSWORD_CREDENTIALSA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PASSWORD_CREDENTIALSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszUsername) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSA), + "::", + stringify!(pszUsername) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPassword) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSA), + "::", + stringify!(pszPassword) + ) + ); +} +pub type CRYPT_PASSWORD_CREDENTIALSA = _CRYPT_PASSWORD_CREDENTIALSA; +pub type PCRYPT_PASSWORD_CREDENTIALSA = *mut _CRYPT_PASSWORD_CREDENTIALSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PASSWORD_CREDENTIALSW { + pub cbSize: DWORD, + pub pszUsername: LPWSTR, + pub pszPassword: LPWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_PASSWORD_CREDENTIALSW() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PASSWORD_CREDENTIALSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PASSWORD_CREDENTIALSW>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_PASSWORD_CREDENTIALSW)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PASSWORD_CREDENTIALSW>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_PASSWORD_CREDENTIALSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszUsername) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSW), + "::", + stringify!(pszUsername) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPassword) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PASSWORD_CREDENTIALSW), + "::", + stringify!(pszPassword) + ) + ); +} +pub type CRYPT_PASSWORD_CREDENTIALSW = _CRYPT_PASSWORD_CREDENTIALSW; +pub type PCRYPT_PASSWORD_CREDENTIALSW = *mut _CRYPT_PASSWORD_CREDENTIALSW; +pub type CRYPT_PASSWORD_CREDENTIALS = CRYPT_PASSWORD_CREDENTIALSA; +pub type PCRYPT_PASSWORD_CREDENTIALS = PCRYPT_PASSWORD_CREDENTIALSA; +pub type PFN_FREE_ENCODED_OBJECT_FUNC = ::std::option::Option< + unsafe extern "C" fn(pszObjectOid: LPCSTR, pObject: PCRYPT_BLOB_ARRAY, pvFreeContext: LPVOID), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTNET_URL_CACHE_PRE_FETCH_INFO { + pub cbSize: DWORD, + pub dwObjectType: DWORD, + pub dwError: DWORD, + pub dwReserved: DWORD, + pub ThisUpdateTime: FILETIME, + pub NextUpdateTime: FILETIME, + pub PublishTime: FILETIME, +} +#[test] +fn bindgen_test_layout__CRYPTNET_URL_CACHE_PRE_FETCH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTNET_URL_CACHE_PRE_FETCH_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwObjectType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(dwObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisUpdateTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(ThisUpdateTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUpdateTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(NextUpdateTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PublishTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_PRE_FETCH_INFO), + "::", + stringify!(PublishTime) + ) + ); +} +pub type CRYPTNET_URL_CACHE_PRE_FETCH_INFO = _CRYPTNET_URL_CACHE_PRE_FETCH_INFO; +pub type PCRYPTNET_URL_CACHE_PRE_FETCH_INFO = *mut _CRYPTNET_URL_CACHE_PRE_FETCH_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTNET_URL_CACHE_FLUSH_INFO { + pub cbSize: DWORD, + pub dwExemptSeconds: DWORD, + pub ExpireTime: FILETIME, +} +#[test] +fn bindgen_test_layout__CRYPTNET_URL_CACHE_FLUSH_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTNET_URL_CACHE_FLUSH_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTNET_URL_CACHE_FLUSH_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTNET_URL_CACHE_FLUSH_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExemptSeconds) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO), + "::", + stringify!(dwExemptSeconds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExpireTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_FLUSH_INFO), + "::", + stringify!(ExpireTime) + ) + ); +} +pub type CRYPTNET_URL_CACHE_FLUSH_INFO = _CRYPTNET_URL_CACHE_FLUSH_INFO; +pub type PCRYPTNET_URL_CACHE_FLUSH_INFO = *mut _CRYPTNET_URL_CACHE_FLUSH_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTNET_URL_CACHE_RESPONSE_INFO { + pub cbSize: DWORD, + pub wResponseType: WORD, + pub wResponseFlags: WORD, + pub LastModifiedTime: FILETIME, + pub dwMaxAge: DWORD, + pub pwszETag: LPCWSTR, + pub dwProxyId: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPTNET_URL_CACHE_RESPONSE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTNET_URL_CACHE_RESPONSE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTNET_URL_CACHE_RESPONSE_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wResponseType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(wResponseType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wResponseFlags) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(wResponseFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastModifiedTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(LastModifiedTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxAge) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(dwMaxAge) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszETag) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(pwszETag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProxyId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTNET_URL_CACHE_RESPONSE_INFO), + "::", + stringify!(dwProxyId) + ) + ); +} +pub type CRYPTNET_URL_CACHE_RESPONSE_INFO = _CRYPTNET_URL_CACHE_RESPONSE_INFO; +pub type PCRYPTNET_URL_CACHE_RESPONSE_INFO = *mut _CRYPTNET_URL_CACHE_RESPONSE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_RETRIEVE_AUX_INFO { + pub cbSize: DWORD, + pub pLastSyncTime: *mut FILETIME, + pub dwMaxUrlRetrievalByteCount: DWORD, + pub pPreFetchInfo: PCRYPTNET_URL_CACHE_PRE_FETCH_INFO, + pub pFlushInfo: PCRYPTNET_URL_CACHE_FLUSH_INFO, + pub ppResponseInfo: *mut PCRYPTNET_URL_CACHE_RESPONSE_INFO, + pub pwszCacheFileNamePrefix: LPWSTR, + pub pftCacheResync: LPFILETIME, + pub fProxyCacheRetrieval: BOOL, + pub dwHttpStatusCode: DWORD, + pub ppwszErrorResponseHeaders: *mut LPWSTR, + pub ppErrorContentBlob: *mut PCRYPT_DATA_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_RETRIEVE_AUX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_RETRIEVE_AUX_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_RETRIEVE_AUX_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_CRYPT_RETRIEVE_AUX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_RETRIEVE_AUX_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_RETRIEVE_AUX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLastSyncTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pLastSyncTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxUrlRetrievalByteCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(dwMaxUrlRetrievalByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPreFetchInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pPreFetchInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFlushInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pFlushInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppResponseInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(ppResponseInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszCacheFileNamePrefix) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pwszCacheFileNamePrefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftCacheResync) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(pftCacheResync) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fProxyCacheRetrieval) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(fProxyCacheRetrieval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHttpStatusCode) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(dwHttpStatusCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppwszErrorResponseHeaders) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(ppwszErrorResponseHeaders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppErrorContentBlob) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_RETRIEVE_AUX_INFO), + "::", + stringify!(ppErrorContentBlob) + ) + ); +} +pub type CRYPT_RETRIEVE_AUX_INFO = _CRYPT_RETRIEVE_AUX_INFO; +pub type PCRYPT_RETRIEVE_AUX_INFO = *mut _CRYPT_RETRIEVE_AUX_INFO; +extern "C" { + pub fn CryptRetrieveObjectByUrlA( + pszUrl: LPCSTR, + pszObjectOid: LPCSTR, + dwRetrievalFlags: DWORD, + dwTimeout: DWORD, + ppvObject: *mut LPVOID, + hAsyncRetrieve: HCRYPTASYNC, + pCredentials: PCRYPT_CREDENTIALS, + pvVerify: LPVOID, + pAuxInfo: PCRYPT_RETRIEVE_AUX_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptRetrieveObjectByUrlW( + pszUrl: LPCWSTR, + pszObjectOid: LPCSTR, + dwRetrievalFlags: DWORD, + dwTimeout: DWORD, + ppvObject: *mut LPVOID, + hAsyncRetrieve: HCRYPTASYNC, + pCredentials: PCRYPT_CREDENTIALS, + pvVerify: LPVOID, + pAuxInfo: PCRYPT_RETRIEVE_AUX_INFO, + ) -> BOOL; +} +pub type PFN_CRYPT_CANCEL_RETRIEVAL = ::std::option::Option< + unsafe extern "C" fn(dwFlags: DWORD, pvArg: *mut ::std::os::raw::c_void) -> BOOL, +>; +extern "C" { + pub fn CryptInstallCancelRetrieval( + pfnCancel: PFN_CRYPT_CANCEL_RETRIEVAL, + pvArg: *const ::std::os::raw::c_void, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptUninstallCancelRetrieval( + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> BOOL; +} +extern "C" { + pub fn CryptCancelAsyncRetrieval(hAsyncRetrieval: HCRYPTASYNC) -> BOOL; +} +pub type PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC = ::std::option::Option< + unsafe extern "C" fn( + pvCompletion: LPVOID, + dwCompletionCode: DWORD, + pszUrl: LPCSTR, + pszObjectOid: LPSTR, + pvObject: LPVOID, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_ASYNC_RETRIEVAL_COMPLETION { + pub pfnCompletion: PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC, + pub pvCompletion: LPVOID, +} +#[test] +fn bindgen_test_layout__CRYPT_ASYNC_RETRIEVAL_COMPLETION() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_ASYNC_RETRIEVAL_COMPLETION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_ASYNC_RETRIEVAL_COMPLETION>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_ASYNC_RETRIEVAL_COMPLETION)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_ASYNC_RETRIEVAL_COMPLETION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_ASYNC_RETRIEVAL_COMPLETION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCompletion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ASYNC_RETRIEVAL_COMPLETION), + "::", + stringify!(pfnCompletion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvCompletion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_ASYNC_RETRIEVAL_COMPLETION), + "::", + stringify!(pvCompletion) + ) + ); +} +pub type CRYPT_ASYNC_RETRIEVAL_COMPLETION = _CRYPT_ASYNC_RETRIEVAL_COMPLETION; +pub type PCRYPT_ASYNC_RETRIEVAL_COMPLETION = *mut _CRYPT_ASYNC_RETRIEVAL_COMPLETION; +pub type PFN_CANCEL_ASYNC_RETRIEVAL_FUNC = + ::std::option::Option BOOL>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_URL_ARRAY { + pub cUrl: DWORD, + pub rgwszUrl: *mut LPWSTR, +} +#[test] +fn bindgen_test_layout__CRYPT_URL_ARRAY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_URL_ARRAY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_URL_ARRAY>(), + 16usize, + concat!("Size of: ", stringify!(_CRYPT_URL_ARRAY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_URL_ARRAY>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_URL_ARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cUrl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_ARRAY), + "::", + stringify!(cUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgwszUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_ARRAY), + "::", + stringify!(rgwszUrl) + ) + ); +} +pub type CRYPT_URL_ARRAY = _CRYPT_URL_ARRAY; +pub type PCRYPT_URL_ARRAY = *mut _CRYPT_URL_ARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_URL_INFO { + pub cbSize: DWORD, + pub dwSyncDeltaTime: DWORD, + pub cGroup: DWORD, + pub rgcGroupEntry: *mut DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_URL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_URL_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_URL_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_URL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_URL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_URL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSyncDeltaTime) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_INFO), + "::", + stringify!(dwSyncDeltaTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cGroup) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_INFO), + "::", + stringify!(cGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgcGroupEntry) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_URL_INFO), + "::", + stringify!(rgcGroupEntry) + ) + ); +} +pub type CRYPT_URL_INFO = _CRYPT_URL_INFO; +pub type PCRYPT_URL_INFO = *mut _CRYPT_URL_INFO; +extern "C" { + pub fn CryptGetObjectUrl( + pszUrlOid: LPCSTR, + pvPara: LPVOID, + dwFlags: DWORD, + pUrlArray: PCRYPT_URL_ARRAY, + pcbUrlArray: *mut DWORD, + pUrlInfo: PCRYPT_URL_INFO, + pcbUrlInfo: *mut DWORD, + pvReserved: LPVOID, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CRL_CONTEXT_PAIR { + pub pCertContext: PCCERT_CONTEXT, + pub pCrlContext: PCCRL_CONTEXT, +} +#[test] +fn bindgen_test_layout__CERT_CRL_CONTEXT_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CRL_CONTEXT_PAIR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CRL_CONTEXT_PAIR>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_CRL_CONTEXT_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CRL_CONTEXT_PAIR>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CRL_CONTEXT_PAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CRL_CONTEXT_PAIR), + "::", + stringify!(pCertContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CRL_CONTEXT_PAIR), + "::", + stringify!(pCrlContext) + ) + ); +} +pub type CERT_CRL_CONTEXT_PAIR = _CERT_CRL_CONTEXT_PAIR; +pub type PCERT_CRL_CONTEXT_PAIR = *mut _CERT_CRL_CONTEXT_PAIR; +pub type PCCERT_CRL_CONTEXT_PAIR = *const CERT_CRL_CONTEXT_PAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO { + pub cbSize: DWORD, + pub iDeltaCrlIndicator: ::std::os::raw::c_int, + pub pftCacheResync: LPFILETIME, + pub pLastSyncTime: LPFILETIME, + pub pMaxAgeTime: LPFILETIME, + pub pChainPara: PCERT_REVOCATION_CHAIN_PARA, + pub pDeltaCrlIndicator: PCRYPT_INTEGER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>(), + 48usize, + concat!( + "Size of: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iDeltaCrlIndicator) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(iDeltaCrlIndicator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftCacheResync) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pftCacheResync) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLastSyncTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pLastSyncTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMaxAgeTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pMaxAgeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pChainPara) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pChainPara) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDeltaCrlIndicator) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO), + "::", + stringify!(pDeltaCrlIndicator) + ) + ); +} +pub type CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO = _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO; +pub type PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO = *mut _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO; +extern "C" { + pub fn CryptGetTimeValidObject( + pszTimeValidOid: LPCSTR, + pvPara: LPVOID, + pIssuer: PCCERT_CONTEXT, + pftValidFor: LPFILETIME, + dwFlags: DWORD, + dwTimeout: DWORD, + ppvObject: *mut LPVOID, + pCredentials: PCRYPT_CREDENTIALS, + pExtraInfo: PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO, + ) -> BOOL; +} +extern "C" { + pub fn CryptFlushTimeValidObject( + pszFlushTimeValidOid: LPCSTR, + pvPara: LPVOID, + pIssuer: PCCERT_CONTEXT, + dwFlags: DWORD, + pvReserved: LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn CertCreateSelfSignCertificate( + hCryptProvOrNCryptKey: HCRYPTPROV_OR_NCRYPT_KEY_HANDLE, + pSubjectIssuerBlob: PCERT_NAME_BLOB, + dwFlags: DWORD, + pKeyProvInfo: PCRYPT_KEY_PROV_INFO, + pSignatureAlgorithm: PCRYPT_ALGORITHM_IDENTIFIER, + pStartTime: PSYSTEMTIME, + pEndTime: PSYSTEMTIME, + pExtensions: PCERT_EXTENSIONS, + ) -> PCCERT_CONTEXT; +} +extern "C" { + pub fn CryptGetKeyIdentifierProperty( + pKeyIdentifier: *const CRYPT_HASH_BLOB, + dwPropId: DWORD, + dwFlags: DWORD, + pwszComputerName: LPCWSTR, + pvReserved: *mut ::std::os::raw::c_void, + pvData: *mut ::std::os::raw::c_void, + pcbData: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptSetKeyIdentifierProperty( + pKeyIdentifier: *const CRYPT_HASH_BLOB, + dwPropId: DWORD, + dwFlags: DWORD, + pwszComputerName: LPCWSTR, + pvReserved: *mut ::std::os::raw::c_void, + pvData: *const ::std::os::raw::c_void, + ) -> BOOL; +} +pub type PFN_CRYPT_ENUM_KEYID_PROP = ::std::option::Option< + unsafe extern "C" fn( + pKeyIdentifier: *const CRYPT_HASH_BLOB, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + cProp: DWORD, + rgdwPropId: *mut DWORD, + rgpvData: *mut *mut ::std::os::raw::c_void, + rgcbData: *mut DWORD, + ) -> BOOL, +>; +extern "C" { + pub fn CryptEnumKeyIdentifierProperties( + pKeyIdentifier: *const CRYPT_HASH_BLOB, + dwPropId: DWORD, + dwFlags: DWORD, + pwszComputerName: LPCWSTR, + pvReserved: *mut ::std::os::raw::c_void, + pvArg: *mut ::std::os::raw::c_void, + pfnEnum: PFN_CRYPT_ENUM_KEYID_PROP, + ) -> BOOL; +} +extern "C" { + pub fn CryptCreateKeyIdentifierFromCSP( + dwCertEncodingType: DWORD, + pszPubKeyOID: LPCSTR, + pPubKeyStruc: *const PUBLICKEYSTRUC, + cbPubKeyStruc: DWORD, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + pbHash: *mut BYTE, + pcbHash: *mut DWORD, + ) -> BOOL; +} +pub type HCERTCHAINENGINE = HANDLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_ENGINE_CONFIG { + pub cbSize: DWORD, + pub hRestrictedRoot: HCERTSTORE, + pub hRestrictedTrust: HCERTSTORE, + pub hRestrictedOther: HCERTSTORE, + pub cAdditionalStore: DWORD, + pub rghAdditionalStore: *mut HCERTSTORE, + pub dwFlags: DWORD, + pub dwUrlRetrievalTimeout: DWORD, + pub MaximumCachedCertificates: DWORD, + pub CycleDetectionModulus: DWORD, + pub hExclusiveRoot: HCERTSTORE, + pub hExclusiveTrustedPeople: HCERTSTORE, + pub dwExclusiveFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_ENGINE_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_ENGINE_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_ENGINE_CONFIG>(), + 88usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_ENGINE_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_ENGINE_CONFIG>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_ENGINE_CONFIG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRestrictedRoot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hRestrictedRoot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRestrictedTrust) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hRestrictedTrust) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRestrictedOther) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hRestrictedOther) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAdditionalStore) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(cAdditionalStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rghAdditionalStore) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(rghAdditionalStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUrlRetrievalTimeout) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(dwUrlRetrievalTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumCachedCertificates) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(MaximumCachedCertificates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CycleDetectionModulus) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(CycleDetectionModulus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hExclusiveRoot) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hExclusiveRoot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hExclusiveTrustedPeople) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(hExclusiveTrustedPeople) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwExclusiveFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ENGINE_CONFIG), + "::", + stringify!(dwExclusiveFlags) + ) + ); +} +pub type CERT_CHAIN_ENGINE_CONFIG = _CERT_CHAIN_ENGINE_CONFIG; +pub type PCERT_CHAIN_ENGINE_CONFIG = *mut _CERT_CHAIN_ENGINE_CONFIG; +extern "C" { + pub fn CertCreateCertificateChainEngine( + pConfig: PCERT_CHAIN_ENGINE_CONFIG, + phChainEngine: *mut HCERTCHAINENGINE, + ) -> BOOL; +} +extern "C" { + pub fn CertFreeCertificateChainEngine(hChainEngine: HCERTCHAINENGINE); +} +extern "C" { + pub fn CertResyncCertificateChainEngine(hChainEngine: HCERTCHAINENGINE) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_TRUST_STATUS { + pub dwErrorStatus: DWORD, + pub dwInfoStatus: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_TRUST_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_TRUST_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_TRUST_STATUS>(), + 8usize, + concat!("Size of: ", stringify!(_CERT_TRUST_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_TRUST_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_CERT_TRUST_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_STATUS), + "::", + stringify!(dwErrorStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInfoStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_STATUS), + "::", + stringify!(dwInfoStatus) + ) + ); +} +pub type CERT_TRUST_STATUS = _CERT_TRUST_STATUS; +pub type PCERT_TRUST_STATUS = *mut _CERT_TRUST_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_INFO { + pub cbSize: DWORD, + pub dwRevocationResult: DWORD, + pub pszRevocationOid: LPCSTR, + pub pvOidSpecificInfo: LPVOID, + pub fHasFreshnessTime: BOOL, + pub dwFreshnessTime: DWORD, + pub pCrlInfo: PCERT_REVOCATION_CRL_INFO, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRevocationResult) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(dwRevocationResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszRevocationOid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(pszRevocationOid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvOidSpecificInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(pvOidSpecificInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasFreshnessTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(fHasFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFreshnessTime) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(dwFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_INFO), + "::", + stringify!(pCrlInfo) + ) + ); +} +pub type CERT_REVOCATION_INFO = _CERT_REVOCATION_INFO; +pub type PCERT_REVOCATION_INFO = *mut _CERT_REVOCATION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_TRUST_LIST_INFO { + pub cbSize: DWORD, + pub pCtlEntry: PCTL_ENTRY, + pub pCtlContext: PCCTL_CONTEXT, +} +#[test] +fn bindgen_test_layout__CERT_TRUST_LIST_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_TRUST_LIST_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_TRUST_LIST_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_TRUST_LIST_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_TRUST_LIST_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_TRUST_LIST_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_LIST_INFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCtlEntry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_LIST_INFO), + "::", + stringify!(pCtlEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCtlContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_TRUST_LIST_INFO), + "::", + stringify!(pCtlContext) + ) + ); +} +pub type CERT_TRUST_LIST_INFO = _CERT_TRUST_LIST_INFO; +pub type PCERT_TRUST_LIST_INFO = *mut _CERT_TRUST_LIST_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_ELEMENT { + pub cbSize: DWORD, + pub pCertContext: PCCERT_CONTEXT, + pub TrustStatus: CERT_TRUST_STATUS, + pub pRevocationInfo: PCERT_REVOCATION_INFO, + pub pIssuanceUsage: PCERT_ENHKEY_USAGE, + pub pApplicationUsage: PCERT_ENHKEY_USAGE, + pub pwszExtendedErrorInfo: LPCWSTR, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_ELEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_ELEMENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_ELEMENT>(), + 56usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_ELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_ELEMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_ELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pCertContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(TrustStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRevocationInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pRevocationInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIssuanceUsage) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pIssuanceUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pApplicationUsage) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pApplicationUsage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszExtendedErrorInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_ELEMENT), + "::", + stringify!(pwszExtendedErrorInfo) + ) + ); +} +pub type CERT_CHAIN_ELEMENT = _CERT_CHAIN_ELEMENT; +pub type PCERT_CHAIN_ELEMENT = *mut _CERT_CHAIN_ELEMENT; +pub type PCCERT_CHAIN_ELEMENT = *const CERT_CHAIN_ELEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SIMPLE_CHAIN { + pub cbSize: DWORD, + pub TrustStatus: CERT_TRUST_STATUS, + pub cElement: DWORD, + pub rgpElement: *mut PCERT_CHAIN_ELEMENT, + pub pTrustListInfo: PCERT_TRUST_LIST_INFO, + pub fHasRevocationFreshnessTime: BOOL, + pub dwRevocationFreshnessTime: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_SIMPLE_CHAIN() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SIMPLE_CHAIN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SIMPLE_CHAIN>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_SIMPLE_CHAIN)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SIMPLE_CHAIN>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SIMPLE_CHAIN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(TrustStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElement) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(cElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpElement) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(rgpElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTrustListInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(pTrustListInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasRevocationFreshnessTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(fHasRevocationFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRevocationFreshnessTime) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SIMPLE_CHAIN), + "::", + stringify!(dwRevocationFreshnessTime) + ) + ); +} +pub type CERT_SIMPLE_CHAIN = _CERT_SIMPLE_CHAIN; +pub type PCERT_SIMPLE_CHAIN = *mut _CERT_SIMPLE_CHAIN; +pub type PCCERT_SIMPLE_CHAIN = *const CERT_SIMPLE_CHAIN; +pub type CERT_CHAIN_CONTEXT = _CERT_CHAIN_CONTEXT; +pub type PCERT_CHAIN_CONTEXT = *mut _CERT_CHAIN_CONTEXT; +pub type PCCERT_CHAIN_CONTEXT = *const CERT_CHAIN_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_CONTEXT { + pub cbSize: DWORD, + pub TrustStatus: CERT_TRUST_STATUS, + pub cChain: DWORD, + pub rgpChain: *mut PCERT_SIMPLE_CHAIN, + pub cLowerQualityChainContext: DWORD, + pub rgpLowerQualityChainContext: *mut PCCERT_CHAIN_CONTEXT, + pub fHasRevocationFreshnessTime: BOOL, + pub dwRevocationFreshnessTime: DWORD, + pub dwCreateFlags: DWORD, + pub ChainId: GUID, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_CONTEXT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_CONTEXT>(), + 72usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrustStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(TrustStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cChain) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(cChain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpChain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(rgpChain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLowerQualityChainContext) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(cLowerQualityChainContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpLowerQualityChainContext) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(rgpLowerQualityChainContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fHasRevocationFreshnessTime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(fHasRevocationFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRevocationFreshnessTime) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(dwRevocationFreshnessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCreateFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(dwCreateFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChainId) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_CONTEXT), + "::", + stringify!(ChainId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_USAGE_MATCH { + pub dwType: DWORD, + pub Usage: CERT_ENHKEY_USAGE, +} +#[test] +fn bindgen_test_layout__CERT_USAGE_MATCH() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_USAGE_MATCH> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_USAGE_MATCH>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_USAGE_MATCH)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_USAGE_MATCH>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_USAGE_MATCH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_USAGE_MATCH), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_USAGE_MATCH), + "::", + stringify!(Usage) + ) + ); +} +pub type CERT_USAGE_MATCH = _CERT_USAGE_MATCH; +pub type PCERT_USAGE_MATCH = *mut _CERT_USAGE_MATCH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CTL_USAGE_MATCH { + pub dwType: DWORD, + pub Usage: CTL_USAGE, +} +#[test] +fn bindgen_test_layout__CTL_USAGE_MATCH() { + const UNINIT: ::std::mem::MaybeUninit<_CTL_USAGE_MATCH> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CTL_USAGE_MATCH>(), + 24usize, + concat!("Size of: ", stringify!(_CTL_USAGE_MATCH)) + ); + assert_eq!( + ::std::mem::align_of::<_CTL_USAGE_MATCH>(), + 8usize, + concat!("Alignment of ", stringify!(_CTL_USAGE_MATCH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CTL_USAGE_MATCH), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CTL_USAGE_MATCH), + "::", + stringify!(Usage) + ) + ); +} +pub type CTL_USAGE_MATCH = _CTL_USAGE_MATCH; +pub type PCTL_USAGE_MATCH = *mut _CTL_USAGE_MATCH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_PARA { + pub cbSize: DWORD, + pub RequestedUsage: CERT_USAGE_MATCH, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_PARA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_PARA>(), + 32usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestedUsage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_PARA), + "::", + stringify!(RequestedUsage) + ) + ); +} +pub type CERT_CHAIN_PARA = _CERT_CHAIN_PARA; +pub type PCERT_CHAIN_PARA = *mut _CERT_CHAIN_PARA; +extern "C" { + pub fn CertGetCertificateChain( + hChainEngine: HCERTCHAINENGINE, + pCertContext: PCCERT_CONTEXT, + pTime: LPFILETIME, + hAdditionalStore: HCERTSTORE, + pChainPara: PCERT_CHAIN_PARA, + dwFlags: DWORD, + pvReserved: LPVOID, + ppChainContext: *mut PCCERT_CHAIN_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertFreeCertificateChain(pChainContext: PCCERT_CHAIN_CONTEXT); +} +extern "C" { + pub fn CertDuplicateCertificateChain( + pChainContext: PCCERT_CHAIN_CONTEXT, + ) -> PCCERT_CHAIN_CONTEXT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_REVOCATION_CHAIN_PARA { + pub cbSize: DWORD, + pub hChainEngine: HCERTCHAINENGINE, + pub hAdditionalStore: HCERTSTORE, + pub dwChainFlags: DWORD, + pub dwUrlRetrievalTimeout: DWORD, + pub pftCurrentTime: LPFILETIME, + pub pftCacheResync: LPFILETIME, + pub cbMaxUrlRetrievalByteCount: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_REVOCATION_CHAIN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_REVOCATION_CHAIN_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_REVOCATION_CHAIN_PARA>(), + 56usize, + concat!("Size of: ", stringify!(_CERT_REVOCATION_CHAIN_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_REVOCATION_CHAIN_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_REVOCATION_CHAIN_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hChainEngine) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(hChainEngine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hAdditionalStore) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(hAdditionalStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwChainFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(dwChainFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUrlRetrievalTimeout) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(dwUrlRetrievalTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftCurrentTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(pftCurrentTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pftCacheResync) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(pftCacheResync) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbMaxUrlRetrievalByteCount) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_REVOCATION_CHAIN_PARA), + "::", + stringify!(cbMaxUrlRetrievalByteCount) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRL_REVOCATION_INFO { + pub pCrlEntry: PCRL_ENTRY, + pub pCrlContext: PCCRL_CONTEXT, + pub pCrlIssuerChain: PCCERT_CHAIN_CONTEXT, +} +#[test] +fn bindgen_test_layout__CRL_REVOCATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRL_REVOCATION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRL_REVOCATION_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CRL_REVOCATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRL_REVOCATION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRL_REVOCATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlEntry) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRL_REVOCATION_INFO), + "::", + stringify!(pCrlEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRL_REVOCATION_INFO), + "::", + stringify!(pCrlContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCrlIssuerChain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRL_REVOCATION_INFO), + "::", + stringify!(pCrlIssuerChain) + ) + ); +} +pub type CRL_REVOCATION_INFO = _CRL_REVOCATION_INFO; +pub type PCRL_REVOCATION_INFO = *mut _CRL_REVOCATION_INFO; +extern "C" { + pub fn CertFindChainInStore( + hCertStore: HCERTSTORE, + dwCertEncodingType: DWORD, + dwFindFlags: DWORD, + dwFindType: DWORD, + pvFindPara: *const ::std::os::raw::c_void, + pPrevChainContext: PCCERT_CHAIN_CONTEXT, + ) -> PCCERT_CHAIN_CONTEXT; +} +pub type PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK = ::std::option::Option< + unsafe extern "C" fn(pCert: PCCERT_CONTEXT, pvFindArg: *mut ::std::os::raw::c_void) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_FIND_BY_ISSUER_PARA { + pub cbSize: DWORD, + pub pszUsageIdentifier: LPCSTR, + pub dwKeySpec: DWORD, + pub dwAcquirePrivateKeyFlags: DWORD, + pub cIssuer: DWORD, + pub rgIssuer: *mut CERT_NAME_BLOB, + pub pfnFindCallback: PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK, + pub pvFindArg: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_FIND_BY_ISSUER_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_FIND_BY_ISSUER_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>(), + 56usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_FIND_BY_ISSUER_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszUsageIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(pszUsageIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwKeySpec) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(dwKeySpec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAcquirePrivateKeyFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(dwAcquirePrivateKeyFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cIssuer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(cIssuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgIssuer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(rgIssuer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFindCallback) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(pfnFindCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvFindArg) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_FIND_BY_ISSUER_PARA), + "::", + stringify!(pvFindArg) + ) + ); +} +pub type CERT_CHAIN_FIND_ISSUER_PARA = _CERT_CHAIN_FIND_BY_ISSUER_PARA; +pub type PCERT_CHAIN_FIND_ISSUER_PARA = *mut _CERT_CHAIN_FIND_BY_ISSUER_PARA; +pub type CERT_CHAIN_FIND_BY_ISSUER_PARA = _CERT_CHAIN_FIND_BY_ISSUER_PARA; +pub type PCERT_CHAIN_FIND_BY_ISSUER_PARA = *mut _CERT_CHAIN_FIND_BY_ISSUER_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwFlags: DWORD, + pub pvExtraPolicyPara: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_POLICY_PARA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_POLICY_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_POLICY_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvExtraPolicyPara) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(pvExtraPolicyPara) + ) + ); +} +pub type CERT_CHAIN_POLICY_PARA = _CERT_CHAIN_POLICY_PARA; +pub type PCERT_CHAIN_POLICY_PARA = *mut _CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub dwError: DWORD, + pub lChainIndex: LONG, + pub lElementIndex: LONG, + pub pvExtraPolicyStatus: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_CHAIN_POLICY_STATUS>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_CHAIN_POLICY_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_CHAIN_POLICY_STATUS>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_CHAIN_POLICY_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lChainIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(lChainIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lElementIndex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(lElementIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvExtraPolicyStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(pvExtraPolicyStatus) + ) + ); +} +pub type CERT_CHAIN_POLICY_STATUS = _CERT_CHAIN_POLICY_STATUS; +pub type PCERT_CHAIN_POLICY_STATUS = *mut _CERT_CHAIN_POLICY_STATUS; +extern "C" { + pub fn CertVerifyCertificateChainPolicy( + pszPolicyOID: LPCSTR, + pChainContext: PCCERT_CHAIN_CONTEXT, + pPolicyPara: PCERT_CHAIN_POLICY_PARA, + pPolicyStatus: PCERT_CHAIN_POLICY_STATUS, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwRegPolicySettings: DWORD, + pub pSignerInfo: PCMSG_SIGNER_INFO, +} +#[test] +fn bindgen_test_layout__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 16usize, + concat!( + "Size of: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRegPolicySettings) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwRegPolicySettings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSignerInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(pSignerInfo) + ) + ); +} +pub type AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA = _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA = + *mut _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub fCommercial: BOOL, +} +#[test] +fn bindgen_test_layout__AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 8usize, + concat!( + "Size of: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCommercial) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(fCommercial) + ) + ); +} +pub type AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS = _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS; +pub type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS = + *mut _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwRegPolicySettings: DWORD, + pub fCommercial: BOOL, +} +#[test] +fn bindgen_test_layout__AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 12usize, + concat!( + "Size of: ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRegPolicySettings) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwRegPolicySettings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCommercial) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(fCommercial) + ) + ); +} +pub type AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA = + _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA = + *mut _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _HTTPSPolicyCallbackData { + pub __bindgen_anon_1: _HTTPSPolicyCallbackData__bindgen_ty_1, + pub dwAuthType: DWORD, + pub fdwChecks: DWORD, + pub pwszServerName: *mut WCHAR, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _HTTPSPolicyCallbackData__bindgen_ty_1 { + pub cbStruct: DWORD, + pub cbSize: DWORD, +} +#[test] +fn bindgen_test_layout__HTTPSPolicyCallbackData__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_HTTPSPolicyCallbackData__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HTTPSPolicyCallbackData__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_HTTPSPolicyCallbackData__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData__bindgen_ty_1), + "::", + stringify!(cbSize) + ) + ); +} +#[test] +fn bindgen_test_layout__HTTPSPolicyCallbackData() { + const UNINIT: ::std::mem::MaybeUninit<_HTTPSPolicyCallbackData> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HTTPSPolicyCallbackData>(), + 24usize, + concat!("Size of: ", stringify!(_HTTPSPolicyCallbackData)) + ); + assert_eq!( + ::std::mem::align_of::<_HTTPSPolicyCallbackData>(), + 8usize, + concat!("Alignment of ", stringify!(_HTTPSPolicyCallbackData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData), + "::", + stringify!(dwAuthType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fdwChecks) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData), + "::", + stringify!(fdwChecks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszServerName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_HTTPSPolicyCallbackData), + "::", + stringify!(pwszServerName) + ) + ); +} +pub type HTTPSPolicyCallbackData = _HTTPSPolicyCallbackData; +pub type PHTTPSPolicyCallbackData = *mut _HTTPSPolicyCallbackData; +pub type SSL_EXTRA_CERT_CHAIN_POLICY_PARA = _HTTPSPolicyCallbackData; +pub type PSSL_EXTRA_CERT_CHAIN_POLICY_PARA = *mut _HTTPSPolicyCallbackData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EV_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwRootProgramQualifierFlags: DWORD, +} +#[test] +fn bindgen_test_layout__EV_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_EV_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EV_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!("Size of: ", stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_EV_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRootProgramQualifierFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwRootProgramQualifierFlags) + ) + ); +} +pub type EV_EXTRA_CERT_CHAIN_POLICY_PARA = _EV_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PEV_EXTRA_CERT_CHAIN_POLICY_PARA = *mut _EV_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EV_EXTRA_CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub dwQualifiers: DWORD, + pub dwIssuanceUsageIndex: DWORD, +} +#[test] +fn bindgen_test_layout__EV_EXTRA_CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_EV_EXTRA_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EV_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 12usize, + concat!("Size of: ", stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_EV_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwQualifiers) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwQualifiers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIssuanceUsageIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EV_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwIssuanceUsageIndex) + ) + ); +} +pub type EV_EXTRA_CERT_CHAIN_POLICY_STATUS = _EV_EXTRA_CERT_CHAIN_POLICY_STATUS; +pub type PEV_EXTRA_CERT_CHAIN_POLICY_STATUS = *mut _EV_EXTRA_CERT_CHAIN_POLICY_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub dwErrorLevel: DWORD, + pub dwErrorCategory: DWORD, + pub dwReserved: DWORD, + pub wszErrorText: [WCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 528usize, + concat!( + "Size of: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwErrorLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorCategory) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwErrorCategory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wszErrorText) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(wszErrorText) + ) + ); +} +pub type SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS = _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS; +pub type PSSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS = *mut _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwReserved: DWORD, + pub pwszServerName: LPWSTR, + pub rgpszHpkpValue: [LPSTR; 2usize], +} +#[test] +fn bindgen_test_layout__SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 32usize, + concat!( + "Size of: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszServerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(pwszServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgpszHpkpValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(rgpszHpkpValue) + ) + ); +} +pub type SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA = + _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PSSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA = + *mut _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA { + pub cbSize: DWORD, + pub dwReserved: DWORD, + pub pwszServerName: PCWSTR, +} +#[test] +fn bindgen_test_layout__SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 16usize, + concat!( + "Size of: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszServerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA), + "::", + stringify!(pwszServerName) + ) + ); +} +pub type SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA = _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA; +pub type PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA = *mut _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS { + pub cbSize: DWORD, + pub lError: LONG, + pub wszErrorText: [WCHAR; 512usize], +} +#[test] +fn bindgen_test_layout__SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 1032usize, + concat!( + "Size of: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(lError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wszErrorText) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS), + "::", + stringify!(wszErrorText) + ) + ); +} +pub type SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS = _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS; +pub type PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS = + *mut _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS; +extern "C" { + pub fn CryptStringToBinaryA( + pszString: LPCSTR, + cchString: DWORD, + dwFlags: DWORD, + pbBinary: *mut BYTE, + pcbBinary: *mut DWORD, + pdwSkip: *mut DWORD, + pdwFlags: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptStringToBinaryW( + pszString: LPCWSTR, + cchString: DWORD, + dwFlags: DWORD, + pbBinary: *mut BYTE, + pcbBinary: *mut DWORD, + pdwSkip: *mut DWORD, + pdwFlags: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptBinaryToStringA( + pbBinary: *const BYTE, + cbBinary: DWORD, + dwFlags: DWORD, + pszString: LPSTR, + pcchString: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptBinaryToStringW( + pbBinary: *const BYTE, + cbBinary: DWORD, + dwFlags: DWORD, + pszString: LPWSTR, + pcchString: *mut DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_PKCS12_PBE_PARAMS { + pub iIterations: ::std::os::raw::c_int, + pub cbSalt: ULONG, +} +#[test] +fn bindgen_test_layout__CRYPT_PKCS12_PBE_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_PKCS12_PBE_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_PKCS12_PBE_PARAMS>(), + 8usize, + concat!("Size of: ", stringify!(_CRYPT_PKCS12_PBE_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_PKCS12_PBE_PARAMS>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_PKCS12_PBE_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iIterations) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS12_PBE_PARAMS), + "::", + stringify!(iIterations) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSalt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_PKCS12_PBE_PARAMS), + "::", + stringify!(cbSalt) + ) + ); +} +pub type CRYPT_PKCS12_PBE_PARAMS = _CRYPT_PKCS12_PBE_PARAMS; +extern "C" { + pub fn PFXImportCertStore( + pPFX: *mut CRYPT_DATA_BLOB, + szPassword: LPCWSTR, + dwFlags: DWORD, + ) -> HCERTSTORE; +} +extern "C" { + pub fn PFXIsPFXBlob(pPFX: *mut CRYPT_DATA_BLOB) -> BOOL; +} +extern "C" { + pub fn PFXVerifyPassword( + pPFX: *mut CRYPT_DATA_BLOB, + szPassword: LPCWSTR, + dwFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn PFXExportCertStoreEx( + hStore: HCERTSTORE, + pPFX: *mut CRYPT_DATA_BLOB, + szPassword: LPCWSTR, + pvPara: *mut ::std::os::raw::c_void, + dwFlags: DWORD, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PKCS12_PBES2_EXPORT_PARAMS { + pub dwSize: DWORD, + pub hNcryptDescriptor: PVOID, + pub pwszPbes2Alg: LPWSTR, +} +#[test] +fn bindgen_test_layout__PKCS12_PBES2_EXPORT_PARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_PKCS12_PBES2_EXPORT_PARAMS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PKCS12_PBES2_EXPORT_PARAMS>(), + 24usize, + concat!("Size of: ", stringify!(_PKCS12_PBES2_EXPORT_PARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_PKCS12_PBES2_EXPORT_PARAMS>(), + 8usize, + concat!("Alignment of ", stringify!(_PKCS12_PBES2_EXPORT_PARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PKCS12_PBES2_EXPORT_PARAMS), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hNcryptDescriptor) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PKCS12_PBES2_EXPORT_PARAMS), + "::", + stringify!(hNcryptDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszPbes2Alg) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PKCS12_PBES2_EXPORT_PARAMS), + "::", + stringify!(pwszPbes2Alg) + ) + ); +} +pub type PKCS12_PBES2_EXPORT_PARAMS = _PKCS12_PBES2_EXPORT_PARAMS; +pub type PPKCS12_PBES2_EXPORT_PARAMS = *mut _PKCS12_PBES2_EXPORT_PARAMS; +extern "C" { + pub fn PFXExportCertStore( + hStore: HCERTSTORE, + pPFX: *mut CRYPT_DATA_BLOB, + szPassword: LPCWSTR, + dwFlags: DWORD, + ) -> BOOL; +} +pub type HCERT_SERVER_OCSP_RESPONSE = *mut ::std::os::raw::c_void; +pub type CERT_SERVER_OCSP_RESPONSE_CONTEXT = _CERT_SERVER_OCSP_RESPONSE_CONTEXT; +pub type PCERT_SERVER_OCSP_RESPONSE_CONTEXT = *mut _CERT_SERVER_OCSP_RESPONSE_CONTEXT; +pub type PCCERT_SERVER_OCSP_RESPONSE_CONTEXT = *const CERT_SERVER_OCSP_RESPONSE_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SERVER_OCSP_RESPONSE_CONTEXT { + pub cbSize: DWORD, + pub pbEncodedOcspResponse: *mut BYTE, + pub cbEncodedOcspResponse: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_SERVER_OCSP_RESPONSE_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SERVER_OCSP_RESPONSE_CONTEXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SERVER_OCSP_RESPONSE_CONTEXT>(), + 24usize, + concat!("Size of: ", stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SERVER_OCSP_RESPONSE_CONTEXT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbEncodedOcspResponse) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT), + "::", + stringify!(pbEncodedOcspResponse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEncodedOcspResponse) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_CONTEXT), + "::", + stringify!(cbEncodedOcspResponse) + ) + ); +} +pub type PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + pChainContext: PCCERT_CHAIN_CONTEXT, + pServerOcspResponseContext: PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, + pNewCrlContext: PCCRL_CONTEXT, + pPrevCrlContext: PCCRL_CONTEXT, + pvArg: PVOID, + dwWriteOcspFileError: DWORD, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SERVER_OCSP_RESPONSE_OPEN_PARA { + pub cbSize: DWORD, + pub dwFlags: DWORD, + pub pcbUsedSize: *mut DWORD, + pub pwszOcspDirectory: PWSTR, + pub pfnUpdateCallback: PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK, + pub pvUpdateCallbackArg: PVOID, +} +#[test] +fn bindgen_test_layout__CERT_SERVER_OCSP_RESPONSE_OPEN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>(), + 40usize, + concat!( + "Size of: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcbUsedSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(pcbUsedSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszOcspDirectory) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(pwszOcspDirectory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnUpdateCallback) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(pfnUpdateCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUpdateCallbackArg) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SERVER_OCSP_RESPONSE_OPEN_PARA), + "::", + stringify!(pvUpdateCallbackArg) + ) + ); +} +pub type CERT_SERVER_OCSP_RESPONSE_OPEN_PARA = _CERT_SERVER_OCSP_RESPONSE_OPEN_PARA; +pub type PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA = *mut _CERT_SERVER_OCSP_RESPONSE_OPEN_PARA; +extern "C" { + pub fn CertOpenServerOcspResponse( + pChainContext: PCCERT_CHAIN_CONTEXT, + dwFlags: DWORD, + pOpenPara: PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA, + ) -> HCERT_SERVER_OCSP_RESPONSE; +} +extern "C" { + pub fn CertAddRefServerOcspResponse(hServerOcspResponse: HCERT_SERVER_OCSP_RESPONSE); +} +extern "C" { + pub fn CertCloseServerOcspResponse( + hServerOcspResponse: HCERT_SERVER_OCSP_RESPONSE, + dwFlags: DWORD, + ); +} +extern "C" { + pub fn CertGetServerOcspResponseContext( + hServerOcspResponse: HCERT_SERVER_OCSP_RESPONSE, + dwFlags: DWORD, + pvReserved: LPVOID, + ) -> PCCERT_SERVER_OCSP_RESPONSE_CONTEXT; +} +extern "C" { + pub fn CertAddRefServerOcspResponseContext( + pServerOcspResponseContext: PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, + ); +} +extern "C" { + pub fn CertFreeServerOcspResponseContext( + pServerOcspResponseContext: PCCERT_SERVER_OCSP_RESPONSE_CONTEXT, + ); +} +extern "C" { + pub fn CertRetrieveLogoOrBiometricInfo( + pCertContext: PCCERT_CONTEXT, + lpszLogoOrBiometricType: LPCSTR, + dwRetrievalFlags: DWORD, + dwTimeout: DWORD, + dwFlags: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ppbData: *mut *mut BYTE, + pcbData: *mut DWORD, + ppwszMimeType: *mut LPWSTR, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SELECT_CHAIN_PARA { + pub hChainEngine: HCERTCHAINENGINE, + pub pTime: PFILETIME, + pub hAdditionalStore: HCERTSTORE, + pub pChainPara: PCERT_CHAIN_PARA, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__CERT_SELECT_CHAIN_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SELECT_CHAIN_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SELECT_CHAIN_PARA>(), + 40usize, + concat!("Size of: ", stringify!(_CERT_SELECT_CHAIN_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SELECT_CHAIN_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SELECT_CHAIN_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hChainEngine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(hChainEngine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(pTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hAdditionalStore) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(hAdditionalStore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pChainPara) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(pChainPara) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CHAIN_PARA), + "::", + stringify!(dwFlags) + ) + ); +} +pub type CERT_SELECT_CHAIN_PARA = _CERT_SELECT_CHAIN_PARA; +pub type PCERT_SELECT_CHAIN_PARA = *mut _CERT_SELECT_CHAIN_PARA; +pub type PCCERT_SELECT_CHAIN_PARA = *const CERT_SELECT_CHAIN_PARA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERT_SELECT_CRITERIA { + pub dwType: DWORD, + pub cPara: DWORD, + pub ppPara: *mut *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__CERT_SELECT_CRITERIA() { + const UNINIT: ::std::mem::MaybeUninit<_CERT_SELECT_CRITERIA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERT_SELECT_CRITERIA>(), + 16usize, + concat!("Size of: ", stringify!(_CERT_SELECT_CRITERIA)) + ); + assert_eq!( + ::std::mem::align_of::<_CERT_SELECT_CRITERIA>(), + 8usize, + concat!("Alignment of ", stringify!(_CERT_SELECT_CRITERIA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CRITERIA), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cPara) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CRITERIA), + "::", + stringify!(cPara) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppPara) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERT_SELECT_CRITERIA), + "::", + stringify!(ppPara) + ) + ); +} +pub type CERT_SELECT_CRITERIA = _CERT_SELECT_CRITERIA; +pub type PCERT_SELECT_CRITERIA = *mut _CERT_SELECT_CRITERIA; +pub type PCCERT_SELECT_CRITERIA = *const CERT_SELECT_CRITERIA; +extern "C" { + pub fn CertSelectCertificateChains( + pSelectionContext: LPCGUID, + dwFlags: DWORD, + pChainParameters: PCCERT_SELECT_CHAIN_PARA, + cCriteria: DWORD, + rgpCriteria: PCCERT_SELECT_CRITERIA, + hStore: HCERTSTORE, + pcSelection: PDWORD, + pprgpSelection: *mut *mut PCCERT_CHAIN_CONTEXT, + ) -> BOOL; +} +extern "C" { + pub fn CertFreeCertificateChainList(prgpSelection: *mut PCCERT_CHAIN_CONTEXT); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_REQUEST { + pub dwVersion: DWORD, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub HashedMessage: CRYPT_DER_BLOB, + pub pszTSAPolicyId: LPSTR, + pub Nonce: CRYPT_INTEGER_BLOB, + pub fCertReq: BOOL, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_REQUEST>(), + 88usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashedMessage) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(HashedMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTSAPolicyId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(pszTSAPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Nonce) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(Nonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCertReq) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(fCertReq) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_REQUEST), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRYPT_TIMESTAMP_REQUEST = _CRYPT_TIMESTAMP_REQUEST; +pub type PCRYPT_TIMESTAMP_REQUEST = *mut _CRYPT_TIMESTAMP_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_RESPONSE { + pub dwStatus: DWORD, + pub cFreeText: DWORD, + pub rgFreeText: *mut LPWSTR, + pub FailureInfo: CRYPT_BIT_BLOB, + pub ContentInfo: CRYPT_DER_BLOB, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_RESPONSE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_RESPONSE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_RESPONSE>(), + 56usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_RESPONSE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_RESPONSE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_RESPONSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFreeText) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(cFreeText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgFreeText) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(rgFreeText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailureInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(FailureInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContentInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_RESPONSE), + "::", + stringify!(ContentInfo) + ) + ); +} +pub type CRYPT_TIMESTAMP_RESPONSE = _CRYPT_TIMESTAMP_RESPONSE; +pub type PCRYPT_TIMESTAMP_RESPONSE = *mut _CRYPT_TIMESTAMP_RESPONSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_ACCURACY { + pub dwSeconds: DWORD, + pub dwMillis: DWORD, + pub dwMicros: DWORD, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_ACCURACY() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_ACCURACY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_ACCURACY>(), + 12usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_ACCURACY)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_ACCURACY>(), + 4usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_ACCURACY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSeconds) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_ACCURACY), + "::", + stringify!(dwSeconds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMillis) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_ACCURACY), + "::", + stringify!(dwMillis) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMicros) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_ACCURACY), + "::", + stringify!(dwMicros) + ) + ); +} +pub type CRYPT_TIMESTAMP_ACCURACY = _CRYPT_TIMESTAMP_ACCURACY; +pub type PCRYPT_TIMESTAMP_ACCURACY = *mut _CRYPT_TIMESTAMP_ACCURACY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_INFO { + pub dwVersion: DWORD, + pub pszTSAPolicyId: LPSTR, + pub HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pub HashedMessage: CRYPT_DER_BLOB, + pub SerialNumber: CRYPT_INTEGER_BLOB, + pub ftTime: FILETIME, + pub pvAccuracy: PCRYPT_TIMESTAMP_ACCURACY, + pub fOrdering: BOOL, + pub Nonce: CRYPT_DER_BLOB, + pub Tsa: CRYPT_DER_BLOB, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_INFO>(), + 144usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTSAPolicyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(pszTSAPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashAlgorithm) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(HashAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HashedMessage) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(HashedMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftTime) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(ftTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvAccuracy) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(pvAccuracy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fOrdering) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(fOrdering) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Nonce) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(Nonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Tsa) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(Tsa) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_INFO), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRYPT_TIMESTAMP_INFO = _CRYPT_TIMESTAMP_INFO; +pub type PCRYPT_TIMESTAMP_INFO = *mut _CRYPT_TIMESTAMP_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_CONTEXT { + pub cbEncoded: DWORD, + pub pbEncoded: *mut BYTE, + pub pTimeStamp: PCRYPT_TIMESTAMP_INFO, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_CONTEXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_CONTEXT>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_CONTEXT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbEncoded) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_CONTEXT), + "::", + stringify!(cbEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbEncoded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_CONTEXT), + "::", + stringify!(pbEncoded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTimeStamp) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_CONTEXT), + "::", + stringify!(pTimeStamp) + ) + ); +} +pub type CRYPT_TIMESTAMP_CONTEXT = _CRYPT_TIMESTAMP_CONTEXT; +pub type PCRYPT_TIMESTAMP_CONTEXT = *mut _CRYPT_TIMESTAMP_CONTEXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_TIMESTAMP_PARA { + pub pszTSAPolicyId: LPCSTR, + pub fRequestCerts: BOOL, + pub Nonce: CRYPT_INTEGER_BLOB, + pub cExtension: DWORD, + pub rgExtension: PCERT_EXTENSION, +} +#[test] +fn bindgen_test_layout__CRYPT_TIMESTAMP_PARA() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_TIMESTAMP_PARA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_TIMESTAMP_PARA>(), + 48usize, + concat!("Size of: ", stringify!(_CRYPT_TIMESTAMP_PARA)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_TIMESTAMP_PARA>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPT_TIMESTAMP_PARA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTSAPolicyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(pszTSAPolicyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fRequestCerts) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(fRequestCerts) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Nonce) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(Nonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cExtension) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(cExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgExtension) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_TIMESTAMP_PARA), + "::", + stringify!(rgExtension) + ) + ); +} +pub type CRYPT_TIMESTAMP_PARA = _CRYPT_TIMESTAMP_PARA; +pub type PCRYPT_TIMESTAMP_PARA = *mut _CRYPT_TIMESTAMP_PARA; +extern "C" { + pub fn CryptRetrieveTimeStamp( + wszUrl: LPCWSTR, + dwRetrievalFlags: DWORD, + dwTimeout: DWORD, + pszHashId: LPCSTR, + pPara: *const CRYPT_TIMESTAMP_PARA, + pbData: *const BYTE, + cbData: DWORD, + ppTsContext: *mut PCRYPT_TIMESTAMP_CONTEXT, + ppTsSigner: *mut PCCERT_CONTEXT, + phStore: *mut HCERTSTORE, + ) -> BOOL; +} +extern "C" { + pub fn CryptVerifyTimeStampSignature( + pbTSContentInfo: *const BYTE, + cbTSContentInfo: DWORD, + pbData: *const BYTE, + cbData: DWORD, + hAdditionalStore: HCERTSTORE, + ppTsContext: *mut PCRYPT_TIMESTAMP_CONTEXT, + ppTsSigner: *mut PCCERT_CONTEXT, + phStore: *mut HCERTSTORE, + ) -> BOOL; +} +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH = ::std::option::Option< + unsafe extern "C" fn( + pContext: LPVOID, + rgIdentifierOrNameList: *mut PCERT_NAME_BLOB, + dwIdentifierOrNameListCount: DWORD, + ) -> BOOL, +>; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET = ::std::option::Option< + unsafe extern "C" fn( + pPluginContext: LPVOID, + pIdentifier: PCRYPT_DATA_BLOB, + dwNameType: DWORD, + pNameBlob: PCERT_NAME_BLOB, + ppbContent: *mut PBYTE, + pcbContent: *mut DWORD, + ppwszPassword: *mut PCWSTR, + ppIdentifier: *mut PCRYPT_DATA_BLOB, + ) -> BOOL, +>; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE = + ::std::option::Option; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD = + ::std::option::Option; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE = + ::std::option::Option; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER = ::std::option::Option< + unsafe extern "C" fn(pPluginContext: LPVOID, pIdentifier: PCRYPT_DATA_BLOB), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE { + pub cbSize: DWORD, + pub pfnGet: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET, + pub pfnRelease: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE, + pub pfnFreePassword: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD, + pub pfnFree: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE, + pub pfnFreeIdentifier: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER, +} +#[test] +fn bindgen_test_layout__CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>(), + 48usize, + concat!( + "Size of: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnGet) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnGet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnRelease) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnRelease) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFreePassword) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnFreePassword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFreeIdentifier) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE), + "::", + stringify!(pfnFreeIdentifier) + ) + ); +} +pub type CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE = _CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE; +pub type PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE = *mut _CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE; +pub type PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE = ::std::option::Option< + unsafe extern "C" fn( + pfnFlush: PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH, + pContext: LPVOID, + pdwExpectedObjectCount: *mut DWORD, + ppFuncTable: *mut PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE, + ppPluginContext: *mut *mut ::std::os::raw::c_void, + ) -> BOOL, +>; +extern "C" { + pub fn CertIsWeakHash( + dwHashUseType: DWORD, + pwszCNGHashAlgid: LPCWSTR, + dwChainFlags: DWORD, + pSignerChainContext: PCCERT_CHAIN_CONTEXT, + pTimeStamp: LPFILETIME, + pwszFileName: LPCWSTR, + ) -> BOOL; +} +pub type PFN_CERT_IS_WEAK_HASH = ::std::option::Option< + unsafe extern "C" fn( + dwHashUseType: DWORD, + pwszCNGHashAlgid: LPCWSTR, + dwChainFlags: DWORD, + pSignerChainContext: PCCERT_CHAIN_CONTEXT, + pTimeStamp: LPFILETIME, + pwszFileName: LPCWSTR, + ) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRYPTPROTECT_PROMPTSTRUCT { + pub cbSize: DWORD, + pub dwPromptFlags: DWORD, + pub hwndApp: HWND, + pub szPrompt: LPCWSTR, +} +#[test] +fn bindgen_test_layout__CRYPTPROTECT_PROMPTSTRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_CRYPTPROTECT_PROMPTSTRUCT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRYPTPROTECT_PROMPTSTRUCT>(), + 24usize, + concat!("Size of: ", stringify!(_CRYPTPROTECT_PROMPTSTRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRYPTPROTECT_PROMPTSTRUCT>(), + 8usize, + concat!("Alignment of ", stringify!(_CRYPTPROTECT_PROMPTSTRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTPROTECT_PROMPTSTRUCT), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPromptFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTPROTECT_PROMPTSTRUCT), + "::", + stringify!(dwPromptFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndApp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTPROTECT_PROMPTSTRUCT), + "::", + stringify!(hwndApp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPrompt) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CRYPTPROTECT_PROMPTSTRUCT), + "::", + stringify!(szPrompt) + ) + ); +} +pub type CRYPTPROTECT_PROMPTSTRUCT = _CRYPTPROTECT_PROMPTSTRUCT; +pub type PCRYPTPROTECT_PROMPTSTRUCT = *mut _CRYPTPROTECT_PROMPTSTRUCT; +extern "C" { + pub fn CryptProtectData( + pDataIn: *mut DATA_BLOB, + szDataDescr: LPCWSTR, + pOptionalEntropy: *mut DATA_BLOB, + pvReserved: PVOID, + pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, + dwFlags: DWORD, + pDataOut: *mut DATA_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CryptUnprotectData( + pDataIn: *mut DATA_BLOB, + ppszDataDescr: *mut LPWSTR, + pOptionalEntropy: *mut DATA_BLOB, + pvReserved: PVOID, + pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, + dwFlags: DWORD, + pDataOut: *mut DATA_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CryptProtectDataNoUI( + pDataIn: *mut DATA_BLOB, + szDataDescr: LPCWSTR, + pOptionalEntropy: *mut DATA_BLOB, + pvReserved: PVOID, + pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, + dwFlags: DWORD, + pbOptionalPassword: *const BYTE, + cbOptionalPassword: DWORD, + pDataOut: *mut DATA_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CryptUnprotectDataNoUI( + pDataIn: *mut DATA_BLOB, + ppszDataDescr: *mut LPWSTR, + pOptionalEntropy: *mut DATA_BLOB, + pvReserved: PVOID, + pPromptStruct: *mut CRYPTPROTECT_PROMPTSTRUCT, + dwFlags: DWORD, + pbOptionalPassword: *const BYTE, + cbOptionalPassword: DWORD, + pDataOut: *mut DATA_BLOB, + ) -> BOOL; +} +extern "C" { + pub fn CryptUpdateProtectedState( + pOldSid: PSID, + pwszOldPassword: LPCWSTR, + dwFlags: DWORD, + pdwSuccessCount: *mut DWORD, + pdwFailureCount: *mut DWORD, + ) -> BOOL; +} +extern "C" { + pub fn CryptProtectMemory(pDataIn: LPVOID, cbDataIn: DWORD, dwFlags: DWORD) -> BOOL; +} +extern "C" { + pub fn CryptUnprotectMemory(pDataIn: LPVOID, cbDataIn: DWORD, dwFlags: DWORD) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CERTIFICATE_BLOB { + pub dwCertEncodingType: DWORD, + pub cbData: DWORD, + pub pbData: PBYTE, +} +#[test] +fn bindgen_test_layout__CERTIFICATE_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_CERTIFICATE_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CERTIFICATE_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_CERTIFICATE_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_CERTIFICATE_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_CERTIFICATE_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCertEncodingType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CERTIFICATE_BLOB), + "::", + stringify!(dwCertEncodingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CERTIFICATE_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CERTIFICATE_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type EFS_CERTIFICATE_BLOB = _CERTIFICATE_BLOB; +pub type PEFS_CERTIFICATE_BLOB = *mut _CERTIFICATE_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_HASH_BLOB { + pub cbData: DWORD, + pub pbData: PBYTE, +} +#[test] +fn bindgen_test_layout__EFS_HASH_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_HASH_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_HASH_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_EFS_HASH_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_HASH_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_EFS_HASH_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_HASH_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_HASH_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type EFS_HASH_BLOB = _EFS_HASH_BLOB; +pub type PEFS_HASH_BLOB = *mut _EFS_HASH_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_RPC_BLOB { + pub cbData: DWORD, + pub pbData: PBYTE, +} +#[test] +fn bindgen_test_layout__EFS_RPC_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_RPC_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_RPC_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_EFS_RPC_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_RPC_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_EFS_RPC_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_RPC_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_RPC_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type EFS_RPC_BLOB = _EFS_RPC_BLOB; +pub type PEFS_RPC_BLOB = *mut _EFS_RPC_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_PIN_BLOB { + pub cbPadding: DWORD, + pub cbData: DWORD, + pub pbData: PBYTE, +} +#[test] +fn bindgen_test_layout__EFS_PIN_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_PIN_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_PIN_BLOB>(), + 16usize, + concat!("Size of: ", stringify!(_EFS_PIN_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_PIN_BLOB>(), + 8usize, + concat!("Alignment of ", stringify!(_EFS_PIN_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPadding) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_PIN_BLOB), + "::", + stringify!(cbPadding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_PIN_BLOB), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_PIN_BLOB), + "::", + stringify!(pbData) + ) + ); +} +pub type EFS_PIN_BLOB = _EFS_PIN_BLOB; +pub type PEFS_PIN_BLOB = *mut _EFS_PIN_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_KEY_INFO { + pub dwVersion: DWORD, + pub Entropy: ULONG, + pub Algorithm: ALG_ID, + pub KeyLength: ULONG, +} +#[test] +fn bindgen_test_layout__EFS_KEY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_KEY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_KEY_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_EFS_KEY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_KEY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_KEY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_KEY_INFO), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Entropy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_KEY_INFO), + "::", + stringify!(Entropy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_KEY_INFO), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EFS_KEY_INFO), + "::", + stringify!(KeyLength) + ) + ); +} +pub type EFS_KEY_INFO = _EFS_KEY_INFO; +pub type PEFS_KEY_INFO = *mut _EFS_KEY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_COMPATIBILITY_INFO { + pub EfsVersion: DWORD, +} +#[test] +fn bindgen_test_layout__EFS_COMPATIBILITY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_COMPATIBILITY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_COMPATIBILITY_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_EFS_COMPATIBILITY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_COMPATIBILITY_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_COMPATIBILITY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EfsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_COMPATIBILITY_INFO), + "::", + stringify!(EfsVersion) + ) + ); +} +pub type EFS_COMPATIBILITY_INFO = _EFS_COMPATIBILITY_INFO; +pub type PEFS_COMPATIBILITY_INFO = *mut _EFS_COMPATIBILITY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_VERSION_INFO { + pub EfsVersion: DWORD, + pub SubVersion: DWORD, +} +#[test] +fn bindgen_test_layout__EFS_VERSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_VERSION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_VERSION_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_EFS_VERSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_VERSION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_VERSION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EfsVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_VERSION_INFO), + "::", + stringify!(EfsVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_VERSION_INFO), + "::", + stringify!(SubVersion) + ) + ); +} +pub type EFS_VERSION_INFO = _EFS_VERSION_INFO; +pub type PEFS_VERSION_INFO = *mut _EFS_VERSION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_DECRYPTION_STATUS_INFO { + pub dwDecryptionError: DWORD, + pub dwHashOffset: DWORD, + pub cbHash: DWORD, +} +#[test] +fn bindgen_test_layout__EFS_DECRYPTION_STATUS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_DECRYPTION_STATUS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_DECRYPTION_STATUS_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_EFS_DECRYPTION_STATUS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_DECRYPTION_STATUS_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_DECRYPTION_STATUS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDecryptionError) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_DECRYPTION_STATUS_INFO), + "::", + stringify!(dwDecryptionError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHashOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_DECRYPTION_STATUS_INFO), + "::", + stringify!(dwHashOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbHash) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EFS_DECRYPTION_STATUS_INFO), + "::", + stringify!(cbHash) + ) + ); +} +pub type EFS_DECRYPTION_STATUS_INFO = _EFS_DECRYPTION_STATUS_INFO; +pub type PEFS_DECRYPTION_STATUS_INFO = *mut _EFS_DECRYPTION_STATUS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EFS_ENCRYPTION_STATUS_INFO { + pub bHasCurrentKey: BOOL, + pub dwEncryptionError: DWORD, +} +#[test] +fn bindgen_test_layout__EFS_ENCRYPTION_STATUS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EFS_ENCRYPTION_STATUS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EFS_ENCRYPTION_STATUS_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_EFS_ENCRYPTION_STATUS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EFS_ENCRYPTION_STATUS_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EFS_ENCRYPTION_STATUS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bHasCurrentKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EFS_ENCRYPTION_STATUS_INFO), + "::", + stringify!(bHasCurrentKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEncryptionError) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EFS_ENCRYPTION_STATUS_INFO), + "::", + stringify!(dwEncryptionError) + ) + ); +} +pub type EFS_ENCRYPTION_STATUS_INFO = _EFS_ENCRYPTION_STATUS_INFO; +pub type PEFS_ENCRYPTION_STATUS_INFO = *mut _EFS_ENCRYPTION_STATUS_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_CERTIFICATE { + pub cbTotalLength: DWORD, + pub pUserSid: *mut SID, + pub pCertBlob: PEFS_CERTIFICATE_BLOB, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_CERTIFICATE() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_CERTIFICATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_CERTIFICATE>(), + 24usize, + concat!("Size of: ", stringify!(_ENCRYPTION_CERTIFICATE)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_CERTIFICATE>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_CERTIFICATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTotalLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE), + "::", + stringify!(cbTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserSid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE), + "::", + stringify!(pUserSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertBlob) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE), + "::", + stringify!(pCertBlob) + ) + ); +} +pub type ENCRYPTION_CERTIFICATE = _ENCRYPTION_CERTIFICATE; +pub type PENCRYPTION_CERTIFICATE = *mut _ENCRYPTION_CERTIFICATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_CERTIFICATE_HASH { + pub cbTotalLength: DWORD, + pub pUserSid: *mut SID, + pub pHash: PEFS_HASH_BLOB, + pub lpDisplayInformation: LPWSTR, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_CERTIFICATE_HASH() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_CERTIFICATE_HASH> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_CERTIFICATE_HASH>(), + 32usize, + concat!("Size of: ", stringify!(_ENCRYPTION_CERTIFICATE_HASH)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_CERTIFICATE_HASH>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_CERTIFICATE_HASH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTotalLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH), + "::", + stringify!(cbTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserSid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH), + "::", + stringify!(pUserSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHash) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH), + "::", + stringify!(pHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayInformation) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH), + "::", + stringify!(lpDisplayInformation) + ) + ); +} +pub type ENCRYPTION_CERTIFICATE_HASH = _ENCRYPTION_CERTIFICATE_HASH; +pub type PENCRYPTION_CERTIFICATE_HASH = *mut _ENCRYPTION_CERTIFICATE_HASH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_CERTIFICATE_HASH_LIST { + pub nCert_Hash: DWORD, + pub pUsers: *mut PENCRYPTION_CERTIFICATE_HASH, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_CERTIFICATE_HASH_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_CERTIFICATE_HASH_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_CERTIFICATE_HASH_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_ENCRYPTION_CERTIFICATE_HASH_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_CERTIFICATE_HASH_LIST>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH_LIST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCert_Hash) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH_LIST), + "::", + stringify!(nCert_Hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUsers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_HASH_LIST), + "::", + stringify!(pUsers) + ) + ); +} +pub type ENCRYPTION_CERTIFICATE_HASH_LIST = _ENCRYPTION_CERTIFICATE_HASH_LIST; +pub type PENCRYPTION_CERTIFICATE_HASH_LIST = *mut _ENCRYPTION_CERTIFICATE_HASH_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_CERTIFICATE_LIST { + pub nUsers: DWORD, + pub pUsers: *mut PENCRYPTION_CERTIFICATE, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_CERTIFICATE_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_CERTIFICATE_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_CERTIFICATE_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_ENCRYPTION_CERTIFICATE_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_CERTIFICATE_LIST>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_CERTIFICATE_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nUsers) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_LIST), + "::", + stringify!(nUsers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUsers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_CERTIFICATE_LIST), + "::", + stringify!(pUsers) + ) + ); +} +pub type ENCRYPTION_CERTIFICATE_LIST = _ENCRYPTION_CERTIFICATE_LIST; +pub type PENCRYPTION_CERTIFICATE_LIST = *mut _ENCRYPTION_CERTIFICATE_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTED_FILE_METADATA_SIGNATURE { + pub dwEfsAccessType: DWORD, + pub pCertificatesAdded: PENCRYPTION_CERTIFICATE_HASH_LIST, + pub pEncryptionCertificate: PENCRYPTION_CERTIFICATE, + pub pEfsStreamSignature: PEFS_RPC_BLOB, +} +#[test] +fn bindgen_test_layout__ENCRYPTED_FILE_METADATA_SIGNATURE() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTED_FILE_METADATA_SIGNATURE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTED_FILE_METADATA_SIGNATURE>(), + 32usize, + concat!("Size of: ", stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTED_FILE_METADATA_SIGNATURE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEfsAccessType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), + "::", + stringify!(dwEfsAccessType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCertificatesAdded) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), + "::", + stringify!(pCertificatesAdded) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEncryptionCertificate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), + "::", + stringify!(pEncryptionCertificate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEfsStreamSignature) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_FILE_METADATA_SIGNATURE), + "::", + stringify!(pEfsStreamSignature) + ) + ); +} +pub type ENCRYPTED_FILE_METADATA_SIGNATURE = _ENCRYPTED_FILE_METADATA_SIGNATURE; +pub type PENCRYPTED_FILE_METADATA_SIGNATURE = *mut _ENCRYPTED_FILE_METADATA_SIGNATURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_PROTECTOR { + pub cbTotalLength: DWORD, + pub pUserSid: *mut SID, + pub lpProtectorDescriptor: LPWSTR, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_PROTECTOR() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_PROTECTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_PROTECTOR>(), + 24usize, + concat!("Size of: ", stringify!(_ENCRYPTION_PROTECTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_PROTECTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_PROTECTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbTotalLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR), + "::", + stringify!(cbTotalLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserSid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR), + "::", + stringify!(pUserSid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpProtectorDescriptor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR), + "::", + stringify!(lpProtectorDescriptor) + ) + ); +} +pub type ENCRYPTION_PROTECTOR = _ENCRYPTION_PROTECTOR; +pub type PENCRYPTION_PROTECTOR = *mut _ENCRYPTION_PROTECTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_PROTECTOR_LIST { + pub nProtectors: DWORD, + pub pProtectors: *mut PENCRYPTION_PROTECTOR, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_PROTECTOR_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_PROTECTOR_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_PROTECTOR_LIST>(), + 16usize, + concat!("Size of: ", stringify!(_ENCRYPTION_PROTECTOR_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_PROTECTOR_LIST>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_PROTECTOR_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nProtectors) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR_LIST), + "::", + stringify!(nProtectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProtectors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_PROTECTOR_LIST), + "::", + stringify!(pProtectors) + ) + ); +} +pub type ENCRYPTION_PROTECTOR_LIST = _ENCRYPTION_PROTECTOR_LIST; +pub type PENCRYPTION_PROTECTOR_LIST = *mut _ENCRYPTION_PROTECTOR_LIST; +extern "C" { + pub fn QueryUsersOnEncryptedFile( + lpFileName: LPCWSTR, + pUsers: *mut PENCRYPTION_CERTIFICATE_HASH_LIST, + ) -> DWORD; +} +extern "C" { + pub fn QueryRecoveryAgentsOnEncryptedFile( + lpFileName: LPCWSTR, + pRecoveryAgents: *mut PENCRYPTION_CERTIFICATE_HASH_LIST, + ) -> DWORD; +} +extern "C" { + pub fn RemoveUsersFromEncryptedFile( + lpFileName: LPCWSTR, + pHashes: PENCRYPTION_CERTIFICATE_HASH_LIST, + ) -> DWORD; +} +extern "C" { + pub fn AddUsersToEncryptedFile( + lpFileName: LPCWSTR, + pEncryptionCertificates: PENCRYPTION_CERTIFICATE_LIST, + ) -> DWORD; +} +extern "C" { + pub fn SetUserFileEncryptionKey(pEncryptionCertificate: PENCRYPTION_CERTIFICATE) -> DWORD; +} +extern "C" { + pub fn SetUserFileEncryptionKeyEx( + pEncryptionCertificate: PENCRYPTION_CERTIFICATE, + dwCapabilities: DWORD, + dwFlags: DWORD, + pvReserved: LPVOID, + ) -> DWORD; +} +extern "C" { + pub fn FreeEncryptionCertificateHashList(pUsers: PENCRYPTION_CERTIFICATE_HASH_LIST); +} +extern "C" { + pub fn EncryptionDisable(DirPath: LPCWSTR, Disable: BOOL) -> BOOL; +} +extern "C" { + pub fn DuplicateEncryptionInfoFile( + SrcFileName: LPCWSTR, + DstFileName: LPCWSTR, + dwCreationDistribution: DWORD, + dwAttributes: DWORD, + lpSecurityAttributes: LPSECURITY_ATTRIBUTES, + ) -> DWORD; +} +extern "C" { + pub fn GetEncryptedFileMetadata( + lpFileName: LPCWSTR, + pcbMetadata: PDWORD, + ppbMetadata: *mut PBYTE, + ) -> DWORD; +} +extern "C" { + pub fn SetEncryptedFileMetadata( + lpFileName: LPCWSTR, + pbOldMetadata: PBYTE, + pbNewMetadata: PBYTE, + pOwnerHash: PENCRYPTION_CERTIFICATE_HASH, + dwOperation: DWORD, + pCertificatesAdded: PENCRYPTION_CERTIFICATE_HASH_LIST, + ) -> DWORD; +} +extern "C" { + pub fn FreeEncryptedFileMetadata(pbMetadata: PBYTE); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RPC_IMPORT_CONTEXT_P { + pub LookupContext: RPC_NS_HANDLE, + pub ProposedHandle: RPC_BINDING_HANDLE, + pub Bindings: *mut RPC_BINDING_VECTOR, +} +#[test] +fn bindgen_test_layout_RPC_IMPORT_CONTEXT_P() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(RPC_IMPORT_CONTEXT_P)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RPC_IMPORT_CONTEXT_P)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LookupContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RPC_IMPORT_CONTEXT_P), + "::", + stringify!(LookupContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProposedHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RPC_IMPORT_CONTEXT_P), + "::", + stringify!(ProposedHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bindings) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RPC_IMPORT_CONTEXT_P), + "::", + stringify!(Bindings) + ) + ); +} +pub type PRPC_IMPORT_CONTEXT_P = *mut RPC_IMPORT_CONTEXT_P; +extern "C" { + pub fn I_RpcNsGetBuffer(Message: PRPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsSendReceive(Message: PRPC_MESSAGE, Handle: *mut RPC_BINDING_HANDLE) + -> RPC_STATUS; +} +extern "C" { + pub fn I_RpcNsRaiseException(Message: PRPC_MESSAGE, Status: RPC_STATUS); +} +extern "C" { + pub fn I_RpcReBindBuffer(Message: PRPC_MESSAGE) -> RPC_STATUS; +} +extern "C" { + pub fn I_NsServerBindSearch() -> RPC_STATUS; +} +extern "C" { + pub fn I_NsClientBindSearch() -> RPC_STATUS; +} +extern "C" { + pub fn I_NsClientBindDone(); +} +pub type byte = ::std::os::raw::c_uchar; +pub type cs_byte = byte; +pub type boolean = ::std::os::raw::c_uchar; +extern "C" { + pub fn MIDL_user_allocate(size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn MIDL_user_free(arg1: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn I_RpcDefaultAllocate( + bh: handle_t, + size: usize, + RealAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn I_RpcDefaultFree( + bh: handle_t, + arg1: *mut ::std::os::raw::c_void, + RealFree: ::std::option::Option, + ); +} +pub type NDR_CCONTEXT = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _bindgen_ty_2 { + pub pad: [*mut ::std::os::raw::c_void; 2usize], + pub userContext: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_bindgen_ty_2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_bindgen_ty_2>(), + 24usize, + concat!("Size of: ", stringify!(_bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_bindgen_ty_2>(), + 8usize, + concat!("Alignment of ", stringify!(_bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_2), + "::", + stringify!(pad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).userContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_bindgen_ty_2), + "::", + stringify!(userContext) + ) + ); +} +pub type NDR_SCONTEXT = *mut _bindgen_ty_2; +pub type NDR_RUNDOWN = + ::std::option::Option; +pub type NDR_NOTIFY_ROUTINE = ::std::option::Option; +pub type NDR_NOTIFY2_ROUTINE = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCONTEXT_QUEUE { + pub NumberOfObjects: ::std::os::raw::c_ulong, + pub ArrayOfObjects: *mut NDR_SCONTEXT, +} +#[test] +fn bindgen_test_layout__SCONTEXT_QUEUE() { + const UNINIT: ::std::mem::MaybeUninit<_SCONTEXT_QUEUE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCONTEXT_QUEUE>(), + 16usize, + concat!("Size of: ", stringify!(_SCONTEXT_QUEUE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCONTEXT_QUEUE>(), + 8usize, + concat!("Alignment of ", stringify!(_SCONTEXT_QUEUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfObjects) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCONTEXT_QUEUE), + "::", + stringify!(NumberOfObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArrayOfObjects) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCONTEXT_QUEUE), + "::", + stringify!(ArrayOfObjects) + ) + ); +} +pub type SCONTEXT_QUEUE = _SCONTEXT_QUEUE; +pub type PSCONTEXT_QUEUE = *mut _SCONTEXT_QUEUE; +extern "C" { + pub fn NDRCContextBinding(CContext: NDR_CCONTEXT) -> RPC_BINDING_HANDLE; +} +extern "C" { + pub fn NDRCContextMarshall(CContext: NDR_CCONTEXT, pBuff: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn NDRCContextUnmarshall( + pCContext: *mut NDR_CCONTEXT, + hBinding: RPC_BINDING_HANDLE, + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NDRCContextUnmarshall2( + pCContext: *mut NDR_CCONTEXT, + hBinding: RPC_BINDING_HANDLE, + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NDRSContextMarshall( + CContext: NDR_SCONTEXT, + pBuff: *mut ::std::os::raw::c_void, + userRunDownIn: NDR_RUNDOWN, + ); +} +extern "C" { + pub fn NDRSContextUnmarshall( + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NDRSContextMarshallEx( + BindingHandle: RPC_BINDING_HANDLE, + CContext: NDR_SCONTEXT, + pBuff: *mut ::std::os::raw::c_void, + userRunDownIn: NDR_RUNDOWN, + ); +} +extern "C" { + pub fn NDRSContextMarshall2( + BindingHandle: RPC_BINDING_HANDLE, + CContext: NDR_SCONTEXT, + pBuff: *mut ::std::os::raw::c_void, + userRunDownIn: NDR_RUNDOWN, + CtxGuard: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NDRSContextUnmarshallEx( + BindingHandle: RPC_BINDING_HANDLE, + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NDRSContextUnmarshall2( + BindingHandle: RPC_BINDING_HANDLE, + pBuff: *mut ::std::os::raw::c_void, + DataRepresentation: ::std::os::raw::c_ulong, + CtxGuard: *mut ::std::os::raw::c_void, + Flags: ::std::os::raw::c_ulong, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn RpcSsDestroyClientContext(ContextHandle: *mut *mut ::std::os::raw::c_void); +} +pub type error_status_t = ::std::os::raw::c_ulong; +pub type RPC_BUFPTR = *mut ::std::os::raw::c_uchar; +pub type RPC_LENGTH = ::std::os::raw::c_ulong; +pub type EXPR_EVAL = ::std::option::Option; +pub type PFORMAT_STRING = *const ::std::os::raw::c_uchar; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ARRAY_INFO { + pub Dimension: ::std::os::raw::c_long, + pub BufferConformanceMark: *mut ::std::os::raw::c_ulong, + pub BufferVarianceMark: *mut ::std::os::raw::c_ulong, + pub MaxCountArray: *mut ::std::os::raw::c_ulong, + pub OffsetArray: *mut ::std::os::raw::c_ulong, + pub ActualCountArray: *mut ::std::os::raw::c_ulong, +} +#[test] +fn bindgen_test_layout_ARRAY_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(ARRAY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ARRAY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dimension) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(Dimension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferConformanceMark) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(BufferConformanceMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferVarianceMark) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(BufferVarianceMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCountArray) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(MaxCountArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetArray) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(OffsetArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActualCountArray) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ARRAY_INFO), + "::", + stringify!(ActualCountArray) + ) + ); +} +pub type PARRAY_INFO = *mut ARRAY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_ASYNC_MESSAGE { + _unused: [u8; 0], +} +pub type PNDR_ASYNC_MESSAGE = *mut _NDR_ASYNC_MESSAGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_CORRELATION_INFO { + _unused: [u8; 0], +} +pub type PNDR_CORRELATION_INFO = *mut _NDR_CORRELATION_INFO; +pub type MIDL_SYNTAX_INFO = _MIDL_SYNTAX_INFO; +pub type PMIDL_SYNTAX_INFO = *mut _MIDL_SYNTAX_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NDR_ALLOC_ALL_NODES_CONTEXT { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NDR_POINTER_QUEUE_STATE { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_PROC_CONTEXT { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_STUB_MESSAGE { + pub RpcMsg: PRPC_MESSAGE, + pub Buffer: *mut ::std::os::raw::c_uchar, + pub BufferStart: *mut ::std::os::raw::c_uchar, + pub BufferEnd: *mut ::std::os::raw::c_uchar, + pub BufferMark: *mut ::std::os::raw::c_uchar, + pub BufferLength: ::std::os::raw::c_ulong, + pub MemorySize: ::std::os::raw::c_ulong, + pub Memory: *mut ::std::os::raw::c_uchar, + pub IsClient: ::std::os::raw::c_uchar, + pub Pad: ::std::os::raw::c_uchar, + pub uFlags2: ::std::os::raw::c_ushort, + pub ReuseBuffer: ::std::os::raw::c_int, + pub pAllocAllNodesContext: *mut NDR_ALLOC_ALL_NODES_CONTEXT, + pub pPointerQueueState: *mut NDR_POINTER_QUEUE_STATE, + pub IgnoreEmbeddedPointers: ::std::os::raw::c_int, + pub PointerBufferMark: *mut ::std::os::raw::c_uchar, + pub CorrDespIncrement: ::std::os::raw::c_uchar, + pub uFlags: ::std::os::raw::c_uchar, + pub UniquePtrCount: ::std::os::raw::c_ushort, + pub MaxCount: ULONG_PTR, + pub Offset: ::std::os::raw::c_ulong, + pub ActualCount: ::std::os::raw::c_ulong, + pub pfnAllocate: + ::std::option::Option *mut ::std::os::raw::c_void>, + pub pfnFree: ::std::option::Option, + pub StackTop: *mut ::std::os::raw::c_uchar, + pub pPresentedType: *mut ::std::os::raw::c_uchar, + pub pTransmitType: *mut ::std::os::raw::c_uchar, + pub SavedHandle: handle_t, + pub StubDesc: *const _MIDL_STUB_DESC, + pub FullPtrXlatTables: *mut _FULL_PTR_XLAT_TABLES, + pub FullPtrRefId: ::std::os::raw::c_ulong, + pub PointerLength: ::std::os::raw::c_ulong, + pub _bitfield_align_1: [u16; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub dwDestContext: ::std::os::raw::c_ulong, + pub pvDestContext: *mut ::std::os::raw::c_void, + pub SavedContextHandles: *mut NDR_SCONTEXT, + pub ParamNumber: ::std::os::raw::c_long, + pub pRpcChannelBuffer: *mut IRpcChannelBuffer, + pub pArrayInfo: PARRAY_INFO, + pub SizePtrCountArray: *mut ::std::os::raw::c_ulong, + pub SizePtrOffsetArray: *mut ::std::os::raw::c_ulong, + pub SizePtrLengthArray: *mut ::std::os::raw::c_ulong, + pub pArgQueue: *mut ::std::os::raw::c_void, + pub dwStubPhase: ::std::os::raw::c_ulong, + pub LowStackMark: *mut ::std::os::raw::c_void, + pub pAsyncMsg: PNDR_ASYNC_MESSAGE, + pub pCorrInfo: PNDR_CORRELATION_INFO, + pub pCorrMemory: *mut ::std::os::raw::c_uchar, + pub pMemoryList: *mut ::std::os::raw::c_void, + pub pCSInfo: INT_PTR, + pub ConformanceMark: *mut ::std::os::raw::c_uchar, + pub VarianceMark: *mut ::std::os::raw::c_uchar, + pub Unused: INT_PTR, + pub pContext: *mut _NDR_PROC_CONTEXT, + pub ContextHandleHash: *mut ::std::os::raw::c_void, + pub pUserMarshalList: *mut ::std::os::raw::c_void, + pub Reserved51_3: INT_PTR, + pub Reserved51_4: INT_PTR, + pub Reserved51_5: INT_PTR, +} +#[test] +fn bindgen_test_layout__MIDL_STUB_MESSAGE() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_STUB_MESSAGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_STUB_MESSAGE>(), + 400usize, + concat!("Size of: ", stringify!(_MIDL_STUB_MESSAGE)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_STUB_MESSAGE>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_STUB_MESSAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcMsg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(RpcMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferStart) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(BufferStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferEnd) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(BufferEnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferMark) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(BufferMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(BufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MemorySize) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(MemorySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Memory) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Memory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsClient) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(IsClient) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pad) as usize - ptr as usize }, + 57usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Pad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uFlags2) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(uFlags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReuseBuffer) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ReuseBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAllocAllNodesContext) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pAllocAllNodesContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPointerQueueState) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pPointerQueueState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IgnoreEmbeddedPointers) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(IgnoreEmbeddedPointers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerBufferMark) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(PointerBufferMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CorrDespIncrement) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(CorrDespIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uFlags) as usize - ptr as usize }, + 97usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(uFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UniquePtrCount) as usize - ptr as usize }, + 98usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(UniquePtrCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCount) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(MaxCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActualCount) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ActualCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAllocate) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pfnAllocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackTop) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(StackTop) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPresentedType) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pPresentedType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTransmitType) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pTransmitType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SavedHandle) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SavedHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StubDesc) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(StubDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FullPtrXlatTables) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(FullPtrXlatTables) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FullPtrRefId) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(FullPtrRefId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerLength) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(PointerLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDestContext) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(dwDestContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvDestContext) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pvDestContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SavedContextHandles) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SavedContextHandles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParamNumber) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ParamNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRpcChannelBuffer) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pRpcChannelBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pArrayInfo) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pArrayInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizePtrCountArray) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SizePtrCountArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizePtrOffsetArray) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SizePtrOffsetArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizePtrLengthArray) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(SizePtrLengthArray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pArgQueue) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pArgQueue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStubPhase) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(dwStubPhase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowStackMark) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(LowStackMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAsyncMsg) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pAsyncMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCorrInfo) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pCorrInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCorrMemory) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pCorrMemory) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMemoryList) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pMemoryList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pCSInfo) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pCSInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ConformanceMark) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ConformanceMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VarianceMark) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(VarianceMark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Unused) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pContext) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextHandleHash) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(ContextHandleHash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserMarshalList) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(pUserMarshalList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved51_3) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Reserved51_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved51_4) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Reserved51_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved51_5) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_MESSAGE), + "::", + stringify!(Reserved51_5) + ) + ); +} +impl _MIDL_STUB_MESSAGE { + #[inline] + pub fn fInDontFree(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_fInDontFree(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn fDontCallFreeInst(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_fDontCallFreeInst(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn fUnused1(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) } + } + #[inline] + pub fn set_fUnused1(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 1u8, val as u64) + } + } + #[inline] + pub fn fHasReturn(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) } + } + #[inline] + pub fn set_fHasReturn(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(3usize, 1u8, val as u64) + } + } + #[inline] + pub fn fHasExtensions(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) } + } + #[inline] + pub fn set_fHasExtensions(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(4usize, 1u8, val as u64) + } + } + #[inline] + pub fn fHasNewCorrDesc(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) } + } + #[inline] + pub fn set_fHasNewCorrDesc(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn fIsIn(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) } + } + #[inline] + pub fn set_fIsIn(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 1u8, val as u64) + } + } + #[inline] + pub fn fIsOut(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) } + } + #[inline] + pub fn set_fIsOut(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(7usize, 1u8, val as u64) + } + } + #[inline] + pub fn fIsOicf(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) } + } + #[inline] + pub fn set_fIsOicf(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 1u8, val as u64) + } + } + #[inline] + pub fn fBufferValid(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) } + } + #[inline] + pub fn set_fBufferValid(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(9usize, 1u8, val as u64) + } + } + #[inline] + pub fn fHasMemoryValidateCallback(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) } + } + #[inline] + pub fn set_fHasMemoryValidateCallback(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(10usize, 1u8, val as u64) + } + } + #[inline] + pub fn fInFree(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) } + } + #[inline] + pub fn set_fInFree(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(11usize, 1u8, val as u64) + } + } + #[inline] + pub fn fNeedMCCP(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) } + } + #[inline] + pub fn set_fNeedMCCP(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 1u8, val as u64) + } + } + #[inline] + pub fn fUnused2(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 3u8) as u32) } + } + #[inline] + pub fn set_fUnused2(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(13usize, 3u8, val as u64) + } + } + #[inline] + pub fn fUnused3(&self) -> ::std::os::raw::c_int { + unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) } + } + #[inline] + pub fn set_fUnused3(&mut self, val: ::std::os::raw::c_int) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(16usize, 16u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + fInDontFree: ::std::os::raw::c_int, + fDontCallFreeInst: ::std::os::raw::c_int, + fUnused1: ::std::os::raw::c_int, + fHasReturn: ::std::os::raw::c_int, + fHasExtensions: ::std::os::raw::c_int, + fHasNewCorrDesc: ::std::os::raw::c_int, + fIsIn: ::std::os::raw::c_int, + fIsOut: ::std::os::raw::c_int, + fIsOicf: ::std::os::raw::c_int, + fBufferValid: ::std::os::raw::c_int, + fHasMemoryValidateCallback: ::std::os::raw::c_int, + fInFree: ::std::os::raw::c_int, + fNeedMCCP: ::std::os::raw::c_int, + fUnused2: ::std::os::raw::c_int, + fUnused3: ::std::os::raw::c_int, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let fInDontFree: u32 = unsafe { ::std::mem::transmute(fInDontFree) }; + fInDontFree as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let fDontCallFreeInst: u32 = unsafe { ::std::mem::transmute(fDontCallFreeInst) }; + fDontCallFreeInst as u64 + }); + __bindgen_bitfield_unit.set(2usize, 1u8, { + let fUnused1: u32 = unsafe { ::std::mem::transmute(fUnused1) }; + fUnused1 as u64 + }); + __bindgen_bitfield_unit.set(3usize, 1u8, { + let fHasReturn: u32 = unsafe { ::std::mem::transmute(fHasReturn) }; + fHasReturn as u64 + }); + __bindgen_bitfield_unit.set(4usize, 1u8, { + let fHasExtensions: u32 = unsafe { ::std::mem::transmute(fHasExtensions) }; + fHasExtensions as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let fHasNewCorrDesc: u32 = unsafe { ::std::mem::transmute(fHasNewCorrDesc) }; + fHasNewCorrDesc as u64 + }); + __bindgen_bitfield_unit.set(6usize, 1u8, { + let fIsIn: u32 = unsafe { ::std::mem::transmute(fIsIn) }; + fIsIn as u64 + }); + __bindgen_bitfield_unit.set(7usize, 1u8, { + let fIsOut: u32 = unsafe { ::std::mem::transmute(fIsOut) }; + fIsOut as u64 + }); + __bindgen_bitfield_unit.set(8usize, 1u8, { + let fIsOicf: u32 = unsafe { ::std::mem::transmute(fIsOicf) }; + fIsOicf as u64 + }); + __bindgen_bitfield_unit.set(9usize, 1u8, { + let fBufferValid: u32 = unsafe { ::std::mem::transmute(fBufferValid) }; + fBufferValid as u64 + }); + __bindgen_bitfield_unit.set(10usize, 1u8, { + let fHasMemoryValidateCallback: u32 = + unsafe { ::std::mem::transmute(fHasMemoryValidateCallback) }; + fHasMemoryValidateCallback as u64 + }); + __bindgen_bitfield_unit.set(11usize, 1u8, { + let fInFree: u32 = unsafe { ::std::mem::transmute(fInFree) }; + fInFree as u64 + }); + __bindgen_bitfield_unit.set(12usize, 1u8, { + let fNeedMCCP: u32 = unsafe { ::std::mem::transmute(fNeedMCCP) }; + fNeedMCCP as u64 + }); + __bindgen_bitfield_unit.set(13usize, 3u8, { + let fUnused2: u32 = unsafe { ::std::mem::transmute(fUnused2) }; + fUnused2 as u64 + }); + __bindgen_bitfield_unit.set(16usize, 16u8, { + let fUnused3: u32 = unsafe { ::std::mem::transmute(fUnused3) }; + fUnused3 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type MIDL_STUB_MESSAGE = _MIDL_STUB_MESSAGE; +pub type PMIDL_STUB_MESSAGE = *mut _MIDL_STUB_MESSAGE; +pub type GENERIC_BINDING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void, +>; +pub type GENERIC_UNBIND_ROUTINE = ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_uchar), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GENERIC_BINDING_ROUTINE_PAIR { + pub pfnBind: GENERIC_BINDING_ROUTINE, + pub pfnUnbind: GENERIC_UNBIND_ROUTINE, +} +#[test] +fn bindgen_test_layout__GENERIC_BINDING_ROUTINE_PAIR() { + const UNINIT: ::std::mem::MaybeUninit<_GENERIC_BINDING_ROUTINE_PAIR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GENERIC_BINDING_ROUTINE_PAIR>(), + 16usize, + concat!("Size of: ", stringify!(_GENERIC_BINDING_ROUTINE_PAIR)) + ); + assert_eq!( + ::std::mem::align_of::<_GENERIC_BINDING_ROUTINE_PAIR>(), + 8usize, + concat!("Alignment of ", stringify!(_GENERIC_BINDING_ROUTINE_PAIR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnBind) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_BINDING_ROUTINE_PAIR), + "::", + stringify!(pfnBind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnUnbind) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GENERIC_BINDING_ROUTINE_PAIR), + "::", + stringify!(pfnUnbind) + ) + ); +} +pub type GENERIC_BINDING_ROUTINE_PAIR = _GENERIC_BINDING_ROUTINE_PAIR; +pub type PGENERIC_BINDING_ROUTINE_PAIR = *mut _GENERIC_BINDING_ROUTINE_PAIR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __GENERIC_BINDING_INFO { + pub pObj: *mut ::std::os::raw::c_void, + pub Size: ::std::os::raw::c_uint, + pub pfnBind: GENERIC_BINDING_ROUTINE, + pub pfnUnbind: GENERIC_UNBIND_ROUTINE, +} +#[test] +fn bindgen_test_layout___GENERIC_BINDING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<__GENERIC_BINDING_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__GENERIC_BINDING_INFO>(), + 32usize, + concat!("Size of: ", stringify!(__GENERIC_BINDING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<__GENERIC_BINDING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(__GENERIC_BINDING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pObj) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__GENERIC_BINDING_INFO), + "::", + stringify!(pObj) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__GENERIC_BINDING_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnBind) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(__GENERIC_BINDING_INFO), + "::", + stringify!(pfnBind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnUnbind) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(__GENERIC_BINDING_INFO), + "::", + stringify!(pfnUnbind) + ) + ); +} +pub type GENERIC_BINDING_INFO = __GENERIC_BINDING_INFO; +pub type PGENERIC_BINDING_INFO = *mut __GENERIC_BINDING_INFO; +pub type XMIT_HELPER_ROUTINE = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _XMIT_ROUTINE_QUINTUPLE { + pub pfnTranslateToXmit: XMIT_HELPER_ROUTINE, + pub pfnTranslateFromXmit: XMIT_HELPER_ROUTINE, + pub pfnFreeXmit: XMIT_HELPER_ROUTINE, + pub pfnFreeInst: XMIT_HELPER_ROUTINE, +} +#[test] +fn bindgen_test_layout__XMIT_ROUTINE_QUINTUPLE() { + const UNINIT: ::std::mem::MaybeUninit<_XMIT_ROUTINE_QUINTUPLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_XMIT_ROUTINE_QUINTUPLE>(), + 32usize, + concat!("Size of: ", stringify!(_XMIT_ROUTINE_QUINTUPLE)) + ); + assert_eq!( + ::std::mem::align_of::<_XMIT_ROUTINE_QUINTUPLE>(), + 8usize, + concat!("Alignment of ", stringify!(_XMIT_ROUTINE_QUINTUPLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnTranslateToXmit) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_XMIT_ROUTINE_QUINTUPLE), + "::", + stringify!(pfnTranslateToXmit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnTranslateFromXmit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_XMIT_ROUTINE_QUINTUPLE), + "::", + stringify!(pfnTranslateFromXmit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFreeXmit) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_XMIT_ROUTINE_QUINTUPLE), + "::", + stringify!(pfnFreeXmit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFreeInst) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_XMIT_ROUTINE_QUINTUPLE), + "::", + stringify!(pfnFreeInst) + ) + ); +} +pub type XMIT_ROUTINE_QUINTUPLE = _XMIT_ROUTINE_QUINTUPLE; +pub type PXMIT_ROUTINE_QUINTUPLE = *mut _XMIT_ROUTINE_QUINTUPLE; +pub type USER_MARSHAL_SIZING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_ulong, +>; +pub type USER_MARSHAL_MARSHALLING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_uchar, +>; +pub type USER_MARSHAL_UNMARSHALLING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_uchar, +>; +pub type USER_MARSHAL_FREEING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ::std::os::raw::c_void), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _USER_MARSHAL_ROUTINE_QUADRUPLE { + pub pfnBufferSize: USER_MARSHAL_SIZING_ROUTINE, + pub pfnMarshall: USER_MARSHAL_MARSHALLING_ROUTINE, + pub pfnUnmarshall: USER_MARSHAL_UNMARSHALLING_ROUTINE, + pub pfnFree: USER_MARSHAL_FREEING_ROUTINE, +} +#[test] +fn bindgen_test_layout__USER_MARSHAL_ROUTINE_QUADRUPLE() { + const UNINIT: ::std::mem::MaybeUninit<_USER_MARSHAL_ROUTINE_QUADRUPLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_USER_MARSHAL_ROUTINE_QUADRUPLE>(), + 32usize, + concat!("Size of: ", stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE)) + ); + assert_eq!( + ::std::mem::align_of::<_USER_MARSHAL_ROUTINE_QUADRUPLE>(), + 8usize, + concat!("Alignment of ", stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnBufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), + "::", + stringify!(pfnBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnMarshall) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), + "::", + stringify!(pfnMarshall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnUnmarshall) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), + "::", + stringify!(pfnUnmarshall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_ROUTINE_QUADRUPLE), + "::", + stringify!(pfnFree) + ) + ); +} +pub type USER_MARSHAL_ROUTINE_QUADRUPLE = _USER_MARSHAL_ROUTINE_QUADRUPLE; +pub const _USER_MARSHAL_CB_TYPE_USER_MARSHAL_CB_BUFFER_SIZE: _USER_MARSHAL_CB_TYPE = 0; +pub const _USER_MARSHAL_CB_TYPE_USER_MARSHAL_CB_MARSHALL: _USER_MARSHAL_CB_TYPE = 1; +pub const _USER_MARSHAL_CB_TYPE_USER_MARSHAL_CB_UNMARSHALL: _USER_MARSHAL_CB_TYPE = 2; +pub const _USER_MARSHAL_CB_TYPE_USER_MARSHAL_CB_FREE: _USER_MARSHAL_CB_TYPE = 3; +pub type _USER_MARSHAL_CB_TYPE = ::std::os::raw::c_int; +pub use self::_USER_MARSHAL_CB_TYPE as USER_MARSHAL_CB_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _USER_MARSHAL_CB { + pub Flags: ::std::os::raw::c_ulong, + pub pStubMsg: PMIDL_STUB_MESSAGE, + pub pReserve: PFORMAT_STRING, + pub Signature: ::std::os::raw::c_ulong, + pub CBType: USER_MARSHAL_CB_TYPE, + pub pFormat: PFORMAT_STRING, + pub pTypeFormat: PFORMAT_STRING, +} +#[test] +fn bindgen_test_layout__USER_MARSHAL_CB() { + const UNINIT: ::std::mem::MaybeUninit<_USER_MARSHAL_CB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_USER_MARSHAL_CB>(), + 48usize, + concat!("Size of: ", stringify!(_USER_MARSHAL_CB)) + ); + assert_eq!( + ::std::mem::align_of::<_USER_MARSHAL_CB>(), + 8usize, + concat!("Alignment of ", stringify!(_USER_MARSHAL_CB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStubMsg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(pStubMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pReserve) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(pReserve) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CBType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(CBType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFormat) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(pFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTypeFormat) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_USER_MARSHAL_CB), + "::", + stringify!(pTypeFormat) + ) + ); +} +pub type USER_MARSHAL_CB = _USER_MARSHAL_CB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MALLOC_FREE_STRUCT { + pub pfnAllocate: + ::std::option::Option *mut ::std::os::raw::c_void>, + pub pfnFree: ::std::option::Option, +} +#[test] +fn bindgen_test_layout__MALLOC_FREE_STRUCT() { + const UNINIT: ::std::mem::MaybeUninit<_MALLOC_FREE_STRUCT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MALLOC_FREE_STRUCT>(), + 16usize, + concat!("Size of: ", stringify!(_MALLOC_FREE_STRUCT)) + ); + assert_eq!( + ::std::mem::align_of::<_MALLOC_FREE_STRUCT>(), + 8usize, + concat!("Alignment of ", stringify!(_MALLOC_FREE_STRUCT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAllocate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MALLOC_FREE_STRUCT), + "::", + stringify!(pfnAllocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MALLOC_FREE_STRUCT), + "::", + stringify!(pfnFree) + ) + ); +} +pub type MALLOC_FREE_STRUCT = _MALLOC_FREE_STRUCT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COMM_FAULT_OFFSETS { + pub CommOffset: ::std::os::raw::c_short, + pub FaultOffset: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout__COMM_FAULT_OFFSETS() { + const UNINIT: ::std::mem::MaybeUninit<_COMM_FAULT_OFFSETS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COMM_FAULT_OFFSETS>(), + 4usize, + concat!("Size of: ", stringify!(_COMM_FAULT_OFFSETS)) + ); + assert_eq!( + ::std::mem::align_of::<_COMM_FAULT_OFFSETS>(), + 2usize, + concat!("Alignment of ", stringify!(_COMM_FAULT_OFFSETS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COMM_FAULT_OFFSETS), + "::", + stringify!(CommOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FaultOffset) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_COMM_FAULT_OFFSETS), + "::", + stringify!(FaultOffset) + ) + ); +} +pub type COMM_FAULT_OFFSETS = _COMM_FAULT_OFFSETS; +pub const _IDL_CS_CONVERT_IDL_CS_NO_CONVERT: _IDL_CS_CONVERT = 0; +pub const _IDL_CS_CONVERT_IDL_CS_IN_PLACE_CONVERT: _IDL_CS_CONVERT = 1; +pub const _IDL_CS_CONVERT_IDL_CS_NEW_BUFFER_CONVERT: _IDL_CS_CONVERT = 2; +pub type _IDL_CS_CONVERT = ::std::os::raw::c_int; +pub use self::_IDL_CS_CONVERT as IDL_CS_CONVERT; +pub type CS_TYPE_NET_SIZE_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + ulNetworkCodeSet: ::std::os::raw::c_ulong, + ulLocalBufferSize: ::std::os::raw::c_ulong, + conversionType: *mut IDL_CS_CONVERT, + pulNetworkBufferSize: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +pub type CS_TYPE_LOCAL_SIZE_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + ulNetworkCodeSet: ::std::os::raw::c_ulong, + ulNetworkBufferSize: ::std::os::raw::c_ulong, + conversionType: *mut IDL_CS_CONVERT, + pulLocalBufferSize: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +pub type CS_TYPE_TO_NETCS_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + ulNetworkCodeSet: ::std::os::raw::c_ulong, + pLocalData: *mut ::std::os::raw::c_void, + ulLocalDataLength: ::std::os::raw::c_ulong, + pNetworkData: *mut byte, + pulNetworkDataLength: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +pub type CS_TYPE_FROM_NETCS_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + ulNetworkCodeSet: ::std::os::raw::c_ulong, + pNetworkData: *mut byte, + ulNetworkDataLength: ::std::os::raw::c_ulong, + ulLocalBufferSize: ::std::os::raw::c_ulong, + pLocalData: *mut ::std::os::raw::c_void, + pulLocalDataLength: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +pub type CS_TAG_GETTING_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + hBinding: RPC_BINDING_HANDLE, + fServerSide: ::std::os::raw::c_int, + pulSendingTag: *mut ::std::os::raw::c_ulong, + pulDesiredReceivingTag: *mut ::std::os::raw::c_ulong, + pulReceivingTag: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ), +>; +extern "C" { + pub fn RpcCsGetTags( + hBinding: RPC_BINDING_HANDLE, + fServerSide: ::std::os::raw::c_int, + pulSendingTag: *mut ::std::os::raw::c_ulong, + pulDesiredReceivingTag: *mut ::std::os::raw::c_ulong, + pulReceivingTag: *mut ::std::os::raw::c_ulong, + pStatus: *mut error_status_t, + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_CS_SIZE_CONVERT_ROUTINES { + pub pfnNetSize: CS_TYPE_NET_SIZE_ROUTINE, + pub pfnToNetCs: CS_TYPE_TO_NETCS_ROUTINE, + pub pfnLocalSize: CS_TYPE_LOCAL_SIZE_ROUTINE, + pub pfnFromNetCs: CS_TYPE_FROM_NETCS_ROUTINE, +} +#[test] +fn bindgen_test_layout__NDR_CS_SIZE_CONVERT_ROUTINES() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_CS_SIZE_CONVERT_ROUTINES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_CS_SIZE_CONVERT_ROUTINES>(), + 32usize, + concat!("Size of: ", stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_CS_SIZE_CONVERT_ROUTINES>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnNetSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), + "::", + stringify!(pfnNetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnToNetCs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), + "::", + stringify!(pfnToNetCs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnLocalSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), + "::", + stringify!(pfnLocalSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFromNetCs) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_SIZE_CONVERT_ROUTINES), + "::", + stringify!(pfnFromNetCs) + ) + ); +} +pub type NDR_CS_SIZE_CONVERT_ROUTINES = _NDR_CS_SIZE_CONVERT_ROUTINES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_CS_ROUTINES { + pub pSizeConvertRoutines: *mut NDR_CS_SIZE_CONVERT_ROUTINES, + pub pTagGettingRoutines: *mut CS_TAG_GETTING_ROUTINE, +} +#[test] +fn bindgen_test_layout__NDR_CS_ROUTINES() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_CS_ROUTINES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_CS_ROUTINES>(), + 16usize, + concat!("Size of: ", stringify!(_NDR_CS_ROUTINES)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_CS_ROUTINES>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_CS_ROUTINES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSizeConvertRoutines) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_ROUTINES), + "::", + stringify!(pSizeConvertRoutines) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTagGettingRoutines) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NDR_CS_ROUTINES), + "::", + stringify!(pTagGettingRoutines) + ) + ); +} +pub type NDR_CS_ROUTINES = _NDR_CS_ROUTINES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_EXPR_DESC { + pub pOffset: *const ::std::os::raw::c_ushort, + pub pFormatExpr: PFORMAT_STRING, +} +#[test] +fn bindgen_test_layout__NDR_EXPR_DESC() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_EXPR_DESC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_EXPR_DESC>(), + 16usize, + concat!("Size of: ", stringify!(_NDR_EXPR_DESC)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_EXPR_DESC>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_EXPR_DESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_EXPR_DESC), + "::", + stringify!(pOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFormatExpr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NDR_EXPR_DESC), + "::", + stringify!(pFormatExpr) + ) + ); +} +pub type NDR_EXPR_DESC = _NDR_EXPR_DESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _MIDL_STUB_DESC { + pub RpcInterfaceInformation: *mut ::std::os::raw::c_void, + pub pfnAllocate: + ::std::option::Option *mut ::std::os::raw::c_void>, + pub pfnFree: ::std::option::Option, + pub IMPLICIT_HANDLE_INFO: _MIDL_STUB_DESC__bindgen_ty_1, + pub apfnNdrRundownRoutines: *const NDR_RUNDOWN, + pub aGenericBindingRoutinePairs: *const GENERIC_BINDING_ROUTINE_PAIR, + pub apfnExprEval: *const EXPR_EVAL, + pub aXmitQuintuple: *const XMIT_ROUTINE_QUINTUPLE, + pub pFormatTypes: *const ::std::os::raw::c_uchar, + pub fCheckBounds: ::std::os::raw::c_int, + pub Version: ::std::os::raw::c_ulong, + pub pMallocFreeStruct: *mut MALLOC_FREE_STRUCT, + pub MIDLVersion: ::std::os::raw::c_long, + pub CommFaultOffsets: *const COMM_FAULT_OFFSETS, + pub aUserMarshalQuadruple: *const USER_MARSHAL_ROUTINE_QUADRUPLE, + pub NotifyRoutineTable: *const NDR_NOTIFY_ROUTINE, + pub mFlags: ULONG_PTR, + pub CsRoutineTables: *const NDR_CS_ROUTINES, + pub ProxyServerInfo: *mut ::std::os::raw::c_void, + pub pExprInfo: *const NDR_EXPR_DESC, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _MIDL_STUB_DESC__bindgen_ty_1 { + pub pAutoHandle: *mut handle_t, + pub pPrimitiveHandle: *mut handle_t, + pub pGenericBindingInfo: PGENERIC_BINDING_INFO, +} +#[test] +fn bindgen_test_layout__MIDL_STUB_DESC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_STUB_DESC__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_STUB_DESC__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_MIDL_STUB_DESC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_STUB_DESC__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_STUB_DESC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAutoHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC__bindgen_ty_1), + "::", + stringify!(pAutoHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrimitiveHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC__bindgen_ty_1), + "::", + stringify!(pPrimitiveHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pGenericBindingInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC__bindgen_ty_1), + "::", + stringify!(pGenericBindingInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__MIDL_STUB_DESC() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_STUB_DESC> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_STUB_DESC>(), + 152usize, + concat!("Size of: ", stringify!(_MIDL_STUB_DESC)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_STUB_DESC>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_STUB_DESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RpcInterfaceInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(RpcInterfaceInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAllocate) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pfnAllocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IMPLICIT_HANDLE_INFO) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(IMPLICIT_HANDLE_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apfnNdrRundownRoutines) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(apfnNdrRundownRoutines) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aGenericBindingRoutinePairs) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(aGenericBindingRoutinePairs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apfnExprEval) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(apfnExprEval) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aXmitQuintuple) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(aXmitQuintuple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFormatTypes) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pFormatTypes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCheckBounds) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(fCheckBounds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMallocFreeStruct) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pMallocFreeStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MIDLVersion) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(MIDLVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommFaultOffsets) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(CommFaultOffsets) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aUserMarshalQuadruple) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(aUserMarshalQuadruple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotifyRoutineTable) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(NotifyRoutineTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mFlags) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(mFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CsRoutineTables) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(CsRoutineTables) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProxyServerInfo) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(ProxyServerInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pExprInfo) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUB_DESC), + "::", + stringify!(pExprInfo) + ) + ); +} +pub type MIDL_STUB_DESC = _MIDL_STUB_DESC; +pub type PMIDL_STUB_DESC = *const MIDL_STUB_DESC; +pub type PMIDL_XMIT_TYPE = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Debug)] +pub struct _MIDL_FORMAT_STRING { + pub Pad: ::std::os::raw::c_short, + pub Format: __IncompleteArrayField<::std::os::raw::c_uchar>, +} +#[test] +fn bindgen_test_layout__MIDL_FORMAT_STRING() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_FORMAT_STRING> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_FORMAT_STRING>(), + 2usize, + concat!("Size of: ", stringify!(_MIDL_FORMAT_STRING)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_FORMAT_STRING>(), + 2usize, + concat!("Alignment of ", stringify!(_MIDL_FORMAT_STRING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pad) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_FORMAT_STRING), + "::", + stringify!(Pad) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Format) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_FORMAT_STRING), + "::", + stringify!(Format) + ) + ); +} +pub type MIDL_FORMAT_STRING = _MIDL_FORMAT_STRING; +pub type STUB_THUNK = ::std::option::Option; +pub type SERVER_ROUTINE = ::std::option::Option ::std::os::raw::c_long>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_METHOD_PROPERTY { + pub Id: ::std::os::raw::c_ulong, + pub Value: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__MIDL_METHOD_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_METHOD_PROPERTY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_METHOD_PROPERTY>(), + 16usize, + concat!("Size of: ", stringify!(_MIDL_METHOD_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_METHOD_PROPERTY>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_METHOD_PROPERTY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_METHOD_PROPERTY), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_METHOD_PROPERTY), + "::", + stringify!(Value) + ) + ); +} +pub type MIDL_METHOD_PROPERTY = _MIDL_METHOD_PROPERTY; +pub type PMIDL_METHOD_PROPERTY = *mut _MIDL_METHOD_PROPERTY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_METHOD_PROPERTY_MAP { + pub Count: ::std::os::raw::c_ulong, + pub Properties: *const MIDL_METHOD_PROPERTY, +} +#[test] +fn bindgen_test_layout__MIDL_METHOD_PROPERTY_MAP() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_METHOD_PROPERTY_MAP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_METHOD_PROPERTY_MAP>(), + 16usize, + concat!("Size of: ", stringify!(_MIDL_METHOD_PROPERTY_MAP)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_METHOD_PROPERTY_MAP>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_METHOD_PROPERTY_MAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_METHOD_PROPERTY_MAP), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Properties) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_METHOD_PROPERTY_MAP), + "::", + stringify!(Properties) + ) + ); +} +pub type MIDL_METHOD_PROPERTY_MAP = _MIDL_METHOD_PROPERTY_MAP; +pub type PMIDL_METHOD_PROPERTY_MAP = *mut _MIDL_METHOD_PROPERTY_MAP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_INTERFACE_METHOD_PROPERTIES { + pub MethodCount: ::std::os::raw::c_ushort, + pub MethodProperties: *const *const MIDL_METHOD_PROPERTY_MAP, +} +#[test] +fn bindgen_test_layout__MIDL_INTERFACE_METHOD_PROPERTIES() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_INTERFACE_METHOD_PROPERTIES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_INTERFACE_METHOD_PROPERTIES>(), + 16usize, + concat!("Size of: ", stringify!(_MIDL_INTERFACE_METHOD_PROPERTIES)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_INTERFACE_METHOD_PROPERTIES>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_MIDL_INTERFACE_METHOD_PROPERTIES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MethodCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERFACE_METHOD_PROPERTIES), + "::", + stringify!(MethodCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MethodProperties) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERFACE_METHOD_PROPERTIES), + "::", + stringify!(MethodProperties) + ) + ); +} +pub type MIDL_INTERFACE_METHOD_PROPERTIES = _MIDL_INTERFACE_METHOD_PROPERTIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_SERVER_INFO_ { + pub pStubDesc: PMIDL_STUB_DESC, + pub DispatchTable: *const SERVER_ROUTINE, + pub ProcString: PFORMAT_STRING, + pub FmtStringOffset: *const ::std::os::raw::c_ushort, + pub ThunkTable: *const STUB_THUNK, + pub pTransferSyntax: PRPC_SYNTAX_IDENTIFIER, + pub nCount: ULONG_PTR, + pub pSyntaxInfo: PMIDL_SYNTAX_INFO, +} +#[test] +fn bindgen_test_layout__MIDL_SERVER_INFO_() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_SERVER_INFO_> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_SERVER_INFO_>(), + 64usize, + concat!("Size of: ", stringify!(_MIDL_SERVER_INFO_)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_SERVER_INFO_>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_SERVER_INFO_)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStubDesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(pStubDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcString) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(ProcString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FmtStringOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(FmtStringOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThunkTable) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(ThunkTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTransferSyntax) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(pTransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCount) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(nCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSyntaxInfo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SERVER_INFO_), + "::", + stringify!(pSyntaxInfo) + ) + ); +} +pub type MIDL_SERVER_INFO = _MIDL_SERVER_INFO_; +pub type PMIDL_SERVER_INFO = *mut _MIDL_SERVER_INFO_; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_STUBLESS_PROXY_INFO { + pub pStubDesc: PMIDL_STUB_DESC, + pub ProcFormatString: PFORMAT_STRING, + pub FormatStringOffset: *const ::std::os::raw::c_ushort, + pub pTransferSyntax: PRPC_SYNTAX_IDENTIFIER, + pub nCount: ULONG_PTR, + pub pSyntaxInfo: PMIDL_SYNTAX_INFO, +} +#[test] +fn bindgen_test_layout__MIDL_STUBLESS_PROXY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_STUBLESS_PROXY_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_STUBLESS_PROXY_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_MIDL_STUBLESS_PROXY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_STUBLESS_PROXY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_STUBLESS_PROXY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStubDesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(pStubDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcFormatString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(ProcFormatString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatStringOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(FormatStringOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTransferSyntax) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(pTransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(nCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSyntaxInfo) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_STUBLESS_PROXY_INFO), + "::", + stringify!(pSyntaxInfo) + ) + ); +} +pub type MIDL_STUBLESS_PROXY_INFO = _MIDL_STUBLESS_PROXY_INFO; +pub type PMIDL_STUBLESS_PROXY_INFO = *mut MIDL_STUBLESS_PROXY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_SYNTAX_INFO { + pub TransferSyntax: RPC_SYNTAX_IDENTIFIER, + pub DispatchTable: *mut RPC_DISPATCH_TABLE, + pub ProcString: PFORMAT_STRING, + pub FmtStringOffset: *const ::std::os::raw::c_ushort, + pub TypeString: PFORMAT_STRING, + pub aUserMarshalQuadruple: *const ::std::os::raw::c_void, + pub pMethodProperties: *const MIDL_INTERFACE_METHOD_PROPERTIES, + pub pReserved2: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__MIDL_SYNTAX_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_SYNTAX_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_SYNTAX_INFO>(), + 80usize, + concat!("Size of: ", stringify!(_MIDL_SYNTAX_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_SYNTAX_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_SYNTAX_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferSyntax) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(TransferSyntax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchTable) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(DispatchTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(ProcString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FmtStringOffset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(FmtStringOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeString) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(TypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aUserMarshalQuadruple) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(aUserMarshalQuadruple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMethodProperties) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(pMethodProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pReserved2) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_SYNTAX_INFO), + "::", + stringify!(pReserved2) + ) + ); +} +pub type PARAM_OFFSETTABLE = *mut ::std::os::raw::c_ushort; +pub type PPARAM_OFFSETTABLE = *mut ::std::os::raw::c_ushort; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CLIENT_CALL_RETURN { + pub Pointer: *mut ::std::os::raw::c_void, + pub Simple: LONG_PTR, +} +#[test] +fn bindgen_test_layout__CLIENT_CALL_RETURN() { + const UNINIT: ::std::mem::MaybeUninit<_CLIENT_CALL_RETURN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLIENT_CALL_RETURN>(), + 8usize, + concat!("Size of: ", stringify!(_CLIENT_CALL_RETURN)) + ); + assert_eq!( + ::std::mem::align_of::<_CLIENT_CALL_RETURN>(), + 8usize, + concat!("Alignment of ", stringify!(_CLIENT_CALL_RETURN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pointer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLIENT_CALL_RETURN), + "::", + stringify!(Pointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Simple) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLIENT_CALL_RETURN), + "::", + stringify!(Simple) + ) + ); +} +pub type CLIENT_CALL_RETURN = _CLIENT_CALL_RETURN; +pub const XLAT_SIDE_XLAT_SERVER: XLAT_SIDE = 1; +pub const XLAT_SIDE_XLAT_CLIENT: XLAT_SIDE = 2; +pub type XLAT_SIDE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FULL_PTR_XLAT_TABLES { + pub RefIdToPointer: *mut ::std::os::raw::c_void, + pub PointerToRefId: *mut ::std::os::raw::c_void, + pub NextRefId: ::std::os::raw::c_ulong, + pub XlatSide: XLAT_SIDE, +} +#[test] +fn bindgen_test_layout__FULL_PTR_XLAT_TABLES() { + const UNINIT: ::std::mem::MaybeUninit<_FULL_PTR_XLAT_TABLES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FULL_PTR_XLAT_TABLES>(), + 24usize, + concat!("Size of: ", stringify!(_FULL_PTR_XLAT_TABLES)) + ); + assert_eq!( + ::std::mem::align_of::<_FULL_PTR_XLAT_TABLES>(), + 8usize, + concat!("Alignment of ", stringify!(_FULL_PTR_XLAT_TABLES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RefIdToPointer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FULL_PTR_XLAT_TABLES), + "::", + stringify!(RefIdToPointer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PointerToRefId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FULL_PTR_XLAT_TABLES), + "::", + stringify!(PointerToRefId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextRefId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FULL_PTR_XLAT_TABLES), + "::", + stringify!(NextRefId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).XlatSide) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FULL_PTR_XLAT_TABLES), + "::", + stringify!(XlatSide) + ) + ); +} +pub type FULL_PTR_XLAT_TABLES = _FULL_PTR_XLAT_TABLES; +pub type PFULL_PTR_XLAT_TABLES = *mut _FULL_PTR_XLAT_TABLES; +pub const _system_handle_t_SYSTEM_HANDLE_FILE: _system_handle_t = 0; +pub const _system_handle_t_SYSTEM_HANDLE_SEMAPHORE: _system_handle_t = 1; +pub const _system_handle_t_SYSTEM_HANDLE_EVENT: _system_handle_t = 2; +pub const _system_handle_t_SYSTEM_HANDLE_MUTEX: _system_handle_t = 3; +pub const _system_handle_t_SYSTEM_HANDLE_PROCESS: _system_handle_t = 4; +pub const _system_handle_t_SYSTEM_HANDLE_TOKEN: _system_handle_t = 5; +pub const _system_handle_t_SYSTEM_HANDLE_SECTION: _system_handle_t = 6; +pub const _system_handle_t_SYSTEM_HANDLE_REG_KEY: _system_handle_t = 7; +pub const _system_handle_t_SYSTEM_HANDLE_THREAD: _system_handle_t = 8; +pub const _system_handle_t_SYSTEM_HANDLE_COMPOSITION_OBJECT: _system_handle_t = 9; +pub const _system_handle_t_SYSTEM_HANDLE_SOCKET: _system_handle_t = 10; +pub const _system_handle_t_SYSTEM_HANDLE_JOB: _system_handle_t = 11; +pub const _system_handle_t_SYSTEM_HANDLE_PIPE: _system_handle_t = 12; +pub const _system_handle_t_SYSTEM_HANDLE_MAX: _system_handle_t = 12; +pub const _system_handle_t_SYSTEM_HANDLE_INVALID: _system_handle_t = 255; +pub type _system_handle_t = ::std::os::raw::c_int; +pub use self::_system_handle_t as system_handle_t; +pub const MidlInterceptionInfoVersionOne: _bindgen_ty_3 = 1; +pub type _bindgen_ty_3 = ::std::os::raw::c_int; +pub const MidlWinrtTypeSerializationInfoVersionOne: _bindgen_ty_4 = 1; +pub type _bindgen_ty_4 = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_INTERCEPTION_INFO { + pub Version: ::std::os::raw::c_ulong, + pub ProcString: PFORMAT_STRING, + pub ProcFormatOffsetTable: *const ::std::os::raw::c_ushort, + pub ProcCount: ::std::os::raw::c_ulong, + pub TypeString: PFORMAT_STRING, +} +#[test] +fn bindgen_test_layout__MIDL_INTERCEPTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_INTERCEPTION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_INTERCEPTION_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_MIDL_INTERCEPTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_INTERCEPTION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_MIDL_INTERCEPTION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(ProcString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcFormatOffsetTable) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(ProcFormatOffsetTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(ProcCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_INTERCEPTION_INFO), + "::", + stringify!(TypeString) + ) + ); +} +pub type MIDL_INTERCEPTION_INFO = _MIDL_INTERCEPTION_INFO; +pub type PMIDL_INTERCEPTION_INFO = *mut _MIDL_INTERCEPTION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MIDL_WINRT_TYPE_SERIALIZATION_INFO { + pub Version: ::std::os::raw::c_ulong, + pub TypeFormatString: PFORMAT_STRING, + pub FormatStringSize: ::std::os::raw::c_ushort, + pub TypeOffset: ::std::os::raw::c_ushort, + pub StubDesc: PMIDL_STUB_DESC, +} +#[test] +fn bindgen_test_layout__MIDL_WINRT_TYPE_SERIALIZATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_MIDL_WINRT_TYPE_SERIALIZATION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MIDL_WINRT_TYPE_SERIALIZATION_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_MIDL_WINRT_TYPE_SERIALIZATION_INFO>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeFormatString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(TypeFormatString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatStringSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(FormatStringSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeOffset) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(TypeOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StubDesc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MIDL_WINRT_TYPE_SERIALIZATION_INFO), + "::", + stringify!(StubDesc) + ) + ); +} +pub type MIDL_WINRT_TYPE_SERIALIZATION_INFO = _MIDL_WINRT_TYPE_SERIALIZATION_INFO; +pub type PMIDL_WINRT_TYPE_SERIALIZATION_INFO = *mut _MIDL_WINRT_TYPE_SERIALIZATION_INFO; +extern "C" { + pub fn NdrClientGetSupportedSyntaxes( + pInf: *mut RPC_CLIENT_INTERFACE, + pCount: *mut ::std::os::raw::c_ulong, + pArr: *mut *mut MIDL_SYNTAX_INFO, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrServerGetSupportedSyntaxes( + pInf: *mut RPC_SERVER_INTERFACE, + pCount: *mut ::std::os::raw::c_ulong, + pArr: *mut *mut MIDL_SYNTAX_INFO, + pPreferSyntaxIndex: *mut ::std::os::raw::c_ulong, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrSimpleTypeMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + FormatChar: ::std::os::raw::c_uchar, + ); +} +extern "C" { + pub fn NdrPointerMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrCsArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrCsTagMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrSimpleStructMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantStructMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantVaryingStructMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrComplexStructMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrFixedArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantVaryingArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrVaryingArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrComplexArrayMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNonConformantStringMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantStringMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrEncapsulatedUnionMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNonEncapsulatedUnionMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrByteCountPointerMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrXmitOrRepAsMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrUserMarshalMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrInterfacePointerMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrClientContextMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ContextHandle: NDR_CCONTEXT, + fCheck: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn NdrServerContextMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ContextHandle: NDR_SCONTEXT, + RundownRoutine: NDR_RUNDOWN, + ); +} +extern "C" { + pub fn NdrServerContextNewMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ContextHandle: NDR_SCONTEXT, + RundownRoutine: NDR_RUNDOWN, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrSimpleTypeUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + FormatChar: ::std::os::raw::c_uchar, + ); +} +extern "C" { + pub fn NdrCsArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrCsTagUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrRangeUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrCorrelationInitialize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_void, + CacheSize: ::std::os::raw::c_ulong, + flags: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NdrCorrelationPass(pStubMsg: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrCorrelationFree(pStubMsg: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrPointerUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrSimpleStructUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantStructUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantVaryingStructUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrComplexStructUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrFixedArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantVaryingArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrVaryingArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrComplexArrayUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNonConformantStringUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrConformantStringUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrEncapsulatedUnionUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNonEncapsulatedUnionUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrByteCountPointerUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrXmitOrRepAsUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrUserMarshalUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrInterfacePointerUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + fMustAlloc: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrClientContextUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pContextHandle: *mut NDR_CCONTEXT, + BindHandle: RPC_BINDING_HANDLE, + ); +} +extern "C" { + pub fn NdrServerContextUnmarshall(pStubMsg: PMIDL_STUB_MESSAGE) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NdrContextHandleInitialize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NdrServerContextNewUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> NDR_SCONTEXT; +} +extern "C" { + pub fn NdrPointerBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrCsArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrCsTagBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrSimpleStructBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantStructBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantVaryingStructBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrComplexStructBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrFixedArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantVaryingArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrVaryingArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrComplexArrayBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantStringBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrNonConformantStringBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrEncapsulatedUnionBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrNonEncapsulatedUnionBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrByteCountPointerBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrXmitOrRepAsBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrUserMarshalBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrInterfacePointerBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrContextHandleSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrPointerMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrContextHandleMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrCsArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrCsTagMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrSimpleStructMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantStructMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantVaryingStructMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrComplexStructMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrFixedArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantVaryingArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrVaryingArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrComplexArrayMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrConformantStringMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrNonConformantStringMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrEncapsulatedUnionMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrNonEncapsulatedUnionMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrXmitOrRepAsMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrUserMarshalMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrInterfacePointerMemorySize( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn NdrPointerFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrCsArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrSimpleStructFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantStructFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantVaryingStructFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrComplexStructFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrFixedArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConformantVaryingArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrVaryingArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrComplexArrayFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrEncapsulatedUnionFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrNonEncapsulatedUnionFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrByteCountPointerFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrXmitOrRepAsFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrUserMarshalFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrInterfacePointerFree( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_uchar, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrConvert2( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + NumberParams: ::std::os::raw::c_long, + ); +} +extern "C" { + pub fn NdrConvert(pStubMsg: PMIDL_STUB_MESSAGE, pFormat: PFORMAT_STRING); +} +extern "C" { + pub fn NdrUserMarshalSimpleTypeConvert( + pFlags: *mut ::std::os::raw::c_ulong, + pBuffer: *mut ::std::os::raw::c_uchar, + FormatChar: ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrClientInitializeNew( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + ProcNum: ::std::os::raw::c_uint, + ); +} +extern "C" { + pub fn NdrServerInitializeNew( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrServerInitializePartial( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + RequestedBufferSize: ::std::os::raw::c_ulong, + ); +} +extern "C" { + pub fn NdrClientInitialize( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + ProcNum: ::std::os::raw::c_uint, + ); +} +extern "C" { + pub fn NdrServerInitialize( + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrServerInitializeUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + pRpcMsg: PRPC_MESSAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrServerInitializeMarshall(pRpcMsg: PRPC_MESSAGE, pStubMsg: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrGetBuffer( + pStubMsg: PMIDL_STUB_MESSAGE, + BufferLength: ::std::os::raw::c_ulong, + Handle: RPC_BINDING_HANDLE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNsGetBuffer( + pStubMsg: PMIDL_STUB_MESSAGE, + BufferLength: ::std::os::raw::c_ulong, + Handle: RPC_BINDING_HANDLE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrSendReceive( + pStubMsg: PMIDL_STUB_MESSAGE, + pBufferEnd: *mut ::std::os::raw::c_uchar, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrNsSendReceive( + pStubMsg: PMIDL_STUB_MESSAGE, + pBufferEnd: *mut ::std::os::raw::c_uchar, + pAutoHandle: *mut RPC_BINDING_HANDLE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn NdrFreeBuffer(pStubMsg: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrGetDcomProtocolVersion( + pStubMsg: PMIDL_STUB_MESSAGE, + pVersion: *mut RPC_VERSION, + ) -> HRESULT; +} +extern "C" { + pub fn NdrClientCall2( + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn NdrClientCall( + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn NdrAsyncClientCall( + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn NdrDcomAsyncClientCall( + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + ... + ) -> CLIENT_CALL_RETURN; +} +pub const STUB_PHASE_STUB_UNMARSHAL: STUB_PHASE = 0; +pub const STUB_PHASE_STUB_CALL_SERVER: STUB_PHASE = 1; +pub const STUB_PHASE_STUB_MARSHAL: STUB_PHASE = 2; +pub const STUB_PHASE_STUB_CALL_SERVER_NO_HRESULT: STUB_PHASE = 3; +pub type STUB_PHASE = ::std::os::raw::c_int; +pub const PROXY_PHASE_PROXY_CALCSIZE: PROXY_PHASE = 0; +pub const PROXY_PHASE_PROXY_GETBUFFER: PROXY_PHASE = 1; +pub const PROXY_PHASE_PROXY_MARSHAL: PROXY_PHASE = 2; +pub const PROXY_PHASE_PROXY_SENDRECEIVE: PROXY_PHASE = 3; +pub const PROXY_PHASE_PROXY_UNMARSHAL: PROXY_PHASE = 4; +pub type PROXY_PHASE = ::std::os::raw::c_int; +extern "C" { + pub fn NdrAsyncServerCall(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrAsyncStubCall( + pThis: *mut IRpcStubBuffer, + pChannel: *mut IRpcChannelBuffer, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrDcomAsyncStubCall( + pThis: *mut IRpcStubBuffer, + pChannel: *mut IRpcChannelBuffer, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrStubCall2( + pThis: *mut ::std::os::raw::c_void, + pChannel: *mut ::std::os::raw::c_void, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrServerCall2(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrStubCall( + pThis: *mut ::std::os::raw::c_void, + pChannel: *mut ::std::os::raw::c_void, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrServerCall(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrServerUnmarshall( + pChannel: *mut ::std::os::raw::c_void, + pRpcMsg: PRPC_MESSAGE, + pStubMsg: PMIDL_STUB_MESSAGE, + pStubDescriptor: PMIDL_STUB_DESC, + pFormat: PFORMAT_STRING, + pParamList: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn NdrServerMarshall( + pThis: *mut ::std::os::raw::c_void, + pChannel: *mut ::std::os::raw::c_void, + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn NdrMapCommAndFaultStatus( + pStubMsg: PMIDL_STUB_MESSAGE, + pCommStatus: *mut ::std::os::raw::c_ulong, + pFaultStatus: *mut ::std::os::raw::c_ulong, + Status: RPC_STATUS, + ) -> RPC_STATUS; +} +pub type RPC_SS_THREAD_HANDLE = *mut ::std::os::raw::c_void; +extern "C" { + pub fn RpcSsAllocate(Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn RpcSsDisableAllocate(); +} +extern "C" { + pub fn RpcSsEnableAllocate(); +} +extern "C" { + pub fn RpcSsFree(NodeToFree: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn RpcSsGetThreadHandle() -> RPC_SS_THREAD_HANDLE; +} +extern "C" { + pub fn RpcSsSetClientAllocFree( + ClientAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ClientFree: ::std::option::Option, + ); +} +extern "C" { + pub fn RpcSsSetThreadHandle(Id: RPC_SS_THREAD_HANDLE); +} +extern "C" { + pub fn RpcSsSwapClientAllocFree( + ClientAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ClientFree: ::std::option::Option, + OldClientAlloc: *mut ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + OldClientFree: *mut ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void), + >, + ); +} +extern "C" { + pub fn RpcSmAllocate(Size: usize, pStatus: *mut RPC_STATUS) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn RpcSmClientFree(pNodeToFree: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmDestroyClientContext(ContextHandle: *mut *mut ::std::os::raw::c_void) + -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmDisableAllocate() -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmEnableAllocate() -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmFree(NodeToFree: *mut ::std::os::raw::c_void) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmGetThreadHandle(pStatus: *mut RPC_STATUS) -> RPC_SS_THREAD_HANDLE; +} +extern "C" { + pub fn RpcSmSetClientAllocFree( + ClientAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ClientFree: ::std::option::Option, + ) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmSetThreadHandle(Id: RPC_SS_THREAD_HANDLE) -> RPC_STATUS; +} +extern "C" { + pub fn RpcSmSwapClientAllocFree( + ClientAlloc: ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + ClientFree: ::std::option::Option, + OldClientAlloc: *mut ::std::option::Option< + unsafe extern "C" fn(arg1: usize) -> *mut ::std::os::raw::c_void, + >, + OldClientFree: *mut ::std::option::Option< + unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void), + >, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrRpcSsEnableAllocate(pMessage: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrRpcSsDisableAllocate(pMessage: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrRpcSmSetClientToOsf(pMessage: PMIDL_STUB_MESSAGE); +} +extern "C" { + pub fn NdrRpcSmClientAllocate(Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn NdrRpcSmClientFree(NodeToFree: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn NdrRpcSsDefaultAllocate(Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn NdrRpcSsDefaultFree(NodeToFree: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn NdrFullPointerXlatInit( + NumberOfPointers: ::std::os::raw::c_ulong, + XlatSide: XLAT_SIDE, + ) -> PFULL_PTR_XLAT_TABLES; +} +extern "C" { + pub fn NdrFullPointerXlatFree(pXlatTables: PFULL_PTR_XLAT_TABLES); +} +extern "C" { + pub fn NdrAllocate(pStubMsg: PMIDL_STUB_MESSAGE, Len: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn NdrClearOutParameters( + pStubMsg: PMIDL_STUB_MESSAGE, + pFormat: PFORMAT_STRING, + ArgAddr: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn NdrOleAllocate(Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn NdrOleFree(NodeToFree: *mut ::std::os::raw::c_void); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NDR_USER_MARSHAL_INFO_LEVEL1 { + pub Buffer: *mut ::std::os::raw::c_void, + pub BufferSize: ::std::os::raw::c_ulong, + pub pfnAllocate: + ::std::option::Option *mut ::std::os::raw::c_void>, + pub pfnFree: ::std::option::Option, + pub pRpcChannelBuffer: *mut IRpcChannelBuffer, + pub Reserved: [ULONG_PTR; 5usize], +} +#[test] +fn bindgen_test_layout__NDR_USER_MARSHAL_INFO_LEVEL1() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_USER_MARSHAL_INFO_LEVEL1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_USER_MARSHAL_INFO_LEVEL1>(), + 80usize, + concat!("Size of: ", stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_USER_MARSHAL_INFO_LEVEL1>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnAllocate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(pfnAllocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnFree) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(pfnFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRpcChannelBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(pRpcChannelBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO_LEVEL1), + "::", + stringify!(Reserved) + ) + ); +} +pub type NDR_USER_MARSHAL_INFO_LEVEL1 = _NDR_USER_MARSHAL_INFO_LEVEL1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _NDR_USER_MARSHAL_INFO { + pub InformationLevel: ::std::os::raw::c_ulong, + pub __bindgen_anon_1: _NDR_USER_MARSHAL_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _NDR_USER_MARSHAL_INFO__bindgen_ty_1 { + pub Level1: NDR_USER_MARSHAL_INFO_LEVEL1, +} +#[test] +fn bindgen_test_layout__NDR_USER_MARSHAL_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_USER_MARSHAL_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_USER_MARSHAL_INFO__bindgen_ty_1>(), + 80usize, + concat!( + "Size of: ", + stringify!(_NDR_USER_MARSHAL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_USER_MARSHAL_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_NDR_USER_MARSHAL_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO__bindgen_ty_1), + "::", + stringify!(Level1) + ) + ); +} +#[test] +fn bindgen_test_layout__NDR_USER_MARSHAL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_NDR_USER_MARSHAL_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NDR_USER_MARSHAL_INFO>(), + 88usize, + concat!("Size of: ", stringify!(_NDR_USER_MARSHAL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_NDR_USER_MARSHAL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_NDR_USER_MARSHAL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InformationLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NDR_USER_MARSHAL_INFO), + "::", + stringify!(InformationLevel) + ) + ); +} +pub type NDR_USER_MARSHAL_INFO = _NDR_USER_MARSHAL_INFO; +extern "C" { + pub fn NdrGetUserMarshalInfo( + pFlags: *mut ::std::os::raw::c_ulong, + InformationLevel: ::std::os::raw::c_ulong, + pMarshalInfo: *mut NDR_USER_MARSHAL_INFO, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrCreateServerInterfaceFromStub( + pStub: *mut IRpcStubBuffer, + pServerIf: *mut RPC_SERVER_INTERFACE, + ) -> RPC_STATUS; +} +extern "C" { + pub fn NdrClientCall3( + pProxyInfo: *mut MIDL_STUBLESS_PROXY_INFO, + nProcNum: ::std::os::raw::c_ulong, + pReturnValue: *mut ::std::os::raw::c_void, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn Ndr64AsyncClientCall( + pProxyInfo: *mut MIDL_STUBLESS_PROXY_INFO, + nProcNum: ::std::os::raw::c_ulong, + pReturnValue: *mut ::std::os::raw::c_void, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn Ndr64DcomAsyncClientCall( + pProxyInfo: *mut MIDL_STUBLESS_PROXY_INFO, + nProcNum: ::std::os::raw::c_ulong, + pReturnValue: *mut ::std::os::raw::c_void, + ... + ) -> CLIENT_CALL_RETURN; +} +extern "C" { + pub fn Ndr64AsyncServerCall(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn Ndr64AsyncServerCall64(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn Ndr64AsyncServerCallAll(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn Ndr64AsyncStubCall( + pThis: *mut IRpcStubBuffer, + pChannel: *mut IRpcChannelBuffer, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn Ndr64DcomAsyncStubCall( + pThis: *mut IRpcStubBuffer, + pChannel: *mut IRpcChannelBuffer, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrStubCall3( + pThis: *mut ::std::os::raw::c_void, + pChannel: *mut ::std::os::raw::c_void, + pRpcMsg: PRPC_MESSAGE, + pdwStubPhase: *mut ::std::os::raw::c_ulong, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn NdrServerCallAll(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrServerCallNdr64(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrServerCall3(pRpcMsg: PRPC_MESSAGE); +} +extern "C" { + pub fn NdrPartialIgnoreClientMarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn NdrPartialIgnoreServerUnmarshall( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn NdrPartialIgnoreClientBufferSize( + pStubMsg: PMIDL_STUB_MESSAGE, + pMemory: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn NdrPartialIgnoreServerInitialize( + pStubMsg: PMIDL_STUB_MESSAGE, + ppMemory: *mut *mut ::std::os::raw::c_void, + pFormat: PFORMAT_STRING, + ); +} +extern "C" { + pub fn RpcUserFree(AsyncHandle: handle_t, pBuffer: *mut ::std::os::raw::c_void); +} +extern "C" { + pub static mut __MIDL_itf_wtypesbase_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypesbase_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type OLECHAR = WCHAR; +pub type LPOLESTR = *mut OLECHAR; +pub type LPCOLESTR = *const OLECHAR; +pub type DOUBLE = f64; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COAUTHIDENTITY { + pub User: *mut USHORT, + pub UserLength: ULONG, + pub Domain: *mut USHORT, + pub DomainLength: ULONG, + pub Password: *mut USHORT, + pub PasswordLength: ULONG, + pub Flags: ULONG, +} +#[test] +fn bindgen_test_layout__COAUTHIDENTITY() { + const UNINIT: ::std::mem::MaybeUninit<_COAUTHIDENTITY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COAUTHIDENTITY>(), + 48usize, + concat!("Size of: ", stringify!(_COAUTHIDENTITY)) + ); + assert_eq!( + ::std::mem::align_of::<_COAUTHIDENTITY>(), + 8usize, + concat!("Alignment of ", stringify!(_COAUTHIDENTITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).User) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(User) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(UserLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Domain) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(Domain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DomainLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(DomainLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Password) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(Password) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PasswordLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(PasswordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHIDENTITY), + "::", + stringify!(Flags) + ) + ); +} +pub type COAUTHIDENTITY = _COAUTHIDENTITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COAUTHINFO { + pub dwAuthnSvc: DWORD, + pub dwAuthzSvc: DWORD, + pub pwszServerPrincName: LPWSTR, + pub dwAuthnLevel: DWORD, + pub dwImpersonationLevel: DWORD, + pub pAuthIdentityData: *mut COAUTHIDENTITY, + pub dwCapabilities: DWORD, +} +#[test] +fn bindgen_test_layout__COAUTHINFO() { + const UNINIT: ::std::mem::MaybeUninit<_COAUTHINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COAUTHINFO>(), + 40usize, + concat!("Size of: ", stringify!(_COAUTHINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_COAUTHINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_COAUTHINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthnSvc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwAuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthzSvc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwAuthzSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszServerPrincName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(pwszServerPrincName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthnLevel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwAuthnLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwImpersonationLevel) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwImpersonationLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAuthIdentityData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(pAuthIdentityData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCapabilities) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_COAUTHINFO), + "::", + stringify!(dwCapabilities) + ) + ); +} +pub type COAUTHINFO = _COAUTHINFO; +pub type SCODE = LONG; +pub type PSCODE = *mut SCODE; +pub const tagMEMCTX_MEMCTX_TASK: tagMEMCTX = 1; +pub const tagMEMCTX_MEMCTX_SHARED: tagMEMCTX = 2; +pub const tagMEMCTX_MEMCTX_MACSYSTEM: tagMEMCTX = 3; +pub const tagMEMCTX_MEMCTX_UNKNOWN: tagMEMCTX = -1; +pub const tagMEMCTX_MEMCTX_SAME: tagMEMCTX = -2; +pub type tagMEMCTX = ::std::os::raw::c_int; +pub use self::tagMEMCTX as MEMCTX; +pub const tagCLSCTX_CLSCTX_INPROC_SERVER: tagCLSCTX = 1; +pub const tagCLSCTX_CLSCTX_INPROC_HANDLER: tagCLSCTX = 2; +pub const tagCLSCTX_CLSCTX_LOCAL_SERVER: tagCLSCTX = 4; +pub const tagCLSCTX_CLSCTX_INPROC_SERVER16: tagCLSCTX = 8; +pub const tagCLSCTX_CLSCTX_REMOTE_SERVER: tagCLSCTX = 16; +pub const tagCLSCTX_CLSCTX_INPROC_HANDLER16: tagCLSCTX = 32; +pub const tagCLSCTX_CLSCTX_RESERVED1: tagCLSCTX = 64; +pub const tagCLSCTX_CLSCTX_RESERVED2: tagCLSCTX = 128; +pub const tagCLSCTX_CLSCTX_RESERVED3: tagCLSCTX = 256; +pub const tagCLSCTX_CLSCTX_RESERVED4: tagCLSCTX = 512; +pub const tagCLSCTX_CLSCTX_NO_CODE_DOWNLOAD: tagCLSCTX = 1024; +pub const tagCLSCTX_CLSCTX_RESERVED5: tagCLSCTX = 2048; +pub const tagCLSCTX_CLSCTX_NO_CUSTOM_MARSHAL: tagCLSCTX = 4096; +pub const tagCLSCTX_CLSCTX_ENABLE_CODE_DOWNLOAD: tagCLSCTX = 8192; +pub const tagCLSCTX_CLSCTX_NO_FAILURE_LOG: tagCLSCTX = 16384; +pub const tagCLSCTX_CLSCTX_DISABLE_AAA: tagCLSCTX = 32768; +pub const tagCLSCTX_CLSCTX_ENABLE_AAA: tagCLSCTX = 65536; +pub const tagCLSCTX_CLSCTX_FROM_DEFAULT_CONTEXT: tagCLSCTX = 131072; +pub const tagCLSCTX_CLSCTX_ACTIVATE_X86_SERVER: tagCLSCTX = 262144; +pub const tagCLSCTX_CLSCTX_ACTIVATE_32_BIT_SERVER: tagCLSCTX = 262144; +pub const tagCLSCTX_CLSCTX_ACTIVATE_64_BIT_SERVER: tagCLSCTX = 524288; +pub const tagCLSCTX_CLSCTX_ENABLE_CLOAKING: tagCLSCTX = 1048576; +pub const tagCLSCTX_CLSCTX_APPCONTAINER: tagCLSCTX = 4194304; +pub const tagCLSCTX_CLSCTX_ACTIVATE_AAA_AS_IU: tagCLSCTX = 8388608; +pub const tagCLSCTX_CLSCTX_RESERVED6: tagCLSCTX = 16777216; +pub const tagCLSCTX_CLSCTX_ACTIVATE_ARM32_SERVER: tagCLSCTX = 33554432; +pub const tagCLSCTX_CLSCTX_PS_DLL: tagCLSCTX = -2147483648; +pub type tagCLSCTX = ::std::os::raw::c_int; +pub use self::tagCLSCTX as CLSCTX; +pub const tagMSHLFLAGS_MSHLFLAGS_NORMAL: tagMSHLFLAGS = 0; +pub const tagMSHLFLAGS_MSHLFLAGS_TABLESTRONG: tagMSHLFLAGS = 1; +pub const tagMSHLFLAGS_MSHLFLAGS_TABLEWEAK: tagMSHLFLAGS = 2; +pub const tagMSHLFLAGS_MSHLFLAGS_NOPING: tagMSHLFLAGS = 4; +pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED1: tagMSHLFLAGS = 8; +pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED2: tagMSHLFLAGS = 16; +pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED3: tagMSHLFLAGS = 32; +pub const tagMSHLFLAGS_MSHLFLAGS_RESERVED4: tagMSHLFLAGS = 64; +pub type tagMSHLFLAGS = ::std::os::raw::c_int; +pub use self::tagMSHLFLAGS as MSHLFLAGS; +pub const tagMSHCTX_MSHCTX_LOCAL: tagMSHCTX = 0; +pub const tagMSHCTX_MSHCTX_NOSHAREDMEM: tagMSHCTX = 1; +pub const tagMSHCTX_MSHCTX_DIFFERENTMACHINE: tagMSHCTX = 2; +pub const tagMSHCTX_MSHCTX_INPROC: tagMSHCTX = 3; +pub const tagMSHCTX_MSHCTX_CROSSCTX: tagMSHCTX = 4; +pub const tagMSHCTX_MSHCTX_RESERVED1: tagMSHCTX = 5; +pub type tagMSHCTX = ::std::os::raw::c_int; +pub use self::tagMSHCTX as MSHCTX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BYTE_BLOB { + pub clSize: ULONG, + pub abData: [byte; 1usize], +} +#[test] +fn bindgen_test_layout__BYTE_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_BYTE_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BYTE_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_BYTE_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_BYTE_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_BYTE_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BYTE_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BYTE_BLOB), + "::", + stringify!(abData) + ) + ); +} +pub type BYTE_BLOB = _BYTE_BLOB; +pub type UP_BYTE_BLOB = *mut BYTE_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WORD_BLOB { + pub clSize: ULONG, + pub asData: [::std::os::raw::c_ushort; 1usize], +} +#[test] +fn bindgen_test_layout__WORD_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_WORD_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WORD_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_WORD_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_WORD_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_WORD_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WORD_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WORD_BLOB), + "::", + stringify!(asData) + ) + ); +} +pub type WORD_BLOB = _WORD_BLOB; +pub type UP_WORD_BLOB = *mut WORD_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DWORD_BLOB { + pub clSize: ULONG, + pub alData: [ULONG; 1usize], +} +#[test] +fn bindgen_test_layout__DWORD_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_DWORD_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DWORD_BLOB>(), + 8usize, + concat!("Size of: ", stringify!(_DWORD_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_DWORD_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_DWORD_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DWORD_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).alData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DWORD_BLOB), + "::", + stringify!(alData) + ) + ); +} +pub type DWORD_BLOB = _DWORD_BLOB; +pub type UP_DWORD_BLOB = *mut DWORD_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FLAGGED_BYTE_BLOB { + pub fFlags: ULONG, + pub clSize: ULONG, + pub abData: [byte; 1usize], +} +#[test] +fn bindgen_test_layout__FLAGGED_BYTE_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_FLAGGED_BYTE_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FLAGGED_BYTE_BLOB>(), + 12usize, + concat!("Size of: ", stringify!(_FLAGGED_BYTE_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_FLAGGED_BYTE_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_FLAGGED_BYTE_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_BYTE_BLOB), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_BYTE_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_BYTE_BLOB), + "::", + stringify!(abData) + ) + ); +} +pub type FLAGGED_BYTE_BLOB = _FLAGGED_BYTE_BLOB; +pub type UP_FLAGGED_BYTE_BLOB = *mut FLAGGED_BYTE_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FLAGGED_WORD_BLOB { + pub fFlags: ULONG, + pub clSize: ULONG, + pub asData: [::std::os::raw::c_ushort; 1usize], +} +#[test] +fn bindgen_test_layout__FLAGGED_WORD_BLOB() { + const UNINIT: ::std::mem::MaybeUninit<_FLAGGED_WORD_BLOB> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FLAGGED_WORD_BLOB>(), + 12usize, + concat!("Size of: ", stringify!(_FLAGGED_WORD_BLOB)) + ); + assert_eq!( + ::std::mem::align_of::<_FLAGGED_WORD_BLOB>(), + 4usize, + concat!("Alignment of ", stringify!(_FLAGGED_WORD_BLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_WORD_BLOB), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_WORD_BLOB), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).asData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FLAGGED_WORD_BLOB), + "::", + stringify!(asData) + ) + ); +} +pub type FLAGGED_WORD_BLOB = _FLAGGED_WORD_BLOB; +pub type UP_FLAGGED_WORD_BLOB = *mut FLAGGED_WORD_BLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BYTE_SIZEDARR { + pub clSize: ULONG, + pub pData: *mut byte, +} +#[test] +fn bindgen_test_layout__BYTE_SIZEDARR() { + const UNINIT: ::std::mem::MaybeUninit<_BYTE_SIZEDARR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BYTE_SIZEDARR>(), + 16usize, + concat!("Size of: ", stringify!(_BYTE_SIZEDARR)) + ); + assert_eq!( + ::std::mem::align_of::<_BYTE_SIZEDARR>(), + 8usize, + concat!("Alignment of ", stringify!(_BYTE_SIZEDARR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BYTE_SIZEDARR), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BYTE_SIZEDARR), + "::", + stringify!(pData) + ) + ); +} +pub type BYTE_SIZEDARR = _BYTE_SIZEDARR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHORT_SIZEDARR { + pub clSize: ULONG, + pub pData: *mut ::std::os::raw::c_ushort, +} +#[test] +fn bindgen_test_layout__SHORT_SIZEDARR() { + const UNINIT: ::std::mem::MaybeUninit<_SHORT_SIZEDARR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHORT_SIZEDARR>(), + 16usize, + concat!("Size of: ", stringify!(_SHORT_SIZEDARR)) + ); + assert_eq!( + ::std::mem::align_of::<_SHORT_SIZEDARR>(), + 8usize, + concat!("Alignment of ", stringify!(_SHORT_SIZEDARR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHORT_SIZEDARR), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHORT_SIZEDARR), + "::", + stringify!(pData) + ) + ); +} +pub type WORD_SIZEDARR = _SHORT_SIZEDARR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LONG_SIZEDARR { + pub clSize: ULONG, + pub pData: *mut ULONG, +} +#[test] +fn bindgen_test_layout__LONG_SIZEDARR() { + const UNINIT: ::std::mem::MaybeUninit<_LONG_SIZEDARR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LONG_SIZEDARR>(), + 16usize, + concat!("Size of: ", stringify!(_LONG_SIZEDARR)) + ); + assert_eq!( + ::std::mem::align_of::<_LONG_SIZEDARR>(), + 8usize, + concat!("Alignment of ", stringify!(_LONG_SIZEDARR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LONG_SIZEDARR), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LONG_SIZEDARR), + "::", + stringify!(pData) + ) + ); +} +pub type DWORD_SIZEDARR = _LONG_SIZEDARR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HYPER_SIZEDARR { + pub clSize: ULONG, + pub pData: *mut ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__HYPER_SIZEDARR() { + const UNINIT: ::std::mem::MaybeUninit<_HYPER_SIZEDARR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HYPER_SIZEDARR>(), + 16usize, + concat!("Size of: ", stringify!(_HYPER_SIZEDARR)) + ); + assert_eq!( + ::std::mem::align_of::<_HYPER_SIZEDARR>(), + 8usize, + concat!("Alignment of ", stringify!(_HYPER_SIZEDARR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HYPER_SIZEDARR), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_HYPER_SIZEDARR), + "::", + stringify!(pData) + ) + ); +} +pub type HYPER_SIZEDARR = _HYPER_SIZEDARR; +extern "C" { + pub static mut IWinTypesBase_v0_1_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut IWinTypesBase_v0_1_s_ifspec: RPC_IF_HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBLOB { + pub cbSize: ULONG, + pub pBlobData: *mut BYTE, +} +#[test] +fn bindgen_test_layout_tagBLOB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBLOB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBLOB), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBlobData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBLOB), + "::", + stringify!(pBlobData) + ) + ); +} +pub type BLOB = tagBLOB; +pub type LPBLOB = *mut tagBLOB; +extern "C" { + pub static mut __MIDL_itf_wtypesbase_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypesbase_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypes_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypes_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHGLOBAL { + pub fNullHGlobal: LONG, + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHGLOBAL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagRemHGLOBAL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHGLOBAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fNullHGlobal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHGLOBAL), + "::", + stringify!(fNullHGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHGLOBAL), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemHGLOBAL), + "::", + stringify!(data) + ) + ); +} +pub type RemHGLOBAL = tagRemHGLOBAL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHMETAFILEPICT { + pub mm: LONG, + pub xExt: LONG, + pub yExt: LONG, + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHMETAFILEPICT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagRemHMETAFILEPICT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHMETAFILEPICT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(mm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xExt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(xExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yExt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(yExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRemHMETAFILEPICT), + "::", + stringify!(data) + ) + ); +} +pub type RemHMETAFILEPICT = tagRemHMETAFILEPICT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHENHMETAFILE { + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHENHMETAFILE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagRemHENHMETAFILE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHENHMETAFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHENHMETAFILE), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHENHMETAFILE), + "::", + stringify!(data) + ) + ); +} +pub type RemHENHMETAFILE = tagRemHENHMETAFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHBITMAP { + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHBITMAP() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagRemHBITMAP)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHBITMAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHBITMAP), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHBITMAP), + "::", + stringify!(data) + ) + ); +} +pub type RemHBITMAP = tagRemHBITMAP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemHPALETTE { + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemHPALETTE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagRemHPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemHPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemHPALETTE), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemHPALETTE), + "::", + stringify!(data) + ) + ); +} +pub type RemHPALETTE = tagRemHPALETTE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemBRUSH { + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemBRUSH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagRemBRUSH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemBRUSH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemBRUSH), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemBRUSH), + "::", + stringify!(data) + ) + ); +} +pub type RemHBRUSH = tagRemBRUSH; +pub const tagDVASPECT_DVASPECT_CONTENT: tagDVASPECT = 1; +pub const tagDVASPECT_DVASPECT_THUMBNAIL: tagDVASPECT = 2; +pub const tagDVASPECT_DVASPECT_ICON: tagDVASPECT = 4; +pub const tagDVASPECT_DVASPECT_DOCPRINT: tagDVASPECT = 8; +pub type tagDVASPECT = ::std::os::raw::c_int; +pub use self::tagDVASPECT as DVASPECT; +pub const tagSTGC_STGC_DEFAULT: tagSTGC = 0; +pub const tagSTGC_STGC_OVERWRITE: tagSTGC = 1; +pub const tagSTGC_STGC_ONLYIFCURRENT: tagSTGC = 2; +pub const tagSTGC_STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE: tagSTGC = 4; +pub const tagSTGC_STGC_CONSOLIDATE: tagSTGC = 8; +pub type tagSTGC = ::std::os::raw::c_int; +pub use self::tagSTGC as STGC; +pub const tagSTGMOVE_STGMOVE_MOVE: tagSTGMOVE = 0; +pub const tagSTGMOVE_STGMOVE_COPY: tagSTGMOVE = 1; +pub const tagSTGMOVE_STGMOVE_SHALLOWCOPY: tagSTGMOVE = 2; +pub type tagSTGMOVE = ::std::os::raw::c_int; +pub use self::tagSTGMOVE as STGMOVE; +pub const tagSTATFLAG_STATFLAG_DEFAULT: tagSTATFLAG = 0; +pub const tagSTATFLAG_STATFLAG_NONAME: tagSTATFLAG = 1; +pub const tagSTATFLAG_STATFLAG_NOOPEN: tagSTATFLAG = 2; +pub type tagSTATFLAG = ::std::os::raw::c_int; +pub use self::tagSTATFLAG as STATFLAG; +pub type HCONTEXT = *mut ::std::os::raw::c_void; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userCLIPFORMAT { + pub fContext: LONG, + pub u: _userCLIPFORMAT___MIDL_IWinTypes_0001, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userCLIPFORMAT___MIDL_IWinTypes_0001 { + pub dwValue: DWORD, + pub pwszName: *mut wchar_t, +} +#[test] +fn bindgen_test_layout__userCLIPFORMAT___MIDL_IWinTypes_0001() { + const UNINIT: ::std::mem::MaybeUninit<_userCLIPFORMAT___MIDL_IWinTypes_0001> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userCLIPFORMAT___MIDL_IWinTypes_0001>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userCLIPFORMAT___MIDL_IWinTypes_0001>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001), + "::", + stringify!(dwValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userCLIPFORMAT___MIDL_IWinTypes_0001), + "::", + stringify!(pwszName) + ) + ); +} +#[test] +fn bindgen_test_layout__userCLIPFORMAT() { + const UNINIT: ::std::mem::MaybeUninit<_userCLIPFORMAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userCLIPFORMAT>(), + 16usize, + concat!("Size of: ", stringify!(_userCLIPFORMAT)) + ); + assert_eq!( + ::std::mem::align_of::<_userCLIPFORMAT>(), + 8usize, + concat!("Alignment of ", stringify!(_userCLIPFORMAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userCLIPFORMAT), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userCLIPFORMAT), + "::", + stringify!(u) + ) + ); +} +pub type userCLIPFORMAT = _userCLIPFORMAT; +pub type wireCLIPFORMAT = *mut userCLIPFORMAT; +pub type CLIPFORMAT = WORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GDI_NONREMOTE { + pub fContext: LONG, + pub u: _GDI_NONREMOTE___MIDL_IWinTypes_0002, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GDI_NONREMOTE___MIDL_IWinTypes_0002 { + pub hInproc: LONG, + pub hRemote: *mut DWORD_BLOB, +} +#[test] +fn bindgen_test_layout__GDI_NONREMOTE___MIDL_IWinTypes_0002() { + const UNINIT: ::std::mem::MaybeUninit<_GDI_NONREMOTE___MIDL_IWinTypes_0002> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GDI_NONREMOTE___MIDL_IWinTypes_0002>(), + 8usize, + concat!( + "Size of: ", + stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002) + ) + ); + assert_eq!( + ::std::mem::align_of::<_GDI_NONREMOTE___MIDL_IWinTypes_0002>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_NONREMOTE___MIDL_IWinTypes_0002), + "::", + stringify!(hRemote) + ) + ); +} +#[test] +fn bindgen_test_layout__GDI_NONREMOTE() { + const UNINIT: ::std::mem::MaybeUninit<_GDI_NONREMOTE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GDI_NONREMOTE>(), + 16usize, + concat!("Size of: ", stringify!(_GDI_NONREMOTE)) + ); + assert_eq!( + ::std::mem::align_of::<_GDI_NONREMOTE>(), + 8usize, + concat!("Alignment of ", stringify!(_GDI_NONREMOTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_NONREMOTE), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GDI_NONREMOTE), + "::", + stringify!(u) + ) + ); +} +pub type GDI_NONREMOTE = _GDI_NONREMOTE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHGLOBAL { + pub fContext: LONG, + pub u: _userHGLOBAL___MIDL_IWinTypes_0003, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHGLOBAL___MIDL_IWinTypes_0003 { + pub hInproc: LONG, + pub hRemote: *mut FLAGGED_BYTE_BLOB, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHGLOBAL___MIDL_IWinTypes_0003() { + const UNINIT: ::std::mem::MaybeUninit<_userHGLOBAL___MIDL_IWinTypes_0003> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHGLOBAL___MIDL_IWinTypes_0003>(), + 8usize, + concat!("Size of: ", stringify!(_userHGLOBAL___MIDL_IWinTypes_0003)) + ); + assert_eq!( + ::std::mem::align_of::<_userHGLOBAL___MIDL_IWinTypes_0003>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHGLOBAL___MIDL_IWinTypes_0003) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL___MIDL_IWinTypes_0003), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL___MIDL_IWinTypes_0003), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL___MIDL_IWinTypes_0003), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHGLOBAL() { + const UNINIT: ::std::mem::MaybeUninit<_userHGLOBAL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHGLOBAL>(), + 16usize, + concat!("Size of: ", stringify!(_userHGLOBAL)) + ); + assert_eq!( + ::std::mem::align_of::<_userHGLOBAL>(), + 8usize, + concat!("Alignment of ", stringify!(_userHGLOBAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHGLOBAL), + "::", + stringify!(u) + ) + ); +} +pub type userHGLOBAL = _userHGLOBAL; +pub type wireHGLOBAL = *mut userHGLOBAL; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHMETAFILE { + pub fContext: LONG, + pub u: _userHMETAFILE___MIDL_IWinTypes_0004, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHMETAFILE___MIDL_IWinTypes_0004 { + pub hInproc: LONG, + pub hRemote: *mut BYTE_BLOB, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHMETAFILE___MIDL_IWinTypes_0004() { + const UNINIT: ::std::mem::MaybeUninit<_userHMETAFILE___MIDL_IWinTypes_0004> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHMETAFILE___MIDL_IWinTypes_0004>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userHMETAFILE___MIDL_IWinTypes_0004>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE___MIDL_IWinTypes_0004), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHMETAFILE() { + const UNINIT: ::std::mem::MaybeUninit<_userHMETAFILE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHMETAFILE>(), + 16usize, + concat!("Size of: ", stringify!(_userHMETAFILE)) + ); + assert_eq!( + ::std::mem::align_of::<_userHMETAFILE>(), + 8usize, + concat!("Alignment of ", stringify!(_userHMETAFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILE), + "::", + stringify!(u) + ) + ); +} +pub type userHMETAFILE = _userHMETAFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _remoteMETAFILEPICT { + pub mm: LONG, + pub xExt: LONG, + pub yExt: LONG, + pub hMF: *mut userHMETAFILE, +} +#[test] +fn bindgen_test_layout__remoteMETAFILEPICT() { + const UNINIT: ::std::mem::MaybeUninit<_remoteMETAFILEPICT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_remoteMETAFILEPICT>(), + 24usize, + concat!("Size of: ", stringify!(_remoteMETAFILEPICT)) + ); + assert_eq!( + ::std::mem::align_of::<_remoteMETAFILEPICT>(), + 8usize, + concat!("Alignment of ", stringify!(_remoteMETAFILEPICT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_remoteMETAFILEPICT), + "::", + stringify!(mm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).xExt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_remoteMETAFILEPICT), + "::", + stringify!(xExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).yExt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_remoteMETAFILEPICT), + "::", + stringify!(yExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMF) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_remoteMETAFILEPICT), + "::", + stringify!(hMF) + ) + ); +} +pub type remoteMETAFILEPICT = _remoteMETAFILEPICT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHMETAFILEPICT { + pub fContext: LONG, + pub u: _userHMETAFILEPICT___MIDL_IWinTypes_0005, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHMETAFILEPICT___MIDL_IWinTypes_0005 { + pub hInproc: LONG, + pub hRemote: *mut remoteMETAFILEPICT, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHMETAFILEPICT___MIDL_IWinTypes_0005() { + const UNINIT: ::std::mem::MaybeUninit<_userHMETAFILEPICT___MIDL_IWinTypes_0005> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHMETAFILEPICT___MIDL_IWinTypes_0005>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userHMETAFILEPICT___MIDL_IWinTypes_0005>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT___MIDL_IWinTypes_0005), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHMETAFILEPICT() { + const UNINIT: ::std::mem::MaybeUninit<_userHMETAFILEPICT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHMETAFILEPICT>(), + 16usize, + concat!("Size of: ", stringify!(_userHMETAFILEPICT)) + ); + assert_eq!( + ::std::mem::align_of::<_userHMETAFILEPICT>(), + 8usize, + concat!("Alignment of ", stringify!(_userHMETAFILEPICT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHMETAFILEPICT), + "::", + stringify!(u) + ) + ); +} +pub type userHMETAFILEPICT = _userHMETAFILEPICT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHENHMETAFILE { + pub fContext: LONG, + pub u: _userHENHMETAFILE___MIDL_IWinTypes_0006, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHENHMETAFILE___MIDL_IWinTypes_0006 { + pub hInproc: LONG, + pub hRemote: *mut BYTE_BLOB, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHENHMETAFILE___MIDL_IWinTypes_0006() { + const UNINIT: ::std::mem::MaybeUninit<_userHENHMETAFILE___MIDL_IWinTypes_0006> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHENHMETAFILE___MIDL_IWinTypes_0006>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userHENHMETAFILE___MIDL_IWinTypes_0006>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE___MIDL_IWinTypes_0006), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHENHMETAFILE() { + const UNINIT: ::std::mem::MaybeUninit<_userHENHMETAFILE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHENHMETAFILE>(), + 16usize, + concat!("Size of: ", stringify!(_userHENHMETAFILE)) + ); + assert_eq!( + ::std::mem::align_of::<_userHENHMETAFILE>(), + 8usize, + concat!("Alignment of ", stringify!(_userHENHMETAFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHENHMETAFILE), + "::", + stringify!(u) + ) + ); +} +pub type userHENHMETAFILE = _userHENHMETAFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _userBITMAP { + pub bmType: LONG, + pub bmWidth: LONG, + pub bmHeight: LONG, + pub bmWidthBytes: LONG, + pub bmPlanes: WORD, + pub bmBitsPixel: WORD, + pub cbSize: ULONG, + pub pBuffer: [byte; 1usize], +} +#[test] +fn bindgen_test_layout__userBITMAP() { + const UNINIT: ::std::mem::MaybeUninit<_userBITMAP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userBITMAP>(), + 28usize, + concat!("Size of: ", stringify!(_userBITMAP)) + ); + assert_eq!( + ::std::mem::align_of::<_userBITMAP>(), + 4usize, + concat!("Alignment of ", stringify!(_userBITMAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmWidth) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmWidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmHeight) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmWidthBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmWidthBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmPlanes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmPlanes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bmBitsPixel) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(bmBitsPixel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_userBITMAP), + "::", + stringify!(pBuffer) + ) + ); +} +pub type userBITMAP = _userBITMAP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHBITMAP { + pub fContext: LONG, + pub u: _userHBITMAP___MIDL_IWinTypes_0007, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHBITMAP___MIDL_IWinTypes_0007 { + pub hInproc: LONG, + pub hRemote: *mut userBITMAP, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHBITMAP___MIDL_IWinTypes_0007() { + const UNINIT: ::std::mem::MaybeUninit<_userHBITMAP___MIDL_IWinTypes_0007> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHBITMAP___MIDL_IWinTypes_0007>(), + 8usize, + concat!("Size of: ", stringify!(_userHBITMAP___MIDL_IWinTypes_0007)) + ); + assert_eq!( + ::std::mem::align_of::<_userHBITMAP___MIDL_IWinTypes_0007>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHBITMAP___MIDL_IWinTypes_0007) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP___MIDL_IWinTypes_0007), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP___MIDL_IWinTypes_0007), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP___MIDL_IWinTypes_0007), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHBITMAP() { + const UNINIT: ::std::mem::MaybeUninit<_userHBITMAP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHBITMAP>(), + 16usize, + concat!("Size of: ", stringify!(_userHBITMAP)) + ); + assert_eq!( + ::std::mem::align_of::<_userHBITMAP>(), + 8usize, + concat!("Alignment of ", stringify!(_userHBITMAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHBITMAP), + "::", + stringify!(u) + ) + ); +} +pub type userHBITMAP = _userHBITMAP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userHPALETTE { + pub fContext: LONG, + pub u: _userHPALETTE___MIDL_IWinTypes_0008, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userHPALETTE___MIDL_IWinTypes_0008 { + pub hInproc: LONG, + pub hRemote: *mut LOGPALETTE, + pub hInproc64: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__userHPALETTE___MIDL_IWinTypes_0008() { + const UNINIT: ::std::mem::MaybeUninit<_userHPALETTE___MIDL_IWinTypes_0008> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHPALETTE___MIDL_IWinTypes_0008>(), + 8usize, + concat!("Size of: ", stringify!(_userHPALETTE___MIDL_IWinTypes_0008)) + ); + assert_eq!( + ::std::mem::align_of::<_userHPALETTE___MIDL_IWinTypes_0008>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userHPALETTE___MIDL_IWinTypes_0008) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE___MIDL_IWinTypes_0008), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE___MIDL_IWinTypes_0008), + "::", + stringify!(hRemote) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE___MIDL_IWinTypes_0008), + "::", + stringify!(hInproc64) + ) + ); +} +#[test] +fn bindgen_test_layout__userHPALETTE() { + const UNINIT: ::std::mem::MaybeUninit<_userHPALETTE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userHPALETTE>(), + 16usize, + concat!("Size of: ", stringify!(_userHPALETTE)) + ); + assert_eq!( + ::std::mem::align_of::<_userHPALETTE>(), + 8usize, + concat!("Alignment of ", stringify!(_userHPALETTE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userHPALETTE), + "::", + stringify!(u) + ) + ); +} +pub type userHPALETTE = _userHPALETTE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RemotableHandle { + pub fContext: LONG, + pub u: _RemotableHandle___MIDL_IWinTypes_0009, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _RemotableHandle___MIDL_IWinTypes_0009 { + pub hInproc: LONG, + pub hRemote: LONG, +} +#[test] +fn bindgen_test_layout__RemotableHandle___MIDL_IWinTypes_0009() { + const UNINIT: ::std::mem::MaybeUninit<_RemotableHandle___MIDL_IWinTypes_0009> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RemotableHandle___MIDL_IWinTypes_0009>(), + 4usize, + concat!( + "Size of: ", + stringify!(_RemotableHandle___MIDL_IWinTypes_0009) + ) + ); + assert_eq!( + ::std::mem::align_of::<_RemotableHandle___MIDL_IWinTypes_0009>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_RemotableHandle___MIDL_IWinTypes_0009) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInproc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RemotableHandle___MIDL_IWinTypes_0009), + "::", + stringify!(hInproc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hRemote) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RemotableHandle___MIDL_IWinTypes_0009), + "::", + stringify!(hRemote) + ) + ); +} +#[test] +fn bindgen_test_layout__RemotableHandle() { + const UNINIT: ::std::mem::MaybeUninit<_RemotableHandle> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RemotableHandle>(), + 8usize, + concat!("Size of: ", stringify!(_RemotableHandle)) + ); + assert_eq!( + ::std::mem::align_of::<_RemotableHandle>(), + 4usize, + concat!("Alignment of ", stringify!(_RemotableHandle)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RemotableHandle), + "::", + stringify!(fContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_RemotableHandle), + "::", + stringify!(u) + ) + ); +} +pub type RemotableHandle = _RemotableHandle; +pub type wireHWND = *mut RemotableHandle; +pub type wireHMENU = *mut RemotableHandle; +pub type wireHACCEL = *mut RemotableHandle; +pub type wireHBRUSH = *mut RemotableHandle; +pub type wireHFONT = *mut RemotableHandle; +pub type wireHDC = *mut RemotableHandle; +pub type wireHICON = *mut RemotableHandle; +pub type wireHRGN = *mut RemotableHandle; +pub type wireHMONITOR = *mut RemotableHandle; +pub type wireHBITMAP = *mut userHBITMAP; +pub type wireHPALETTE = *mut userHPALETTE; +pub type wireHENHMETAFILE = *mut userHENHMETAFILE; +pub type wireHMETAFILE = *mut userHMETAFILE; +pub type wireHMETAFILEPICT = *mut userHMETAFILEPICT; +pub type HMETAFILEPICT = *mut ::std::os::raw::c_void; +extern "C" { + pub static mut IWinTypes_v0_1_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut IWinTypes_v0_1_s_ifspec: RPC_IF_HANDLE; +} +pub type DATE = f64; +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagCY { + pub __bindgen_anon_1: tagCY__bindgen_ty_1, + pub int64: LONGLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCY__bindgen_ty_1 { + pub Lo: ULONG, + pub Hi: LONG, +} +#[test] +fn bindgen_test_layout_tagCY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagCY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCY__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCY__bindgen_ty_1), + "::", + stringify!(Lo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hi) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCY__bindgen_ty_1), + "::", + stringify!(Hi) + ) + ); +} +#[test] +fn bindgen_test_layout_tagCY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagCY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).int64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCY), + "::", + stringify!(int64) + ) + ); +} +pub type CY = tagCY; +pub type LPCY = *mut CY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagDEC { + pub wReserved: USHORT, + pub __bindgen_anon_1: tagDEC__bindgen_ty_1, + pub Hi32: ULONG, + pub __bindgen_anon_2: tagDEC__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagDEC__bindgen_ty_1 { + pub __bindgen_anon_1: tagDEC__bindgen_ty_1__bindgen_ty_1, + pub signscale: USHORT, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDEC__bindgen_ty_1__bindgen_ty_1 { + pub scale: BYTE, + pub sign: BYTE, +} +#[test] +fn bindgen_test_layout_tagDEC__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!("Size of: ", stringify!(tagDEC__bindgen_ty_1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(tagDEC__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(scale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(sign) + ) + ); +} +#[test] +fn bindgen_test_layout_tagDEC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!("Size of: ", stringify!(tagDEC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagDEC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).signscale) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_1), + "::", + stringify!(signscale) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagDEC__bindgen_ty_2 { + pub __bindgen_anon_1: tagDEC__bindgen_ty_2__bindgen_ty_1, + pub Lo64: ULONGLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDEC__bindgen_ty_2__bindgen_ty_1 { + pub Lo32: ULONG, + pub Mid32: ULONG, +} +#[test] +fn bindgen_test_layout_tagDEC__bindgen_ty_2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagDEC__bindgen_ty_2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(tagDEC__bindgen_ty_2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lo32) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Lo32) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mid32) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_2__bindgen_ty_1), + "::", + stringify!(Mid32) + ) + ); +} +#[test] +fn bindgen_test_layout_tagDEC__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagDEC__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDEC__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lo64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC__bindgen_ty_2), + "::", + stringify!(Lo64) + ) + ); +} +#[test] +fn bindgen_test_layout_tagDEC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagDEC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDEC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEC), + "::", + stringify!(wReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hi32) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDEC), + "::", + stringify!(Hi32) + ) + ); +} +pub type DECIMAL = tagDEC; +pub type LPDECIMAL = *mut DECIMAL; +pub type wireBSTR = *mut FLAGGED_WORD_BLOB; +pub type BSTR = *mut OLECHAR; +pub type LPBSTR = *mut BSTR; +pub type VARIANT_BOOL = ::std::os::raw::c_short; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBSTRBLOB { + pub cbSize: ULONG, + pub pData: *mut BYTE, +} +#[test] +fn bindgen_test_layout_tagBSTRBLOB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBSTRBLOB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBSTRBLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBSTRBLOB), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBSTRBLOB), + "::", + stringify!(pData) + ) + ); +} +pub type BSTRBLOB = tagBSTRBLOB; +pub type LPBSTRBLOB = *mut tagBSTRBLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCLIPDATA { + pub cbSize: ULONG, + pub ulClipFmt: LONG, + pub pClipData: *mut BYTE, +} +#[test] +fn bindgen_test_layout_tagCLIPDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCLIPDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCLIPDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCLIPDATA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulClipFmt) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCLIPDATA), + "::", + stringify!(ulClipFmt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pClipData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCLIPDATA), + "::", + stringify!(pClipData) + ) + ); +} +pub type CLIPDATA = tagCLIPDATA; +pub type VARTYPE = ::std::os::raw::c_ushort; +pub const VARENUM_VT_EMPTY: VARENUM = 0; +pub const VARENUM_VT_NULL: VARENUM = 1; +pub const VARENUM_VT_I2: VARENUM = 2; +pub const VARENUM_VT_I4: VARENUM = 3; +pub const VARENUM_VT_R4: VARENUM = 4; +pub const VARENUM_VT_R8: VARENUM = 5; +pub const VARENUM_VT_CY: VARENUM = 6; +pub const VARENUM_VT_DATE: VARENUM = 7; +pub const VARENUM_VT_BSTR: VARENUM = 8; +pub const VARENUM_VT_DISPATCH: VARENUM = 9; +pub const VARENUM_VT_ERROR: VARENUM = 10; +pub const VARENUM_VT_BOOL: VARENUM = 11; +pub const VARENUM_VT_VARIANT: VARENUM = 12; +pub const VARENUM_VT_UNKNOWN: VARENUM = 13; +pub const VARENUM_VT_DECIMAL: VARENUM = 14; +pub const VARENUM_VT_I1: VARENUM = 16; +pub const VARENUM_VT_UI1: VARENUM = 17; +pub const VARENUM_VT_UI2: VARENUM = 18; +pub const VARENUM_VT_UI4: VARENUM = 19; +pub const VARENUM_VT_I8: VARENUM = 20; +pub const VARENUM_VT_UI8: VARENUM = 21; +pub const VARENUM_VT_INT: VARENUM = 22; +pub const VARENUM_VT_UINT: VARENUM = 23; +pub const VARENUM_VT_VOID: VARENUM = 24; +pub const VARENUM_VT_HRESULT: VARENUM = 25; +pub const VARENUM_VT_PTR: VARENUM = 26; +pub const VARENUM_VT_SAFEARRAY: VARENUM = 27; +pub const VARENUM_VT_CARRAY: VARENUM = 28; +pub const VARENUM_VT_USERDEFINED: VARENUM = 29; +pub const VARENUM_VT_LPSTR: VARENUM = 30; +pub const VARENUM_VT_LPWSTR: VARENUM = 31; +pub const VARENUM_VT_RECORD: VARENUM = 36; +pub const VARENUM_VT_INT_PTR: VARENUM = 37; +pub const VARENUM_VT_UINT_PTR: VARENUM = 38; +pub const VARENUM_VT_FILETIME: VARENUM = 64; +pub const VARENUM_VT_BLOB: VARENUM = 65; +pub const VARENUM_VT_STREAM: VARENUM = 66; +pub const VARENUM_VT_STORAGE: VARENUM = 67; +pub const VARENUM_VT_STREAMED_OBJECT: VARENUM = 68; +pub const VARENUM_VT_STORED_OBJECT: VARENUM = 69; +pub const VARENUM_VT_BLOB_OBJECT: VARENUM = 70; +pub const VARENUM_VT_CF: VARENUM = 71; +pub const VARENUM_VT_CLSID: VARENUM = 72; +pub const VARENUM_VT_VERSIONED_STREAM: VARENUM = 73; +pub const VARENUM_VT_BSTR_BLOB: VARENUM = 4095; +pub const VARENUM_VT_VECTOR: VARENUM = 4096; +pub const VARENUM_VT_ARRAY: VARENUM = 8192; +pub const VARENUM_VT_BYREF: VARENUM = 16384; +pub const VARENUM_VT_RESERVED: VARENUM = 32768; +pub const VARENUM_VT_ILLEGAL: VARENUM = 65535; +pub const VARENUM_VT_ILLEGALMASKED: VARENUM = 4095; +pub const VARENUM_VT_TYPEMASK: VARENUM = 4095; +pub type VARENUM = ::std::os::raw::c_int; +pub type PROPID = ULONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagpropertykey { + pub fmtid: GUID, + pub pid: DWORD, +} +#[test] +fn bindgen_test_layout__tagpropertykey() { + const UNINIT: ::std::mem::MaybeUninit<_tagpropertykey> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagpropertykey>(), + 20usize, + concat!("Size of: ", stringify!(_tagpropertykey)) + ); + assert_eq!( + ::std::mem::align_of::<_tagpropertykey>(), + 4usize, + concat!("Alignment of ", stringify!(_tagpropertykey)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fmtid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagpropertykey), + "::", + stringify!(fmtid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagpropertykey), + "::", + stringify!(pid) + ) + ); +} +pub type PROPERTYKEY = _tagpropertykey; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCSPLATFORM { + pub dwPlatformId: DWORD, + pub dwVersionHi: DWORD, + pub dwVersionLo: DWORD, + pub dwProcessorArch: DWORD, +} +#[test] +fn bindgen_test_layout_tagCSPLATFORM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCSPLATFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCSPLATFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPlatformId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCSPLATFORM), + "::", + stringify!(dwPlatformId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionHi) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCSPLATFORM), + "::", + stringify!(dwVersionHi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionLo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCSPLATFORM), + "::", + stringify!(dwVersionLo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessorArch) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCSPLATFORM), + "::", + stringify!(dwProcessorArch) + ) + ); +} +pub type CSPLATFORM = tagCSPLATFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagQUERYCONTEXT { + pub dwContext: DWORD, + pub Platform: CSPLATFORM, + pub Locale: LCID, + pub dwVersionHi: DWORD, + pub dwVersionLo: DWORD, +} +#[test] +fn bindgen_test_layout_tagQUERYCONTEXT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagQUERYCONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagQUERYCONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwContext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(dwContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Platform) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(Platform) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Locale) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(Locale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionHi) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(dwVersionHi) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionLo) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagQUERYCONTEXT), + "::", + stringify!(dwVersionLo) + ) + ); +} +pub type QUERYCONTEXT = tagQUERYCONTEXT; +pub const tagTYSPEC_TYSPEC_CLSID: tagTYSPEC = 0; +pub const tagTYSPEC_TYSPEC_FILEEXT: tagTYSPEC = 1; +pub const tagTYSPEC_TYSPEC_MIMETYPE: tagTYSPEC = 2; +pub const tagTYSPEC_TYSPEC_FILENAME: tagTYSPEC = 3; +pub const tagTYSPEC_TYSPEC_PROGID: tagTYSPEC = 4; +pub const tagTYSPEC_TYSPEC_PACKAGENAME: tagTYSPEC = 5; +pub const tagTYSPEC_TYSPEC_OBJECTID: tagTYSPEC = 6; +pub type tagTYSPEC = ::std::os::raw::c_int; +pub use self::tagTYSPEC as TYSPEC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct __MIDL___MIDL_itf_wtypes_0000_0001_0001 { + pub tyspec: DWORD, + pub tagged_union: + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 { pub clsid : CLSID , pub pFileExt : LPOLESTR , pub pMimeType : LPOLESTR , pub pProgId : LPOLESTR , pub pFileName : LPOLESTR , pub ByName : __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 , pub ByObjectId : __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 , } +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 +{ + pub pPackageName: LPOLESTR, + pub PolicyId: GUID, +} +#[test] +fn bindgen_test_layout___MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1( +) { + const UNINIT : :: std :: mem :: MaybeUninit < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 > = :: std :: mem :: MaybeUninit :: uninit () ; + let ptr = UNINIT.as_ptr(); + assert_eq ! (:: std :: mem :: size_of :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 > () , 24usize , concat ! ("Size of: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1))); + assert_eq ! (:: std :: mem :: align_of :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1 > () , 8usize , concat ! ("Alignment of " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . pPackageName) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1) , "::" , stringify ! (pPackageName))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PolicyId) as usize - ptr as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_1) , "::" , stringify ! (PolicyId))); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 +{ + pub ObjectId: GUID, + pub PolicyId: GUID, +} +#[test] +fn bindgen_test_layout___MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2( +) { + const UNINIT : :: std :: mem :: MaybeUninit < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 > = :: std :: mem :: MaybeUninit :: uninit () ; + let ptr = UNINIT.as_ptr(); + assert_eq ! (:: std :: mem :: size_of :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 > () , 32usize , concat ! ("Size of: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2))); + assert_eq ! (:: std :: mem :: align_of :: < __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2 > () , 4usize , concat ! ("Alignment of " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . ObjectId) as usize - ptr as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2) , "::" , stringify ! (ObjectId))); + assert_eq ! (unsafe { :: std :: ptr :: addr_of ! ((* ptr) . PolicyId) as usize - ptr as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005__bindgen_ty_2) , "::" , stringify ! (PolicyId))); +} +#[test] +fn bindgen_test_layout___MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005( +) { + const UNINIT: ::std::mem::MaybeUninit< + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, + >(), + 32usize, + concat!( + "Size of: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ) + ) + ); + assert_eq!( + ::std::mem::align_of::< + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005, + >(), + 8usize, + concat!( + "Alignment of ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFileExt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(pFileExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMimeType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(pMimeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProgId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(pProgId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFileName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(pFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(ByName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByObjectId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!( + __MIDL___MIDL_itf_wtypes_0000_0001_0001___MIDL___MIDL_itf_wtypes_0000_0001_0005 + ), + "::", + stringify!(ByObjectId) + ) + ); +} +#[test] +fn bindgen_test_layout___MIDL___MIDL_itf_wtypes_0000_0001_0001() { + const UNINIT: ::std::mem::MaybeUninit<__MIDL___MIDL_itf_wtypes_0000_0001_0001> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<__MIDL___MIDL_itf_wtypes_0000_0001_0001>(), + 40usize, + concat!( + "Size of: ", + stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001) + ) + ); + assert_eq!( + ::std::mem::align_of::<__MIDL___MIDL_itf_wtypes_0000_0001_0001>(), + 8usize, + concat!( + "Alignment of ", + stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tyspec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001), + "::", + stringify!(tyspec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tagged_union) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(__MIDL___MIDL_itf_wtypes_0000_0001_0001), + "::", + stringify!(tagged_union) + ) + ); +} +pub type uCLSSPEC = __MIDL___MIDL_itf_wtypes_0000_0001_0001; +extern "C" { + pub static mut __MIDL_itf_wtypes_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_wtypes_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static GUID_DEVINTERFACE_DISK: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_CDROM: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_PARTITION: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_TAPE: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_WRITEONCEDISK: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_VOLUME: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_MEDIUMCHANGER: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_FLOPPY: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_CDCHANGER: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_STORAGEPORT: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_VMLUN: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_SES: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_SERVICE_VOLUME: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_HIDDEN_VOLUME: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_UNIFIED_ACCESS_RPMB: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_SCM_PHYSICAL_DEVICE: GUID; +} +extern "C" { + pub static GUID_SCM_PD_HEALTH_NOTIFICATION: GUID; +} +extern "C" { + pub static GUID_SCM_PD_PASSTHROUGH_INVDIMM: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_COMPORT: GUID; +} +extern "C" { + pub static GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HOTPLUG_INFO { + pub Size: DWORD, + pub MediaRemovable: BOOLEAN, + pub MediaHotplug: BOOLEAN, + pub DeviceHotplug: BOOLEAN, + pub WriteCacheEnableOverride: BOOLEAN, +} +#[test] +fn bindgen_test_layout__STORAGE_HOTPLUG_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HOTPLUG_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HOTPLUG_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_STORAGE_HOTPLUG_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HOTPLUG_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HOTPLUG_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaRemovable) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(MediaRemovable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaHotplug) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(MediaHotplug) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceHotplug) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(DeviceHotplug) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheEnableOverride) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HOTPLUG_INFO), + "::", + stringify!(WriteCacheEnableOverride) + ) + ); +} +pub type STORAGE_HOTPLUG_INFO = _STORAGE_HOTPLUG_INFO; +pub type PSTORAGE_HOTPLUG_INFO = *mut _STORAGE_HOTPLUG_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_NUMBER { + pub DeviceType: DWORD, + pub DeviceNumber: DWORD, + pub PartitionNumber: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_NUMBER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_NUMBER>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_NUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_NUMBER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_NUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER), + "::", + stringify!(DeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER), + "::", + stringify!(PartitionNumber) + ) + ); +} +pub type STORAGE_DEVICE_NUMBER = _STORAGE_DEVICE_NUMBER; +pub type PSTORAGE_DEVICE_NUMBER = *mut _STORAGE_DEVICE_NUMBER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_NUMBERS { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfDevices: DWORD, + pub Devices: [STORAGE_DEVICE_NUMBER; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_NUMBERS() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_NUMBERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_NUMBERS>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_NUMBERS)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_NUMBERS>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_NUMBERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDevices) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBERS), + "::", + stringify!(NumberOfDevices) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Devices) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBERS), + "::", + stringify!(Devices) + ) + ); +} +pub type STORAGE_DEVICE_NUMBERS = _STORAGE_DEVICE_NUMBERS; +pub type PSTORAGE_DEVICE_NUMBERS = *mut _STORAGE_DEVICE_NUMBERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_NUMBER_EX { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub DeviceType: DWORD, + pub DeviceNumber: DWORD, + pub DeviceGuid: GUID, + pub PartitionNumber: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_NUMBER_EX() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_NUMBER_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_NUMBER_EX>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_NUMBER_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_NUMBER_EX>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_NUMBER_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(DeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(DeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMBER_EX), + "::", + stringify!(PartitionNumber) + ) + ); +} +pub type STORAGE_DEVICE_NUMBER_EX = _STORAGE_DEVICE_NUMBER_EX; +pub type PSTORAGE_DEVICE_NUMBER_EX = *mut _STORAGE_DEVICE_NUMBER_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_BUS_RESET_REQUEST { + pub PathId: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_BUS_RESET_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_BUS_RESET_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_BUS_RESET_REQUEST>(), + 1usize, + concat!("Size of: ", stringify!(_STORAGE_BUS_RESET_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_BUS_RESET_REQUEST>(), + 1usize, + concat!("Alignment of ", stringify!(_STORAGE_BUS_RESET_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_BUS_RESET_REQUEST), + "::", + stringify!(PathId) + ) + ); +} +pub type STORAGE_BUS_RESET_REQUEST = _STORAGE_BUS_RESET_REQUEST; +pub type PSTORAGE_BUS_RESET_REQUEST = *mut _STORAGE_BUS_RESET_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct STORAGE_BREAK_RESERVATION_REQUEST { + pub Length: DWORD, + pub _unused: BYTE, + pub PathId: BYTE, + pub TargetId: BYTE, + pub Lun: BYTE, +} +#[test] +fn bindgen_test_layout_STORAGE_BREAK_RESERVATION_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(STORAGE_BREAK_RESERVATION_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._unused) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(_unused) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathId) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(PathId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetId) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(TargetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lun) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(STORAGE_BREAK_RESERVATION_REQUEST), + "::", + stringify!(Lun) + ) + ); +} +pub type PSTORAGE_BREAK_RESERVATION_REQUEST = *mut STORAGE_BREAK_RESERVATION_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PREVENT_MEDIA_REMOVAL { + pub PreventMediaRemoval: BOOLEAN, +} +#[test] +fn bindgen_test_layout__PREVENT_MEDIA_REMOVAL() { + const UNINIT: ::std::mem::MaybeUninit<_PREVENT_MEDIA_REMOVAL> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PREVENT_MEDIA_REMOVAL>(), + 1usize, + concat!("Size of: ", stringify!(_PREVENT_MEDIA_REMOVAL)) + ); + assert_eq!( + ::std::mem::align_of::<_PREVENT_MEDIA_REMOVAL>(), + 1usize, + concat!("Alignment of ", stringify!(_PREVENT_MEDIA_REMOVAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreventMediaRemoval) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PREVENT_MEDIA_REMOVAL), + "::", + stringify!(PreventMediaRemoval) + ) + ); +} +pub type PREVENT_MEDIA_REMOVAL = _PREVENT_MEDIA_REMOVAL; +pub type PPREVENT_MEDIA_REMOVAL = *mut _PREVENT_MEDIA_REMOVAL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CLASS_MEDIA_CHANGE_CONTEXT { + pub MediaChangeCount: DWORD, + pub NewState: DWORD, +} +#[test] +fn bindgen_test_layout__CLASS_MEDIA_CHANGE_CONTEXT() { + const UNINIT: ::std::mem::MaybeUninit<_CLASS_MEDIA_CHANGE_CONTEXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLASS_MEDIA_CHANGE_CONTEXT>(), + 8usize, + concat!("Size of: ", stringify!(_CLASS_MEDIA_CHANGE_CONTEXT)) + ); + assert_eq!( + ::std::mem::align_of::<_CLASS_MEDIA_CHANGE_CONTEXT>(), + 4usize, + concat!("Alignment of ", stringify!(_CLASS_MEDIA_CHANGE_CONTEXT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaChangeCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLASS_MEDIA_CHANGE_CONTEXT), + "::", + stringify!(MediaChangeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CLASS_MEDIA_CHANGE_CONTEXT), + "::", + stringify!(NewState) + ) + ); +} +pub type CLASS_MEDIA_CHANGE_CONTEXT = _CLASS_MEDIA_CHANGE_CONTEXT; +pub type PCLASS_MEDIA_CHANGE_CONTEXT = *mut _CLASS_MEDIA_CHANGE_CONTEXT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TAPE_STATISTICS { + pub Version: DWORD, + pub Flags: DWORD, + pub RecoveredWrites: LARGE_INTEGER, + pub UnrecoveredWrites: LARGE_INTEGER, + pub RecoveredReads: LARGE_INTEGER, + pub UnrecoveredReads: LARGE_INTEGER, + pub CompressionRatioReads: BYTE, + pub CompressionRatioWrites: BYTE, +} +#[test] +fn bindgen_test_layout__TAPE_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_STATISTICS>(), + 48usize, + concat!("Size of: ", stringify!(_TAPE_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_STATISTICS>(), + 8usize, + concat!("Alignment of ", stringify!(_TAPE_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecoveredWrites) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(RecoveredWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnrecoveredWrites) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(UnrecoveredWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecoveredReads) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(RecoveredReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnrecoveredReads) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(UnrecoveredReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionRatioReads) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(CompressionRatioReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionRatioWrites) as usize - ptr as usize }, + 41usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_STATISTICS), + "::", + stringify!(CompressionRatioWrites) + ) + ); +} +pub type TAPE_STATISTICS = _TAPE_STATISTICS; +pub type PTAPE_STATISTICS = *mut _TAPE_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TAPE_GET_STATISTICS { + pub Operation: DWORD, +} +#[test] +fn bindgen_test_layout__TAPE_GET_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_TAPE_GET_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TAPE_GET_STATISTICS>(), + 4usize, + concat!("Size of: ", stringify!(_TAPE_GET_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_TAPE_GET_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_TAPE_GET_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Operation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TAPE_GET_STATISTICS), + "::", + stringify!(Operation) + ) + ); +} +pub type TAPE_GET_STATISTICS = _TAPE_GET_STATISTICS; +pub type PTAPE_GET_STATISTICS = *mut _TAPE_GET_STATISTICS; +pub const _STORAGE_MEDIA_TYPE_DDS_4mm: _STORAGE_MEDIA_TYPE = 32; +pub const _STORAGE_MEDIA_TYPE_MiniQic: _STORAGE_MEDIA_TYPE = 33; +pub const _STORAGE_MEDIA_TYPE_Travan: _STORAGE_MEDIA_TYPE = 34; +pub const _STORAGE_MEDIA_TYPE_QIC: _STORAGE_MEDIA_TYPE = 35; +pub const _STORAGE_MEDIA_TYPE_MP_8mm: _STORAGE_MEDIA_TYPE = 36; +pub const _STORAGE_MEDIA_TYPE_AME_8mm: _STORAGE_MEDIA_TYPE = 37; +pub const _STORAGE_MEDIA_TYPE_AIT1_8mm: _STORAGE_MEDIA_TYPE = 38; +pub const _STORAGE_MEDIA_TYPE_DLT: _STORAGE_MEDIA_TYPE = 39; +pub const _STORAGE_MEDIA_TYPE_NCTP: _STORAGE_MEDIA_TYPE = 40; +pub const _STORAGE_MEDIA_TYPE_IBM_3480: _STORAGE_MEDIA_TYPE = 41; +pub const _STORAGE_MEDIA_TYPE_IBM_3490E: _STORAGE_MEDIA_TYPE = 42; +pub const _STORAGE_MEDIA_TYPE_IBM_Magstar_3590: _STORAGE_MEDIA_TYPE = 43; +pub const _STORAGE_MEDIA_TYPE_IBM_Magstar_MP: _STORAGE_MEDIA_TYPE = 44; +pub const _STORAGE_MEDIA_TYPE_STK_DATA_D3: _STORAGE_MEDIA_TYPE = 45; +pub const _STORAGE_MEDIA_TYPE_SONY_DTF: _STORAGE_MEDIA_TYPE = 46; +pub const _STORAGE_MEDIA_TYPE_DV_6mm: _STORAGE_MEDIA_TYPE = 47; +pub const _STORAGE_MEDIA_TYPE_DMI: _STORAGE_MEDIA_TYPE = 48; +pub const _STORAGE_MEDIA_TYPE_SONY_D2: _STORAGE_MEDIA_TYPE = 49; +pub const _STORAGE_MEDIA_TYPE_CLEANER_CARTRIDGE: _STORAGE_MEDIA_TYPE = 50; +pub const _STORAGE_MEDIA_TYPE_CD_ROM: _STORAGE_MEDIA_TYPE = 51; +pub const _STORAGE_MEDIA_TYPE_CD_R: _STORAGE_MEDIA_TYPE = 52; +pub const _STORAGE_MEDIA_TYPE_CD_RW: _STORAGE_MEDIA_TYPE = 53; +pub const _STORAGE_MEDIA_TYPE_DVD_ROM: _STORAGE_MEDIA_TYPE = 54; +pub const _STORAGE_MEDIA_TYPE_DVD_R: _STORAGE_MEDIA_TYPE = 55; +pub const _STORAGE_MEDIA_TYPE_DVD_RW: _STORAGE_MEDIA_TYPE = 56; +pub const _STORAGE_MEDIA_TYPE_MO_3_RW: _STORAGE_MEDIA_TYPE = 57; +pub const _STORAGE_MEDIA_TYPE_MO_5_WO: _STORAGE_MEDIA_TYPE = 58; +pub const _STORAGE_MEDIA_TYPE_MO_5_RW: _STORAGE_MEDIA_TYPE = 59; +pub const _STORAGE_MEDIA_TYPE_MO_5_LIMDOW: _STORAGE_MEDIA_TYPE = 60; +pub const _STORAGE_MEDIA_TYPE_PC_5_WO: _STORAGE_MEDIA_TYPE = 61; +pub const _STORAGE_MEDIA_TYPE_PC_5_RW: _STORAGE_MEDIA_TYPE = 62; +pub const _STORAGE_MEDIA_TYPE_PD_5_RW: _STORAGE_MEDIA_TYPE = 63; +pub const _STORAGE_MEDIA_TYPE_ABL_5_WO: _STORAGE_MEDIA_TYPE = 64; +pub const _STORAGE_MEDIA_TYPE_PINNACLE_APEX_5_RW: _STORAGE_MEDIA_TYPE = 65; +pub const _STORAGE_MEDIA_TYPE_SONY_12_WO: _STORAGE_MEDIA_TYPE = 66; +pub const _STORAGE_MEDIA_TYPE_PHILIPS_12_WO: _STORAGE_MEDIA_TYPE = 67; +pub const _STORAGE_MEDIA_TYPE_HITACHI_12_WO: _STORAGE_MEDIA_TYPE = 68; +pub const _STORAGE_MEDIA_TYPE_CYGNET_12_WO: _STORAGE_MEDIA_TYPE = 69; +pub const _STORAGE_MEDIA_TYPE_KODAK_14_WO: _STORAGE_MEDIA_TYPE = 70; +pub const _STORAGE_MEDIA_TYPE_MO_NFR_525: _STORAGE_MEDIA_TYPE = 71; +pub const _STORAGE_MEDIA_TYPE_NIKON_12_RW: _STORAGE_MEDIA_TYPE = 72; +pub const _STORAGE_MEDIA_TYPE_IOMEGA_ZIP: _STORAGE_MEDIA_TYPE = 73; +pub const _STORAGE_MEDIA_TYPE_IOMEGA_JAZ: _STORAGE_MEDIA_TYPE = 74; +pub const _STORAGE_MEDIA_TYPE_SYQUEST_EZ135: _STORAGE_MEDIA_TYPE = 75; +pub const _STORAGE_MEDIA_TYPE_SYQUEST_EZFLYER: _STORAGE_MEDIA_TYPE = 76; +pub const _STORAGE_MEDIA_TYPE_SYQUEST_SYJET: _STORAGE_MEDIA_TYPE = 77; +pub const _STORAGE_MEDIA_TYPE_AVATAR_F2: _STORAGE_MEDIA_TYPE = 78; +pub const _STORAGE_MEDIA_TYPE_MP2_8mm: _STORAGE_MEDIA_TYPE = 79; +pub const _STORAGE_MEDIA_TYPE_DST_S: _STORAGE_MEDIA_TYPE = 80; +pub const _STORAGE_MEDIA_TYPE_DST_M: _STORAGE_MEDIA_TYPE = 81; +pub const _STORAGE_MEDIA_TYPE_DST_L: _STORAGE_MEDIA_TYPE = 82; +pub const _STORAGE_MEDIA_TYPE_VXATape_1: _STORAGE_MEDIA_TYPE = 83; +pub const _STORAGE_MEDIA_TYPE_VXATape_2: _STORAGE_MEDIA_TYPE = 84; +pub const _STORAGE_MEDIA_TYPE_STK_9840: _STORAGE_MEDIA_TYPE = 85; +pub const _STORAGE_MEDIA_TYPE_LTO_Ultrium: _STORAGE_MEDIA_TYPE = 86; +pub const _STORAGE_MEDIA_TYPE_LTO_Accelis: _STORAGE_MEDIA_TYPE = 87; +pub const _STORAGE_MEDIA_TYPE_DVD_RAM: _STORAGE_MEDIA_TYPE = 88; +pub const _STORAGE_MEDIA_TYPE_AIT_8mm: _STORAGE_MEDIA_TYPE = 89; +pub const _STORAGE_MEDIA_TYPE_ADR_1: _STORAGE_MEDIA_TYPE = 90; +pub const _STORAGE_MEDIA_TYPE_ADR_2: _STORAGE_MEDIA_TYPE = 91; +pub const _STORAGE_MEDIA_TYPE_STK_9940: _STORAGE_MEDIA_TYPE = 92; +pub const _STORAGE_MEDIA_TYPE_SAIT: _STORAGE_MEDIA_TYPE = 93; +pub const _STORAGE_MEDIA_TYPE_VXATape: _STORAGE_MEDIA_TYPE = 94; +pub type _STORAGE_MEDIA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_MEDIA_TYPE as STORAGE_MEDIA_TYPE; +pub type PSTORAGE_MEDIA_TYPE = *mut _STORAGE_MEDIA_TYPE; +pub const _STORAGE_BUS_TYPE_BusTypeUnknown: _STORAGE_BUS_TYPE = 0; +pub const _STORAGE_BUS_TYPE_BusTypeScsi: _STORAGE_BUS_TYPE = 1; +pub const _STORAGE_BUS_TYPE_BusTypeAtapi: _STORAGE_BUS_TYPE = 2; +pub const _STORAGE_BUS_TYPE_BusTypeAta: _STORAGE_BUS_TYPE = 3; +pub const _STORAGE_BUS_TYPE_BusType1394: _STORAGE_BUS_TYPE = 4; +pub const _STORAGE_BUS_TYPE_BusTypeSsa: _STORAGE_BUS_TYPE = 5; +pub const _STORAGE_BUS_TYPE_BusTypeFibre: _STORAGE_BUS_TYPE = 6; +pub const _STORAGE_BUS_TYPE_BusTypeUsb: _STORAGE_BUS_TYPE = 7; +pub const _STORAGE_BUS_TYPE_BusTypeRAID: _STORAGE_BUS_TYPE = 8; +pub const _STORAGE_BUS_TYPE_BusTypeiScsi: _STORAGE_BUS_TYPE = 9; +pub const _STORAGE_BUS_TYPE_BusTypeSas: _STORAGE_BUS_TYPE = 10; +pub const _STORAGE_BUS_TYPE_BusTypeSata: _STORAGE_BUS_TYPE = 11; +pub const _STORAGE_BUS_TYPE_BusTypeSd: _STORAGE_BUS_TYPE = 12; +pub const _STORAGE_BUS_TYPE_BusTypeMmc: _STORAGE_BUS_TYPE = 13; +pub const _STORAGE_BUS_TYPE_BusTypeVirtual: _STORAGE_BUS_TYPE = 14; +pub const _STORAGE_BUS_TYPE_BusTypeFileBackedVirtual: _STORAGE_BUS_TYPE = 15; +pub const _STORAGE_BUS_TYPE_BusTypeSpaces: _STORAGE_BUS_TYPE = 16; +pub const _STORAGE_BUS_TYPE_BusTypeNvme: _STORAGE_BUS_TYPE = 17; +pub const _STORAGE_BUS_TYPE_BusTypeSCM: _STORAGE_BUS_TYPE = 18; +pub const _STORAGE_BUS_TYPE_BusTypeUfs: _STORAGE_BUS_TYPE = 19; +pub const _STORAGE_BUS_TYPE_BusTypeMax: _STORAGE_BUS_TYPE = 20; +pub const _STORAGE_BUS_TYPE_BusTypeMaxReserved: _STORAGE_BUS_TYPE = 127; +pub type _STORAGE_BUS_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_BUS_TYPE as STORAGE_BUS_TYPE; +pub type PSTORAGE_BUS_TYPE = *mut _STORAGE_BUS_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO { + pub DeviceSpecific: _DEVICE_MEDIA_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICE_MEDIA_INFO__bindgen_ty_1 { + pub DiskInfo: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1, + pub RemovableDiskInfo: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2, + pub TapeInfo: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1 { + pub Cylinders: LARGE_INTEGER, + pub MediaType: STORAGE_MEDIA_TYPE, + pub TracksPerCylinder: DWORD, + pub SectorsPerTrack: DWORD, + pub BytesPerSector: DWORD, + pub NumberMediaSides: DWORD, + pub MediaCharacteristics: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cylinders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Cylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TracksPerCylinder) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(TracksPerCylinder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BytesPerSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberMediaSides) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(NumberMediaSides) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaCharacteristics) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MediaCharacteristics) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2 { + pub Cylinders: LARGE_INTEGER, + pub MediaType: STORAGE_MEDIA_TYPE, + pub TracksPerCylinder: DWORD, + pub SectorsPerTrack: DWORD, + pub BytesPerSector: DWORD, + pub NumberMediaSides: DWORD, + pub MediaCharacteristics: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cylinders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Cylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TracksPerCylinder) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(TracksPerCylinder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(BytesPerSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberMediaSides) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(NumberMediaSides) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaCharacteristics) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(MediaCharacteristics) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3 { + pub MediaType: STORAGE_MEDIA_TYPE, + pub MediaCharacteristics: DWORD, + pub CurrentBlockSize: DWORD, + pub BusType: STORAGE_BUS_TYPE, + pub BusSpecificData: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1 { + pub ScsiInformation: _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 { + pub MediumType: BYTE, + pub DensityCode: BYTE, +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1() +{ + const UNINIT: ::std::mem::MaybeUninit< + _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + >(), + 2usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediumType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MediumType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DensityCode) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(DensityCode) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1>(), + 2usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScsiInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3__bindgen_ty_1), + "::", + stringify!(ScsiInformation) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3>(), + 20usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaCharacteristics) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(MediaCharacteristics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentBlockSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(CurrentBlockSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(BusType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusSpecificData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(BusSpecificData) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1>(), + 32usize, + concat!("Size of: ", stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1), + "::", + stringify!(DiskInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemovableDiskInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1), + "::", + stringify!(RemovableDiskInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TapeInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO__bindgen_ty_1), + "::", + stringify!(TapeInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_MEDIA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MEDIA_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MEDIA_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_DEVICE_MEDIA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MEDIA_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_MEDIA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceSpecific) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MEDIA_INFO), + "::", + stringify!(DeviceSpecific) + ) + ); +} +pub type DEVICE_MEDIA_INFO = _DEVICE_MEDIA_INFO; +pub type PDEVICE_MEDIA_INFO = *mut _DEVICE_MEDIA_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GET_MEDIA_TYPES { + pub DeviceType: DWORD, + pub MediaInfoCount: DWORD, + pub MediaInfo: [DEVICE_MEDIA_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__GET_MEDIA_TYPES() { + const UNINIT: ::std::mem::MaybeUninit<_GET_MEDIA_TYPES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_MEDIA_TYPES>(), + 40usize, + concat!("Size of: ", stringify!(_GET_MEDIA_TYPES)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_MEDIA_TYPES>(), + 8usize, + concat!("Alignment of ", stringify!(_GET_MEDIA_TYPES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_MEDIA_TYPES), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaInfoCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GET_MEDIA_TYPES), + "::", + stringify!(MediaInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GET_MEDIA_TYPES), + "::", + stringify!(MediaInfo) + ) + ); +} +pub type GET_MEDIA_TYPES = _GET_MEDIA_TYPES; +pub type PGET_MEDIA_TYPES = *mut _GET_MEDIA_TYPES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PREDICT_FAILURE { + pub PredictFailure: DWORD, + pub VendorSpecific: [BYTE; 512usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PREDICT_FAILURE() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PREDICT_FAILURE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PREDICT_FAILURE>(), + 516usize, + concat!("Size of: ", stringify!(_STORAGE_PREDICT_FAILURE)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PREDICT_FAILURE>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PREDICT_FAILURE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PredictFailure) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PREDICT_FAILURE), + "::", + stringify!(PredictFailure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorSpecific) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PREDICT_FAILURE), + "::", + stringify!(VendorSpecific) + ) + ); +} +pub type STORAGE_PREDICT_FAILURE = _STORAGE_PREDICT_FAILURE; +pub type PSTORAGE_PREDICT_FAILURE = *mut _STORAGE_PREDICT_FAILURE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_FAILURE_PREDICTION_CONFIG { + pub Version: DWORD, + pub Size: DWORD, + pub Set: BOOLEAN, + pub Enabled: BOOLEAN, + pub Reserved: WORD, +} +#[test] +fn bindgen_test_layout__STORAGE_FAILURE_PREDICTION_CONFIG() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_FAILURE_PREDICTION_CONFIG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_FAILURE_PREDICTION_CONFIG>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_FAILURE_PREDICTION_CONFIG>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Set) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Set) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enabled) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Enabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_FAILURE_PREDICTION_CONFIG), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_FAILURE_PREDICTION_CONFIG = _STORAGE_FAILURE_PREDICTION_CONFIG; +pub type PSTORAGE_FAILURE_PREDICTION_CONFIG = *mut _STORAGE_FAILURE_PREDICTION_CONFIG; +pub const _STORAGE_QUERY_TYPE_PropertyStandardQuery: _STORAGE_QUERY_TYPE = 0; +pub const _STORAGE_QUERY_TYPE_PropertyExistsQuery: _STORAGE_QUERY_TYPE = 1; +pub const _STORAGE_QUERY_TYPE_PropertyMaskQuery: _STORAGE_QUERY_TYPE = 2; +pub const _STORAGE_QUERY_TYPE_PropertyQueryMaxDefined: _STORAGE_QUERY_TYPE = 3; +pub type _STORAGE_QUERY_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_QUERY_TYPE as STORAGE_QUERY_TYPE; +pub type PSTORAGE_QUERY_TYPE = *mut _STORAGE_QUERY_TYPE; +pub const _STORAGE_SET_TYPE_PropertyStandardSet: _STORAGE_SET_TYPE = 0; +pub const _STORAGE_SET_TYPE_PropertyExistsSet: _STORAGE_SET_TYPE = 1; +pub const _STORAGE_SET_TYPE_PropertySetMaxDefined: _STORAGE_SET_TYPE = 2; +pub type _STORAGE_SET_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_SET_TYPE as STORAGE_SET_TYPE; +pub type PSTORAGE_SET_TYPE = *mut _STORAGE_SET_TYPE; +pub const _STORAGE_PROPERTY_ID_StorageDeviceProperty: _STORAGE_PROPERTY_ID = 0; +pub const _STORAGE_PROPERTY_ID_StorageAdapterProperty: _STORAGE_PROPERTY_ID = 1; +pub const _STORAGE_PROPERTY_ID_StorageDeviceIdProperty: _STORAGE_PROPERTY_ID = 2; +pub const _STORAGE_PROPERTY_ID_StorageDeviceUniqueIdProperty: _STORAGE_PROPERTY_ID = 3; +pub const _STORAGE_PROPERTY_ID_StorageDeviceWriteCacheProperty: _STORAGE_PROPERTY_ID = 4; +pub const _STORAGE_PROPERTY_ID_StorageMiniportProperty: _STORAGE_PROPERTY_ID = 5; +pub const _STORAGE_PROPERTY_ID_StorageAccessAlignmentProperty: _STORAGE_PROPERTY_ID = 6; +pub const _STORAGE_PROPERTY_ID_StorageDeviceSeekPenaltyProperty: _STORAGE_PROPERTY_ID = 7; +pub const _STORAGE_PROPERTY_ID_StorageDeviceTrimProperty: _STORAGE_PROPERTY_ID = 8; +pub const _STORAGE_PROPERTY_ID_StorageDeviceWriteAggregationProperty: _STORAGE_PROPERTY_ID = 9; +pub const _STORAGE_PROPERTY_ID_StorageDeviceDeviceTelemetryProperty: _STORAGE_PROPERTY_ID = 10; +pub const _STORAGE_PROPERTY_ID_StorageDeviceLBProvisioningProperty: _STORAGE_PROPERTY_ID = 11; +pub const _STORAGE_PROPERTY_ID_StorageDevicePowerProperty: _STORAGE_PROPERTY_ID = 12; +pub const _STORAGE_PROPERTY_ID_StorageDeviceCopyOffloadProperty: _STORAGE_PROPERTY_ID = 13; +pub const _STORAGE_PROPERTY_ID_StorageDeviceResiliencyProperty: _STORAGE_PROPERTY_ID = 14; +pub const _STORAGE_PROPERTY_ID_StorageDeviceMediumProductType: _STORAGE_PROPERTY_ID = 15; +pub const _STORAGE_PROPERTY_ID_StorageAdapterRpmbProperty: _STORAGE_PROPERTY_ID = 16; +pub const _STORAGE_PROPERTY_ID_StorageAdapterCryptoProperty: _STORAGE_PROPERTY_ID = 17; +pub const _STORAGE_PROPERTY_ID_StorageDeviceIoCapabilityProperty: _STORAGE_PROPERTY_ID = 48; +pub const _STORAGE_PROPERTY_ID_StorageAdapterProtocolSpecificProperty: _STORAGE_PROPERTY_ID = 49; +pub const _STORAGE_PROPERTY_ID_StorageDeviceProtocolSpecificProperty: _STORAGE_PROPERTY_ID = 50; +pub const _STORAGE_PROPERTY_ID_StorageAdapterTemperatureProperty: _STORAGE_PROPERTY_ID = 51; +pub const _STORAGE_PROPERTY_ID_StorageDeviceTemperatureProperty: _STORAGE_PROPERTY_ID = 52; +pub const _STORAGE_PROPERTY_ID_StorageAdapterPhysicalTopologyProperty: _STORAGE_PROPERTY_ID = 53; +pub const _STORAGE_PROPERTY_ID_StorageDevicePhysicalTopologyProperty: _STORAGE_PROPERTY_ID = 54; +pub const _STORAGE_PROPERTY_ID_StorageDeviceAttributesProperty: _STORAGE_PROPERTY_ID = 55; +pub const _STORAGE_PROPERTY_ID_StorageDeviceManagementStatus: _STORAGE_PROPERTY_ID = 56; +pub const _STORAGE_PROPERTY_ID_StorageAdapterSerialNumberProperty: _STORAGE_PROPERTY_ID = 57; +pub const _STORAGE_PROPERTY_ID_StorageDeviceLocationProperty: _STORAGE_PROPERTY_ID = 58; +pub const _STORAGE_PROPERTY_ID_StorageDeviceNumaProperty: _STORAGE_PROPERTY_ID = 59; +pub const _STORAGE_PROPERTY_ID_StorageDeviceZonedDeviceProperty: _STORAGE_PROPERTY_ID = 60; +pub const _STORAGE_PROPERTY_ID_StorageDeviceUnsafeShutdownCount: _STORAGE_PROPERTY_ID = 61; +pub const _STORAGE_PROPERTY_ID_StorageDeviceEnduranceProperty: _STORAGE_PROPERTY_ID = 62; +pub type _STORAGE_PROPERTY_ID = ::std::os::raw::c_int; +pub use self::_STORAGE_PROPERTY_ID as STORAGE_PROPERTY_ID; +pub type PSTORAGE_PROPERTY_ID = *mut _STORAGE_PROPERTY_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROPERTY_QUERY { + pub PropertyId: STORAGE_PROPERTY_ID, + pub QueryType: STORAGE_QUERY_TYPE, + pub AdditionalParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PROPERTY_QUERY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROPERTY_QUERY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROPERTY_QUERY>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_PROPERTY_QUERY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROPERTY_QUERY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PROPERTY_QUERY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropertyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_QUERY), + "::", + stringify!(PropertyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_QUERY), + "::", + stringify!(QueryType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalParameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_QUERY), + "::", + stringify!(AdditionalParameters) + ) + ); +} +pub type STORAGE_PROPERTY_QUERY = _STORAGE_PROPERTY_QUERY; +pub type PSTORAGE_PROPERTY_QUERY = *mut _STORAGE_PROPERTY_QUERY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROPERTY_SET { + pub PropertyId: STORAGE_PROPERTY_ID, + pub SetType: STORAGE_SET_TYPE, + pub AdditionalParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PROPERTY_SET() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROPERTY_SET> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROPERTY_SET>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_PROPERTY_SET)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROPERTY_SET>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PROPERTY_SET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropertyId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_SET), + "::", + stringify!(PropertyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_SET), + "::", + stringify!(SetType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalParameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROPERTY_SET), + "::", + stringify!(AdditionalParameters) + ) + ); +} +pub type STORAGE_PROPERTY_SET = _STORAGE_PROPERTY_SET; +pub type PSTORAGE_PROPERTY_SET = *mut _STORAGE_PROPERTY_SET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DESCRIPTOR_HEADER { + pub Version: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DESCRIPTOR_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DESCRIPTOR_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DESCRIPTOR_HEADER>(), + 8usize, + concat!("Size of: ", stringify!(_STORAGE_DESCRIPTOR_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DESCRIPTOR_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DESCRIPTOR_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DESCRIPTOR_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DESCRIPTOR_HEADER), + "::", + stringify!(Size) + ) + ); +} +pub type STORAGE_DESCRIPTOR_HEADER = _STORAGE_DESCRIPTOR_HEADER; +pub type PSTORAGE_DESCRIPTOR_HEADER = *mut _STORAGE_DESCRIPTOR_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceType: BYTE, + pub DeviceTypeModifier: BYTE, + pub RemovableMedia: BOOLEAN, + pub CommandQueueing: BOOLEAN, + pub VendorIdOffset: DWORD, + pub ProductIdOffset: DWORD, + pub ProductRevisionOffset: DWORD, + pub SerialNumberOffset: DWORD, + pub BusType: STORAGE_BUS_TYPE, + pub RawPropertiesLength: DWORD, + pub RawDeviceProperties: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceTypeModifier) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(DeviceTypeModifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemovableMedia) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(RemovableMedia) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandQueueing) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(CommandQueueing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorIdOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(VendorIdOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductIdOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(ProductIdOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductRevisionOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(ProductRevisionOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumberOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(SerialNumberOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusType) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(BusType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RawPropertiesLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(RawPropertiesLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RawDeviceProperties) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_DESCRIPTOR), + "::", + stringify!(RawDeviceProperties) + ) + ); +} +pub type STORAGE_DEVICE_DESCRIPTOR = _STORAGE_DEVICE_DESCRIPTOR; +pub type PSTORAGE_DEVICE_DESCRIPTOR = *mut _STORAGE_DEVICE_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ADAPTER_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub MaximumTransferLength: DWORD, + pub MaximumPhysicalPages: DWORD, + pub AlignmentMask: DWORD, + pub AdapterUsesPio: BOOLEAN, + pub AdapterScansDown: BOOLEAN, + pub CommandQueueing: BOOLEAN, + pub AcceleratedTransfer: BOOLEAN, + pub BusType: BYTE, + pub BusMajorVersion: WORD, + pub BusMinorVersion: WORD, + pub SrbType: BYTE, + pub AddressType: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_ADAPTER_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ADAPTER_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ADAPTER_DESCRIPTOR>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ADAPTER_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_ADAPTER_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumTransferLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(MaximumTransferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumPhysicalPages) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(MaximumPhysicalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlignmentMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AlignmentMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterUsesPio) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AdapterUsesPio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterScansDown) as usize - ptr as usize }, + 21usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AdapterScansDown) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandQueueing) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(CommandQueueing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AcceleratedTransfer) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AcceleratedTransfer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(BusType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusMajorVersion) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(BusMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BusMinorVersion) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(BusMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SrbType) as usize - ptr as usize }, + 30usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(SrbType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressType) as usize - ptr as usize }, + 31usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_DESCRIPTOR), + "::", + stringify!(AddressType) + ) + ); +} +pub type STORAGE_ADAPTER_DESCRIPTOR = _STORAGE_ADAPTER_DESCRIPTOR; +pub type PSTORAGE_ADAPTER_DESCRIPTOR = *mut _STORAGE_ADAPTER_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub BytesPerCacheLine: DWORD, + pub BytesOffsetForCacheAlignment: DWORD, + pub BytesPerLogicalSector: DWORD, + pub BytesPerPhysicalSector: DWORD, + pub BytesOffsetForSectorAlignment: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>(), + 28usize, + concat!( + "Size of: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerCacheLine) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesPerCacheLine) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BytesOffsetForCacheAlignment) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesOffsetForCacheAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerLogicalSector) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesPerLogicalSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerPhysicalSector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesPerPhysicalSector) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BytesOffsetForSectorAlignment) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR), + "::", + stringify!(BytesOffsetForSectorAlignment) + ) + ); +} +pub type STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR = _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR; +pub type PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR = *mut _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub MediumProductType: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediumProductType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR), + "::", + stringify!(MediumProductType) + ) + ); +} +pub type STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR = _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR; +pub type PSTORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR = *mut _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetReserved: _STORAGE_PORT_CODE_SET = 0; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetStorport: _STORAGE_PORT_CODE_SET = 1; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSCSIport: _STORAGE_PORT_CODE_SET = 2; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSpaceport: _STORAGE_PORT_CODE_SET = 3; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetATAport: _STORAGE_PORT_CODE_SET = 4; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetUSBport: _STORAGE_PORT_CODE_SET = 5; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSBP2port: _STORAGE_PORT_CODE_SET = 6; +pub const _STORAGE_PORT_CODE_SET_StoragePortCodeSetSDport: _STORAGE_PORT_CODE_SET = 7; +pub type _STORAGE_PORT_CODE_SET = ::std::os::raw::c_int; +pub use self::_STORAGE_PORT_CODE_SET as STORAGE_PORT_CODE_SET; +pub type PSTORAGE_PORT_CODE_SET = *mut _STORAGE_PORT_CODE_SET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_MINIPORT_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub Portdriver: STORAGE_PORT_CODE_SET, + pub LUNResetSupported: BOOLEAN, + pub TargetResetSupported: BOOLEAN, + pub IoTimeoutValue: WORD, + pub ExtraIoInfoSupported: BOOLEAN, + pub Reserved0: [BYTE; 3usize], + pub Reserved1: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_MINIPORT_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_MINIPORT_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_MINIPORT_DESCRIPTOR>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_MINIPORT_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_MINIPORT_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Portdriver) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Portdriver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LUNResetSupported) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(LUNResetSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetResetSupported) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(TargetResetSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoTimeoutValue) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(IoTimeoutValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraIoInfoSupported) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(ExtraIoInfoSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 17usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MINIPORT_DESCRIPTOR), + "::", + stringify!(Reserved1) + ) + ); +} +pub type STORAGE_MINIPORT_DESCRIPTOR = _STORAGE_MINIPORT_DESCRIPTOR; +pub type PSTORAGE_MINIPORT_DESCRIPTOR = *mut _STORAGE_MINIPORT_DESCRIPTOR; +pub const _STORAGE_IDENTIFIER_CODE_SET_StorageIdCodeSetReserved: _STORAGE_IDENTIFIER_CODE_SET = 0; +pub const _STORAGE_IDENTIFIER_CODE_SET_StorageIdCodeSetBinary: _STORAGE_IDENTIFIER_CODE_SET = 1; +pub const _STORAGE_IDENTIFIER_CODE_SET_StorageIdCodeSetAscii: _STORAGE_IDENTIFIER_CODE_SET = 2; +pub const _STORAGE_IDENTIFIER_CODE_SET_StorageIdCodeSetUtf8: _STORAGE_IDENTIFIER_CODE_SET = 3; +pub type _STORAGE_IDENTIFIER_CODE_SET = ::std::os::raw::c_int; +pub use self::_STORAGE_IDENTIFIER_CODE_SET as STORAGE_IDENTIFIER_CODE_SET; +pub type PSTORAGE_IDENTIFIER_CODE_SET = *mut _STORAGE_IDENTIFIER_CODE_SET; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeVendorSpecific: _STORAGE_IDENTIFIER_TYPE = 0; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeVendorId: _STORAGE_IDENTIFIER_TYPE = 1; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeEUI64: _STORAGE_IDENTIFIER_TYPE = 2; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeFCPHName: _STORAGE_IDENTIFIER_TYPE = 3; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypePortRelative: _STORAGE_IDENTIFIER_TYPE = 4; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeTargetPortGroup: _STORAGE_IDENTIFIER_TYPE = 5; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeLogicalUnitGroup: _STORAGE_IDENTIFIER_TYPE = 6; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeMD5LogicalUnitIdentifier: _STORAGE_IDENTIFIER_TYPE = + 7; +pub const _STORAGE_IDENTIFIER_TYPE_StorageIdTypeScsiNameString: _STORAGE_IDENTIFIER_TYPE = 8; +pub type _STORAGE_IDENTIFIER_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_IDENTIFIER_TYPE as STORAGE_IDENTIFIER_TYPE; +pub type PSTORAGE_IDENTIFIER_TYPE = *mut _STORAGE_IDENTIFIER_TYPE; +pub const _STORAGE_ID_NAA_FORMAT_StorageIdNAAFormatIEEEExtended: _STORAGE_ID_NAA_FORMAT = 2; +pub const _STORAGE_ID_NAA_FORMAT_StorageIdNAAFormatIEEERegistered: _STORAGE_ID_NAA_FORMAT = 3; +pub const _STORAGE_ID_NAA_FORMAT_StorageIdNAAFormatIEEEERegisteredExtended: _STORAGE_ID_NAA_FORMAT = + 5; +pub type _STORAGE_ID_NAA_FORMAT = ::std::os::raw::c_int; +pub use self::_STORAGE_ID_NAA_FORMAT as STORAGE_ID_NAA_FORMAT; +pub type PSTORAGE_ID_NAA_FORMAT = *mut _STORAGE_ID_NAA_FORMAT; +pub const _STORAGE_ASSOCIATION_TYPE_StorageIdAssocDevice: _STORAGE_ASSOCIATION_TYPE = 0; +pub const _STORAGE_ASSOCIATION_TYPE_StorageIdAssocPort: _STORAGE_ASSOCIATION_TYPE = 1; +pub const _STORAGE_ASSOCIATION_TYPE_StorageIdAssocTarget: _STORAGE_ASSOCIATION_TYPE = 2; +pub type _STORAGE_ASSOCIATION_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_ASSOCIATION_TYPE as STORAGE_ASSOCIATION_TYPE; +pub type PSTORAGE_ASSOCIATION_TYPE = *mut _STORAGE_ASSOCIATION_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_IDENTIFIER { + pub CodeSet: STORAGE_IDENTIFIER_CODE_SET, + pub Type: STORAGE_IDENTIFIER_TYPE, + pub IdentifierSize: WORD, + pub NextOffset: WORD, + pub Association: STORAGE_ASSOCIATION_TYPE, + pub Identifier: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_IDENTIFIER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_IDENTIFIER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_IDENTIFIER>(), + 20usize, + concat!("Size of: ", stringify!(_STORAGE_IDENTIFIER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_IDENTIFIER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_IDENTIFIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CodeSet) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(CodeSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdentifierSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(IdentifierSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextOffset) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(NextOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Association) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(Association) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Identifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDENTIFIER), + "::", + stringify!(Identifier) + ) + ); +} +pub type STORAGE_IDENTIFIER = _STORAGE_IDENTIFIER; +pub type PSTORAGE_IDENTIFIER = *mut _STORAGE_IDENTIFIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_ID_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfIdentifiers: DWORD, + pub Identifiers: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_ID_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_ID_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_ID_DESCRIPTOR>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_ID_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfIdentifiers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), + "::", + stringify!(NumberOfIdentifiers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Identifiers) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ID_DESCRIPTOR), + "::", + stringify!(Identifiers) + ) + ); +} +pub type STORAGE_DEVICE_ID_DESCRIPTOR = _STORAGE_DEVICE_ID_DESCRIPTOR; +pub type PSTORAGE_DEVICE_ID_DESCRIPTOR = *mut _STORAGE_DEVICE_ID_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_SEEK_PENALTY_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub IncursSeekPenalty: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DEVICE_SEEK_PENALTY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_SEEK_PENALTY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_SEEK_PENALTY_DESCRIPTOR>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_SEEK_PENALTY_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IncursSeekPenalty) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_SEEK_PENALTY_DESCRIPTOR), + "::", + stringify!(IncursSeekPenalty) + ) + ); +} +pub type DEVICE_SEEK_PENALTY_DESCRIPTOR = _DEVICE_SEEK_PENALTY_DESCRIPTOR; +pub type PDEVICE_SEEK_PENALTY_DESCRIPTOR = *mut _DEVICE_SEEK_PENALTY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_WRITE_AGGREGATION_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub BenefitsFromWriteAggregation: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DEVICE_WRITE_AGGREGATION_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_WRITE_AGGREGATION_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_WRITE_AGGREGATION_DESCRIPTOR>(), + 12usize, + concat!( + "Size of: ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_WRITE_AGGREGATION_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BenefitsFromWriteAggregation) as usize - ptr as usize + }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_WRITE_AGGREGATION_DESCRIPTOR), + "::", + stringify!(BenefitsFromWriteAggregation) + ) + ); +} +pub type DEVICE_WRITE_AGGREGATION_DESCRIPTOR = _DEVICE_WRITE_AGGREGATION_DESCRIPTOR; +pub type PDEVICE_WRITE_AGGREGATION_DESCRIPTOR = *mut _DEVICE_WRITE_AGGREGATION_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_TRIM_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub TrimEnabled: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DEVICE_TRIM_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_TRIM_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_TRIM_DESCRIPTOR>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICE_TRIM_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_TRIM_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_TRIM_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_TRIM_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_TRIM_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrimEnabled) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_TRIM_DESCRIPTOR), + "::", + stringify!(TrimEnabled) + ) + ); +} +pub type DEVICE_TRIM_DESCRIPTOR = _DEVICE_TRIM_DESCRIPTOR; +pub type PDEVICE_TRIM_DESCRIPTOR = *mut _DEVICE_TRIM_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_LB_PROVISIONING_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved1: [BYTE; 7usize], + pub OptimalUnmapGranularity: DWORDLONG, + pub UnmapGranularityAlignment: DWORDLONG, + pub MaxUnmapLbaCount: DWORD, + pub MaxUnmapBlockDescriptorCount: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_LB_PROVISIONING_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_LB_PROVISIONING_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LB_PROVISIONING_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimalUnmapGranularity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(OptimalUnmapGranularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnmapGranularityAlignment) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(UnmapGranularityAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxUnmapLbaCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(MaxUnmapLbaCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MaxUnmapBlockDescriptorCount) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LB_PROVISIONING_DESCRIPTOR), + "::", + stringify!(MaxUnmapBlockDescriptorCount) + ) + ); +} +impl _DEVICE_LB_PROVISIONING_DESCRIPTOR { + #[inline] + pub fn ThinProvisioningEnabled(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_ThinProvisioningEnabled(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn ThinProvisioningReadZeros(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_ThinProvisioningReadZeros(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn AnchorSupported(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 3u8) as u8) } + } + #[inline] + pub fn set_AnchorSupported(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 3u8, val as u64) + } + } + #[inline] + pub fn UnmapGranularityAlignmentValid(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) } + } + #[inline] + pub fn set_UnmapGranularityAlignmentValid(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 2u8) as u8) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(6usize, 2u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + ThinProvisioningEnabled: BYTE, + ThinProvisioningReadZeros: BYTE, + AnchorSupported: BYTE, + UnmapGranularityAlignmentValid: BYTE, + Reserved0: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ThinProvisioningEnabled: u8 = + unsafe { ::std::mem::transmute(ThinProvisioningEnabled) }; + ThinProvisioningEnabled as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let ThinProvisioningReadZeros: u8 = + unsafe { ::std::mem::transmute(ThinProvisioningReadZeros) }; + ThinProvisioningReadZeros as u64 + }); + __bindgen_bitfield_unit.set(2usize, 3u8, { + let AnchorSupported: u8 = unsafe { ::std::mem::transmute(AnchorSupported) }; + AnchorSupported as u64 + }); + __bindgen_bitfield_unit.set(5usize, 1u8, { + let UnmapGranularityAlignmentValid: u8 = + unsafe { ::std::mem::transmute(UnmapGranularityAlignmentValid) }; + UnmapGranularityAlignmentValid as u64 + }); + __bindgen_bitfield_unit.set(6usize, 2u8, { + let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type DEVICE_LB_PROVISIONING_DESCRIPTOR = _DEVICE_LB_PROVISIONING_DESCRIPTOR; +pub type PDEVICE_LB_PROVISIONING_DESCRIPTOR = *mut _DEVICE_LB_PROVISIONING_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_LB_PROVISIONING_MAP_RESOURCES { + pub Size: DWORD, + pub Version: DWORD, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved1: [BYTE; 3usize], + pub _bitfield_align_2: [u8; 0], + pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved3: [BYTE; 3usize], + pub AvailableMappingResources: DWORDLONG, + pub UsedMappingResources: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_LB_PROVISIONING_MAP_RESOURCES() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_LB_PROVISIONING_MAP_RESOURCES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>(), + 32usize, + concat!( + "Size of: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_LB_PROVISIONING_MAP_RESOURCES>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AvailableMappingResources) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(AvailableMappingResources) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsedMappingResources) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_LB_PROVISIONING_MAP_RESOURCES), + "::", + stringify!(UsedMappingResources) + ) + ); +} +impl _STORAGE_LB_PROVISIONING_MAP_RESOURCES { + #[inline] + pub fn AvailableMappingResourcesValid(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_AvailableMappingResourcesValid(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn UsedMappingResourcesValid(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) } + } + #[inline] + pub fn set_UsedMappingResourcesValid(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 6u8) as u8) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 6u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + AvailableMappingResourcesValid: BYTE, + UsedMappingResourcesValid: BYTE, + Reserved0: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let AvailableMappingResourcesValid: u8 = + unsafe { ::std::mem::transmute(AvailableMappingResourcesValid) }; + AvailableMappingResourcesValid as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let UsedMappingResourcesValid: u8 = + unsafe { ::std::mem::transmute(UsedMappingResourcesValid) }; + UsedMappingResourcesValid as u64 + }); + __bindgen_bitfield_unit.set(2usize, 6u8, { + let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } + #[inline] + pub fn AvailableMappingResourcesScope(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_2.get(0usize, 2u8) as u8) } + } + #[inline] + pub fn set_AvailableMappingResourcesScope(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_2.set(0usize, 2u8, val as u64) + } + } + #[inline] + pub fn UsedMappingResourcesScope(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_2.get(2usize, 2u8) as u8) } + } + #[inline] + pub fn set_UsedMappingResourcesScope(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_2.set(2usize, 2u8, val as u64) + } + } + #[inline] + pub fn Reserved2(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_2.get(4usize, 4u8) as u8) } + } + #[inline] + pub fn set_Reserved2(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_2.set(4usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_2( + AvailableMappingResourcesScope: BYTE, + UsedMappingResourcesScope: BYTE, + Reserved2: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 2u8, { + let AvailableMappingResourcesScope: u8 = + unsafe { ::std::mem::transmute(AvailableMappingResourcesScope) }; + AvailableMappingResourcesScope as u64 + }); + __bindgen_bitfield_unit.set(2usize, 2u8, { + let UsedMappingResourcesScope: u8 = + unsafe { ::std::mem::transmute(UsedMappingResourcesScope) }; + UsedMappingResourcesScope as u64 + }); + __bindgen_bitfield_unit.set(4usize, 4u8, { + let Reserved2: u8 = unsafe { ::std::mem::transmute(Reserved2) }; + Reserved2 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type STORAGE_LB_PROVISIONING_MAP_RESOURCES = _STORAGE_LB_PROVISIONING_MAP_RESOURCES; +pub type PSTORAGE_LB_PROVISIONING_MAP_RESOURCES = *mut _STORAGE_LB_PROVISIONING_MAP_RESOURCES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_POWER_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceAttentionSupported: BOOLEAN, + pub AsynchronousNotificationSupported: BOOLEAN, + pub IdlePowerManagementEnabled: BOOLEAN, + pub D3ColdEnabled: BOOLEAN, + pub D3ColdSupported: BOOLEAN, + pub NoVerifyDuringIdlePower: BOOLEAN, + pub Reserved: [BYTE; 2usize], + pub IdleTimeoutInMS: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_POWER_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_POWER_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_POWER_DESCRIPTOR>(), + 20usize, + concat!("Size of: ", stringify!(_DEVICE_POWER_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_POWER_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_POWER_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceAttentionSupported) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(DeviceAttentionSupported) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).AsynchronousNotificationSupported) as usize - ptr as usize + }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(AsynchronousNotificationSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdlePowerManagementEnabled) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(IdlePowerManagementEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D3ColdEnabled) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(D3ColdEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D3ColdSupported) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(D3ColdSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NoVerifyDuringIdlePower) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(NoVerifyDuringIdlePower) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTimeoutInMS) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_POWER_DESCRIPTOR), + "::", + stringify!(IdleTimeoutInMS) + ) + ); +} +pub type DEVICE_POWER_DESCRIPTOR = _DEVICE_POWER_DESCRIPTOR; +pub type PDEVICE_POWER_DESCRIPTOR = *mut _DEVICE_POWER_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_COPY_OFFLOAD_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub MaximumTokenLifetime: DWORD, + pub DefaultTokenLifetime: DWORD, + pub MaximumTransferSize: DWORDLONG, + pub OptimalTransferCount: DWORDLONG, + pub MaximumDataDescriptors: DWORD, + pub MaximumTransferLengthPerDescriptor: DWORD, + pub OptimalTransferLengthPerDescriptor: DWORD, + pub OptimalTransferLengthGranularity: WORD, + pub Reserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__DEVICE_COPY_OFFLOAD_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_COPY_OFFLOAD_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>(), + 48usize, + concat!("Size of: ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_COPY_OFFLOAD_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumTokenLifetime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(MaximumTokenLifetime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultTokenLifetime) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(DefaultTokenLifetime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumTransferSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(MaximumTransferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimalTransferCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(OptimalTransferCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumDataDescriptors) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(MaximumDataDescriptors) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MaximumTransferLengthPerDescriptor) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(MaximumTransferLengthPerDescriptor) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).OptimalTransferLengthPerDescriptor) as usize - ptr as usize + }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(OptimalTransferLengthPerDescriptor) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).OptimalTransferLengthGranularity) as usize - ptr as usize + }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(OptimalTransferLengthGranularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_COPY_OFFLOAD_DESCRIPTOR), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_COPY_OFFLOAD_DESCRIPTOR = _DEVICE_COPY_OFFLOAD_DESCRIPTOR; +pub type PDEVICE_COPY_OFFLOAD_DESCRIPTOR = *mut _DEVICE_COPY_OFFLOAD_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_RESILIENCY_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NameOffset: DWORD, + pub NumberOfLogicalCopies: DWORD, + pub NumberOfPhysicalCopies: DWORD, + pub PhysicalDiskRedundancy: DWORD, + pub NumberOfColumns: DWORD, + pub Interleave: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_RESILIENCY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>(), + 32usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(NameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfLogicalCopies) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(NumberOfLogicalCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfPhysicalCopies) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(NumberOfPhysicalCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalDiskRedundancy) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(PhysicalDiskRedundancy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfColumns) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(NumberOfColumns) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Interleave) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_RESILIENCY_DESCRIPTOR), + "::", + stringify!(Interleave) + ) + ); +} +pub type STORAGE_DEVICE_RESILIENCY_DESCRIPTOR = _STORAGE_DEVICE_RESILIENCY_DESCRIPTOR; +pub type PSTORAGE_DEVICE_RESILIENCY_DESCRIPTOR = *mut _STORAGE_DEVICE_RESILIENCY_DESCRIPTOR; +pub const _STORAGE_RPMB_FRAME_TYPE_StorageRpmbFrameTypeUnknown: _STORAGE_RPMB_FRAME_TYPE = 0; +pub const _STORAGE_RPMB_FRAME_TYPE_StorageRpmbFrameTypeStandard: _STORAGE_RPMB_FRAME_TYPE = 1; +pub const _STORAGE_RPMB_FRAME_TYPE_StorageRpmbFrameTypeMax: _STORAGE_RPMB_FRAME_TYPE = 2; +pub type _STORAGE_RPMB_FRAME_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_RPMB_FRAME_TYPE as STORAGE_RPMB_FRAME_TYPE; +pub type PSTORAGE_RPMB_FRAME_TYPE = *mut _STORAGE_RPMB_FRAME_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_RPMB_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub SizeInBytes: DWORD, + pub MaxReliableWriteSizeInBytes: DWORD, + pub FrameFormat: STORAGE_RPMB_FRAME_TYPE, +} +#[test] +fn bindgen_test_layout__STORAGE_RPMB_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_RPMB_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_RPMB_DESCRIPTOR>(), + 20usize, + concat!("Size of: ", stringify!(_STORAGE_RPMB_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_RPMB_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_RPMB_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(SizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxReliableWriteSizeInBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(MaxReliableWriteSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FrameFormat) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DESCRIPTOR), + "::", + stringify!(FrameFormat) + ) + ); +} +pub type STORAGE_RPMB_DESCRIPTOR = _STORAGE_RPMB_DESCRIPTOR; +pub type PSTORAGE_RPMB_DESCRIPTOR = *mut _STORAGE_RPMB_DESCRIPTOR; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmUnknown: _STORAGE_CRYPTO_ALGORITHM_ID = + 0; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmXTSAES: _STORAGE_CRYPTO_ALGORITHM_ID = + 1; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmBitlockerAESCBC: + _STORAGE_CRYPTO_ALGORITHM_ID = 2; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmAESECB: _STORAGE_CRYPTO_ALGORITHM_ID = + 3; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmESSIVAESCBC: + _STORAGE_CRYPTO_ALGORITHM_ID = 4; +pub const _STORAGE_CRYPTO_ALGORITHM_ID_StorageCryptoAlgorithmMax: _STORAGE_CRYPTO_ALGORITHM_ID = 5; +pub type _STORAGE_CRYPTO_ALGORITHM_ID = ::std::os::raw::c_int; +pub use self::_STORAGE_CRYPTO_ALGORITHM_ID as STORAGE_CRYPTO_ALGORITHM_ID; +pub type PSTORAGE_CRYPTO_ALGORITHM_ID = *mut _STORAGE_CRYPTO_ALGORITHM_ID; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySizeUnknown: _STORAGE_CRYPTO_KEY_SIZE = 0; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySize128Bits: _STORAGE_CRYPTO_KEY_SIZE = 1; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySize192Bits: _STORAGE_CRYPTO_KEY_SIZE = 2; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySize256Bits: _STORAGE_CRYPTO_KEY_SIZE = 3; +pub const _STORAGE_CRYPTO_KEY_SIZE_StorageCryptoKeySize512Bits: _STORAGE_CRYPTO_KEY_SIZE = 4; +pub type _STORAGE_CRYPTO_KEY_SIZE = ::std::os::raw::c_int; +pub use self::_STORAGE_CRYPTO_KEY_SIZE as STORAGE_CRYPTO_KEY_SIZE; +pub type PSTORAGE_CRYPTO_KEY_SIZE = *mut _STORAGE_CRYPTO_KEY_SIZE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_CRYPTO_CAPABILITY { + pub Version: DWORD, + pub Size: DWORD, + pub CryptoCapabilityIndex: DWORD, + pub AlgorithmId: STORAGE_CRYPTO_ALGORITHM_ID, + pub KeySize: STORAGE_CRYPTO_KEY_SIZE, + pub DataUnitSizeBitmask: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_CRYPTO_CAPABILITY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_CRYPTO_CAPABILITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_CRYPTO_CAPABILITY>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_CRYPTO_CAPABILITY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_CRYPTO_CAPABILITY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_CRYPTO_CAPABILITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CryptoCapabilityIndex) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(CryptoCapabilityIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlgorithmId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(AlgorithmId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeySize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(KeySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataUnitSizeBitmask) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_CAPABILITY), + "::", + stringify!(DataUnitSizeBitmask) + ) + ); +} +pub type STORAGE_CRYPTO_CAPABILITY = _STORAGE_CRYPTO_CAPABILITY; +pub type PSTORAGE_CRYPTO_CAPABILITY = *mut _STORAGE_CRYPTO_CAPABILITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_CRYPTO_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NumKeysSupported: DWORD, + pub NumCryptoCapabilities: DWORD, + pub CryptoCapabilities: [STORAGE_CRYPTO_CAPABILITY; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_CRYPTO_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_CRYPTO_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_CRYPTO_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_CRYPTO_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_CRYPTO_DESCRIPTOR>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_CRYPTO_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumKeysSupported) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(NumKeysSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumCryptoCapabilities) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(NumCryptoCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CryptoCapabilities) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_CRYPTO_DESCRIPTOR), + "::", + stringify!(CryptoCapabilities) + ) + ); +} +pub type STORAGE_CRYPTO_DESCRIPTOR = _STORAGE_CRYPTO_DESCRIPTOR; +pub type PSTORAGE_CRYPTO_DESCRIPTOR = *mut _STORAGE_CRYPTO_DESCRIPTOR; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeUnspecified: _STORAGE_TIER_MEDIA_TYPE = 0; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeDisk: _STORAGE_TIER_MEDIA_TYPE = 1; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeSsd: _STORAGE_TIER_MEDIA_TYPE = 2; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeScm: _STORAGE_TIER_MEDIA_TYPE = 4; +pub const _STORAGE_TIER_MEDIA_TYPE_StorageTierMediaTypeMax: _STORAGE_TIER_MEDIA_TYPE = 5; +pub type _STORAGE_TIER_MEDIA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_TIER_MEDIA_TYPE as STORAGE_TIER_MEDIA_TYPE; +pub type PSTORAGE_TIER_MEDIA_TYPE = *mut _STORAGE_TIER_MEDIA_TYPE; +pub const _STORAGE_TIER_CLASS_StorageTierClassUnspecified: _STORAGE_TIER_CLASS = 0; +pub const _STORAGE_TIER_CLASS_StorageTierClassCapacity: _STORAGE_TIER_CLASS = 1; +pub const _STORAGE_TIER_CLASS_StorageTierClassPerformance: _STORAGE_TIER_CLASS = 2; +pub const _STORAGE_TIER_CLASS_StorageTierClassMax: _STORAGE_TIER_CLASS = 3; +pub type _STORAGE_TIER_CLASS = ::std::os::raw::c_int; +pub use self::_STORAGE_TIER_CLASS as STORAGE_TIER_CLASS; +pub type PSTORAGE_TIER_CLASS = *mut _STORAGE_TIER_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TIER { + pub Id: GUID, + pub Name: [WCHAR; 256usize], + pub Description: [WCHAR; 256usize], + pub Flags: DWORDLONG, + pub ProvisionedCapacity: DWORDLONG, + pub MediaType: STORAGE_TIER_MEDIA_TYPE, + pub Class: STORAGE_TIER_CLASS, +} +#[test] +fn bindgen_test_layout__STORAGE_TIER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TIER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TIER>(), + 1064usize, + concat!("Size of: ", stringify!(_STORAGE_TIER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TIER>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_TIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 528usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Description) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 1040usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProvisionedCapacity) as usize - ptr as usize }, + 1048usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(ProvisionedCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 1056usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Class) as usize - ptr as usize }, + 1060usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER), + "::", + stringify!(Class) + ) + ); +} +pub type STORAGE_TIER = _STORAGE_TIER; +pub type PSTORAGE_TIER = *mut _STORAGE_TIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_TIERING_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub TotalNumberOfTiers: DWORD, + pub NumberOfTiersReturned: DWORD, + pub Tiers: [STORAGE_TIER; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_TIERING_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_TIERING_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>(), + 1088usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_TIERING_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfTiers) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(TotalNumberOfTiers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTiersReturned) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(NumberOfTiersReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Tiers) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_TIERING_DESCRIPTOR), + "::", + stringify!(Tiers) + ) + ); +} +pub type STORAGE_DEVICE_TIERING_DESCRIPTOR = _STORAGE_DEVICE_TIERING_DESCRIPTOR; +pub type PSTORAGE_DEVICE_TIERING_DESCRIPTOR = *mut _STORAGE_DEVICE_TIERING_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfFaultDomains: DWORD, + pub FaultDomainIds: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR>(), + 28usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfFaultDomains) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), + "::", + stringify!(NumberOfFaultDomains) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FaultDomainIds) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR), + "::", + stringify!(FaultDomainIds) + ) + ); +} +pub type STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR = _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR; +pub type PSTORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR = *mut _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeUnknown: _STORAGE_PROTOCOL_TYPE = 0; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeScsi: _STORAGE_PROTOCOL_TYPE = 1; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeAta: _STORAGE_PROTOCOL_TYPE = 2; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeNvme: _STORAGE_PROTOCOL_TYPE = 3; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeSd: _STORAGE_PROTOCOL_TYPE = 4; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeUfs: _STORAGE_PROTOCOL_TYPE = 5; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeProprietary: _STORAGE_PROTOCOL_TYPE = 126; +pub const _STORAGE_PROTOCOL_TYPE_ProtocolTypeMaxReserved: _STORAGE_PROTOCOL_TYPE = 127; +pub type _STORAGE_PROTOCOL_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_PROTOCOL_TYPE as STORAGE_PROTOCOL_TYPE; +pub type PSTORAGE_PROTOCOL_TYPE = *mut _STORAGE_PROTOCOL_TYPE; +pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeUnknown: _STORAGE_PROTOCOL_NVME_DATA_TYPE = + 0; +pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeIdentify: _STORAGE_PROTOCOL_NVME_DATA_TYPE = + 1; +pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeLogPage: _STORAGE_PROTOCOL_NVME_DATA_TYPE = + 2; +pub const _STORAGE_PROTOCOL_NVME_DATA_TYPE_NVMeDataTypeFeature: _STORAGE_PROTOCOL_NVME_DATA_TYPE = + 3; +pub type _STORAGE_PROTOCOL_NVME_DATA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_PROTOCOL_NVME_DATA_TYPE as STORAGE_PROTOCOL_NVME_DATA_TYPE; +pub type PSTORAGE_PROTOCOL_NVME_DATA_TYPE = *mut _STORAGE_PROTOCOL_NVME_DATA_TYPE; +pub const _STORAGE_PROTOCOL_ATA_DATA_TYPE_AtaDataTypeUnknown: _STORAGE_PROTOCOL_ATA_DATA_TYPE = 0; +pub const _STORAGE_PROTOCOL_ATA_DATA_TYPE_AtaDataTypeIdentify: _STORAGE_PROTOCOL_ATA_DATA_TYPE = 1; +pub const _STORAGE_PROTOCOL_ATA_DATA_TYPE_AtaDataTypeLogPage: _STORAGE_PROTOCOL_ATA_DATA_TYPE = 2; +pub type _STORAGE_PROTOCOL_ATA_DATA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_PROTOCOL_ATA_DATA_TYPE as STORAGE_PROTOCOL_ATA_DATA_TYPE; +pub type PSTORAGE_PROTOCOL_ATA_DATA_TYPE = *mut _STORAGE_PROTOCOL_ATA_DATA_TYPE; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeUnknown: _STORAGE_PROTOCOL_UFS_DATA_TYPE = 0; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeQueryDescriptor: + _STORAGE_PROTOCOL_UFS_DATA_TYPE = 1; +pub const _STORAGE_PROTOCOL_UFS_DATA_TYPE_UfsDataTypeMax: _STORAGE_PROTOCOL_UFS_DATA_TYPE = 2; +pub type _STORAGE_PROTOCOL_UFS_DATA_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_PROTOCOL_UFS_DATA_TYPE as STORAGE_PROTOCOL_UFS_DATA_TYPE; +pub type PSTORAGE_PROTOCOL_UFS_DATA_TYPE = *mut _STORAGE_PROTOCOL_UFS_DATA_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_SPECIFIC_DATA { + pub ProtocolType: STORAGE_PROTOCOL_TYPE, + pub DataType: DWORD, + pub ProtocolDataRequestValue: DWORD, + pub ProtocolDataRequestSubValue: DWORD, + pub ProtocolDataOffset: DWORD, + pub ProtocolDataLength: DWORD, + pub FixedProtocolReturnData: DWORD, + pub ProtocolDataRequestSubValue2: DWORD, + pub ProtocolDataRequestSubValue3: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_SPECIFIC_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_SPECIFIC_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_SPECIFIC_DATA>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_SPECIFIC_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(DataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataRequestValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataRequestValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataRequestSubValue) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataRequestSubValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixedProtocolReturnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(FixedProtocolReturnData) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ProtocolDataRequestSubValue2) as usize - ptr as usize + }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataRequestSubValue2) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ProtocolDataRequestSubValue3) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(ProtocolDataRequestSubValue3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_PROTOCOL_SPECIFIC_DATA = _STORAGE_PROTOCOL_SPECIFIC_DATA; +pub type PSTORAGE_PROTOCOL_SPECIFIC_DATA = *mut _STORAGE_PROTOCOL_SPECIFIC_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_SPECIFIC_DATA_EXT { + pub ProtocolType: STORAGE_PROTOCOL_TYPE, + pub DataType: DWORD, + pub ProtocolDataValue: DWORD, + pub ProtocolDataSubValue: DWORD, + pub ProtocolDataOffset: DWORD, + pub ProtocolDataLength: DWORD, + pub FixedProtocolReturnData: DWORD, + pub ProtocolDataSubValue2: DWORD, + pub ProtocolDataSubValue3: DWORD, + pub ProtocolDataSubValue4: DWORD, + pub ProtocolDataSubValue5: DWORD, + pub Reserved: [DWORD; 5usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_SPECIFIC_DATA_EXT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>(), + 64usize, + concat!("Size of: ", stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(DataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixedProtocolReturnData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(FixedProtocolReturnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue2) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue3) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue4) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolDataSubValue5) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(ProtocolDataSubValue5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_SPECIFIC_DATA_EXT), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_PROTOCOL_SPECIFIC_DATA_EXT = _STORAGE_PROTOCOL_SPECIFIC_DATA_EXT; +pub type PSTORAGE_PROTOCOL_SPECIFIC_DATA_EXT = *mut _STORAGE_PROTOCOL_SPECIFIC_DATA_EXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub ProtocolSpecificData: STORAGE_PROTOCOL_SPECIFIC_DATA, +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_DATA_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_DATA_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR>(), + 48usize, + concat!("Size of: ", stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSpecificData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR), + "::", + stringify!(ProtocolSpecificData) + ) + ); +} +pub type STORAGE_PROTOCOL_DATA_DESCRIPTOR = _STORAGE_PROTOCOL_DATA_DESCRIPTOR; +pub type PSTORAGE_PROTOCOL_DATA_DESCRIPTOR = *mut _STORAGE_PROTOCOL_DATA_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT { + pub Version: DWORD, + pub Size: DWORD, + pub ProtocolSpecificData: STORAGE_PROTOCOL_SPECIFIC_DATA_EXT, +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT>(), + 72usize, + concat!( + "Size of: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolSpecificData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT), + "::", + stringify!(ProtocolSpecificData) + ) + ); +} +pub type STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT = _STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT; +pub type PSTORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT = *mut _STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TEMPERATURE_INFO { + pub Index: WORD, + pub Temperature: SHORT, + pub OverThreshold: SHORT, + pub UnderThreshold: SHORT, + pub OverThresholdChangable: BOOLEAN, + pub UnderThresholdChangable: BOOLEAN, + pub EventGenerated: BOOLEAN, + pub Reserved0: BYTE, + pub Reserved1: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_TEMPERATURE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TEMPERATURE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TEMPERATURE_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_TEMPERATURE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TEMPERATURE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_TEMPERATURE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Index) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(Index) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Temperature) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(Temperature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OverThreshold) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(OverThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnderThreshold) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(UnderThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OverThresholdChangable) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(OverThresholdChangable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnderThresholdChangable) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(UnderThresholdChangable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EventGenerated) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(EventGenerated) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_INFO), + "::", + stringify!(Reserved1) + ) + ); +} +pub type STORAGE_TEMPERATURE_INFO = _STORAGE_TEMPERATURE_INFO; +pub type PSTORAGE_TEMPERATURE_INFO = *mut _STORAGE_TEMPERATURE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TEMPERATURE_DATA_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub CriticalTemperature: SHORT, + pub WarningTemperature: SHORT, + pub InfoCount: WORD, + pub Reserved0: [BYTE; 2usize], + pub Reserved1: [DWORD; 2usize], + pub TemperatureInfo: [STORAGE_TEMPERATURE_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_TEMPERATURE_DATA_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>(), + 40usize, + concat!( + "Size of: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TEMPERATURE_DATA_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalTemperature) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(CriticalTemperature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WarningTemperature) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(WarningTemperature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InfoCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(InfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TemperatureInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_DATA_DESCRIPTOR), + "::", + stringify!(TemperatureInfo) + ) + ); +} +pub type STORAGE_TEMPERATURE_DATA_DESCRIPTOR = _STORAGE_TEMPERATURE_DATA_DESCRIPTOR; +pub type PSTORAGE_TEMPERATURE_DATA_DESCRIPTOR = *mut _STORAGE_TEMPERATURE_DATA_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TEMPERATURE_THRESHOLD { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: WORD, + pub Index: WORD, + pub Threshold: SHORT, + pub OverThreshold: BOOLEAN, + pub Reserved: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_TEMPERATURE_THRESHOLD() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TEMPERATURE_THRESHOLD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TEMPERATURE_THRESHOLD>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TEMPERATURE_THRESHOLD>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_TEMPERATURE_THRESHOLD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Index) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Index) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Threshold) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Threshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OverThreshold) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(OverThreshold) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 15usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TEMPERATURE_THRESHOLD), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_TEMPERATURE_THRESHOLD = _STORAGE_TEMPERATURE_THRESHOLD; +pub type PSTORAGE_TEMPERATURE_THRESHOLD = *mut _STORAGE_TEMPERATURE_THRESHOLD; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorUnknown: _STORAGE_DEVICE_FORM_FACTOR = 0; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactor3_5: _STORAGE_DEVICE_FORM_FACTOR = 1; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactor2_5: _STORAGE_DEVICE_FORM_FACTOR = 2; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactor1_8: _STORAGE_DEVICE_FORM_FACTOR = 3; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactor1_8Less: _STORAGE_DEVICE_FORM_FACTOR = 4; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorEmbedded: _STORAGE_DEVICE_FORM_FACTOR = 5; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorMemoryCard: _STORAGE_DEVICE_FORM_FACTOR = 6; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactormSata: _STORAGE_DEVICE_FORM_FACTOR = 7; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorM_2: _STORAGE_DEVICE_FORM_FACTOR = 8; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorPCIeBoard: _STORAGE_DEVICE_FORM_FACTOR = 9; +pub const _STORAGE_DEVICE_FORM_FACTOR_FormFactorDimm: _STORAGE_DEVICE_FORM_FACTOR = 10; +pub type _STORAGE_DEVICE_FORM_FACTOR = ::std::os::raw::c_int; +pub use self::_STORAGE_DEVICE_FORM_FACTOR as STORAGE_DEVICE_FORM_FACTOR; +pub type PSTORAGE_DEVICE_FORM_FACTOR = *mut _STORAGE_DEVICE_FORM_FACTOR; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusUnknown: _STORAGE_COMPONENT_HEALTH_STATUS = + 0; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusNormal: _STORAGE_COMPONENT_HEALTH_STATUS = 1; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusThrottled: _STORAGE_COMPONENT_HEALTH_STATUS = + 2; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusWarning: _STORAGE_COMPONENT_HEALTH_STATUS = + 3; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusDisabled: _STORAGE_COMPONENT_HEALTH_STATUS = + 4; +pub const _STORAGE_COMPONENT_HEALTH_STATUS_HealthStatusFailed: _STORAGE_COMPONENT_HEALTH_STATUS = 5; +pub type _STORAGE_COMPONENT_HEALTH_STATUS = ::std::os::raw::c_int; +pub use self::_STORAGE_COMPONENT_HEALTH_STATUS as STORAGE_COMPONENT_HEALTH_STATUS; +pub type PSTORAGE_COMPONENT_HEALTH_STATUS = *mut _STORAGE_COMPONENT_HEALTH_STATUS; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_SPEC_VERSION { + pub __bindgen_anon_1: _STORAGE_SPEC_VERSION__bindgen_ty_1, + pub AsUlong: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_SPEC_VERSION__bindgen_ty_1 { + pub MinorVersion: _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1, + pub MajorVersion: WORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1 { + pub __bindgen_anon_1: _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + pub AsUshort: WORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub SubMinor: BYTE, + pub Minor: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Size of: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubMinor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(SubMinor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Minor) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Minor) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Size of: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsUshort) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AsUshort) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_SPEC_VERSION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_SPEC_VERSION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1>(), + 4usize, + concat!("Size of: ", stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_SPEC_VERSION__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION__bindgen_ty_1), + "::", + stringify!(MajorVersion) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_SPEC_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_SPEC_VERSION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_SPEC_VERSION>(), + 4usize, + concat!("Size of: ", stringify!(_STORAGE_SPEC_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_SPEC_VERSION>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_SPEC_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsUlong) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_SPEC_VERSION), + "::", + stringify!(AsUlong) + ) + ); +} +pub type STORAGE_SPEC_VERSION = _STORAGE_SPEC_VERSION; +pub type PSTORAGE_SPEC_VERSION = *mut _STORAGE_SPEC_VERSION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_PHYSICAL_DEVICE_DATA { + pub DeviceId: DWORD, + pub Role: DWORD, + pub HealthStatus: STORAGE_COMPONENT_HEALTH_STATUS, + pub CommandProtocol: STORAGE_PROTOCOL_TYPE, + pub SpecVersion: STORAGE_SPEC_VERSION, + pub FormFactor: STORAGE_DEVICE_FORM_FACTOR, + pub Vendor: [BYTE; 8usize], + pub Model: [BYTE; 40usize], + pub FirmwareRevision: [BYTE; 16usize], + pub Capacity: DWORDLONG, + pub PhysicalLocation: [BYTE; 32usize], + pub Reserved: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PHYSICAL_DEVICE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PHYSICAL_DEVICE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PHYSICAL_DEVICE_DATA>(), + 136usize, + concat!("Size of: ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PHYSICAL_DEVICE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_PHYSICAL_DEVICE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(DeviceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Role) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Role) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HealthStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(HealthStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandProtocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(CommandProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpecVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(SpecVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormFactor) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(FormFactor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vendor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Vendor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Model) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Model) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareRevision) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(FirmwareRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Capacity) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Capacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalLocation) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(PhysicalLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_DEVICE_DATA), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_PHYSICAL_DEVICE_DATA = _STORAGE_PHYSICAL_DEVICE_DATA; +pub type PSTORAGE_PHYSICAL_DEVICE_DATA = *mut _STORAGE_PHYSICAL_DEVICE_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_PHYSICAL_ADAPTER_DATA { + pub AdapterId: DWORD, + pub HealthStatus: STORAGE_COMPONENT_HEALTH_STATUS, + pub CommandProtocol: STORAGE_PROTOCOL_TYPE, + pub SpecVersion: STORAGE_SPEC_VERSION, + pub Vendor: [BYTE; 8usize], + pub Model: [BYTE; 40usize], + pub FirmwareRevision: [BYTE; 16usize], + pub PhysicalLocation: [BYTE; 32usize], + pub ExpanderConnected: BOOLEAN, + pub Reserved0: [BYTE; 3usize], + pub Reserved1: [DWORD; 3usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PHYSICAL_ADAPTER_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PHYSICAL_ADAPTER_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PHYSICAL_ADAPTER_DATA>(), + 128usize, + concat!("Size of: ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PHYSICAL_ADAPTER_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(AdapterId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HealthStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(HealthStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandProtocol) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(CommandProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SpecVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(SpecVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vendor) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(Vendor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Model) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(Model) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareRevision) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(FirmwareRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalLocation) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(PhysicalLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExpanderConnected) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(ExpanderConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 113usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_ADAPTER_DATA), + "::", + stringify!(Reserved1) + ) + ); +} +pub type STORAGE_PHYSICAL_ADAPTER_DATA = _STORAGE_PHYSICAL_ADAPTER_DATA; +pub type PSTORAGE_PHYSICAL_ADAPTER_DATA = *mut _STORAGE_PHYSICAL_ADAPTER_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PHYSICAL_NODE_DATA { + pub NodeId: DWORD, + pub AdapterCount: DWORD, + pub AdapterDataLength: DWORD, + pub AdapterDataOffset: DWORD, + pub DeviceCount: DWORD, + pub DeviceDataLength: DWORD, + pub DeviceDataOffset: DWORD, + pub Reserved: [DWORD; 3usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PHYSICAL_NODE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PHYSICAL_NODE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PHYSICAL_NODE_DATA>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_PHYSICAL_NODE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PHYSICAL_NODE_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PHYSICAL_NODE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NodeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(NodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(AdapterCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterDataLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(AdapterDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterDataOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(AdapterDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(DeviceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceDataLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(DeviceDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceDataOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(DeviceDataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_NODE_DATA), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_PHYSICAL_NODE_DATA = _STORAGE_PHYSICAL_NODE_DATA; +pub type PSTORAGE_PHYSICAL_NODE_DATA = *mut _STORAGE_PHYSICAL_NODE_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub NodeCount: DWORD, + pub Reserved: DWORD, + pub Node: [STORAGE_PHYSICAL_NODE_DATA; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR>(), + 56usize, + concat!( + "Size of: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NodeCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(NodeCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Node) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR), + "::", + stringify!(Node) + ) + ); +} +pub type STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR = _STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR; +pub type PSTORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR = *mut _STORAGE_PHYSICAL_TOPOLOGY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub LunMaxIoCount: DWORD, + pub AdapterMaxIoCount: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LunMaxIoCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), + "::", + stringify!(LunMaxIoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdapterMaxIoCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR), + "::", + stringify!(AdapterMaxIoCount) + ) + ); +} +pub type STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR = _STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR; +pub type PSTORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR = *mut _STORAGE_DEVICE_IO_CAPABILITY_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub Attributes: DWORD64, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR), + "::", + stringify!(Attributes) + ) + ); +} +pub type STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR = _STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR; +pub type PSTORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR = *mut _STORAGE_DEVICE_ATTRIBUTES_DESCRIPTOR; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthUnknown: _STORAGE_DISK_HEALTH_STATUS = 0; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthUnhealthy: _STORAGE_DISK_HEALTH_STATUS = 1; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthWarning: _STORAGE_DISK_HEALTH_STATUS = 2; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthHealthy: _STORAGE_DISK_HEALTH_STATUS = 3; +pub const _STORAGE_DISK_HEALTH_STATUS_DiskHealthMax: _STORAGE_DISK_HEALTH_STATUS = 4; +pub type _STORAGE_DISK_HEALTH_STATUS = ::std::os::raw::c_int; +pub use self::_STORAGE_DISK_HEALTH_STATUS as STORAGE_DISK_HEALTH_STATUS; +pub type PSTORAGE_DISK_HEALTH_STATUS = *mut _STORAGE_DISK_HEALTH_STATUS; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusNone: _STORAGE_DISK_OPERATIONAL_STATUS = 0; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusUnknown: _STORAGE_DISK_OPERATIONAL_STATUS = + 1; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusOk: _STORAGE_DISK_OPERATIONAL_STATUS = 2; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusPredictingFailure: + _STORAGE_DISK_OPERATIONAL_STATUS = 3; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusInService: _STORAGE_DISK_OPERATIONAL_STATUS = + 4; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusHardwareError: + _STORAGE_DISK_OPERATIONAL_STATUS = 5; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusNotUsable: _STORAGE_DISK_OPERATIONAL_STATUS = + 6; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusTransientError: + _STORAGE_DISK_OPERATIONAL_STATUS = 7; +pub const _STORAGE_DISK_OPERATIONAL_STATUS_DiskOpStatusMissing: _STORAGE_DISK_OPERATIONAL_STATUS = + 8; +pub type _STORAGE_DISK_OPERATIONAL_STATUS = ::std::os::raw::c_int; +pub use self::_STORAGE_DISK_OPERATIONAL_STATUS as STORAGE_DISK_OPERATIONAL_STATUS; +pub type PSTORAGE_DISK_OPERATIONAL_STATUS = *mut _STORAGE_DISK_OPERATIONAL_STATUS; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonUnknown: + _STORAGE_OPERATIONAL_STATUS_REASON = 0; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonScsiSenseCode: + _STORAGE_OPERATIONAL_STATUS_REASON = 1; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonMedia: _STORAGE_OPERATIONAL_STATUS_REASON = + 2; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonIo: _STORAGE_OPERATIONAL_STATUS_REASON = 3; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonThresholdExceeded: + _STORAGE_OPERATIONAL_STATUS_REASON = 4; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonLostData: + _STORAGE_OPERATIONAL_STATUS_REASON = 5; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonEnergySource: + _STORAGE_OPERATIONAL_STATUS_REASON = 6; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonConfiguration: + _STORAGE_OPERATIONAL_STATUS_REASON = 7; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonDeviceController: + _STORAGE_OPERATIONAL_STATUS_REASON = 8; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonMediaController: + _STORAGE_OPERATIONAL_STATUS_REASON = 9; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonComponent: + _STORAGE_OPERATIONAL_STATUS_REASON = 10; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonNVDIMM_N: + _STORAGE_OPERATIONAL_STATUS_REASON = 11; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonBackgroundOperation: + _STORAGE_OPERATIONAL_STATUS_REASON = 12; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonInvalidFirmware: + _STORAGE_OPERATIONAL_STATUS_REASON = 13; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonHealthCheck: + _STORAGE_OPERATIONAL_STATUS_REASON = 14; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonLostDataPersistence: + _STORAGE_OPERATIONAL_STATUS_REASON = 15; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonDisabledByPlatform: + _STORAGE_OPERATIONAL_STATUS_REASON = 16; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonLostWritePersistence: + _STORAGE_OPERATIONAL_STATUS_REASON = 17; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonDataPersistenceLossImminent: + _STORAGE_OPERATIONAL_STATUS_REASON = 18; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonWritePersistenceLossImminent: + _STORAGE_OPERATIONAL_STATUS_REASON = 19; +pub const _STORAGE_OPERATIONAL_STATUS_REASON_DiskOpReasonMax: _STORAGE_OPERATIONAL_STATUS_REASON = + 20; +pub type _STORAGE_OPERATIONAL_STATUS_REASON = ::std::os::raw::c_int; +pub use self::_STORAGE_OPERATIONAL_STATUS_REASON as STORAGE_OPERATIONAL_STATUS_REASON; +pub type PSTORAGE_OPERATIONAL_STATUS_REASON = *mut _STORAGE_OPERATIONAL_STATUS_REASON; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_OPERATIONAL_REASON { + pub Version: DWORD, + pub Size: DWORD, + pub Reason: STORAGE_OPERATIONAL_STATUS_REASON, + pub RawBytes: _STORAGE_OPERATIONAL_REASON__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_OPERATIONAL_REASON__bindgen_ty_1 { + pub ScsiSenseKey: _STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1, + pub NVDIMM_N: _STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2, + pub AsUlong: DWORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1 { + pub SenseKey: BYTE, + pub ASC: BYTE, + pub ASCQ: BYTE, + pub Reserved: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SenseKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(SenseKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ASC) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ASC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ASCQ) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ASCQ) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2 { + pub CriticalHealth: BYTE, + pub ModuleHealth: [BYTE; 2usize], + pub ErrorThresholdStatus: BYTE, +} +#[test] +fn bindgen_test_layout__STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CriticalHealth) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(CriticalHealth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ModuleHealth) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(ModuleHealth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorThresholdStatus) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(ErrorThresholdStatus) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_OPERATIONAL_REASON__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OPERATIONAL_REASON__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScsiSenseKey) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1), + "::", + stringify!(ScsiSenseKey) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NVDIMM_N) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1), + "::", + stringify!(NVDIMM_N) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsUlong) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON__bindgen_ty_1), + "::", + stringify!(AsUlong) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_OPERATIONAL_REASON() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OPERATIONAL_REASON> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OPERATIONAL_REASON>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_OPERATIONAL_REASON)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OPERATIONAL_REASON>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_OPERATIONAL_REASON)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON), + "::", + stringify!(Reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RawBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OPERATIONAL_REASON), + "::", + stringify!(RawBytes) + ) + ); +} +pub type STORAGE_OPERATIONAL_REASON = _STORAGE_OPERATIONAL_REASON; +pub type PSTORAGE_OPERATIONAL_REASON = *mut _STORAGE_OPERATIONAL_REASON; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_DEVICE_MANAGEMENT_STATUS { + pub Version: DWORD, + pub Size: DWORD, + pub Health: STORAGE_DISK_HEALTH_STATUS, + pub NumberOfOperationalStatus: DWORD, + pub NumberOfAdditionalReasons: DWORD, + pub OperationalStatus: [STORAGE_DISK_OPERATIONAL_STATUS; 16usize], + pub AdditionalReasons: [STORAGE_OPERATIONAL_REASON; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_MANAGEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_MANAGEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_MANAGEMENT_STATUS>(), + 100usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_MANAGEMENT_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Health) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(Health) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfOperationalStatus) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(NumberOfOperationalStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAdditionalReasons) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(NumberOfAdditionalReasons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationalStatus) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(OperationalStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalReasons) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_MANAGEMENT_STATUS), + "::", + stringify!(AdditionalReasons) + ) + ); +} +pub type STORAGE_DEVICE_MANAGEMENT_STATUS = _STORAGE_DEVICE_MANAGEMENT_STATUS; +pub type PSTORAGE_DEVICE_MANAGEMENT_STATUS = *mut _STORAGE_DEVICE_MANAGEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ADAPTER_SERIAL_NUMBER { + pub Version: DWORD, + pub Size: DWORD, + pub SerialNumber: [WCHAR; 128usize], +} +#[test] +fn bindgen_test_layout__STORAGE_ADAPTER_SERIAL_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ADAPTER_SERIAL_NUMBER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ADAPTER_SERIAL_NUMBER>(), + 264usize, + concat!("Size of: ", stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ADAPTER_SERIAL_NUMBER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ADAPTER_SERIAL_NUMBER), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type STORAGE_ADAPTER_SERIAL_NUMBER = _STORAGE_ADAPTER_SERIAL_NUMBER; +pub type PSTORAGE_ADAPTER_SERIAL_NUMBER = *mut _STORAGE_ADAPTER_SERIAL_NUMBER; +pub const _STORAGE_ZONED_DEVICE_TYPES_ZonedDeviceTypeUnknown: _STORAGE_ZONED_DEVICE_TYPES = 0; +pub const _STORAGE_ZONED_DEVICE_TYPES_ZonedDeviceTypeHostManaged: _STORAGE_ZONED_DEVICE_TYPES = 1; +pub const _STORAGE_ZONED_DEVICE_TYPES_ZonedDeviceTypeHostAware: _STORAGE_ZONED_DEVICE_TYPES = 2; +pub const _STORAGE_ZONED_DEVICE_TYPES_ZonedDeviceTypeDeviceManaged: _STORAGE_ZONED_DEVICE_TYPES = 3; +pub type _STORAGE_ZONED_DEVICE_TYPES = ::std::os::raw::c_int; +pub use self::_STORAGE_ZONED_DEVICE_TYPES as STORAGE_ZONED_DEVICE_TYPES; +pub type PSTORAGE_ZONED_DEVICE_TYPES = *mut _STORAGE_ZONED_DEVICE_TYPES; +pub const _STORAGE_ZONE_TYPES_ZoneTypeUnknown: _STORAGE_ZONE_TYPES = 0; +pub const _STORAGE_ZONE_TYPES_ZoneTypeConventional: _STORAGE_ZONE_TYPES = 1; +pub const _STORAGE_ZONE_TYPES_ZoneTypeSequentialWriteRequired: _STORAGE_ZONE_TYPES = 2; +pub const _STORAGE_ZONE_TYPES_ZoneTypeSequentialWritePreferred: _STORAGE_ZONE_TYPES = 3; +pub const _STORAGE_ZONE_TYPES_ZoneTypeMax: _STORAGE_ZONE_TYPES = 4; +pub type _STORAGE_ZONE_TYPES = ::std::os::raw::c_int; +pub use self::_STORAGE_ZONE_TYPES as STORAGE_ZONE_TYPES; +pub type PSTORAGE_ZONE_TYPES = *mut _STORAGE_ZONE_TYPES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ZONE_GROUP { + pub ZoneCount: DWORD, + pub ZoneType: STORAGE_ZONE_TYPES, + pub ZoneSize: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_ZONE_GROUP() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ZONE_GROUP> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONE_GROUP>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_ZONE_GROUP)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONE_GROUP>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_ZONE_GROUP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_GROUP), + "::", + stringify!(ZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_GROUP), + "::", + stringify!(ZoneType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_GROUP), + "::", + stringify!(ZoneSize) + ) + ); +} +pub type STORAGE_ZONE_GROUP = _STORAGE_ZONE_GROUP; +pub type PSTORAGE_ZONE_GROUP = *mut _STORAGE_ZONE_GROUP; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_ZONED_DEVICE_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceType: STORAGE_ZONED_DEVICE_TYPES, + pub ZoneCount: DWORD, + pub ZoneAttributes: _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1, + pub ZoneGroupCount: DWORD, + pub ZoneGroup: [STORAGE_ZONE_GROUP; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1 { + pub SequentialRequiredZone: _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1, + pub SequentialPreferredZone: _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1 { + pub MaxOpenZoneCount: DWORD, + pub UnrestrictedRead: BOOLEAN, + pub Reserved: [BYTE; 3usize], +} +#[test] +fn bindgen_test_layout__STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxOpenZoneCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MaxOpenZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnrestrictedRead) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(UnrestrictedRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Reserved) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2 { + pub OptimalOpenZoneCount: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimalOpenZoneCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(OptimalOpenZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Reserved) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequentialRequiredZone) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(SequentialRequiredZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SequentialPreferredZone) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR__bindgen_ty_1), + "::", + stringify!(SequentialPreferredZone) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_ZONED_DEVICE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ZONED_DEVICE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>(), + 48usize, + concat!("Size of: ", stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONED_DEVICE_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(DeviceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(ZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneAttributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(ZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneGroupCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(ZoneGroupCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneGroup) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONED_DEVICE_DESCRIPTOR), + "::", + stringify!(ZoneGroup) + ) + ); +} +pub type STORAGE_ZONED_DEVICE_DESCRIPTOR = _STORAGE_ZONED_DEVICE_DESCRIPTOR; +pub type PSTORAGE_ZONED_DEVICE_DESCRIPTOR = *mut _STORAGE_ZONED_DEVICE_DESCRIPTOR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_LOCATION { + pub Socket: DWORD, + pub Slot: DWORD, + pub Adapter: DWORD, + pub Port: DWORD, + pub __bindgen_anon_1: _DEVICE_LOCATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICE_LOCATION__bindgen_ty_1 { + pub __bindgen_anon_1: _DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1, + pub __bindgen_anon_2: _DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1 { + pub Channel: DWORD, + pub Device: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Channel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Channel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Device) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Device) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2 { + pub Target: DWORD, + pub Lun: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Target) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Target) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lun) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Lun) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_LOCATION__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DEVICE_LOCATION__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_DEVICE_LOCATION__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LOCATION__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_LOCATION__bindgen_ty_1)) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_LOCATION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_LOCATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_LOCATION>(), + 24usize, + concat!("Size of: ", stringify!(_DEVICE_LOCATION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_LOCATION>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_LOCATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Socket) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION), + "::", + stringify!(Socket) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Adapter) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION), + "::", + stringify!(Adapter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Port) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_LOCATION), + "::", + stringify!(Port) + ) + ); +} +pub type DEVICE_LOCATION = _DEVICE_LOCATION; +pub type PDEVICE_LOCATION = *mut _DEVICE_LOCATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_DEVICE_LOCATION_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub Location: DEVICE_LOCATION, + pub StringOffset: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_LOCATION_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_LOCATION_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_LOCATION_DESCRIPTOR>(), + 36usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_LOCATION_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Location) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), + "::", + stringify!(Location) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_LOCATION_DESCRIPTOR), + "::", + stringify!(StringOffset) + ) + ); +} +pub type STORAGE_DEVICE_LOCATION_DESCRIPTOR = _STORAGE_DEVICE_LOCATION_DESCRIPTOR; +pub type PSTORAGE_DEVICE_LOCATION_DESCRIPTOR = *mut _STORAGE_DEVICE_LOCATION_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_NUMA_PROPERTY { + pub Version: DWORD, + pub Size: DWORD, + pub NumaNode: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_NUMA_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_NUMA_PROPERTY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_NUMA_PROPERTY>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_NUMA_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_NUMA_PROPERTY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_NUMA_PROPERTY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMA_PROPERTY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMA_PROPERTY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_NUMA_PROPERTY), + "::", + stringify!(NumaNode) + ) + ); +} +pub type STORAGE_DEVICE_NUMA_PROPERTY = _STORAGE_DEVICE_NUMA_PROPERTY; +pub type PSTORAGE_DEVICE_NUMA_PROPERTY = *mut _STORAGE_DEVICE_NUMA_PROPERTY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT { + pub Version: DWORD, + pub Size: DWORD, + pub UnsafeShutdownCount: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnsafeShutdownCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT), + "::", + stringify!(UnsafeShutdownCount) + ) + ); +} +pub type STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT = _STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT; +pub type PSTORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT = *mut _STORAGE_DEVICE_UNSAFE_SHUTDOWN_COUNT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_ENDURANCE_INFO { + pub ValidFields: DWORD, + pub GroupId: DWORD, + pub Flags: _STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1, + pub LifePercentage: DWORD, + pub BytesReadCount: [BYTE; 16usize], + pub ByteWriteCount: [BYTE; 16usize], +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout__STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1) + ) + ); +} +impl _STORAGE_HW_ENDURANCE_INFO__bindgen_ty_1 { + #[inline] + pub fn Shared(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_Shared(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 31u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 31u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(Shared: DWORD, Reserved: DWORD) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Shared: u32 = unsafe { ::std::mem::transmute(Shared) }; + Shared as u64 + }); + __bindgen_bitfield_unit.set(1usize, 31u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__STORAGE_HW_ENDURANCE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_ENDURANCE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_ENDURANCE_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_STORAGE_HW_ENDURANCE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_ENDURANCE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_ENDURANCE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ValidFields) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(ValidFields) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GroupId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(GroupId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LifePercentage) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(LifePercentage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesReadCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(BytesReadCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteWriteCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_INFO), + "::", + stringify!(ByteWriteCount) + ) + ); +} +pub type STORAGE_HW_ENDURANCE_INFO = _STORAGE_HW_ENDURANCE_INFO; +pub type PSTORAGE_HW_ENDURANCE_INFO = *mut _STORAGE_HW_ENDURANCE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub EnduranceInfo: STORAGE_HW_ENDURANCE_INFO, +} +#[test] +fn bindgen_test_layout__STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR>(), + 56usize, + concat!( + "Size of: ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnduranceInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR), + "::", + stringify!(EnduranceInfo) + ) + ); +} +pub type STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR = _STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR; +pub type PSTORAGE_HW_ENDURANCE_DATA_DESCRIPTOR = *mut _STORAGE_HW_ENDURANCE_DATA_DESCRIPTOR; +pub type DEVICE_DATA_MANAGEMENT_SET_ACTION = DWORD; +pub type DEVICE_DSM_ACTION = DWORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_RANGE { + pub StartingOffset: LONGLONG, + pub LengthInBytes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DATA_SET_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_RANGE), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_RANGE), + "::", + stringify!(LengthInBytes) + ) + ); +} +pub type DEVICE_DATA_SET_RANGE = _DEVICE_DATA_SET_RANGE; +pub type PDEVICE_DATA_SET_RANGE = *mut _DEVICE_DATA_SET_RANGE; +pub type DEVICE_DSM_RANGE = _DEVICE_DATA_SET_RANGE; +pub type PDEVICE_DSM_RANGE = *mut _DEVICE_DATA_SET_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES { + pub Size: DWORD, + pub Action: DEVICE_DSM_ACTION, + pub Flags: DWORD, + pub ParameterBlockOffset: DWORD, + pub ParameterBlockLength: DWORD, + pub DataSetRangesOffset: DWORD, + pub DataSetRangesLength: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_MANAGE_DATA_SET_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>(), + 28usize, + concat!("Size of: ", stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterBlockOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(ParameterBlockOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterBlockLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(ParameterBlockLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSetRangesOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(DataSetRangesOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSetRangesLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES), + "::", + stringify!(DataSetRangesLength) + ) + ); +} +pub type DEVICE_MANAGE_DATA_SET_ATTRIBUTES = _DEVICE_MANAGE_DATA_SET_ATTRIBUTES; +pub type PDEVICE_MANAGE_DATA_SET_ATTRIBUTES = *mut _DEVICE_MANAGE_DATA_SET_ATTRIBUTES; +pub type DEVICE_DSM_INPUT = _DEVICE_MANAGE_DATA_SET_ATTRIBUTES; +pub type PDEVICE_DSM_INPUT = *mut _DEVICE_MANAGE_DATA_SET_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT { + pub Size: DWORD, + pub Action: DEVICE_DSM_ACTION, + pub Flags: DWORD, + pub OperationStatus: DWORD, + pub ExtendedError: DWORD, + pub TargetDetailedError: DWORD, + pub ReservedStatus: DWORD, + pub OutputBlockOffset: DWORD, + pub OutputBlockLength: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>(), + 36usize, + concat!( + "Size of: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationStatus) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(OperationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedError) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(ExtendedError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetDetailedError) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(TargetDetailedError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReservedStatus) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(ReservedStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBlockOffset) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(OutputBlockOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBlockLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT), + "::", + stringify!(OutputBlockLength) + ) + ); +} +pub type DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT = _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT; +pub type PDEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT = *mut _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT; +pub type DEVICE_DSM_OUTPUT = _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT; +pub type PDEVICE_DSM_OUTPUT = *mut _DEVICE_MANAGE_DATA_SET_ATTRIBUTES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_DEFINITION { + pub Action: DEVICE_DSM_ACTION, + pub SingleRange: BOOLEAN, + pub ParameterBlockAlignment: DWORD, + pub ParameterBlockLength: DWORD, + pub HasOutput: BOOLEAN, + pub OutputBlockAlignment: DWORD, + pub OutputBlockLength: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_DEFINITION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_DEFINITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_DEFINITION>(), + 28usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_DEFINITION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_DEFINITION>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_DEFINITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SingleRange) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(SingleRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterBlockAlignment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(ParameterBlockAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterBlockLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(ParameterBlockLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HasOutput) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(HasOutput) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBlockAlignment) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(OutputBlockAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBlockLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_DEFINITION), + "::", + stringify!(OutputBlockLength) + ) + ); +} +pub type DEVICE_DSM_DEFINITION = _DEVICE_DSM_DEFINITION; +pub type PDEVICE_DSM_DEFINITION = *mut _DEVICE_DSM_DEFINITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_NOTIFICATION_PARAMETERS { + pub Size: DWORD, + pub Flags: DWORD, + pub NumFileTypeIDs: DWORD, + pub FileTypeID: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_NOTIFICATION_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_NOTIFICATION_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_NOTIFICATION_PARAMETERS>(), + 28usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_NOTIFICATION_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumFileTypeIDs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), + "::", + stringify!(NumFileTypeIDs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileTypeID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NOTIFICATION_PARAMETERS), + "::", + stringify!(FileTypeID) + ) + ); +} +pub type DEVICE_DSM_NOTIFICATION_PARAMETERS = _DEVICE_DSM_NOTIFICATION_PARAMETERS; +pub type PDEVICE_DSM_NOTIFICATION_PARAMETERS = *mut _DEVICE_DSM_NOTIFICATION_PARAMETERS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_OFFLOAD_TOKEN { + pub TokenType: [BYTE; 4usize], + pub Reserved: [BYTE; 2usize], + pub TokenIdLength: [BYTE; 2usize], + pub __bindgen_anon_1: _STORAGE_OFFLOAD_TOKEN__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_OFFLOAD_TOKEN__bindgen_ty_1 { + pub StorageOffloadZeroDataToken: _STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1, + pub Token: [BYTE; 504usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1 { + pub Reserved2: [BYTE; 504usize], +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1>(), + 504usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Reserved2) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_TOKEN__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1>(), + 504usize, + concat!( + "Size of: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageOffloadZeroDataToken) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1), + "::", + stringify!(StorageOffloadZeroDataToken) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN__bindgen_ty_1), + "::", + stringify!(Token) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_TOKEN() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_TOKEN> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_TOKEN>(), + 512usize, + concat!("Size of: ", stringify!(_STORAGE_OFFLOAD_TOKEN)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_TOKEN>(), + 1usize, + concat!("Alignment of ", stringify!(_STORAGE_OFFLOAD_TOKEN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN), + "::", + stringify!(TokenType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenIdLength) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_TOKEN), + "::", + stringify!(TokenIdLength) + ) + ); +} +pub type STORAGE_OFFLOAD_TOKEN = _STORAGE_OFFLOAD_TOKEN; +pub type PSTORAGE_OFFLOAD_TOKEN = *mut _STORAGE_OFFLOAD_TOKEN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_OFFLOAD_READ_PARAMETERS { + pub Flags: DWORD, + pub TimeToLive: DWORD, + pub Reserved: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_OFFLOAD_READ_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_OFFLOAD_READ_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_OFFLOAD_READ_PARAMETERS>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_OFFLOAD_READ_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeToLive) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS), + "::", + stringify!(TimeToLive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_READ_PARAMETERS), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_DSM_OFFLOAD_READ_PARAMETERS = _DEVICE_DSM_OFFLOAD_READ_PARAMETERS; +pub type PDEVICE_DSM_OFFLOAD_READ_PARAMETERS = *mut _DEVICE_DSM_OFFLOAD_READ_PARAMETERS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_OFFLOAD_READ_OUTPUT { + pub OffloadReadFlags: DWORD, + pub Reserved: DWORD, + pub LengthProtected: DWORDLONG, + pub TokenLength: DWORD, + pub Token: STORAGE_OFFLOAD_TOKEN, +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_READ_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_READ_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_READ_OUTPUT>(), + 536usize, + concat!("Size of: ", stringify!(_STORAGE_OFFLOAD_READ_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_READ_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_OFFLOAD_READ_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffloadReadFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(OffloadReadFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthProtected) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(LengthProtected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(TokenLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Token) + ) + ); +} +pub type STORAGE_OFFLOAD_READ_OUTPUT = _STORAGE_OFFLOAD_READ_OUTPUT; +pub type PSTORAGE_OFFLOAD_READ_OUTPUT = *mut _STORAGE_OFFLOAD_READ_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS { + pub Flags: DWORD, + pub Reserved: DWORD, + pub TokenOffset: DWORDLONG, + pub Token: STORAGE_OFFLOAD_TOKEN, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS>(), + 528usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), + "::", + stringify!(TokenOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS), + "::", + stringify!(Token) + ) + ); +} +pub type DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS = _DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS; +pub type PDEVICE_DSM_OFFLOAD_WRITE_PARAMETERS = *mut _DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_OFFLOAD_WRITE_OUTPUT { + pub OffloadWriteFlags: DWORD, + pub Reserved: DWORD, + pub LengthCopied: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_OFFLOAD_WRITE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_OFFLOAD_WRITE_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_OFFLOAD_WRITE_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_OFFLOAD_WRITE_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffloadWriteFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(OffloadWriteFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthCopied) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(LengthCopied) + ) + ); +} +pub type STORAGE_OFFLOAD_WRITE_OUTPUT = _STORAGE_OFFLOAD_WRITE_OUTPUT; +pub type PSTORAGE_OFFLOAD_WRITE_OUTPUT = *mut _STORAGE_OFFLOAD_WRITE_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_LBP_STATE_PARAMETERS { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub OutputVersion: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_LBP_STATE_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS>(), + 16usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_LBP_STATE_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LBP_STATE_PARAMETERS), + "::", + stringify!(OutputVersion) + ) + ); +} +pub type DEVICE_DATA_SET_LBP_STATE_PARAMETERS = _DEVICE_DATA_SET_LBP_STATE_PARAMETERS; +pub type PDEVICE_DATA_SET_LBP_STATE_PARAMETERS = *mut _DEVICE_DATA_SET_LBP_STATE_PARAMETERS; +pub type DEVICE_DSM_ALLOCATION_PARAMETERS = _DEVICE_DATA_SET_LBP_STATE_PARAMETERS; +pub type PDEVICE_DSM_ALLOCATION_PARAMETERS = *mut _DEVICE_DATA_SET_LBP_STATE_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_LB_PROVISIONING_STATE { + pub Size: DWORD, + pub Version: DWORD, + pub SlabSizeInBytes: DWORDLONG, + pub SlabOffsetDeltaInBytes: DWORD, + pub SlabAllocationBitMapBitCount: DWORD, + pub SlabAllocationBitMapLength: DWORD, + pub SlabAllocationBitMap: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_LB_PROVISIONING_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_LB_PROVISIONING_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabSizeInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabOffsetDeltaInBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabOffsetDeltaInBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SlabAllocationBitMapBitCount) as usize - ptr as usize + }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabAllocationBitMapBitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabAllocationBitMapLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabAllocationBitMapLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabAllocationBitMap) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE), + "::", + stringify!(SlabAllocationBitMap) + ) + ); +} +pub type DEVICE_DATA_SET_LB_PROVISIONING_STATE = _DEVICE_DATA_SET_LB_PROVISIONING_STATE; +pub type PDEVICE_DATA_SET_LB_PROVISIONING_STATE = *mut _DEVICE_DATA_SET_LB_PROVISIONING_STATE; +pub type DEVICE_DSM_ALLOCATION_OUTPUT = _DEVICE_DATA_SET_LB_PROVISIONING_STATE; +pub type PDEVICE_DSM_ALLOCATION_OUTPUT = *mut _DEVICE_DATA_SET_LB_PROVISIONING_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 { + pub Size: DWORD, + pub Version: DWORD, + pub SlabSizeInBytes: DWORDLONG, + pub SlabOffsetDeltaInBytes: DWORDLONG, + pub SlabAllocationBitMapBitCount: DWORD, + pub SlabAllocationBitMapLength: DWORD, + pub SlabAllocationBitMap: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>(), + 40usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabSizeInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabOffsetDeltaInBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabOffsetDeltaInBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SlabAllocationBitMapBitCount) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabAllocationBitMapBitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabAllocationBitMapLength) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabAllocationBitMapLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlabAllocationBitMap) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2), + "::", + stringify!(SlabAllocationBitMap) + ) + ); +} +pub type DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 = _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2; +pub type PDEVICE_DATA_SET_LB_PROVISIONING_STATE_V2 = *mut _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2; +pub type DEVICE_DSM_ALLOCATION_OUTPUT2 = _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2; +pub type PDEVICE_DSM_ALLOCATION_OUTPUT2 = *mut _DEVICE_DATA_SET_LB_PROVISIONING_STATE_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_REPAIR_PARAMETERS { + pub NumberOfRepairCopies: DWORD, + pub SourceCopy: DWORD, + pub RepairCopies: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_REPAIR_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_REPAIR_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_REPAIR_PARAMETERS>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_REPAIR_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRepairCopies) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS), + "::", + stringify!(NumberOfRepairCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceCopy) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS), + "::", + stringify!(SourceCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RepairCopies) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_REPAIR_PARAMETERS), + "::", + stringify!(RepairCopies) + ) + ); +} +pub type DEVICE_DATA_SET_REPAIR_PARAMETERS = _DEVICE_DATA_SET_REPAIR_PARAMETERS; +pub type PDEVICE_DATA_SET_REPAIR_PARAMETERS = *mut _DEVICE_DATA_SET_REPAIR_PARAMETERS; +pub type DEVICE_DSM_REPAIR_PARAMETERS = _DEVICE_DATA_SET_REPAIR_PARAMETERS; +pub type PDEVICE_DSM_REPAIR_PARAMETERS = *mut _DEVICE_DATA_SET_REPAIR_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_REPAIR_OUTPUT { + pub ParityExtent: DEVICE_DSM_RANGE, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_REPAIR_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_REPAIR_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_REPAIR_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_REPAIR_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_REPAIR_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DATA_SET_REPAIR_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParityExtent) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_REPAIR_OUTPUT), + "::", + stringify!(ParityExtent) + ) + ); +} +pub type DEVICE_DATA_SET_REPAIR_OUTPUT = _DEVICE_DATA_SET_REPAIR_OUTPUT; +pub type PDEVICE_DATA_SET_REPAIR_OUTPUT = *mut _DEVICE_DATA_SET_REPAIR_OUTPUT; +pub type DEVICE_DSM_REPAIR_OUTPUT = _DEVICE_DATA_SET_REPAIR_OUTPUT; +pub type PDEVICE_DSM_REPAIR_OUTPUT = *mut _DEVICE_DATA_SET_REPAIR_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_SCRUB_OUTPUT { + pub BytesProcessed: DWORDLONG, + pub BytesRepaired: DWORDLONG, + pub BytesFailed: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_SCRUB_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_SCRUB_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_SCRUB_OUTPUT>(), + 24usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_SCRUB_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesProcessed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT), + "::", + stringify!(BytesProcessed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesRepaired) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT), + "::", + stringify!(BytesRepaired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesFailed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_OUTPUT), + "::", + stringify!(BytesFailed) + ) + ); +} +pub type DEVICE_DATA_SET_SCRUB_OUTPUT = _DEVICE_DATA_SET_SCRUB_OUTPUT; +pub type PDEVICE_DATA_SET_SCRUB_OUTPUT = *mut _DEVICE_DATA_SET_SCRUB_OUTPUT; +pub type DEVICE_DSM_SCRUB_OUTPUT = _DEVICE_DATA_SET_SCRUB_OUTPUT; +pub type PDEVICE_DSM_SCRUB_OUTPUT = *mut _DEVICE_DATA_SET_SCRUB_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_SCRUB_EX_OUTPUT { + pub BytesProcessed: DWORDLONG, + pub BytesRepaired: DWORDLONG, + pub BytesFailed: DWORDLONG, + pub ParityExtent: DEVICE_DSM_RANGE, +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_SCRUB_EX_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>(), + 40usize, + concat!("Size of: ", stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_SCRUB_EX_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesProcessed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), + "::", + stringify!(BytesProcessed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesRepaired) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), + "::", + stringify!(BytesRepaired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesFailed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), + "::", + stringify!(BytesFailed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParityExtent) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_SCRUB_EX_OUTPUT), + "::", + stringify!(ParityExtent) + ) + ); +} +pub type DEVICE_DATA_SET_SCRUB_EX_OUTPUT = _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; +pub type PDEVICE_DATA_SET_SCRUB_EX_OUTPUT = *mut _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; +pub type DEVICE_DSM_SCRUB_OUTPUT2 = _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; +pub type PDEVICE_DSM_SCRUB_OUTPUT2 = *mut _DEVICE_DATA_SET_SCRUB_EX_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_TIERING_QUERY_INPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub NumberOfTierIds: DWORD, + pub TierIds: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_TIERING_QUERY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_TIERING_QUERY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_TIERING_QUERY_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_TIERING_QUERY_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTierIds) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(NumberOfTierIds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TierIds) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_INPUT), + "::", + stringify!(TierIds) + ) + ); +} +pub type DEVICE_DSM_TIERING_QUERY_INPUT = _DEVICE_DSM_TIERING_QUERY_INPUT; +pub type PDEVICE_DSM_TIERING_QUERY_INPUT = *mut _DEVICE_DSM_TIERING_QUERY_INPUT; +pub type DEVICE_DSM_TIERING_QUERY_PARAMETERS = _DEVICE_DSM_TIERING_QUERY_INPUT; +pub type PDEVICE_DSM_TIERING_QUERY_PARAMETERS = *mut _DEVICE_DSM_TIERING_QUERY_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_TIER_REGION { + pub TierId: GUID, + pub Offset: DWORDLONG, + pub Length: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_TIER_REGION() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_TIER_REGION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_TIER_REGION>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_TIER_REGION)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_TIER_REGION>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_TIER_REGION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TierId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER_REGION), + "::", + stringify!(TierId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER_REGION), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_TIER_REGION), + "::", + stringify!(Length) + ) + ); +} +pub type STORAGE_TIER_REGION = _STORAGE_TIER_REGION; +pub type PSTORAGE_TIER_REGION = *mut _STORAGE_TIER_REGION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_TIERING_QUERY_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, + pub Alignment: DWORDLONG, + pub TotalNumberOfRegions: DWORD, + pub NumberOfRegionsReturned: DWORD, + pub Regions: [STORAGE_TIER_REGION; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_TIERING_QUERY_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_TIERING_QUERY_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>(), + 64usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_TIERING_QUERY_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Alignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfRegions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(TotalNumberOfRegions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRegionsReturned) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(NumberOfRegionsReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Regions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_TIERING_QUERY_OUTPUT), + "::", + stringify!(Regions) + ) + ); +} +pub type DEVICE_DSM_TIERING_QUERY_OUTPUT = _DEVICE_DSM_TIERING_QUERY_OUTPUT; +pub type PDEVICE_DSM_TIERING_QUERY_OUTPUT = *mut _DEVICE_DSM_TIERING_QUERY_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS { + pub Size: DWORD, + pub TargetPriority: BYTE, + pub Reserved: [BYTE; 3usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS>(), + 8usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetPriority) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS), + "::", + stringify!(TargetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS = + _DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS; +pub type PDEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS = + *mut _DEVICE_DSM_NVCACHE_CHANGE_PRIORITY_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT { + pub TopologyRangeBytes: DWORDLONG, + pub TopologyId: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT>(), + 24usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TopologyRangeBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT), + "::", + stringify!(TopologyRangeBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TopologyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT), + "::", + stringify!(TopologyId) + ) + ); +} +pub type DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT = _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT; +pub type PDEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT = *mut _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT; +pub type DEVICE_DSM_TOPOLOGY_ID_QUERY_OUTPUT = _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT; +pub type PDEVICE_DSM_TOPOLOGY_ID_QUERY_OUTPUT = *mut _DEVICE_DATA_SET_TOPOLOGY_ID_QUERY_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_STORAGE_ADDRESS_RANGE { + pub StartAddress: LONGLONG, + pub LengthInBytes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_STORAGE_ADDRESS_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_STORAGE_ADDRESS_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_STORAGE_ADDRESS_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_STORAGE_ADDRESS_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_STORAGE_ADDRESS_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_STORAGE_ADDRESS_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_ADDRESS_RANGE), + "::", + stringify!(StartAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_ADDRESS_RANGE), + "::", + stringify!(LengthInBytes) + ) + ); +} +pub type DEVICE_STORAGE_ADDRESS_RANGE = _DEVICE_STORAGE_ADDRESS_RANGE; +pub type PDEVICE_STORAGE_ADDRESS_RANGE = *mut _DEVICE_STORAGE_ADDRESS_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT { + pub Version: DWORD, + pub Flags: DWORD, + pub TotalNumberOfRanges: DWORD, + pub NumberOfRangesReturned: DWORD, + pub Ranges: [DEVICE_STORAGE_ADDRESS_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT>(), + 32usize, + concat!( + "Size of: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfRanges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(TotalNumberOfRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRangesReturned) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(NumberOfRangesReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT), + "::", + stringify!(Ranges) + ) + ); +} +pub type DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT = _DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT; +pub type PDEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT = *mut _DEVICE_DSM_PHYSICAL_ADDRESSES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_REPORT_ZONES_PARAMETERS { + pub Size: DWORD, + pub ReportOption: BYTE, + pub Partial: BYTE, + pub Reserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_REPORT_ZONES_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_REPORT_ZONES_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_REPORT_ZONES_PARAMETERS>(), + 8usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_REPORT_ZONES_PARAMETERS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportOption) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), + "::", + stringify!(ReportOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Partial) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), + "::", + stringify!(Partial) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_PARAMETERS), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_DSM_REPORT_ZONES_PARAMETERS = _DEVICE_DSM_REPORT_ZONES_PARAMETERS; +pub type PDEVICE_DSM_REPORT_ZONES_PARAMETERS = *mut _DEVICE_DSM_REPORT_ZONES_PARAMETERS; +pub const _STORAGE_ZONES_ATTRIBUTES_ZonesAttributeTypeAndLengthMayDifferent: + _STORAGE_ZONES_ATTRIBUTES = 0; +pub const _STORAGE_ZONES_ATTRIBUTES_ZonesAttributeTypeSameLengthSame: _STORAGE_ZONES_ATTRIBUTES = 1; +pub const _STORAGE_ZONES_ATTRIBUTES_ZonesAttributeTypeSameLastZoneLengthDifferent: + _STORAGE_ZONES_ATTRIBUTES = 2; +pub const _STORAGE_ZONES_ATTRIBUTES_ZonesAttributeTypeMayDifferentLengthSame: + _STORAGE_ZONES_ATTRIBUTES = 3; +pub type _STORAGE_ZONES_ATTRIBUTES = ::std::os::raw::c_int; +pub use self::_STORAGE_ZONES_ATTRIBUTES as STORAGE_ZONES_ATTRIBUTES; +pub type PSTORAGE_ZONES_ATTRIBUTES = *mut _STORAGE_ZONES_ATTRIBUTES; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionConventional: _STORAGE_ZONE_CONDITION = 0; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionEmpty: _STORAGE_ZONE_CONDITION = 1; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionImplicitlyOpened: _STORAGE_ZONE_CONDITION = 2; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionExplicitlyOpened: _STORAGE_ZONE_CONDITION = 3; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionClosed: _STORAGE_ZONE_CONDITION = 4; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionReadOnly: _STORAGE_ZONE_CONDITION = 13; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionFull: _STORAGE_ZONE_CONDITION = 14; +pub const _STORAGE_ZONE_CONDITION_ZoneConditionOffline: _STORAGE_ZONE_CONDITION = 15; +pub type _STORAGE_ZONE_CONDITION = ::std::os::raw::c_int; +pub use self::_STORAGE_ZONE_CONDITION as STORAGE_ZONE_CONDITION; +pub type PSTORAGE_ZONE_CONDITION = *mut _STORAGE_ZONE_CONDITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ZONE_DESCRIPTOR { + pub Size: DWORD, + pub ZoneType: STORAGE_ZONE_TYPES, + pub ZoneCondition: STORAGE_ZONE_CONDITION, + pub ResetWritePointerRecommend: BOOLEAN, + pub Reserved0: [BYTE; 3usize], + pub ZoneSize: DWORDLONG, + pub WritePointerOffset: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_ZONE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ZONE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ZONE_DESCRIPTOR>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_ZONE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ZONE_DESCRIPTOR>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_ZONE_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(ZoneType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneCondition) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(ZoneCondition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResetWritePointerRecommend) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(ResetWritePointerRecommend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(ZoneSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WritePointerOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ZONE_DESCRIPTOR), + "::", + stringify!(WritePointerOffset) + ) + ); +} +pub type STORAGE_ZONE_DESCRIPTOR = _STORAGE_ZONE_DESCRIPTOR; +pub type PSTORAGE_ZONE_DESCRIPTOR = *mut _STORAGE_ZONE_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_REPORT_ZONES_DATA { + pub Size: DWORD, + pub ZoneCount: DWORD, + pub Attributes: STORAGE_ZONES_ATTRIBUTES, + pub Reserved0: DWORD, + pub ZoneDescriptors: [STORAGE_ZONE_DESCRIPTOR; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_REPORT_ZONES_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_REPORT_ZONES_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_REPORT_ZONES_DATA>(), + 48usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_REPORT_ZONES_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_REPORT_ZONES_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_REPORT_ZONES_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(ZoneCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ZoneDescriptors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_REPORT_ZONES_DATA), + "::", + stringify!(ZoneDescriptors) + ) + ); +} +pub type DEVICE_DSM_REPORT_ZONES_DATA = _DEVICE_DSM_REPORT_ZONES_DATA; +pub type PDEVICE_DSM_REPORT_ZONES_DATA = *mut _DEVICE_DSM_REPORT_ZONES_DATA; +pub type DEVICE_DSM_REPORT_ZONES_OUTPUT = _DEVICE_DSM_REPORT_ZONES_DATA; +pub type PDEVICE_DSM_REPORT_ZONES_OUTPUT = *mut _DEVICE_DSM_REPORT_ZONES_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_STORAGE_RANGE_ATTRIBUTES { + pub LengthInBytes: DWORDLONG, + pub __bindgen_anon_1: _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1, + pub Reserved: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1 { + pub AllFlags: DWORD, + pub __bindgen_anon_1: _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[test] +fn bindgen_test_layout__DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl _DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn IsRangeBad(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_IsRangeBad(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(IsRangeBad: DWORD) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let IsRangeBad: u32 = unsafe { ::std::mem::transmute(IsRangeBad) }; + IsRangeBad as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES__bindgen_ty_1), + "::", + stringify!(AllFlags) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICE_STORAGE_RANGE_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_STORAGE_RANGE_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_STORAGE_RANGE_ATTRIBUTES>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES), + "::", + stringify!(LengthInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_STORAGE_RANGE_ATTRIBUTES), + "::", + stringify!(Reserved) + ) + ); +} +pub type DEVICE_STORAGE_RANGE_ATTRIBUTES = _DEVICE_STORAGE_RANGE_ATTRIBUTES; +pub type PDEVICE_STORAGE_RANGE_ATTRIBUTES = *mut _DEVICE_STORAGE_RANGE_ATTRIBUTES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DEVICE_DSM_RANGE_ERROR_INFO { + pub Version: DWORD, + pub Flags: DWORD, + pub TotalNumberOfRanges: DWORD, + pub NumberOfRangesReturned: DWORD, + pub Ranges: [DEVICE_STORAGE_RANGE_ATTRIBUTES; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_RANGE_ERROR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_RANGE_ERROR_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_RANGE_ERROR_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_RANGE_ERROR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_RANGE_ERROR_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_RANGE_ERROR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfRanges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(TotalNumberOfRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRangesReturned) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(NumberOfRangesReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_RANGE_ERROR_INFO), + "::", + stringify!(Ranges) + ) + ); +} +pub type DEVICE_DSM_RANGE_ERROR_INFO = _DEVICE_DSM_RANGE_ERROR_INFO; +pub type PDEVICE_DSM_RANGE_ERROR_INFO = *mut _DEVICE_DSM_RANGE_ERROR_INFO; +pub type DEVICE_DSM_RANGE_ERROR_OUTPUT = _DEVICE_DSM_RANGE_ERROR_INFO; +pub type PDEVICE_DSM_RANGE_ERROR_OUTPUT = *mut _DEVICE_DSM_RANGE_ERROR_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_LOST_QUERY_PARAMETERS { + pub Version: DWORD, + pub Granularity: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_LOST_QUERY_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_LOST_QUERY_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_LOST_QUERY_PARAMETERS>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_LOST_QUERY_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_LOST_QUERY_PARAMETERS>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DEVICE_DSM_LOST_QUERY_PARAMETERS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Granularity) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_PARAMETERS), + "::", + stringify!(Granularity) + ) + ); +} +pub type DEVICE_DSM_LOST_QUERY_PARAMETERS = _DEVICE_DSM_LOST_QUERY_PARAMETERS; +pub type PDEVICE_DSM_LOST_QUERY_PARAMETERS = *mut _DEVICE_DSM_LOST_QUERY_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_LOST_QUERY_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Alignment: DWORDLONG, + pub NumberOfBits: DWORD, + pub BitMap: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_LOST_QUERY_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_LOST_QUERY_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_LOST_QUERY_OUTPUT>(), + 24usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_LOST_QUERY_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(Alignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBits) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(NumberOfBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitMap) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_LOST_QUERY_OUTPUT), + "::", + stringify!(BitMap) + ) + ); +} +pub type DEVICE_DSM_LOST_QUERY_OUTPUT = _DEVICE_DSM_LOST_QUERY_OUTPUT; +pub type PDEVICE_DSM_LOST_QUERY_OUTPUT = *mut _DEVICE_DSM_LOST_QUERY_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_FREE_SPACE_OUTPUT { + pub Version: DWORD, + pub FreeSpace: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_FREE_SPACE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_FREE_SPACE_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_FREE_SPACE_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_FREE_SPACE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_FREE_SPACE_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_FREE_SPACE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_FREE_SPACE_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeSpace) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_FREE_SPACE_OUTPUT), + "::", + stringify!(FreeSpace) + ) + ); +} +pub type DEVICE_DSM_FREE_SPACE_OUTPUT = _DEVICE_DSM_FREE_SPACE_OUTPUT; +pub type PDEVICE_DSM_FREE_SPACE_OUTPUT = *mut _DEVICE_DSM_FREE_SPACE_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_DSM_CONVERSION_OUTPUT { + pub Version: DWORD, + pub Source: GUID, +} +#[test] +fn bindgen_test_layout__DEVICE_DSM_CONVERSION_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_DSM_CONVERSION_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_DSM_CONVERSION_OUTPUT>(), + 20usize, + concat!("Size of: ", stringify!(_DEVICE_DSM_CONVERSION_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_DSM_CONVERSION_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_DEVICE_DSM_CONVERSION_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_CONVERSION_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Source) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_DSM_CONVERSION_OUTPUT), + "::", + stringify!(Source) + ) + ); +} +pub type DEVICE_DSM_CONVERSION_OUTPUT = _DEVICE_DSM_CONVERSION_OUTPUT; +pub type PDEVICE_DSM_CONVERSION_OUTPUT = *mut _DEVICE_DSM_CONVERSION_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_GET_BC_PROPERTIES_OUTPUT { + pub MaximumRequestsPerPeriod: DWORD, + pub MinimumPeriod: DWORD, + pub MaximumRequestSize: DWORDLONG, + pub EstimatedTimePerRequest: DWORD, + pub NumOutStandingRequests: DWORD, + pub RequestSize: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_GET_BC_PROPERTIES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_GET_BC_PROPERTIES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_GET_BC_PROPERTIES_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumRequestsPerPeriod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(MaximumRequestsPerPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumPeriod) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(MinimumPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumRequestSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(MaximumRequestSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EstimatedTimePerRequest) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(EstimatedTimePerRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumOutStandingRequests) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(NumOutStandingRequests) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_GET_BC_PROPERTIES_OUTPUT), + "::", + stringify!(RequestSize) + ) + ); +} +pub type STORAGE_GET_BC_PROPERTIES_OUTPUT = _STORAGE_GET_BC_PROPERTIES_OUTPUT; +pub type PSTORAGE_GET_BC_PROPERTIES_OUTPUT = *mut _STORAGE_GET_BC_PROPERTIES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ALLOCATE_BC_STREAM_INPUT { + pub Version: DWORD, + pub RequestsPerPeriod: DWORD, + pub Period: DWORD, + pub RetryFailures: BOOLEAN, + pub Discardable: BOOLEAN, + pub Reserved1: [BOOLEAN; 2usize], + pub AccessType: DWORD, + pub AccessMode: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ALLOCATE_BC_STREAM_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ALLOCATE_BC_STREAM_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ALLOCATE_BC_STREAM_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestsPerPeriod) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(RequestsPerPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Period) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(Period) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RetryFailures) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(RetryFailures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Discardable) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(Discardable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessType) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(AccessType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessMode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_INPUT), + "::", + stringify!(AccessMode) + ) + ); +} +pub type STORAGE_ALLOCATE_BC_STREAM_INPUT = _STORAGE_ALLOCATE_BC_STREAM_INPUT; +pub type PSTORAGE_ALLOCATE_BC_STREAM_INPUT = *mut _STORAGE_ALLOCATE_BC_STREAM_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ALLOCATE_BC_STREAM_OUTPUT { + pub RequestSize: DWORDLONG, + pub NumOutStandingRequests: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ALLOCATE_BC_STREAM_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ALLOCATE_BC_STREAM_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ALLOCATE_BC_STREAM_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_ALLOCATE_BC_STREAM_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ALLOCATE_BC_STREAM_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_OUTPUT), + "::", + stringify!(RequestSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumOutStandingRequests) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ALLOCATE_BC_STREAM_OUTPUT), + "::", + stringify!(NumOutStandingRequests) + ) + ); +} +pub type STORAGE_ALLOCATE_BC_STREAM_OUTPUT = _STORAGE_ALLOCATE_BC_STREAM_OUTPUT; +pub type PSTORAGE_ALLOCATE_BC_STREAM_OUTPUT = *mut _STORAGE_ALLOCATE_BC_STREAM_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PRIORITY_HINT_SUPPORT { + pub SupportFlags: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_PRIORITY_HINT_SUPPORT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PRIORITY_HINT_SUPPORT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PRIORITY_HINT_SUPPORT>(), + 4usize, + concat!("Size of: ", stringify!(_STORAGE_PRIORITY_HINT_SUPPORT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PRIORITY_HINT_SUPPORT>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PRIORITY_HINT_SUPPORT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SupportFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PRIORITY_HINT_SUPPORT), + "::", + stringify!(SupportFlags) + ) + ); +} +pub type STORAGE_PRIORITY_HINT_SUPPORT = _STORAGE_PRIORITY_HINT_SUPPORT; +pub type PSTORAGE_PRIORITY_HINT_SUPPORT = *mut _STORAGE_PRIORITY_HINT_SUPPORT; +pub const _STORAGE_DIAGNOSTIC_LEVEL_StorageDiagnosticLevelDefault: _STORAGE_DIAGNOSTIC_LEVEL = 0; +pub const _STORAGE_DIAGNOSTIC_LEVEL_StorageDiagnosticLevelMax: _STORAGE_DIAGNOSTIC_LEVEL = 1; +pub type _STORAGE_DIAGNOSTIC_LEVEL = ::std::os::raw::c_int; +pub use self::_STORAGE_DIAGNOSTIC_LEVEL as STORAGE_DIAGNOSTIC_LEVEL; +pub type PSTORAGE_DIAGNOSTIC_LEVEL = *mut _STORAGE_DIAGNOSTIC_LEVEL; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeUndefined: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 0; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypePort: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 1; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeMiniport: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 2; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeHbaFirmware: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 3; +pub const _STORAGE_DIAGNOSTIC_TARGET_TYPE_StorageDiagnosticTargetTypeMax: + _STORAGE_DIAGNOSTIC_TARGET_TYPE = 4; +pub type _STORAGE_DIAGNOSTIC_TARGET_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_DIAGNOSTIC_TARGET_TYPE as STORAGE_DIAGNOSTIC_TARGET_TYPE; +pub type PSTORAGE_DIAGNOSTIC_TARGET_TYPE = *mut _STORAGE_DIAGNOSTIC_TARGET_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DIAGNOSTIC_REQUEST { + pub Version: DWORD, + pub Size: DWORD, + pub Reserved: DWORD, + pub TargetType: STORAGE_DIAGNOSTIC_TARGET_TYPE, + pub Level: STORAGE_DIAGNOSTIC_LEVEL, +} +#[test] +fn bindgen_test_layout__STORAGE_DIAGNOSTIC_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DIAGNOSTIC_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DIAGNOSTIC_REQUEST>(), + 20usize, + concat!("Size of: ", stringify!(_STORAGE_DIAGNOSTIC_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DIAGNOSTIC_REQUEST>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DIAGNOSTIC_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(TargetType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Level) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_REQUEST), + "::", + stringify!(Level) + ) + ); +} +pub type STORAGE_DIAGNOSTIC_REQUEST = _STORAGE_DIAGNOSTIC_REQUEST; +pub type PSTORAGE_DIAGNOSTIC_REQUEST = *mut _STORAGE_DIAGNOSTIC_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DIAGNOSTIC_DATA { + pub Version: DWORD, + pub Size: DWORD, + pub ProviderId: GUID, + pub BufferSize: DWORD, + pub Reserved: DWORD, + pub DiagnosticDataBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_DIAGNOSTIC_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DIAGNOSTIC_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DIAGNOSTIC_DATA>(), + 36usize, + concat!("Size of: ", stringify!(_STORAGE_DIAGNOSTIC_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DIAGNOSTIC_DATA>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_DIAGNOSTIC_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(ProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiagnosticDataBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DIAGNOSTIC_DATA), + "::", + stringify!(DiagnosticDataBuffer) + ) + ); +} +pub type STORAGE_DIAGNOSTIC_DATA = _STORAGE_DIAGNOSTIC_DATA; +pub type PSTORAGE_DIAGNOSTIC_DATA = *mut _STORAGE_DIAGNOSTIC_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PHYSICAL_ELEMENT_STATUS_REQUEST { + pub Version: DWORD, + pub Size: DWORD, + pub StartingElement: DWORD, + pub Filter: BYTE, + pub ReportType: BYTE, + pub Reserved: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__PHYSICAL_ELEMENT_STATUS_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_PHYSICAL_ELEMENT_STATUS_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PHYSICAL_ELEMENT_STATUS_REQUEST>(), + 16usize, + concat!("Size of: ", stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_PHYSICAL_ELEMENT_STATUS_REQUEST>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingElement) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(StartingElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Filter) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(Filter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportType) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(ReportType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_REQUEST), + "::", + stringify!(Reserved) + ) + ); +} +pub type PHYSICAL_ELEMENT_STATUS_REQUEST = _PHYSICAL_ELEMENT_STATUS_REQUEST; +pub type PPHYSICAL_ELEMENT_STATUS_REQUEST = *mut _PHYSICAL_ELEMENT_STATUS_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PHYSICAL_ELEMENT_STATUS_DESCRIPTOR { + pub Version: DWORD, + pub Size: DWORD, + pub ElementIdentifier: DWORD, + pub PhysicalElementType: BYTE, + pub PhysicalElementHealth: BYTE, + pub Reserved1: [BYTE; 2usize], + pub AssociatedCapacity: DWORDLONG, + pub Reserved2: [DWORD; 4usize], +} +#[test] +fn bindgen_test_layout__PHYSICAL_ELEMENT_STATUS_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>(), + 40usize, + concat!("Size of: ", stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementIdentifier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(ElementIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalElementType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(PhysicalElementType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalElementHealth) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(PhysicalElementHealth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AssociatedCapacity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(AssociatedCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS_DESCRIPTOR), + "::", + stringify!(Reserved2) + ) + ); +} +pub type PHYSICAL_ELEMENT_STATUS_DESCRIPTOR = _PHYSICAL_ELEMENT_STATUS_DESCRIPTOR; +pub type PPHYSICAL_ELEMENT_STATUS_DESCRIPTOR = *mut _PHYSICAL_ELEMENT_STATUS_DESCRIPTOR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PHYSICAL_ELEMENT_STATUS { + pub Version: DWORD, + pub Size: DWORD, + pub DescriptorCount: DWORD, + pub ReturnedDescriptorCount: DWORD, + pub ElementIdentifierBeingDepoped: DWORD, + pub Reserved: DWORD, + pub Descriptors: [PHYSICAL_ELEMENT_STATUS_DESCRIPTOR; 1usize], +} +#[test] +fn bindgen_test_layout__PHYSICAL_ELEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_PHYSICAL_ELEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PHYSICAL_ELEMENT_STATUS>(), + 64usize, + concat!("Size of: ", stringify!(_PHYSICAL_ELEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_PHYSICAL_ELEMENT_STATUS>(), + 8usize, + concat!("Alignment of ", stringify!(_PHYSICAL_ELEMENT_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DescriptorCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(DescriptorCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReturnedDescriptorCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(ReturnedDescriptorCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ElementIdentifierBeingDepoped) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(ElementIdentifierBeingDepoped) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptors) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PHYSICAL_ELEMENT_STATUS), + "::", + stringify!(Descriptors) + ) + ); +} +pub type PHYSICAL_ELEMENT_STATUS = _PHYSICAL_ELEMENT_STATUS; +pub type PPHYSICAL_ELEMENT_STATUS = *mut _PHYSICAL_ELEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REMOVE_ELEMENT_AND_TRUNCATE_REQUEST { + pub Version: DWORD, + pub Size: DWORD, + pub RequestCapacity: DWORDLONG, + pub ElementIdentifier: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__REMOVE_ELEMENT_AND_TRUNCATE_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST>(), + 24usize, + concat!( + "Size of: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST) + ) + ); + assert_eq!( + ::std::mem::align_of::<_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestCapacity) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(RequestCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementIdentifier) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(ElementIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REMOVE_ELEMENT_AND_TRUNCATE_REQUEST), + "::", + stringify!(Reserved) + ) + ); +} +pub type REMOVE_ELEMENT_AND_TRUNCATE_REQUEST = _REMOVE_ELEMENT_AND_TRUNCATE_REQUEST; +pub type PREMOVE_ELEMENT_AND_TRUNCATE_REQUEST = *mut _REMOVE_ELEMENT_AND_TRUNCATE_REQUEST; +pub const _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE_DeviceInternalStatusDataRequestTypeUndefined: + _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = 0; +pub const _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE_DeviceCurrentInternalStatusDataHeader: + _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = 1; +pub const _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE_DeviceCurrentInternalStatusData: + _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = 2; +pub type _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = ::std::os::raw::c_int; +pub use self::_DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE as DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE; +pub type PDEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE = *mut _DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSetUndefined: + _DEVICE_INTERNAL_STATUS_DATA_SET = 0; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSet1: _DEVICE_INTERNAL_STATUS_DATA_SET = + 1; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSet2: _DEVICE_INTERNAL_STATUS_DATA_SET = + 2; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSet3: _DEVICE_INTERNAL_STATUS_DATA_SET = + 3; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSet4: _DEVICE_INTERNAL_STATUS_DATA_SET = + 4; +pub const _DEVICE_INTERNAL_STATUS_DATA_SET_DeviceStatusDataSetMax: + _DEVICE_INTERNAL_STATUS_DATA_SET = 5; +pub type _DEVICE_INTERNAL_STATUS_DATA_SET = ::std::os::raw::c_int; +pub use self::_DEVICE_INTERNAL_STATUS_DATA_SET as DEVICE_INTERNAL_STATUS_DATA_SET; +pub type PDEVICE_INTERNAL_STATUS_DATA_SET = *mut _DEVICE_INTERNAL_STATUS_DATA_SET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST { + pub Version: DWORD, + pub Size: DWORD, + pub RequestDataType: DEVICE_INTERNAL_STATUS_DATA_REQUEST_TYPE, + pub RequestDataSet: DEVICE_INTERNAL_STATUS_DATA_SET, +} +#[test] +fn bindgen_test_layout__GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST>(), + 16usize, + concat!( + "Size of: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST) + ) + ); + assert_eq!( + ::std::mem::align_of::<_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestDataType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST), + "::", + stringify!(RequestDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestDataSet) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST), + "::", + stringify!(RequestDataSet) + ) + ); +} +pub type GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST = _GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST; +pub type PGET_DEVICE_INTERNAL_STATUS_DATA_REQUEST = *mut _GET_DEVICE_INTERNAL_STATUS_DATA_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICE_INTERNAL_STATUS_DATA { + pub Version: DWORD, + pub Size: DWORD, + pub T10VendorId: DWORDLONG, + pub DataSet1Length: DWORD, + pub DataSet2Length: DWORD, + pub DataSet3Length: DWORD, + pub DataSet4Length: DWORD, + pub StatusDataVersion: BYTE, + pub Reserved: [BYTE; 3usize], + pub ReasonIdentifier: [BYTE; 128usize], + pub StatusDataLength: DWORD, + pub StatusData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICE_INTERNAL_STATUS_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICE_INTERNAL_STATUS_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICE_INTERNAL_STATUS_DATA>(), + 176usize, + concat!("Size of: ", stringify!(_DEVICE_INTERNAL_STATUS_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICE_INTERNAL_STATUS_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_DEVICE_INTERNAL_STATUS_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).T10VendorId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(T10VendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSet1Length) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(DataSet1Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSet2Length) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(DataSet2Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSet3Length) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(DataSet3Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSet4Length) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(DataSet4Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusDataVersion) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(StatusDataVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonIdentifier) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(ReasonIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusDataLength) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(StatusDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StatusData) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_DEVICE_INTERNAL_STATUS_DATA), + "::", + stringify!(StatusData) + ) + ); +} +pub type DEVICE_INTERNAL_STATUS_DATA = _DEVICE_INTERNAL_STATUS_DATA; +pub type PDEVICE_INTERNAL_STATUS_DATA = *mut _DEVICE_INTERNAL_STATUS_DATA; +#[repr(C)] +#[derive(Debug)] +pub struct _STORAGE_MEDIA_SERIAL_NUMBER_DATA { + pub Reserved: WORD, + pub SerialNumberLength: WORD, + pub SerialNumber: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__STORAGE_MEDIA_SERIAL_NUMBER_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_MEDIA_SERIAL_NUMBER_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_MEDIA_SERIAL_NUMBER_DATA>(), + 4usize, + concat!("Size of: ", stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_MEDIA_SERIAL_NUMBER_DATA>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumberLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA), + "::", + stringify!(SerialNumberLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_MEDIA_SERIAL_NUMBER_DATA), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type STORAGE_MEDIA_SERIAL_NUMBER_DATA = _STORAGE_MEDIA_SERIAL_NUMBER_DATA; +pub type PSTORAGE_MEDIA_SERIAL_NUMBER_DATA = *mut _STORAGE_MEDIA_SERIAL_NUMBER_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_READ_CAPACITY { + pub Version: DWORD, + pub Size: DWORD, + pub BlockLength: DWORD, + pub NumberOfBlocks: LARGE_INTEGER, + pub DiskLength: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__STORAGE_READ_CAPACITY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_READ_CAPACITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_READ_CAPACITY>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_READ_CAPACITY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_READ_CAPACITY>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_READ_CAPACITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(BlockLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBlocks) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(NumberOfBlocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_READ_CAPACITY), + "::", + stringify!(DiskLength) + ) + ); +} +pub type STORAGE_READ_CAPACITY = _STORAGE_READ_CAPACITY; +pub type PSTORAGE_READ_CAPACITY = *mut _STORAGE_READ_CAPACITY; +pub const _WRITE_CACHE_TYPE_WriteCacheTypeUnknown: _WRITE_CACHE_TYPE = 0; +pub const _WRITE_CACHE_TYPE_WriteCacheTypeNone: _WRITE_CACHE_TYPE = 1; +pub const _WRITE_CACHE_TYPE_WriteCacheTypeWriteBack: _WRITE_CACHE_TYPE = 2; +pub const _WRITE_CACHE_TYPE_WriteCacheTypeWriteThrough: _WRITE_CACHE_TYPE = 3; +pub type _WRITE_CACHE_TYPE = ::std::os::raw::c_int; +pub use self::_WRITE_CACHE_TYPE as WRITE_CACHE_TYPE; +pub const _WRITE_CACHE_ENABLE_WriteCacheEnableUnknown: _WRITE_CACHE_ENABLE = 0; +pub const _WRITE_CACHE_ENABLE_WriteCacheDisabled: _WRITE_CACHE_ENABLE = 1; +pub const _WRITE_CACHE_ENABLE_WriteCacheEnabled: _WRITE_CACHE_ENABLE = 2; +pub type _WRITE_CACHE_ENABLE = ::std::os::raw::c_int; +pub use self::_WRITE_CACHE_ENABLE as WRITE_CACHE_ENABLE; +pub const _WRITE_CACHE_CHANGE_WriteCacheChangeUnknown: _WRITE_CACHE_CHANGE = 0; +pub const _WRITE_CACHE_CHANGE_WriteCacheNotChangeable: _WRITE_CACHE_CHANGE = 1; +pub const _WRITE_CACHE_CHANGE_WriteCacheChangeable: _WRITE_CACHE_CHANGE = 2; +pub type _WRITE_CACHE_CHANGE = ::std::os::raw::c_int; +pub use self::_WRITE_CACHE_CHANGE as WRITE_CACHE_CHANGE; +pub const _WRITE_THROUGH_WriteThroughUnknown: _WRITE_THROUGH = 0; +pub const _WRITE_THROUGH_WriteThroughNotSupported: _WRITE_THROUGH = 1; +pub const _WRITE_THROUGH_WriteThroughSupported: _WRITE_THROUGH = 2; +pub type _WRITE_THROUGH = ::std::os::raw::c_int; +pub use self::_WRITE_THROUGH as WRITE_THROUGH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_WRITE_CACHE_PROPERTY { + pub Version: DWORD, + pub Size: DWORD, + pub WriteCacheType: WRITE_CACHE_TYPE, + pub WriteCacheEnabled: WRITE_CACHE_ENABLE, + pub WriteCacheChangeable: WRITE_CACHE_CHANGE, + pub WriteThroughSupported: WRITE_THROUGH, + pub FlushCacheSupported: BOOLEAN, + pub UserDefinedPowerProtection: BOOLEAN, + pub NVCacheEnabled: BOOLEAN, +} +#[test] +fn bindgen_test_layout__STORAGE_WRITE_CACHE_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_WRITE_CACHE_PROPERTY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_WRITE_CACHE_PROPERTY>(), + 28usize, + concat!("Size of: ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_WRITE_CACHE_PROPERTY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_WRITE_CACHE_PROPERTY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(WriteCacheType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheEnabled) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(WriteCacheEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheChangeable) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(WriteCacheChangeable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteThroughSupported) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(WriteThroughSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlushCacheSupported) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(FlushCacheSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDefinedPowerProtection) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(UserDefinedPowerProtection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NVCacheEnabled) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_WRITE_CACHE_PROPERTY), + "::", + stringify!(NVCacheEnabled) + ) + ); +} +pub type STORAGE_WRITE_CACHE_PROPERTY = _STORAGE_WRITE_CACHE_PROPERTY; +pub type PSTORAGE_WRITE_CACHE_PROPERTY = *mut _STORAGE_WRITE_CACHE_PROPERTY; +#[repr(C)] +pub struct _PERSISTENT_RESERVE_COMMAND { + pub Version: DWORD, + pub Size: DWORD, + pub __bindgen_anon_1: _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1, +} +#[repr(C)] +pub struct _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1 { + pub PR_IN: __BindgenUnionField<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1>, + pub PR_OUT: __BindgenUnionField<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2>, + pub bindgen_union_field: [u16; 2usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub AllocationLength: WORD, +} +#[test] +fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(AllocationLength) + ) + ); +} +impl _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn ServiceAction(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u8) } + } + #[inline] + pub fn set_ServiceAction(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 5u8, val as u64) + } + } + #[inline] + pub fn Reserved1(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 3u8) as u8) } + } + #[inline] + pub fn set_Reserved1(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 3u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + ServiceAction: BYTE, + Reserved1: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 5u8, { + let ServiceAction: u8 = unsafe { ::std::mem::transmute(ServiceAction) }; + ServiceAction as u64 + }); + __bindgen_bitfield_unit.set(5usize, 3u8, { + let Reserved1: u8 = unsafe { ::std::mem::transmute(Reserved1) }; + Reserved1 as u64 + }); + __bindgen_bitfield_unit + } +} +#[repr(C)] +#[derive(Debug)] +pub struct _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>, + pub ParameterList: __IncompleteArrayField, +} +#[test] +fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2>(), + 2usize, + concat!( + "Size of: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParameterList) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(ParameterList) + ) + ); +} +impl _PERSISTENT_RESERVE_COMMAND__bindgen_ty_1__bindgen_ty_2 { + #[inline] + pub fn ServiceAction(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 5u8) as u8) } + } + #[inline] + pub fn set_ServiceAction(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 5u8, val as u64) + } + } + #[inline] + pub fn Reserved1(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 3u8) as u8) } + } + #[inline] + pub fn set_Reserved1(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(5usize, 3u8, val as u64) + } + } + #[inline] + pub fn Type(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) } + } + #[inline] + pub fn set_Type(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(8usize, 4u8, val as u64) + } + } + #[inline] + pub fn Scope(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) } + } + #[inline] + pub fn set_Scope(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(12usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + ServiceAction: BYTE, + Reserved1: BYTE, + Type: BYTE, + Scope: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 2usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 5u8, { + let ServiceAction: u8 = unsafe { ::std::mem::transmute(ServiceAction) }; + ServiceAction as u64 + }); + __bindgen_bitfield_unit.set(5usize, 3u8, { + let Reserved1: u8 = unsafe { ::std::mem::transmute(Reserved1) }; + Reserved1 as u64 + }); + __bindgen_bitfield_unit.set(8usize, 4u8, { + let Type: u8 = unsafe { ::std::mem::transmute(Type) }; + Type as u64 + }); + __bindgen_bitfield_unit.set(12usize, 4u8, { + let Scope: u8 = unsafe { ::std::mem::transmute(Scope) }; + Scope as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PR_IN) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1), + "::", + stringify!(PR_IN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PR_OUT) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND__bindgen_ty_1), + "::", + stringify!(PR_OUT) + ) + ); +} +#[test] +fn bindgen_test_layout__PERSISTENT_RESERVE_COMMAND() { + const UNINIT: ::std::mem::MaybeUninit<_PERSISTENT_RESERVE_COMMAND> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERSISTENT_RESERVE_COMMAND>(), + 12usize, + concat!("Size of: ", stringify!(_PERSISTENT_RESERVE_COMMAND)) + ); + assert_eq!( + ::std::mem::align_of::<_PERSISTENT_RESERVE_COMMAND>(), + 4usize, + concat!("Alignment of ", stringify!(_PERSISTENT_RESERVE_COMMAND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERSISTENT_RESERVE_COMMAND), + "::", + stringify!(Size) + ) + ); +} +pub type PERSISTENT_RESERVE_COMMAND = _PERSISTENT_RESERVE_COMMAND; +pub type PPERSISTENT_RESERVE_COMMAND = *mut _PERSISTENT_RESERVE_COMMAND; +pub const _DEVICEDUMP_COLLECTION_TYPE_TCCollectionBugCheck: _DEVICEDUMP_COLLECTION_TYPE = 1; +pub const _DEVICEDUMP_COLLECTION_TYPE_TCCollectionApplicationRequested: + _DEVICEDUMP_COLLECTION_TYPE = 2; +pub const _DEVICEDUMP_COLLECTION_TYPE_TCCollectionDeviceRequested: _DEVICEDUMP_COLLECTION_TYPE = 3; +pub type _DEVICEDUMP_COLLECTION_TYPE = ::std::os::raw::c_int; +pub use self::_DEVICEDUMP_COLLECTION_TYPE as DEVICEDUMP_COLLECTION_TYPEIDE_NOTIFICATION_TYPE; +pub type PDEVICEDUMP_COLLECTION_TYPE = *mut _DEVICEDUMP_COLLECTION_TYPE; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_SUBSECTION_POINTER { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub dwOffset: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_SUBSECTION_POINTER() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_SUBSECTION_POINTER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_SUBSECTION_POINTER>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_SUBSECTION_POINTER)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_SUBSECTION_POINTER>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_SUBSECTION_POINTER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SUBSECTION_POINTER), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SUBSECTION_POINTER), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SUBSECTION_POINTER), + "::", + stringify!(dwOffset) + ) + ); +} +pub type DEVICEDUMP_SUBSECTION_POINTER = _DEVICEDUMP_SUBSECTION_POINTER; +pub type PDEVICEDUMP_SUBSECTION_POINTER = *mut _DEVICEDUMP_SUBSECTION_POINTER; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STRUCTURE_VERSION { + pub dwSignature: DWORD, + pub dwVersion: DWORD, + pub dwSize: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STRUCTURE_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_STRUCTURE_VERSION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STRUCTURE_VERSION>(), + 12usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_STRUCTURE_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STRUCTURE_VERSION>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_STRUCTURE_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSignature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STRUCTURE_VERSION), + "::", + stringify!(dwSignature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STRUCTURE_VERSION), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STRUCTURE_VERSION), + "::", + stringify!(dwSize) + ) + ); +} +pub type DEVICEDUMP_STRUCTURE_VERSION = _DEVICEDUMP_STRUCTURE_VERSION; +pub type PDEVICEDUMP_STRUCTURE_VERSION = *mut _DEVICEDUMP_STRUCTURE_VERSION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_SECTION_HEADER { + pub guidDeviceDataId: GUID, + pub sOrganizationID: [BYTE; 16usize], + pub dwFirmwareRevision: DWORD, + pub sModelNumber: [BYTE; 32usize], + pub szDeviceManufacturingID: [BYTE; 32usize], + pub dwFlags: DWORD, + pub bRestrictedPrivateDataVersion: DWORD, + pub dwFirmwareIssueId: DWORD, + pub szIssueDescriptionString: [BYTE; 132usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_SECTION_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_SECTION_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_SECTION_HEADER>(), + 244usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_SECTION_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_SECTION_HEADER>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_SECTION_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidDeviceDataId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(guidDeviceDataId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sOrganizationID) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(sOrganizationID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFirmwareRevision) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(dwFirmwareRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sModelNumber) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(sModelNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDeviceManufacturingID) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(szDeviceManufacturingID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).bRestrictedPrivateDataVersion) as usize - ptr as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(bRestrictedPrivateDataVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFirmwareIssueId) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(dwFirmwareIssueId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szIssueDescriptionString) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_SECTION_HEADER), + "::", + stringify!(szIssueDescriptionString) + ) + ); +} +pub type DEVICEDUMP_SECTION_HEADER = _DEVICEDUMP_SECTION_HEADER; +pub type PDEVICEDUMP_SECTION_HEADER = *mut _DEVICEDUMP_SECTION_HEADER; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _GP_LOG_PAGE_DESCRIPTOR { + pub LogAddress: WORD, + pub LogSectors: WORD, +} +#[test] +fn bindgen_test_layout__GP_LOG_PAGE_DESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit<_GP_LOG_PAGE_DESCRIPTOR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GP_LOG_PAGE_DESCRIPTOR>(), + 4usize, + concat!("Size of: ", stringify!(_GP_LOG_PAGE_DESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::<_GP_LOG_PAGE_DESCRIPTOR>(), + 1usize, + concat!("Alignment of ", stringify!(_GP_LOG_PAGE_DESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GP_LOG_PAGE_DESCRIPTOR), + "::", + stringify!(LogAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogSectors) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GP_LOG_PAGE_DESCRIPTOR), + "::", + stringify!(LogSectors) + ) + ); +} +pub type GP_LOG_PAGE_DESCRIPTOR = _GP_LOG_PAGE_DESCRIPTOR; +pub type PGP_LOG_PAGE_DESCRIPTOR = *mut _GP_LOG_PAGE_DESCRIPTOR; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_PUBLIC_SUBSECTION { + pub dwFlags: DWORD, + pub GPLogTable: [GP_LOG_PAGE_DESCRIPTOR; 16usize], + pub szDescription: [CHAR; 16usize], + pub bData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_PUBLIC_SUBSECTION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_PUBLIC_SUBSECTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_PUBLIC_SUBSECTION>(), + 85usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_PUBLIC_SUBSECTION>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPLogTable) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), + "::", + stringify!(GPLogTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), + "::", + stringify!(szDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bData) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PUBLIC_SUBSECTION), + "::", + stringify!(bData) + ) + ); +} +pub type DEVICEDUMP_PUBLIC_SUBSECTION = _DEVICEDUMP_PUBLIC_SUBSECTION; +pub type PDEVICEDUMP_PUBLIC_SUBSECTION = *mut _DEVICEDUMP_PUBLIC_SUBSECTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_RESTRICTED_SUBSECTION { + pub bData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_RESTRICTED_SUBSECTION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_RESTRICTED_SUBSECTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_RESTRICTED_SUBSECTION>(), + 1usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_RESTRICTED_SUBSECTION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_RESTRICTED_SUBSECTION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_RESTRICTED_SUBSECTION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_RESTRICTED_SUBSECTION), + "::", + stringify!(bData) + ) + ); +} +pub type DEVICEDUMP_RESTRICTED_SUBSECTION = _DEVICEDUMP_RESTRICTED_SUBSECTION; +pub type PDEVICEDUMP_RESTRICTED_SUBSECTION = *mut _DEVICEDUMP_RESTRICTED_SUBSECTION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_PRIVATE_SUBSECTION { + pub dwFlags: DWORD, + pub GPLogId: GP_LOG_PAGE_DESCRIPTOR, + pub bData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_PRIVATE_SUBSECTION() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_PRIVATE_SUBSECTION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_PRIVATE_SUBSECTION>(), + 9usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_PRIVATE_SUBSECTION>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GPLogId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION), + "::", + stringify!(GPLogId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_PRIVATE_SUBSECTION), + "::", + stringify!(bData) + ) + ); +} +pub type DEVICEDUMP_PRIVATE_SUBSECTION = _DEVICEDUMP_PRIVATE_SUBSECTION; +pub type PDEVICEDUMP_PRIVATE_SUBSECTION = *mut _DEVICEDUMP_PRIVATE_SUBSECTION; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STORAGEDEVICE_DATA { + pub Descriptor: DEVICEDUMP_STRUCTURE_VERSION, + pub SectionHeader: DEVICEDUMP_SECTION_HEADER, + pub dwBufferSize: DWORD, + pub dwReasonForCollection: DWORD, + pub PublicData: DEVICEDUMP_SUBSECTION_POINTER, + pub RestrictedData: DEVICEDUMP_SUBSECTION_POINTER, + pub PrivateData: DEVICEDUMP_SUBSECTION_POINTER, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGEDEVICE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_STORAGEDEVICE_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STORAGEDEVICE_DATA>(), + 300usize, + concat!("Size of: ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STORAGEDEVICE_DATA>(), + 1usize, + concat!("Alignment of ", stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(Descriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectionHeader) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(SectionHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferSize) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(dwBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReasonForCollection) as usize - ptr as usize }, + 260usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(dwReasonForCollection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PublicData) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(PublicData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RestrictedData) as usize - ptr as usize }, + 276usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(RestrictedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrivateData) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGEDEVICE_DATA), + "::", + stringify!(PrivateData) + ) + ); +} +pub type DEVICEDUMP_STORAGEDEVICE_DATA = _DEVICEDUMP_STORAGEDEVICE_DATA; +pub type PDEVICEDUMP_STORAGEDEVICE_DATA = *mut _DEVICEDUMP_STORAGEDEVICE_DATA; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD { + pub Cdb: [BYTE; 16usize], + pub Command: [BYTE; 16usize], + pub StartTime: DWORDLONG, + pub EndTime: DWORDLONG, + pub OperationStatus: DWORD, + pub OperationError: DWORD, + pub StackSpecific: _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1 { + pub ExternalStack: _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1, + pub AtaPort: _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2, + pub StorPort: _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3, +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1 { + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwReserved) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2 { + pub dwAtaPortSpecific: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAtaPortSpecific) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwAtaPortSpecific) + ) + ); +} +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3 { + pub SrbTag: DWORD, +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3, + >(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3, + >(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SrbTag) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(SrbTag) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExternalStack) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1), + "::", + stringify!(ExternalStack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AtaPort) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1), + "::", + stringify!(AtaPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorPort) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD__bindgen_ty_1), + "::", + stringify!(StorPort) + ) + ); +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>(), + 60usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cdb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(Cdb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Command) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(Command) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndTime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(EndTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationStatus) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(OperationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationError) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(OperationError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StackSpecific) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD), + "::", + stringify!(StackSpecific) + ) + ); +} +pub type DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD = _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD; +pub type PDEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD = + *mut _DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct _DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP { + pub Descriptor: DEVICEDUMP_STRUCTURE_VERSION, + pub dwReasonForCollection: DWORD, + pub cDriverName: [BYTE; 16usize], + pub uiNumRecords: DWORD, + pub RecordArray: [DEVICEDUMP_STORAGESTACK_PUBLIC_STATE_RECORD; 1usize], +} +#[test] +fn bindgen_test_layout__DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP() { + const UNINIT: ::std::mem::MaybeUninit<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP>(), + 96usize, + concat!( + "Size of: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(Descriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReasonForCollection) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(dwReasonForCollection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDriverName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(cDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiNumRecords) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(uiNumRecords) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordArray) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP), + "::", + stringify!(RecordArray) + ) + ); +} +pub type DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP = _DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP; +pub type PDEVICEDUMP_STORAGESTACK_PUBLIC_DUMP = *mut _DEVICEDUMP_STORAGESTACK_PUBLIC_DUMP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_IDLE_POWER { + pub Version: DWORD, + pub Size: DWORD, + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, + pub D3IdleTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_IDLE_POWER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_IDLE_POWER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_IDLE_POWER>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_IDLE_POWER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_IDLE_POWER>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_IDLE_POWER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWER), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).D3IdleTimeout) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWER), + "::", + stringify!(D3IdleTimeout) + ) + ); +} +impl _STORAGE_IDLE_POWER { + #[inline] + pub fn WakeCapableHint(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_WakeCapableHint(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn D3ColdSupported(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) } + } + #[inline] + pub fn set_D3ColdSupported(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 30u8) as u32) } + } + #[inline] + pub fn set_Reserved(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(2usize, 30u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + WakeCapableHint: DWORD, + D3ColdSupported: DWORD, + Reserved: DWORD, + ) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let WakeCapableHint: u32 = unsafe { ::std::mem::transmute(WakeCapableHint) }; + WakeCapableHint as u64 + }); + __bindgen_bitfield_unit.set(1usize, 1u8, { + let D3ColdSupported: u32 = unsafe { ::std::mem::transmute(D3ColdSupported) }; + D3ColdSupported as u64 + }); + __bindgen_bitfield_unit.set(2usize, 30u8, { + let Reserved: u32 = unsafe { ::std::mem::transmute(Reserved) }; + Reserved as u64 + }); + __bindgen_bitfield_unit + } +} +pub type STORAGE_IDLE_POWER = _STORAGE_IDLE_POWER; +pub type PSTORAGE_IDLE_POWER = *mut _STORAGE_IDLE_POWER; +pub const _STORAGE_POWERUP_REASON_TYPE_StoragePowerupUnknown: _STORAGE_POWERUP_REASON_TYPE = 0; +pub const _STORAGE_POWERUP_REASON_TYPE_StoragePowerupIO: _STORAGE_POWERUP_REASON_TYPE = 1; +pub const _STORAGE_POWERUP_REASON_TYPE_StoragePowerupDeviceAttention: _STORAGE_POWERUP_REASON_TYPE = + 2; +pub type _STORAGE_POWERUP_REASON_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_POWERUP_REASON_TYPE as STORAGE_POWERUP_REASON_TYPE; +pub type PSTORAGE_POWERUP_REASON_TYPE = *mut _STORAGE_POWERUP_REASON_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_IDLE_POWERUP_REASON { + pub Version: DWORD, + pub Size: DWORD, + pub PowerupReason: STORAGE_POWERUP_REASON_TYPE, +} +#[test] +fn bindgen_test_layout__STORAGE_IDLE_POWERUP_REASON() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_IDLE_POWERUP_REASON> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_IDLE_POWERUP_REASON>(), + 12usize, + concat!("Size of: ", stringify!(_STORAGE_IDLE_POWERUP_REASON)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_IDLE_POWERUP_REASON>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_IDLE_POWERUP_REASON)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWERUP_REASON), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWERUP_REASON), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PowerupReason) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_IDLE_POWERUP_REASON), + "::", + stringify!(PowerupReason) + ) + ); +} +pub type STORAGE_IDLE_POWERUP_REASON = _STORAGE_IDLE_POWERUP_REASON; +pub type PSTORAGE_IDLE_POWERUP_REASON = *mut _STORAGE_IDLE_POWERUP_REASON; +pub const _STORAGE_DEVICE_POWER_CAP_UNITS_StorageDevicePowerCapUnitsPercent: + _STORAGE_DEVICE_POWER_CAP_UNITS = 0; +pub const _STORAGE_DEVICE_POWER_CAP_UNITS_StorageDevicePowerCapUnitsMilliwatts: + _STORAGE_DEVICE_POWER_CAP_UNITS = 1; +pub type _STORAGE_DEVICE_POWER_CAP_UNITS = ::std::os::raw::c_int; +pub use self::_STORAGE_DEVICE_POWER_CAP_UNITS as STORAGE_DEVICE_POWER_CAP_UNITS; +pub type PSTORAGE_DEVICE_POWER_CAP_UNITS = *mut _STORAGE_DEVICE_POWER_CAP_UNITS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_DEVICE_POWER_CAP { + pub Version: DWORD, + pub Size: DWORD, + pub Units: STORAGE_DEVICE_POWER_CAP_UNITS, + pub MaxPower: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_DEVICE_POWER_CAP() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_DEVICE_POWER_CAP> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_DEVICE_POWER_CAP>(), + 24usize, + concat!("Size of: ", stringify!(_STORAGE_DEVICE_POWER_CAP)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_DEVICE_POWER_CAP>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_DEVICE_POWER_CAP)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_POWER_CAP), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_POWER_CAP), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Units) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_POWER_CAP), + "::", + stringify!(Units) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPower) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_DEVICE_POWER_CAP), + "::", + stringify!(MaxPower) + ) + ); +} +pub type STORAGE_DEVICE_POWER_CAP = _STORAGE_DEVICE_POWER_CAP; +pub type PSTORAGE_DEVICE_POWER_CAP = *mut _STORAGE_DEVICE_POWER_CAP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_RPMB_DATA_FRAME { + pub Stuff: [BYTE; 196usize], + pub KeyOrMAC: [BYTE; 32usize], + pub Data: [BYTE; 256usize], + pub Nonce: [BYTE; 16usize], + pub WriteCounter: [BYTE; 4usize], + pub Address: [BYTE; 2usize], + pub BlockCount: [BYTE; 2usize], + pub OperationResult: [BYTE; 2usize], + pub RequestOrResponseType: [BYTE; 2usize], +} +#[test] +fn bindgen_test_layout__STORAGE_RPMB_DATA_FRAME() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_RPMB_DATA_FRAME> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_RPMB_DATA_FRAME>(), + 512usize, + concat!("Size of: ", stringify!(_STORAGE_RPMB_DATA_FRAME)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_RPMB_DATA_FRAME>(), + 1usize, + concat!("Alignment of ", stringify!(_STORAGE_RPMB_DATA_FRAME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stuff) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(Stuff) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyOrMAC) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(KeyOrMAC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 228usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(Data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Nonce) as usize - ptr as usize }, + 484usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(Nonce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCounter) as usize - ptr as usize }, + 500usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(WriteCounter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Address) as usize - ptr as usize }, + 504usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(Address) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockCount) as usize - ptr as usize }, + 506usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(BlockCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationResult) as usize - ptr as usize }, + 508usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(OperationResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestOrResponseType) as usize - ptr as usize }, + 510usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_RPMB_DATA_FRAME), + "::", + stringify!(RequestOrResponseType) + ) + ); +} +pub type STORAGE_RPMB_DATA_FRAME = _STORAGE_RPMB_DATA_FRAME; +pub type PSTORAGE_RPMB_DATA_FRAME = *mut _STORAGE_RPMB_DATA_FRAME; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbProgramAuthKey: _STORAGE_RPMB_COMMAND_TYPE = 1; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbQueryWriteCounter: _STORAGE_RPMB_COMMAND_TYPE = 2; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbAuthenticatedWrite: _STORAGE_RPMB_COMMAND_TYPE = 3; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbAuthenticatedRead: _STORAGE_RPMB_COMMAND_TYPE = 4; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbReadResultRequest: _STORAGE_RPMB_COMMAND_TYPE = 5; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbAuthenticatedDeviceConfigWrite: + _STORAGE_RPMB_COMMAND_TYPE = 6; +pub const _STORAGE_RPMB_COMMAND_TYPE_StorRpmbAuthenticatedDeviceConfigRead: + _STORAGE_RPMB_COMMAND_TYPE = 7; +pub type _STORAGE_RPMB_COMMAND_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_RPMB_COMMAND_TYPE as STORAGE_RPMB_COMMAND_TYPE; +pub type PSTORAGE_RPMB_COMMAND_TYPE = *mut _STORAGE_RPMB_COMMAND_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_EVENT_NOTIFICATION { + pub Version: DWORD, + pub Size: DWORD, + pub Events: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STORAGE_EVENT_NOTIFICATION() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_EVENT_NOTIFICATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_EVENT_NOTIFICATION>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_EVENT_NOTIFICATION)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_EVENT_NOTIFICATION>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_EVENT_NOTIFICATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_EVENT_NOTIFICATION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_EVENT_NOTIFICATION), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Events) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_EVENT_NOTIFICATION), + "::", + stringify!(Events) + ) + ); +} +pub type STORAGE_EVENT_NOTIFICATION = _STORAGE_EVENT_NOTIFICATION; +pub type PSTORAGE_EVENT_NOTIFICATION = *mut _STORAGE_EVENT_NOTIFICATION; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeUnknown: _STORAGE_COUNTER_TYPE = 0; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeTemperatureCelsius: _STORAGE_COUNTER_TYPE = 1; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeTemperatureCelsiusMax: _STORAGE_COUNTER_TYPE = 2; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeReadErrorsTotal: _STORAGE_COUNTER_TYPE = 3; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeReadErrorsCorrected: _STORAGE_COUNTER_TYPE = 4; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeReadErrorsUncorrected: _STORAGE_COUNTER_TYPE = 5; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWriteErrorsTotal: _STORAGE_COUNTER_TYPE = 6; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWriteErrorsCorrected: _STORAGE_COUNTER_TYPE = 7; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWriteErrorsUncorrected: _STORAGE_COUNTER_TYPE = 8; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeManufactureDate: _STORAGE_COUNTER_TYPE = 9; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeStartStopCycleCount: _STORAGE_COUNTER_TYPE = 10; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeStartStopCycleCountMax: _STORAGE_COUNTER_TYPE = + 11; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeLoadUnloadCycleCount: _STORAGE_COUNTER_TYPE = 12; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeLoadUnloadCycleCountMax: _STORAGE_COUNTER_TYPE = + 13; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWearPercentage: _STORAGE_COUNTER_TYPE = 14; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWearPercentageWarning: _STORAGE_COUNTER_TYPE = 15; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWearPercentageMax: _STORAGE_COUNTER_TYPE = 16; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypePowerOnHours: _STORAGE_COUNTER_TYPE = 17; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeReadLatency100NSMax: _STORAGE_COUNTER_TYPE = 18; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeWriteLatency100NSMax: _STORAGE_COUNTER_TYPE = 19; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeFlushLatency100NSMax: _STORAGE_COUNTER_TYPE = 20; +pub const _STORAGE_COUNTER_TYPE_StorageCounterTypeMax: _STORAGE_COUNTER_TYPE = 21; +pub type _STORAGE_COUNTER_TYPE = ::std::os::raw::c_int; +pub use self::_STORAGE_COUNTER_TYPE as STORAGE_COUNTER_TYPE; +pub type PSTORAGE_COUNTER_TYPE = *mut _STORAGE_COUNTER_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_COUNTER { + pub Type: STORAGE_COUNTER_TYPE, + pub Value: _STORAGE_COUNTER__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STORAGE_COUNTER__bindgen_ty_1 { + pub ManufactureDate: _STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1, + pub AsUlonglong: DWORDLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1 { + pub Week: DWORD, + pub Year: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Week) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Week) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Year) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Year) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_COUNTER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_COUNTER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_COUNTER__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_STORAGE_COUNTER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_COUNTER__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_COUNTER__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufactureDate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1), + "::", + stringify!(ManufactureDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsUlonglong) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER__bindgen_ty_1), + "::", + stringify!(AsUlonglong) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_COUNTER() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_COUNTER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_COUNTER>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_COUNTER)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_COUNTER>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_COUNTER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTER), + "::", + stringify!(Value) + ) + ); +} +pub type STORAGE_COUNTER = _STORAGE_COUNTER; +pub type PSTORAGE_COUNTER = *mut _STORAGE_COUNTER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STORAGE_COUNTERS { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfCounters: DWORD, + pub Counters: [STORAGE_COUNTER; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_COUNTERS() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_COUNTERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_COUNTERS>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_COUNTERS)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_COUNTERS>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_COUNTERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfCounters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTERS), + "::", + stringify!(NumberOfCounters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Counters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_COUNTERS), + "::", + stringify!(Counters) + ) + ); +} +pub type STORAGE_COUNTERS = _STORAGE_COUNTERS; +pub type PSTORAGE_COUNTERS = *mut _STORAGE_COUNTERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_INFO_QUERY { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_INFO_QUERY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_INFO_QUERY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_INFO_QUERY>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_INFO_QUERY>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO_QUERY), + "::", + stringify!(Reserved) + ) + ); +} +pub type STORAGE_HW_FIRMWARE_INFO_QUERY = _STORAGE_HW_FIRMWARE_INFO_QUERY; +pub type PSTORAGE_HW_FIRMWARE_INFO_QUERY = *mut _STORAGE_HW_FIRMWARE_INFO_QUERY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_SLOT_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub SlotNumber: BYTE, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved1: [BYTE; 6usize], + pub Revision: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_SLOT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_SLOT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_SLOT_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_SLOT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(SlotNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_SLOT_INFO), + "::", + stringify!(Revision) + ) + ); +} +impl _STORAGE_HW_FIRMWARE_SLOT_INFO { + #[inline] + pub fn ReadOnly(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_ReadOnly(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u8) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 7u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(ReadOnly: BYTE, Reserved0: BYTE) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ReadOnly: u8 = unsafe { ::std::mem::transmute(ReadOnly) }; + ReadOnly as u64 + }); + __bindgen_bitfield_unit.set(1usize, 7u8, { + let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type STORAGE_HW_FIRMWARE_SLOT_INFO = _STORAGE_HW_FIRMWARE_SLOT_INFO; +pub type PSTORAGE_HW_FIRMWARE_SLOT_INFO = *mut _STORAGE_HW_FIRMWARE_SLOT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub SlotCount: BYTE, + pub ActiveSlot: BYTE, + pub PendingActivateSlot: BYTE, + pub FirmwareShared: BOOLEAN, + pub Reserved: [BYTE; 3usize], + pub ImagePayloadAlignment: DWORD, + pub ImagePayloadMaxSize: DWORD, + pub Slot: [STORAGE_HW_FIRMWARE_SLOT_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotCount) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(SlotCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveSlot) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(ActiveSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PendingActivateSlot) as usize - ptr as usize }, + 11usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(PendingActivateSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareShared) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(FirmwareShared) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImagePayloadAlignment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(ImagePayloadAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImagePayloadMaxSize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(ImagePayloadMaxSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_INFO), + "::", + stringify!(Slot) + ) + ); +} +impl _STORAGE_HW_FIRMWARE_INFO { + #[inline] + pub fn SupportUpgrade(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_SupportUpgrade(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u8) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 7u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1( + SupportUpgrade: BYTE, + Reserved0: BYTE, + ) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let SupportUpgrade: u8 = unsafe { ::std::mem::transmute(SupportUpgrade) }; + SupportUpgrade as u64 + }); + __bindgen_bitfield_unit.set(1usize, 7u8, { + let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type STORAGE_HW_FIRMWARE_INFO = _STORAGE_HW_FIRMWARE_INFO; +pub type PSTORAGE_HW_FIRMWARE_INFO = *mut _STORAGE_HW_FIRMWARE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_DOWNLOAD { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, + pub Reserved: [BYTE; 3usize], + pub Offset: DWORDLONG, + pub BufferSize: DWORDLONG, + pub ImageBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_DOWNLOAD() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_DOWNLOAD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_DOWNLOAD>(), + 40usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_DOWNLOAD>(), + 8usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD), + "::", + stringify!(ImageBuffer) + ) + ); +} +pub type STORAGE_HW_FIRMWARE_DOWNLOAD = _STORAGE_HW_FIRMWARE_DOWNLOAD; +pub type PSTORAGE_HW_FIRMWARE_DOWNLOAD = *mut _STORAGE_HW_FIRMWARE_DOWNLOAD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_DOWNLOAD_V2 { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, + pub Reserved: [BYTE; 3usize], + pub Offset: DWORDLONG, + pub BufferSize: DWORDLONG, + pub ImageSize: DWORD, + pub Reserved2: DWORD, + pub ImageBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_DOWNLOAD_V2() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>(), + 48usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_DOWNLOAD_V2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(BufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(ImageSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_DOWNLOAD_V2), + "::", + stringify!(ImageBuffer) + ) + ); +} +pub type STORAGE_HW_FIRMWARE_DOWNLOAD_V2 = _STORAGE_HW_FIRMWARE_DOWNLOAD_V2; +pub type PSTORAGE_HW_FIRMWARE_DOWNLOAD_V2 = *mut _STORAGE_HW_FIRMWARE_DOWNLOAD_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_HW_FIRMWARE_ACTIVATE { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, + pub Reserved0: [BYTE; 3usize], +} +#[test] +fn bindgen_test_layout__STORAGE_HW_FIRMWARE_ACTIVATE() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_HW_FIRMWARE_ACTIVATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_HW_FIRMWARE_ACTIVATE>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_HW_FIRMWARE_ACTIVATE>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_HW_FIRMWARE_ACTIVATE), + "::", + stringify!(Reserved0) + ) + ); +} +pub type STORAGE_HW_FIRMWARE_ACTIVATE = _STORAGE_HW_FIRMWARE_ACTIVATE; +pub type PSTORAGE_HW_FIRMWARE_ACTIVATE = *mut _STORAGE_HW_FIRMWARE_ACTIVATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_PROTOCOL_COMMAND { + pub Version: DWORD, + pub Length: DWORD, + pub ProtocolType: STORAGE_PROTOCOL_TYPE, + pub Flags: DWORD, + pub ReturnStatus: DWORD, + pub ErrorCode: DWORD, + pub CommandLength: DWORD, + pub ErrorInfoLength: DWORD, + pub DataToDeviceTransferLength: DWORD, + pub DataFromDeviceTransferLength: DWORD, + pub TimeOutValue: DWORD, + pub ErrorInfoOffset: DWORD, + pub DataToDeviceBufferOffset: DWORD, + pub DataFromDeviceBufferOffset: DWORD, + pub CommandSpecific: DWORD, + pub Reserved0: DWORD, + pub FixedProtocolReturnData: DWORD, + pub Reserved1: [DWORD; 3usize], + pub Command: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__STORAGE_PROTOCOL_COMMAND() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_PROTOCOL_COMMAND> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_PROTOCOL_COMMAND>(), + 84usize, + concat!("Size of: ", stringify!(_STORAGE_PROTOCOL_COMMAND)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_PROTOCOL_COMMAND>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_PROTOCOL_COMMAND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ProtocolType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReturnStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ReturnStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ErrorCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(CommandLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorInfoLength) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ErrorInfoLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataToDeviceTransferLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(DataToDeviceTransferLength) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DataFromDeviceTransferLength) as usize - ptr as usize + }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(DataFromDeviceTransferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeOutValue) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(TimeOutValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ErrorInfoOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(ErrorInfoOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataToDeviceBufferOffset) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(DataToDeviceBufferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataFromDeviceBufferOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(DataFromDeviceBufferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommandSpecific) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(CommandSpecific) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixedProtocolReturnData) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(FixedProtocolReturnData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Command) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_PROTOCOL_COMMAND), + "::", + stringify!(Command) + ) + ); +} +pub type STORAGE_PROTOCOL_COMMAND = _STORAGE_PROTOCOL_COMMAND; +pub type PSTORAGE_PROTOCOL_COMMAND = *mut _STORAGE_PROTOCOL_COMMAND; +pub const _STORAGE_ATTRIBUTE_MGMT_ACTION_StorAttributeMgmt_ClearAttribute: + _STORAGE_ATTRIBUTE_MGMT_ACTION = 0; +pub const _STORAGE_ATTRIBUTE_MGMT_ACTION_StorAttributeMgmt_SetAttribute: + _STORAGE_ATTRIBUTE_MGMT_ACTION = 1; +pub const _STORAGE_ATTRIBUTE_MGMT_ACTION_StorAttributeMgmt_ResetAttribute: + _STORAGE_ATTRIBUTE_MGMT_ACTION = 2; +pub type _STORAGE_ATTRIBUTE_MGMT_ACTION = ::std::os::raw::c_int; +pub use self::_STORAGE_ATTRIBUTE_MGMT_ACTION as STORAGE_ATTRIBUTE_MGMT_ACTION; +pub type PSTORAGE_ATTRIBUTE_MGMT_ACTION = *mut _STORAGE_ATTRIBUTE_MGMT_ACTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_ATTRIBUTE_MGMT { + pub Version: DWORD, + pub Size: DWORD, + pub Action: STORAGE_ATTRIBUTE_MGMT_ACTION, + pub Attribute: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_ATTRIBUTE_MGMT() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_ATTRIBUTE_MGMT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_ATTRIBUTE_MGMT>(), + 16usize, + concat!("Size of: ", stringify!(_STORAGE_ATTRIBUTE_MGMT)) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_ATTRIBUTE_MGMT>(), + 4usize, + concat!("Alignment of ", stringify!(_STORAGE_ATTRIBUTE_MGMT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ATTRIBUTE_MGMT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ATTRIBUTE_MGMT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ATTRIBUTE_MGMT), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attribute) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_ATTRIBUTE_MGMT), + "::", + stringify!(Attribute) + ) + ); +} +pub type STORAGE_ATTRIBUTE_MGMT = _STORAGE_ATTRIBUTE_MGMT; +pub type PSTORAGE_ATTRIBUTE_MGMT = *mut _STORAGE_ATTRIBUTE_MGMT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_HEALTH_NOTIFICATION_DATA { + pub DeviceGuid: GUID, +} +#[test] +fn bindgen_test_layout__SCM_PD_HEALTH_NOTIFICATION_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_HEALTH_NOTIFICATION_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_HEALTH_NOTIFICATION_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_SCM_PD_HEALTH_NOTIFICATION_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_HEALTH_NOTIFICATION_DATA>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_HEALTH_NOTIFICATION_DATA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_HEALTH_NOTIFICATION_DATA), + "::", + stringify!(DeviceGuid) + ) + ); +} +pub type SCM_PD_HEALTH_NOTIFICATION_DATA = _SCM_PD_HEALTH_NOTIFICATION_DATA; +pub type PSCM_PD_HEALTH_NOTIFICATION_DATA = *mut _SCM_PD_HEALTH_NOTIFICATION_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_LOGICAL_DEVICE_INSTANCE { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceGuid: GUID, + pub SymbolicLink: [WCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__SCM_LOGICAL_DEVICE_INSTANCE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_LOGICAL_DEVICE_INSTANCE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_LOGICAL_DEVICE_INSTANCE>(), + 536usize, + concat!("Size of: ", stringify!(_SCM_LOGICAL_DEVICE_INSTANCE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_LOGICAL_DEVICE_INSTANCE>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_LOGICAL_DEVICE_INSTANCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), + "::", + stringify!(DeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolicLink) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICE_INSTANCE), + "::", + stringify!(SymbolicLink) + ) + ); +} +pub type SCM_LOGICAL_DEVICE_INSTANCE = _SCM_LOGICAL_DEVICE_INSTANCE; +pub type PSCM_LOGICAL_DEVICE_INSTANCE = *mut _SCM_LOGICAL_DEVICE_INSTANCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_LOGICAL_DEVICES { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceCount: DWORD, + pub Devices: [SCM_LOGICAL_DEVICE_INSTANCE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_LOGICAL_DEVICES() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_LOGICAL_DEVICES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_LOGICAL_DEVICES>(), + 548usize, + concat!("Size of: ", stringify!(_SCM_LOGICAL_DEVICES)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_LOGICAL_DEVICES>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_LOGICAL_DEVICES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICES), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICES), + "::", + stringify!(DeviceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Devices) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LOGICAL_DEVICES), + "::", + stringify!(Devices) + ) + ); +} +pub type SCM_LOGICAL_DEVICES = _SCM_LOGICAL_DEVICES; +pub type PSCM_LOGICAL_DEVICES = *mut _SCM_LOGICAL_DEVICES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PHYSICAL_DEVICE_INSTANCE { + pub Version: DWORD, + pub Size: DWORD, + pub NfitHandle: DWORD, + pub SymbolicLink: [WCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__SCM_PHYSICAL_DEVICE_INSTANCE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PHYSICAL_DEVICE_INSTANCE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PHYSICAL_DEVICE_INSTANCE>(), + 524usize, + concat!("Size of: ", stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PHYSICAL_DEVICE_INSTANCE>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NfitHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), + "::", + stringify!(NfitHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SymbolicLink) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICE_INSTANCE), + "::", + stringify!(SymbolicLink) + ) + ); +} +pub type SCM_PHYSICAL_DEVICE_INSTANCE = _SCM_PHYSICAL_DEVICE_INSTANCE; +pub type PSCM_PHYSICAL_DEVICE_INSTANCE = *mut _SCM_PHYSICAL_DEVICE_INSTANCE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PHYSICAL_DEVICES { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceCount: DWORD, + pub Devices: [SCM_PHYSICAL_DEVICE_INSTANCE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PHYSICAL_DEVICES() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PHYSICAL_DEVICES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PHYSICAL_DEVICES>(), + 536usize, + concat!("Size of: ", stringify!(_SCM_PHYSICAL_DEVICES)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PHYSICAL_DEVICES>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PHYSICAL_DEVICES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICES), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICES), + "::", + stringify!(DeviceCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Devices) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PHYSICAL_DEVICES), + "::", + stringify!(Devices) + ) + ); +} +pub type SCM_PHYSICAL_DEVICES = _SCM_PHYSICAL_DEVICES; +pub type PSCM_PHYSICAL_DEVICES = *mut _SCM_PHYSICAL_DEVICES; +pub const _SCM_REGION_FLAG_ScmRegionFlagNone: _SCM_REGION_FLAG = 0; +pub const _SCM_REGION_FLAG_ScmRegionFlagLabel: _SCM_REGION_FLAG = 1; +pub type _SCM_REGION_FLAG = ::std::os::raw::c_int; +pub use self::_SCM_REGION_FLAG as SCM_REGION_FLAG; +pub type PSCM_REGION_FLAG = *mut _SCM_REGION_FLAG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_REGION { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub NfitHandle: DWORD, + pub LogicalDeviceGuid: GUID, + pub AddressRangeType: GUID, + pub AssociatedId: DWORD, + pub Length: DWORD64, + pub StartingDPA: DWORD64, + pub BaseSPA: DWORD64, + pub SPAOffset: DWORD64, + pub RegionOffset: DWORD64, +} +#[test] +fn bindgen_test_layout__SCM_REGION() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_REGION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_REGION>(), + 96usize, + concat!("Size of: ", stringify!(_SCM_REGION)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_REGION>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_REGION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NfitHandle) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(NfitHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogicalDeviceGuid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(LogicalDeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressRangeType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(AddressRangeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AssociatedId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(AssociatedId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingDPA) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(StartingDPA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseSPA) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(BaseSPA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SPAOffset) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(SPAOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionOffset) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGION), + "::", + stringify!(RegionOffset) + ) + ); +} +pub type SCM_REGION = _SCM_REGION; +pub type PSCM_REGION = *mut _SCM_REGION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_REGIONS { + pub Version: DWORD, + pub Size: DWORD, + pub RegionCount: DWORD, + pub Regions: [SCM_REGION; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_REGIONS() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_REGIONS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_REGIONS>(), + 112usize, + concat!("Size of: ", stringify!(_SCM_REGIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_REGIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_REGIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGIONS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGIONS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGIONS), + "::", + stringify!(RegionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Regions) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_REGIONS), + "::", + stringify!(Regions) + ) + ); +} +pub type SCM_REGIONS = _SCM_REGIONS; +pub type PSCM_REGIONS = *mut _SCM_REGIONS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_INTERLEAVED_PD_INFO { + pub DeviceHandle: DWORD, + pub DeviceGuid: GUID, +} +#[test] +fn bindgen_test_layout__SCM_INTERLEAVED_PD_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_INTERLEAVED_PD_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_INTERLEAVED_PD_INFO>(), + 20usize, + concat!("Size of: ", stringify!(_SCM_INTERLEAVED_PD_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_INTERLEAVED_PD_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_INTERLEAVED_PD_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_INTERLEAVED_PD_INFO), + "::", + stringify!(DeviceHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_INTERLEAVED_PD_INFO), + "::", + stringify!(DeviceGuid) + ) + ); +} +pub type SCM_INTERLEAVED_PD_INFO = _SCM_INTERLEAVED_PD_INFO; +pub type PSCM_INTERLEAVED_PD_INFO = *mut _SCM_INTERLEAVED_PD_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_LD_INTERLEAVE_SET_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub InterleaveSetSize: DWORD, + pub InterleaveSet: [SCM_INTERLEAVED_PD_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_LD_INTERLEAVE_SET_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_LD_INTERLEAVE_SET_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_LD_INTERLEAVE_SET_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_SCM_LD_INTERLEAVE_SET_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_LD_INTERLEAVE_SET_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_LD_INTERLEAVE_SET_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LD_INTERLEAVE_SET_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LD_INTERLEAVE_SET_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterleaveSetSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LD_INTERLEAVE_SET_INFO), + "::", + stringify!(InterleaveSetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterleaveSet) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_LD_INTERLEAVE_SET_INFO), + "::", + stringify!(InterleaveSet) + ) + ); +} +pub type SCM_LD_INTERLEAVE_SET_INFO = _SCM_LD_INTERLEAVE_SET_INFO; +pub type PSCM_LD_INTERLEAVE_SET_INFO = *mut _SCM_LD_INTERLEAVE_SET_INFO; +pub const _SCM_PD_QUERY_TYPE_ScmPhysicalDeviceQuery_Descriptor: _SCM_PD_QUERY_TYPE = 0; +pub const _SCM_PD_QUERY_TYPE_ScmPhysicalDeviceQuery_IsSupported: _SCM_PD_QUERY_TYPE = 1; +pub const _SCM_PD_QUERY_TYPE_ScmPhysicalDeviceQuery_Max: _SCM_PD_QUERY_TYPE = 2; +pub type _SCM_PD_QUERY_TYPE = ::std::os::raw::c_int; +pub use self::_SCM_PD_QUERY_TYPE as SCM_PD_QUERY_TYPE; +pub type PSCM_PD_QUERY_TYPE = *mut _SCM_PD_QUERY_TYPE; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_DeviceInfo: _SCM_PD_PROPERTY_ID = 0; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_ManagementStatus: _SCM_PD_PROPERTY_ID = 1; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_FirmwareInfo: _SCM_PD_PROPERTY_ID = 2; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_LocationString: _SCM_PD_PROPERTY_ID = 3; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_DeviceSpecificInfo: _SCM_PD_PROPERTY_ID = 4; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_DeviceHandle: _SCM_PD_PROPERTY_ID = 5; +pub const _SCM_PD_PROPERTY_ID_ScmPhysicalDeviceProperty_Max: _SCM_PD_PROPERTY_ID = 6; +pub type _SCM_PD_PROPERTY_ID = ::std::os::raw::c_int; +pub use self::_SCM_PD_PROPERTY_ID as SCM_PD_PROPERTY_ID; +pub type PSCM_PD_PROPERTY_ID = *mut _SCM_PD_PROPERTY_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PROPERTY_QUERY { + pub Version: DWORD, + pub Size: DWORD, + pub PropertyId: SCM_PD_PROPERTY_ID, + pub QueryType: SCM_PD_QUERY_TYPE, + pub AdditionalParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PROPERTY_QUERY() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PROPERTY_QUERY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PROPERTY_QUERY>(), + 20usize, + concat!("Size of: ", stringify!(_SCM_PD_PROPERTY_QUERY)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PROPERTY_QUERY>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_PROPERTY_QUERY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PropertyId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(PropertyId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(QueryType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalParameters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PROPERTY_QUERY), + "::", + stringify!(AdditionalParameters) + ) + ); +} +pub type SCM_PD_PROPERTY_QUERY = _SCM_PD_PROPERTY_QUERY; +pub type PSCM_PD_PROPERTY_QUERY = *mut _SCM_PD_PROPERTY_QUERY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DESCRIPTOR_HEADER { + pub Version: DWORD, + pub Size: DWORD, +} +#[test] +fn bindgen_test_layout__SCM_PD_DESCRIPTOR_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DESCRIPTOR_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DESCRIPTOR_HEADER>(), + 8usize, + concat!("Size of: ", stringify!(_SCM_PD_DESCRIPTOR_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DESCRIPTOR_HEADER>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_DESCRIPTOR_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DESCRIPTOR_HEADER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DESCRIPTOR_HEADER), + "::", + stringify!(Size) + ) + ); +} +pub type SCM_PD_DESCRIPTOR_HEADER = _SCM_PD_DESCRIPTOR_HEADER; +pub type PSCM_PD_DESCRIPTOR_HEADER = *mut _SCM_PD_DESCRIPTOR_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DEVICE_HANDLE { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceGuid: GUID, + pub DeviceHandle: DWORD, +} +#[test] +fn bindgen_test_layout__SCM_PD_DEVICE_HANDLE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DEVICE_HANDLE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DEVICE_HANDLE>(), + 28usize, + concat!("Size of: ", stringify!(_SCM_PD_DEVICE_HANDLE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DEVICE_HANDLE>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_DEVICE_HANDLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_HANDLE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_HANDLE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_HANDLE), + "::", + stringify!(DeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceHandle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_HANDLE), + "::", + stringify!(DeviceHandle) + ) + ); +} +pub type SCM_PD_DEVICE_HANDLE = _SCM_PD_DEVICE_HANDLE; +pub type PSCM_PD_DEVICE_HANDLE = *mut _SCM_PD_DEVICE_HANDLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DEVICE_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub DeviceGuid: GUID, + pub UnsafeShutdownCount: DWORD, + pub PersistentMemorySizeInBytes: DWORD64, + pub VolatileMemorySizeInBytes: DWORD64, + pub TotalMemorySizeInBytes: DWORD64, + pub SlotNumber: DWORD, + pub DeviceHandle: DWORD, + pub PhysicalId: WORD, + pub NumberOfFormatInterfaceCodes: BYTE, + pub FormatInterfaceCodes: [WORD; 8usize], + pub VendorId: DWORD, + pub ProductId: DWORD, + pub SubsystemDeviceId: DWORD, + pub SubsystemVendorId: DWORD, + pub ManufacturingLocation: BYTE, + pub ManufacturingWeek: BYTE, + pub ManufacturingYear: BYTE, + pub SerialNumber4Byte: DWORD, + pub SerialNumberLengthInChars: DWORD, + pub SerialNumber: [CHAR; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_DEVICE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DEVICE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DEVICE_INFO>(), + 120usize, + concat!("Size of: ", stringify!(_SCM_PD_DEVICE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DEVICE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_PD_DEVICE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(DeviceGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnsafeShutdownCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(UnsafeShutdownCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PersistentMemorySizeInBytes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(PersistentMemorySizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolatileMemorySizeInBytes) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(VolatileMemorySizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalMemorySizeInBytes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(TotalMemorySizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotNumber) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SlotNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceHandle) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(DeviceHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PhysicalId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(PhysicalId) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NumberOfFormatInterfaceCodes) as usize - ptr as usize + }, + 66usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(NumberOfFormatInterfaceCodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatInterfaceCodes) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(FormatInterfaceCodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(VendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductId) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(ProductId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubsystemDeviceId) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SubsystemDeviceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SubsystemVendorId) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SubsystemVendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturingLocation) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(ManufacturingLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturingWeek) as usize - ptr as usize }, + 101usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(ManufacturingWeek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ManufacturingYear) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(ManufacturingYear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber4Byte) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SerialNumber4Byte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumberLengthInChars) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SerialNumberLengthInChars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_INFO), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type SCM_PD_DEVICE_INFO = _SCM_PD_DEVICE_INFO; +pub type PSCM_PD_DEVICE_INFO = *mut _SCM_PD_DEVICE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DEVICE_SPECIFIC_PROPERTY { + pub Name: [WCHAR; 128usize], + pub Value: LONGLONG, +} +#[test] +fn bindgen_test_layout__SCM_PD_DEVICE_SPECIFIC_PROPERTY() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DEVICE_SPECIFIC_PROPERTY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DEVICE_SPECIFIC_PROPERTY>(), + 264usize, + concat!("Size of: ", stringify!(_SCM_PD_DEVICE_SPECIFIC_PROPERTY)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DEVICE_SPECIFIC_PROPERTY>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_PROPERTY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_PROPERTY), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_PROPERTY), + "::", + stringify!(Value) + ) + ); +} +pub type SCM_PD_DEVICE_SPECIFIC_PROPERTY = _SCM_PD_DEVICE_SPECIFIC_PROPERTY; +pub type PSCM_PD_DEVICE_SPECIFIC_PROPERTY = *mut _SCM_PD_DEVICE_SPECIFIC_PROPERTY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_DEVICE_SPECIFIC_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub NumberOfProperties: DWORD, + pub DeviceSpecificProperties: [SCM_PD_DEVICE_SPECIFIC_PROPERTY; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_DEVICE_SPECIFIC_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_DEVICE_SPECIFIC_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_DEVICE_SPECIFIC_INFO>(), + 280usize, + concat!("Size of: ", stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_DEVICE_SPECIFIC_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfProperties) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), + "::", + stringify!(NumberOfProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceSpecificProperties) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_DEVICE_SPECIFIC_INFO), + "::", + stringify!(DeviceSpecificProperties) + ) + ); +} +pub type SCM_PD_DEVICE_SPECIFIC_INFO = _SCM_PD_DEVICE_SPECIFIC_INFO; +pub type PSCM_PD_DEVICE_SPECIFIC_INFO = *mut _SCM_PD_DEVICE_SPECIFIC_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_FIRMWARE_SLOT_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub SlotNumber: BYTE, + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub Reserved1: [BYTE; 6usize], + pub Revision: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_FIRMWARE_SLOT_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_FIRMWARE_SLOT_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_FIRMWARE_SLOT_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_SCM_PD_FIRMWARE_SLOT_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_FIRMWARE_SLOT_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_FIRMWARE_SLOT_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(SlotNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_SLOT_INFO), + "::", + stringify!(Revision) + ) + ); +} +impl _SCM_PD_FIRMWARE_SLOT_INFO { + #[inline] + pub fn ReadOnly(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) } + } + #[inline] + pub fn set_ReadOnly(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn Reserved0(&self) -> BYTE { + unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 7u8) as u8) } + } + #[inline] + pub fn set_Reserved0(&mut self, val: BYTE) { + unsafe { + let val: u8 = ::std::mem::transmute(val); + self._bitfield_1.set(1usize, 7u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(ReadOnly: BYTE, Reserved0: BYTE) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let ReadOnly: u8 = unsafe { ::std::mem::transmute(ReadOnly) }; + ReadOnly as u64 + }); + __bindgen_bitfield_unit.set(1usize, 7u8, { + let Reserved0: u8 = unsafe { ::std::mem::transmute(Reserved0) }; + Reserved0 as u64 + }); + __bindgen_bitfield_unit + } +} +pub type SCM_PD_FIRMWARE_SLOT_INFO = _SCM_PD_FIRMWARE_SLOT_INFO; +pub type PSCM_PD_FIRMWARE_SLOT_INFO = *mut _SCM_PD_FIRMWARE_SLOT_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_FIRMWARE_INFO { + pub Version: DWORD, + pub Size: DWORD, + pub ActiveSlot: BYTE, + pub NextActiveSlot: BYTE, + pub SlotCount: BYTE, + pub Slots: [SCM_PD_FIRMWARE_SLOT_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_FIRMWARE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_FIRMWARE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_FIRMWARE_INFO>(), + 60usize, + concat!("Size of: ", stringify!(_SCM_PD_FIRMWARE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_FIRMWARE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_FIRMWARE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActiveSlot) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(ActiveSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextActiveSlot) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(NextActiveSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlotCount) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(SlotCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slots) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_INFO), + "::", + stringify!(Slots) + ) + ); +} +pub type SCM_PD_FIRMWARE_INFO = _SCM_PD_FIRMWARE_INFO; +pub type PSCM_PD_FIRMWARE_INFO = *mut _SCM_PD_FIRMWARE_INFO; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Unknown: _SCM_PD_HEALTH_STATUS = 0; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Unhealthy: _SCM_PD_HEALTH_STATUS = 1; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Warning: _SCM_PD_HEALTH_STATUS = 2; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Healthy: _SCM_PD_HEALTH_STATUS = 3; +pub const _SCM_PD_HEALTH_STATUS_ScmPhysicalDeviceHealth_Max: _SCM_PD_HEALTH_STATUS = 4; +pub type _SCM_PD_HEALTH_STATUS = ::std::os::raw::c_int; +pub use self::_SCM_PD_HEALTH_STATUS as SCM_PD_HEALTH_STATUS; +pub type PSCM_PD_HEALTH_STATUS = *mut _SCM_PD_HEALTH_STATUS; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Unknown: _SCM_PD_OPERATIONAL_STATUS = + 0; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Ok: _SCM_PD_OPERATIONAL_STATUS = 1; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_PredictingFailure: + _SCM_PD_OPERATIONAL_STATUS = 2; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_InService: + _SCM_PD_OPERATIONAL_STATUS = 3; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_HardwareError: + _SCM_PD_OPERATIONAL_STATUS = 4; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_NotUsable: + _SCM_PD_OPERATIONAL_STATUS = 5; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_TransientError: + _SCM_PD_OPERATIONAL_STATUS = 6; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Missing: _SCM_PD_OPERATIONAL_STATUS = + 7; +pub const _SCM_PD_OPERATIONAL_STATUS_ScmPhysicalDeviceOpStatus_Max: _SCM_PD_OPERATIONAL_STATUS = 8; +pub type _SCM_PD_OPERATIONAL_STATUS = ::std::os::raw::c_int; +pub use self::_SCM_PD_OPERATIONAL_STATUS as SCM_PD_OPERATIONAL_STATUS; +pub type PSCM_PD_OPERATIONAL_STATUS = *mut _SCM_PD_OPERATIONAL_STATUS; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Unknown: + _SCM_PD_OPERATIONAL_STATUS_REASON = 0; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Media: + _SCM_PD_OPERATIONAL_STATUS_REASON = 1; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_ThresholdExceeded: + _SCM_PD_OPERATIONAL_STATUS_REASON = 2; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_LostData: + _SCM_PD_OPERATIONAL_STATUS_REASON = 3; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_EnergySource: + _SCM_PD_OPERATIONAL_STATUS_REASON = 4; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Configuration: + _SCM_PD_OPERATIONAL_STATUS_REASON = 5; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_DeviceController: + _SCM_PD_OPERATIONAL_STATUS_REASON = 6; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_MediaController: + _SCM_PD_OPERATIONAL_STATUS_REASON = 7; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Component: + _SCM_PD_OPERATIONAL_STATUS_REASON = 8; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_BackgroundOperation: + _SCM_PD_OPERATIONAL_STATUS_REASON = 9; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_InvalidFirmware: + _SCM_PD_OPERATIONAL_STATUS_REASON = 10; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_HealthCheck: + _SCM_PD_OPERATIONAL_STATUS_REASON = 11; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_LostDataPersistence: + _SCM_PD_OPERATIONAL_STATUS_REASON = 12; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_DisabledByPlatform: + _SCM_PD_OPERATIONAL_STATUS_REASON = 13; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_PermanentError: + _SCM_PD_OPERATIONAL_STATUS_REASON = 14; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_LostWritePersistence: + _SCM_PD_OPERATIONAL_STATUS_REASON = 15; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_FatalError: + _SCM_PD_OPERATIONAL_STATUS_REASON = 16; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_DataPersistenceLossImminent : _SCM_PD_OPERATIONAL_STATUS_REASON = 17 ; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_WritePersistenceLossImminent : _SCM_PD_OPERATIONAL_STATUS_REASON = 18 ; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_MediaRemainingSpareBlock: + _SCM_PD_OPERATIONAL_STATUS_REASON = 19; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_PerformanceDegradation: + _SCM_PD_OPERATIONAL_STATUS_REASON = 20; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_ExcessiveTemperature: + _SCM_PD_OPERATIONAL_STATUS_REASON = 21; +pub const _SCM_PD_OPERATIONAL_STATUS_REASON_ScmPhysicalDeviceOpReason_Max: + _SCM_PD_OPERATIONAL_STATUS_REASON = 22; +pub type _SCM_PD_OPERATIONAL_STATUS_REASON = ::std::os::raw::c_int; +pub use self::_SCM_PD_OPERATIONAL_STATUS_REASON as SCM_PD_OPERATIONAL_STATUS_REASON; +pub type PSCM_PD_OPERATIONAL_STATUS_REASON = *mut _SCM_PD_OPERATIONAL_STATUS_REASON; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_MANAGEMENT_STATUS { + pub Version: DWORD, + pub Size: DWORD, + pub Health: SCM_PD_HEALTH_STATUS, + pub NumberOfOperationalStatus: DWORD, + pub NumberOfAdditionalReasons: DWORD, + pub OperationalStatus: [SCM_PD_OPERATIONAL_STATUS; 16usize], + pub AdditionalReasons: [SCM_PD_OPERATIONAL_STATUS_REASON; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_MANAGEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_MANAGEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_MANAGEMENT_STATUS>(), + 88usize, + concat!("Size of: ", stringify!(_SCM_PD_MANAGEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_MANAGEMENT_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_MANAGEMENT_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Health) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(Health) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfOperationalStatus) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(NumberOfOperationalStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfAdditionalReasons) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(NumberOfAdditionalReasons) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OperationalStatus) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(OperationalStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AdditionalReasons) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_MANAGEMENT_STATUS), + "::", + stringify!(AdditionalReasons) + ) + ); +} +pub type SCM_PD_MANAGEMENT_STATUS = _SCM_PD_MANAGEMENT_STATUS; +pub type PSCM_PD_MANAGEMENT_STATUS = *mut _SCM_PD_MANAGEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_LOCATION_STRING { + pub Version: DWORD, + pub Size: DWORD, + pub Location: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_LOCATION_STRING() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_LOCATION_STRING> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_LOCATION_STRING>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_LOCATION_STRING)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_LOCATION_STRING>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_LOCATION_STRING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_LOCATION_STRING), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_LOCATION_STRING), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Location) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_LOCATION_STRING), + "::", + stringify!(Location) + ) + ); +} +pub type SCM_PD_LOCATION_STRING = _SCM_PD_LOCATION_STRING; +pub type PSCM_PD_LOCATION_STRING = *mut _SCM_PD_LOCATION_STRING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_FIRMWARE_DOWNLOAD { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, + pub Reserved: [BYTE; 3usize], + pub Offset: DWORD64, + pub FirmwareImageSizeInBytes: DWORD, + pub FirmwareImage: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_FIRMWARE_DOWNLOAD() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_FIRMWARE_DOWNLOAD> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_FIRMWARE_DOWNLOAD>(), + 32usize, + concat!("Size of: ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_FIRMWARE_DOWNLOAD>(), + 8usize, + concat!("Alignment of ", stringify!(_SCM_PD_FIRMWARE_DOWNLOAD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Slot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareImageSizeInBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(FirmwareImageSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirmwareImage) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_DOWNLOAD), + "::", + stringify!(FirmwareImage) + ) + ); +} +pub type SCM_PD_FIRMWARE_DOWNLOAD = _SCM_PD_FIRMWARE_DOWNLOAD; +pub type PSCM_PD_FIRMWARE_DOWNLOAD = *mut _SCM_PD_FIRMWARE_DOWNLOAD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_FIRMWARE_ACTIVATE { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Slot: BYTE, +} +#[test] +fn bindgen_test_layout__SCM_PD_FIRMWARE_ACTIVATE() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_FIRMWARE_ACTIVATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_FIRMWARE_ACTIVATE>(), + 16usize, + concat!("Size of: ", stringify!(_SCM_PD_FIRMWARE_ACTIVATE)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_FIRMWARE_ACTIVATE>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_FIRMWARE_ACTIVATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_ACTIVATE), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_ACTIVATE), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_ACTIVATE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Slot) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_FIRMWARE_ACTIVATE), + "::", + stringify!(Slot) + ) + ); +} +pub type SCM_PD_FIRMWARE_ACTIVATE = _SCM_PD_FIRMWARE_ACTIVATE; +pub type PSCM_PD_FIRMWARE_ACTIVATE = *mut _SCM_PD_FIRMWARE_ACTIVATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PASSTHROUGH_INPUT { + pub Version: DWORD, + pub Size: DWORD, + pub ProtocolGuid: GUID, + pub DataSize: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PASSTHROUGH_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PASSTHROUGH_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PASSTHROUGH_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_SCM_PD_PASSTHROUGH_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PASSTHROUGH_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_PASSTHROUGH_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(ProtocolGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(DataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INPUT), + "::", + stringify!(Data) + ) + ); +} +pub type SCM_PD_PASSTHROUGH_INPUT = _SCM_PD_PASSTHROUGH_INPUT; +pub type PSCM_PD_PASSTHROUGH_INPUT = *mut _SCM_PD_PASSTHROUGH_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PASSTHROUGH_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub ProtocolGuid: GUID, + pub DataSize: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PASSTHROUGH_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PASSTHROUGH_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PASSTHROUGH_OUTPUT>(), + 32usize, + concat!("Size of: ", stringify!(_SCM_PD_PASSTHROUGH_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PASSTHROUGH_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SCM_PD_PASSTHROUGH_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolGuid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(ProtocolGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(DataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_OUTPUT), + "::", + stringify!(Data) + ) + ); +} +pub type SCM_PD_PASSTHROUGH_OUTPUT = _SCM_PD_PASSTHROUGH_OUTPUT; +pub type PSCM_PD_PASSTHROUGH_OUTPUT = *mut _SCM_PD_PASSTHROUGH_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PASSTHROUGH_INVDIMM_INPUT { + pub Opcode: DWORD, + pub OpcodeParametersLength: DWORD, + pub OpcodeParameters: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PASSTHROUGH_INVDIMM_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PASSTHROUGH_INVDIMM_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PASSTHROUGH_INVDIMM_INPUT>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PASSTHROUGH_INVDIMM_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Opcode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT), + "::", + stringify!(Opcode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpcodeParametersLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT), + "::", + stringify!(OpcodeParametersLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpcodeParameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_INPUT), + "::", + stringify!(OpcodeParameters) + ) + ); +} +pub type SCM_PD_PASSTHROUGH_INVDIMM_INPUT = _SCM_PD_PASSTHROUGH_INVDIMM_INPUT; +pub type PSCM_PD_PASSTHROUGH_INVDIMM_INPUT = *mut _SCM_PD_PASSTHROUGH_INVDIMM_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT { + pub GeneralStatus: WORD, + pub ExtendedStatus: WORD, + pub OutputDataLength: DWORD, + pub OutputData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GeneralStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), + "::", + stringify!(GeneralStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedStatus) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), + "::", + stringify!(ExtendedStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputDataLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), + "::", + stringify!(OutputDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT), + "::", + stringify!(OutputData) + ) + ); +} +pub type SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT = _SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT; +pub type PSCM_PD_PASSTHROUGH_INVDIMM_OUTPUT = *mut _SCM_PD_PASSTHROUGH_INVDIMM_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_REINITIALIZE_MEDIA_INPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Options: _SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1 { + pub _bitfield_align_1: [u8; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>, + pub __bindgen_padding_0: [u8; 3usize], +} +#[test] +fn bindgen_test_layout__SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1) + ) + ); +} +impl _SCM_PD_REINITIALIZE_MEDIA_INPUT__bindgen_ty_1 { + #[inline] + pub fn Overwrite(&self) -> DWORD { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) } + } + #[inline] + pub fn set_Overwrite(&mut self, val: DWORD) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 1u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(Overwrite: DWORD) -> __BindgenBitfieldUnit<[u8; 1usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 1u8, { + let Overwrite: u32 = unsafe { ::std::mem::transmute(Overwrite) }; + Overwrite as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout__SCM_PD_REINITIALIZE_MEDIA_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_REINITIALIZE_MEDIA_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_REINITIALIZE_MEDIA_INPUT>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_REINITIALIZE_MEDIA_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Options) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_INPUT), + "::", + stringify!(Options) + ) + ); +} +pub type SCM_PD_REINITIALIZE_MEDIA_INPUT = _SCM_PD_REINITIALIZE_MEDIA_INPUT; +pub type PSCM_PD_REINITIALIZE_MEDIA_INPUT = *mut _SCM_PD_REINITIALIZE_MEDIA_INPUT; +pub const _SCM_PD_MEDIA_REINITIALIZATION_STATUS_ScmPhysicalDeviceReinit_Success: + _SCM_PD_MEDIA_REINITIALIZATION_STATUS = 0; +pub const _SCM_PD_MEDIA_REINITIALIZATION_STATUS_ScmPhysicalDeviceReinit_RebootNeeded: + _SCM_PD_MEDIA_REINITIALIZATION_STATUS = 1; +pub const _SCM_PD_MEDIA_REINITIALIZATION_STATUS_ScmPhysicalDeviceReinit_ColdBootNeeded: + _SCM_PD_MEDIA_REINITIALIZATION_STATUS = 2; +pub const _SCM_PD_MEDIA_REINITIALIZATION_STATUS_ScmPhysicalDeviceReinit_Max: + _SCM_PD_MEDIA_REINITIALIZATION_STATUS = 3; +pub type _SCM_PD_MEDIA_REINITIALIZATION_STATUS = ::std::os::raw::c_int; +pub use self::_SCM_PD_MEDIA_REINITIALIZATION_STATUS as SCM_PD_MEDIA_REINITIALIZATION_STATUS; +pub type PSCM_PD_MEDIA_REINITIALIZATION_STATUS = *mut _SCM_PD_MEDIA_REINITIALIZATION_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCM_PD_REINITIALIZE_MEDIA_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Status: SCM_PD_MEDIA_REINITIALIZATION_STATUS, +} +#[test] +fn bindgen_test_layout__SCM_PD_REINITIALIZE_MEDIA_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SCM_PD_REINITIALIZE_MEDIA_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCM_PD_REINITIALIZE_MEDIA_OUTPUT>(), + 12usize, + concat!("Size of: ", stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SCM_PD_REINITIALIZE_MEDIA_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCM_PD_REINITIALIZE_MEDIA_OUTPUT), + "::", + stringify!(Status) + ) + ); +} +pub type SCM_PD_REINITIALIZE_MEDIA_OUTPUT = _SCM_PD_REINITIALIZE_MEDIA_OUTPUT; +pub type PSCM_PD_REINITIALIZE_MEDIA_OUTPUT = *mut _SCM_PD_REINITIALIZE_MEDIA_OUTPUT; +pub const _MEDIA_TYPE_Unknown: _MEDIA_TYPE = 0; +pub const _MEDIA_TYPE_F5_1Pt2_512: _MEDIA_TYPE = 1; +pub const _MEDIA_TYPE_F3_1Pt44_512: _MEDIA_TYPE = 2; +pub const _MEDIA_TYPE_F3_2Pt88_512: _MEDIA_TYPE = 3; +pub const _MEDIA_TYPE_F3_20Pt8_512: _MEDIA_TYPE = 4; +pub const _MEDIA_TYPE_F3_720_512: _MEDIA_TYPE = 5; +pub const _MEDIA_TYPE_F5_360_512: _MEDIA_TYPE = 6; +pub const _MEDIA_TYPE_F5_320_512: _MEDIA_TYPE = 7; +pub const _MEDIA_TYPE_F5_320_1024: _MEDIA_TYPE = 8; +pub const _MEDIA_TYPE_F5_180_512: _MEDIA_TYPE = 9; +pub const _MEDIA_TYPE_F5_160_512: _MEDIA_TYPE = 10; +pub const _MEDIA_TYPE_RemovableMedia: _MEDIA_TYPE = 11; +pub const _MEDIA_TYPE_FixedMedia: _MEDIA_TYPE = 12; +pub const _MEDIA_TYPE_F3_120M_512: _MEDIA_TYPE = 13; +pub const _MEDIA_TYPE_F3_640_512: _MEDIA_TYPE = 14; +pub const _MEDIA_TYPE_F5_640_512: _MEDIA_TYPE = 15; +pub const _MEDIA_TYPE_F5_720_512: _MEDIA_TYPE = 16; +pub const _MEDIA_TYPE_F3_1Pt2_512: _MEDIA_TYPE = 17; +pub const _MEDIA_TYPE_F3_1Pt23_1024: _MEDIA_TYPE = 18; +pub const _MEDIA_TYPE_F5_1Pt23_1024: _MEDIA_TYPE = 19; +pub const _MEDIA_TYPE_F3_128Mb_512: _MEDIA_TYPE = 20; +pub const _MEDIA_TYPE_F3_230Mb_512: _MEDIA_TYPE = 21; +pub const _MEDIA_TYPE_F8_256_128: _MEDIA_TYPE = 22; +pub const _MEDIA_TYPE_F3_200Mb_512: _MEDIA_TYPE = 23; +pub const _MEDIA_TYPE_F3_240M_512: _MEDIA_TYPE = 24; +pub const _MEDIA_TYPE_F3_32M_512: _MEDIA_TYPE = 25; +pub type _MEDIA_TYPE = ::std::os::raw::c_int; +pub use self::_MEDIA_TYPE as MEDIA_TYPE; +pub type PMEDIA_TYPE = *mut _MEDIA_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORMAT_PARAMETERS { + pub MediaType: MEDIA_TYPE, + pub StartCylinderNumber: DWORD, + pub EndCylinderNumber: DWORD, + pub StartHeadNumber: DWORD, + pub EndHeadNumber: DWORD, +} +#[test] +fn bindgen_test_layout__FORMAT_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_FORMAT_PARAMETERS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORMAT_PARAMETERS>(), + 20usize, + concat!("Size of: ", stringify!(_FORMAT_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_FORMAT_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_FORMAT_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartCylinderNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(StartCylinderNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndCylinderNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(EndCylinderNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartHeadNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(StartHeadNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndHeadNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_PARAMETERS), + "::", + stringify!(EndHeadNumber) + ) + ); +} +pub type FORMAT_PARAMETERS = _FORMAT_PARAMETERS; +pub type PFORMAT_PARAMETERS = *mut _FORMAT_PARAMETERS; +pub type BAD_TRACK_NUMBER = WORD; +pub type PBAD_TRACK_NUMBER = *mut WORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORMAT_EX_PARAMETERS { + pub MediaType: MEDIA_TYPE, + pub StartCylinderNumber: DWORD, + pub EndCylinderNumber: DWORD, + pub StartHeadNumber: DWORD, + pub EndHeadNumber: DWORD, + pub FormatGapLength: WORD, + pub SectorsPerTrack: WORD, + pub SectorNumber: [WORD; 1usize], +} +#[test] +fn bindgen_test_layout__FORMAT_EX_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_FORMAT_EX_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORMAT_EX_PARAMETERS>(), + 28usize, + concat!("Size of: ", stringify!(_FORMAT_EX_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_FORMAT_EX_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_FORMAT_EX_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartCylinderNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(StartCylinderNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndCylinderNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(EndCylinderNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartHeadNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(StartHeadNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndHeadNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(EndHeadNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatGapLength) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(FormatGapLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORMAT_EX_PARAMETERS), + "::", + stringify!(SectorNumber) + ) + ); +} +pub type FORMAT_EX_PARAMETERS = _FORMAT_EX_PARAMETERS; +pub type PFORMAT_EX_PARAMETERS = *mut _FORMAT_EX_PARAMETERS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_GEOMETRY { + pub Cylinders: LARGE_INTEGER, + pub MediaType: MEDIA_TYPE, + pub TracksPerCylinder: DWORD, + pub SectorsPerTrack: DWORD, + pub BytesPerSector: DWORD, +} +#[test] +fn bindgen_test_layout__DISK_GEOMETRY() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_GEOMETRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_GEOMETRY>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_GEOMETRY)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_GEOMETRY>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_GEOMETRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cylinders) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(Cylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TracksPerCylinder) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(TracksPerCylinder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY), + "::", + stringify!(BytesPerSector) + ) + ); +} +pub type DISK_GEOMETRY = _DISK_GEOMETRY; +pub type PDISK_GEOMETRY = *mut _DISK_GEOMETRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PARTITION_INFORMATION { + pub StartingOffset: LARGE_INTEGER, + pub PartitionLength: LARGE_INTEGER, + pub HiddenSectors: DWORD, + pub PartitionNumber: DWORD, + pub PartitionType: BYTE, + pub BootIndicator: BOOLEAN, + pub RecognizedPartition: BOOLEAN, + pub RewritePartition: BOOLEAN, +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_PARTITION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_PARTITION_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(PartitionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HiddenSectors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(HiddenSectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(PartitionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(PartitionType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BootIndicator) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(BootIndicator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecognizedPartition) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(RecognizedPartition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RewritePartition) as usize - ptr as usize }, + 27usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION), + "::", + stringify!(RewritePartition) + ) + ); +} +pub type PARTITION_INFORMATION = _PARTITION_INFORMATION; +pub type PPARTITION_INFORMATION = *mut _PARTITION_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SET_PARTITION_INFORMATION { + pub PartitionType: BYTE, +} +#[test] +fn bindgen_test_layout__SET_PARTITION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SET_PARTITION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_PARTITION_INFORMATION>(), + 1usize, + concat!("Size of: ", stringify!(_SET_PARTITION_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_PARTITION_INFORMATION>(), + 1usize, + concat!("Alignment of ", stringify!(_SET_PARTITION_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PARTITION_INFORMATION), + "::", + stringify!(PartitionType) + ) + ); +} +pub type SET_PARTITION_INFORMATION = _SET_PARTITION_INFORMATION; +pub type PSET_PARTITION_INFORMATION = *mut _SET_PARTITION_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DRIVE_LAYOUT_INFORMATION { + pub PartitionCount: DWORD, + pub Signature: DWORD, + pub PartitionEntry: [PARTITION_INFORMATION; 1usize], +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION>(), + 40usize, + concat!("Size of: ", stringify!(_DRIVE_LAYOUT_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVE_LAYOUT_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION), + "::", + stringify!(PartitionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionEntry) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION), + "::", + stringify!(PartitionEntry) + ) + ); +} +pub type DRIVE_LAYOUT_INFORMATION = _DRIVE_LAYOUT_INFORMATION; +pub type PDRIVE_LAYOUT_INFORMATION = *mut _DRIVE_LAYOUT_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _VERIFY_INFORMATION { + pub StartingOffset: LARGE_INTEGER, + pub Length: DWORD, +} +#[test] +fn bindgen_test_layout__VERIFY_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_VERIFY_INFORMATION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VERIFY_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_VERIFY_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_VERIFY_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_VERIFY_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VERIFY_INFORMATION), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_VERIFY_INFORMATION), + "::", + stringify!(Length) + ) + ); +} +pub type VERIFY_INFORMATION = _VERIFY_INFORMATION; +pub type PVERIFY_INFORMATION = *mut _VERIFY_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REASSIGN_BLOCKS { + pub Reserved: WORD, + pub Count: WORD, + pub BlockNumber: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__REASSIGN_BLOCKS() { + const UNINIT: ::std::mem::MaybeUninit<_REASSIGN_BLOCKS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASSIGN_BLOCKS>(), + 8usize, + concat!("Size of: ", stringify!(_REASSIGN_BLOCKS)) + ); + assert_eq!( + ::std::mem::align_of::<_REASSIGN_BLOCKS>(), + 4usize, + concat!("Alignment of ", stringify!(_REASSIGN_BLOCKS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS), + "::", + stringify!(BlockNumber) + ) + ); +} +pub type REASSIGN_BLOCKS = _REASSIGN_BLOCKS; +pub type PREASSIGN_BLOCKS = *mut _REASSIGN_BLOCKS; +#[repr(C, packed)] +#[derive(Copy, Clone)] +pub struct _REASSIGN_BLOCKS_EX { + pub Reserved: WORD, + pub Count: WORD, + pub BlockNumber: [LARGE_INTEGER; 1usize], +} +#[test] +fn bindgen_test_layout__REASSIGN_BLOCKS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_REASSIGN_BLOCKS_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REASSIGN_BLOCKS_EX>(), + 12usize, + concat!("Size of: ", stringify!(_REASSIGN_BLOCKS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_REASSIGN_BLOCKS_EX>(), + 1usize, + concat!("Alignment of ", stringify!(_REASSIGN_BLOCKS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS_EX), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS_EX), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REASSIGN_BLOCKS_EX), + "::", + stringify!(BlockNumber) + ) + ); +} +pub type REASSIGN_BLOCKS_EX = _REASSIGN_BLOCKS_EX; +pub type PREASSIGN_BLOCKS_EX = *mut _REASSIGN_BLOCKS_EX; +pub const _PARTITION_STYLE_PARTITION_STYLE_MBR: _PARTITION_STYLE = 0; +pub const _PARTITION_STYLE_PARTITION_STYLE_GPT: _PARTITION_STYLE = 1; +pub const _PARTITION_STYLE_PARTITION_STYLE_RAW: _PARTITION_STYLE = 2; +pub type _PARTITION_STYLE = ::std::os::raw::c_int; +pub use self::_PARTITION_STYLE as PARTITION_STYLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PARTITION_INFORMATION_GPT { + pub PartitionType: GUID, + pub PartitionId: GUID, + pub Attributes: DWORD64, + pub Name: [WCHAR; 36usize], +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION_GPT() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION_GPT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION_GPT>(), + 112usize, + concat!("Size of: ", stringify!(_PARTITION_INFORMATION_GPT)) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION_GPT>(), + 8usize, + concat!("Alignment of ", stringify!(_PARTITION_INFORMATION_GPT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_GPT), + "::", + stringify!(PartitionType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_GPT), + "::", + stringify!(PartitionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_GPT), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_GPT), + "::", + stringify!(Name) + ) + ); +} +pub type PARTITION_INFORMATION_GPT = _PARTITION_INFORMATION_GPT; +pub type PPARTITION_INFORMATION_GPT = *mut _PARTITION_INFORMATION_GPT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PARTITION_INFORMATION_MBR { + pub PartitionType: BYTE, + pub BootIndicator: BOOLEAN, + pub RecognizedPartition: BOOLEAN, + pub HiddenSectors: DWORD, + pub PartitionId: GUID, +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION_MBR() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION_MBR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION_MBR>(), + 24usize, + concat!("Size of: ", stringify!(_PARTITION_INFORMATION_MBR)) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION_MBR>(), + 4usize, + concat!("Alignment of ", stringify!(_PARTITION_INFORMATION_MBR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(PartitionType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BootIndicator) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(BootIndicator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecognizedPartition) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(RecognizedPartition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HiddenSectors) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(HiddenSectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_MBR), + "::", + stringify!(PartitionId) + ) + ); +} +pub type PARTITION_INFORMATION_MBR = _PARTITION_INFORMATION_MBR; +pub type PPARTITION_INFORMATION_MBR = *mut _PARTITION_INFORMATION_MBR; +pub type SET_PARTITION_INFORMATION_MBR = SET_PARTITION_INFORMATION; +pub type SET_PARTITION_INFORMATION_GPT = PARTITION_INFORMATION_GPT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SET_PARTITION_INFORMATION_EX { + pub PartitionStyle: PARTITION_STYLE, + pub __bindgen_anon_1: _SET_PARTITION_INFORMATION_EX__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SET_PARTITION_INFORMATION_EX__bindgen_ty_1 { + pub Mbr: SET_PARTITION_INFORMATION_MBR, + pub Gpt: SET_PARTITION_INFORMATION_GPT, +} +#[test] +fn bindgen_test_layout__SET_PARTITION_INFORMATION_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SET_PARTITION_INFORMATION_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_PARTITION_INFORMATION_EX__bindgen_ty_1>(), + 112usize, + concat!( + "Size of: ", + stringify!(_SET_PARTITION_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SET_PARTITION_INFORMATION_EX__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SET_PARTITION_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PARTITION_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PARTITION_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__SET_PARTITION_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_SET_PARTITION_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_PARTITION_INFORMATION_EX>(), + 120usize, + concat!("Size of: ", stringify!(_SET_PARTITION_INFORMATION_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_PARTITION_INFORMATION_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_SET_PARTITION_INFORMATION_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PARTITION_INFORMATION_EX), + "::", + stringify!(PartitionStyle) + ) + ); +} +pub type SET_PARTITION_INFORMATION_EX = _SET_PARTITION_INFORMATION_EX; +pub type PSET_PARTITION_INFORMATION_EX = *mut _SET_PARTITION_INFORMATION_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATE_DISK_GPT { + pub DiskId: GUID, + pub MaxPartitionCount: DWORD, +} +#[test] +fn bindgen_test_layout__CREATE_DISK_GPT() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_DISK_GPT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_DISK_GPT>(), + 20usize, + concat!("Size of: ", stringify!(_CREATE_DISK_GPT)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_DISK_GPT>(), + 4usize, + concat!("Alignment of ", stringify!(_CREATE_DISK_GPT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK_GPT), + "::", + stringify!(DiskId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPartitionCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK_GPT), + "::", + stringify!(MaxPartitionCount) + ) + ); +} +pub type CREATE_DISK_GPT = _CREATE_DISK_GPT; +pub type PCREATE_DISK_GPT = *mut _CREATE_DISK_GPT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CREATE_DISK_MBR { + pub Signature: DWORD, +} +#[test] +fn bindgen_test_layout__CREATE_DISK_MBR() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_DISK_MBR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_DISK_MBR>(), + 4usize, + concat!("Size of: ", stringify!(_CREATE_DISK_MBR)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_DISK_MBR>(), + 4usize, + concat!("Alignment of ", stringify!(_CREATE_DISK_MBR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK_MBR), + "::", + stringify!(Signature) + ) + ); +} +pub type CREATE_DISK_MBR = _CREATE_DISK_MBR; +pub type PCREATE_DISK_MBR = *mut _CREATE_DISK_MBR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CREATE_DISK { + pub PartitionStyle: PARTITION_STYLE, + pub __bindgen_anon_1: _CREATE_DISK__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _CREATE_DISK__bindgen_ty_1 { + pub Mbr: CREATE_DISK_MBR, + pub Gpt: CREATE_DISK_GPT, +} +#[test] +fn bindgen_test_layout__CREATE_DISK__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_DISK__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_DISK__bindgen_ty_1>(), + 20usize, + concat!("Size of: ", stringify!(_CREATE_DISK__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_DISK__bindgen_ty_1>(), + 4usize, + concat!("Alignment of ", stringify!(_CREATE_DISK__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__CREATE_DISK() { + const UNINIT: ::std::mem::MaybeUninit<_CREATE_DISK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CREATE_DISK>(), + 24usize, + concat!("Size of: ", stringify!(_CREATE_DISK)) + ); + assert_eq!( + ::std::mem::align_of::<_CREATE_DISK>(), + 4usize, + concat!("Alignment of ", stringify!(_CREATE_DISK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CREATE_DISK), + "::", + stringify!(PartitionStyle) + ) + ); +} +pub type CREATE_DISK = _CREATE_DISK; +pub type PCREATE_DISK = *mut _CREATE_DISK; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GET_LENGTH_INFORMATION { + pub Length: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__GET_LENGTH_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_GET_LENGTH_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_LENGTH_INFORMATION>(), + 8usize, + concat!("Size of: ", stringify!(_GET_LENGTH_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_LENGTH_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_GET_LENGTH_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_LENGTH_INFORMATION), + "::", + stringify!(Length) + ) + ); +} +pub type GET_LENGTH_INFORMATION = _GET_LENGTH_INFORMATION; +pub type PGET_LENGTH_INFORMATION = *mut _GET_LENGTH_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PARTITION_INFORMATION_EX { + pub PartitionStyle: PARTITION_STYLE, + pub StartingOffset: LARGE_INTEGER, + pub PartitionLength: LARGE_INTEGER, + pub PartitionNumber: DWORD, + pub RewritePartition: BOOLEAN, + pub IsServicePartition: BOOLEAN, + pub __bindgen_anon_1: _PARTITION_INFORMATION_EX__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PARTITION_INFORMATION_EX__bindgen_ty_1 { + pub Mbr: PARTITION_INFORMATION_MBR, + pub Gpt: PARTITION_INFORMATION_GPT, +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION_EX__bindgen_ty_1>(), + 112usize, + concat!( + "Size of: ", + stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION_EX__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__PARTITION_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_PARTITION_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PARTITION_INFORMATION_EX>(), + 144usize, + concat!("Size of: ", stringify!(_PARTITION_INFORMATION_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_PARTITION_INFORMATION_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_PARTITION_INFORMATION_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(PartitionStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(PartitionLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(PartitionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RewritePartition) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(RewritePartition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsServicePartition) as usize - ptr as usize }, + 29usize, + concat!( + "Offset of field: ", + stringify!(_PARTITION_INFORMATION_EX), + "::", + stringify!(IsServicePartition) + ) + ); +} +pub type PARTITION_INFORMATION_EX = _PARTITION_INFORMATION_EX; +pub type PPARTITION_INFORMATION_EX = *mut _PARTITION_INFORMATION_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DRIVE_LAYOUT_INFORMATION_GPT { + pub DiskId: GUID, + pub StartingUsableOffset: LARGE_INTEGER, + pub UsableLength: LARGE_INTEGER, + pub MaxPartitionCount: DWORD, +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION_GPT() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION_GPT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION_GPT>(), + 40usize, + concat!("Size of: ", stringify!(_DRIVE_LAYOUT_INFORMATION_GPT)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION_GPT>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVE_LAYOUT_INFORMATION_GPT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), + "::", + stringify!(DiskId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingUsableOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), + "::", + stringify!(StartingUsableOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsableLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), + "::", + stringify!(UsableLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxPartitionCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_GPT), + "::", + stringify!(MaxPartitionCount) + ) + ); +} +pub type DRIVE_LAYOUT_INFORMATION_GPT = _DRIVE_LAYOUT_INFORMATION_GPT; +pub type PDRIVE_LAYOUT_INFORMATION_GPT = *mut _DRIVE_LAYOUT_INFORMATION_GPT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVE_LAYOUT_INFORMATION_MBR { + pub Signature: DWORD, + pub CheckSum: DWORD, +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION_MBR() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION_MBR> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION_MBR>(), + 8usize, + concat!("Size of: ", stringify!(_DRIVE_LAYOUT_INFORMATION_MBR)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION_MBR>(), + 4usize, + concat!("Alignment of ", stringify!(_DRIVE_LAYOUT_INFORMATION_MBR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_MBR), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_MBR), + "::", + stringify!(CheckSum) + ) + ); +} +pub type DRIVE_LAYOUT_INFORMATION_MBR = _DRIVE_LAYOUT_INFORMATION_MBR; +pub type PDRIVE_LAYOUT_INFORMATION_MBR = *mut _DRIVE_LAYOUT_INFORMATION_MBR; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DRIVE_LAYOUT_INFORMATION_EX { + pub PartitionStyle: DWORD, + pub PartitionCount: DWORD, + pub __bindgen_anon_1: _DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1, + pub PartitionEntry: [PARTITION_INFORMATION_EX; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1 { + pub Mbr: DRIVE_LAYOUT_INFORMATION_MBR, + pub Gpt: DRIVE_LAYOUT_INFORMATION_GPT, +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1>(), + 40usize, + concat!( + "Size of: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__DRIVE_LAYOUT_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVE_LAYOUT_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVE_LAYOUT_INFORMATION_EX>(), + 192usize, + concat!("Size of: ", stringify!(_DRIVE_LAYOUT_INFORMATION_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVE_LAYOUT_INFORMATION_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVE_LAYOUT_INFORMATION_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX), + "::", + stringify!(PartitionStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX), + "::", + stringify!(PartitionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionEntry) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVE_LAYOUT_INFORMATION_EX), + "::", + stringify!(PartitionEntry) + ) + ); +} +pub type DRIVE_LAYOUT_INFORMATION_EX = _DRIVE_LAYOUT_INFORMATION_EX; +pub type PDRIVE_LAYOUT_INFORMATION_EX = *mut _DRIVE_LAYOUT_INFORMATION_EX; +pub const _DETECTION_TYPE_DetectNone: _DETECTION_TYPE = 0; +pub const _DETECTION_TYPE_DetectInt13: _DETECTION_TYPE = 1; +pub const _DETECTION_TYPE_DetectExInt13: _DETECTION_TYPE = 2; +pub type _DETECTION_TYPE = ::std::os::raw::c_int; +pub use self::_DETECTION_TYPE as DETECTION_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_INT13_INFO { + pub DriveSelect: WORD, + pub MaxCylinders: DWORD, + pub SectorsPerTrack: WORD, + pub MaxHeads: WORD, + pub NumberDrives: WORD, +} +#[test] +fn bindgen_test_layout__DISK_INT13_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_INT13_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_INT13_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_DISK_INT13_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_INT13_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_DISK_INT13_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DriveSelect) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(DriveSelect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxCylinders) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(MaxCylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorsPerTrack) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(SectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxHeads) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(MaxHeads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberDrives) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DISK_INT13_INFO), + "::", + stringify!(NumberDrives) + ) + ); +} +pub type DISK_INT13_INFO = _DISK_INT13_INFO; +pub type PDISK_INT13_INFO = *mut _DISK_INT13_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_EX_INT13_INFO { + pub ExBufferSize: WORD, + pub ExFlags: WORD, + pub ExCylinders: DWORD, + pub ExHeads: DWORD, + pub ExSectorsPerTrack: DWORD, + pub ExSectorsPerDrive: DWORD64, + pub ExSectorSize: WORD, + pub ExReserved: WORD, +} +#[test] +fn bindgen_test_layout__DISK_EX_INT13_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_EX_INT13_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_EX_INT13_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_DISK_EX_INT13_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_EX_INT13_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_EX_INT13_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExBufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExFlags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExCylinders) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExCylinders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExHeads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExHeads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExSectorsPerTrack) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExSectorsPerTrack) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExSectorsPerDrive) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExSectorsPerDrive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExSectorSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExSectorSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExReserved) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EX_INT13_INFO), + "::", + stringify!(ExReserved) + ) + ); +} +pub type DISK_EX_INT13_INFO = _DISK_EX_INT13_INFO; +pub type PDISK_EX_INT13_INFO = *mut _DISK_EX_INT13_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_DETECTION_INFO { + pub SizeOfDetectInfo: DWORD, + pub DetectionType: DETECTION_TYPE, + pub __bindgen_anon_1: _DISK_DETECTION_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISK_DETECTION_INFO__bindgen_ty_1 { + pub __bindgen_anon_1: _DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1 { + pub Int13: DISK_INT13_INFO, + pub ExInt13: DISK_EX_INT13_INFO, +} +#[test] +fn bindgen_test_layout__DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1>(), + 48usize, + concat!( + "Size of: ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Int13) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Int13) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExInt13) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ExInt13) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_DETECTION_INFO__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::<_DISK_DETECTION_INFO__bindgen_ty_1>(), + 48usize, + concat!("Size of: ", stringify!(_DISK_DETECTION_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_DETECTION_INFO__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_DISK_DETECTION_INFO__bindgen_ty_1) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_DETECTION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_DETECTION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_DETECTION_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_DISK_DETECTION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_DETECTION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_DETECTION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfDetectInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_DETECTION_INFO), + "::", + stringify!(SizeOfDetectInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DetectionType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_DETECTION_INFO), + "::", + stringify!(DetectionType) + ) + ); +} +pub type DISK_DETECTION_INFO = _DISK_DETECTION_INFO; +pub type PDISK_DETECTION_INFO = *mut _DISK_DETECTION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_PARTITION_INFO { + pub SizeOfPartitionInfo: DWORD, + pub PartitionStyle: PARTITION_STYLE, + pub __bindgen_anon_1: _DISK_PARTITION_INFO__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISK_PARTITION_INFO__bindgen_ty_1 { + pub Mbr: _DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1, + pub Gpt: _DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1 { + pub Signature: DWORD, + pub CheckSum: DWORD, +} +#[test] +fn bindgen_test_layout__DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signature) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Signature) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CheckSum) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(CheckSum) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2 { + pub DiskId: GUID, +} +#[test] +fn bindgen_test_layout__DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2>(), + 16usize, + concat!( + "Size of: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(DiskId) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_PARTITION_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PARTITION_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PARTITION_INFO__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_DISK_PARTITION_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PARTITION_INFO__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mbr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1), + "::", + stringify!(Mbr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Gpt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO__bindgen_ty_1), + "::", + stringify!(Gpt) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_PARTITION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PARTITION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PARTITION_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_PARTITION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PARTITION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_DISK_PARTITION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfPartitionInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO), + "::", + stringify!(SizeOfPartitionInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionStyle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PARTITION_INFO), + "::", + stringify!(PartitionStyle) + ) + ); +} +pub type DISK_PARTITION_INFO = _DISK_PARTITION_INFO; +pub type PDISK_PARTITION_INFO = *mut _DISK_PARTITION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_GEOMETRY_EX { + pub Geometry: DISK_GEOMETRY, + pub DiskSize: LARGE_INTEGER, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__DISK_GEOMETRY_EX() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_GEOMETRY_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_GEOMETRY_EX>(), + 40usize, + concat!("Size of: ", stringify!(_DISK_GEOMETRY_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_GEOMETRY_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_GEOMETRY_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Geometry) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY_EX), + "::", + stringify!(Geometry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY_EX), + "::", + stringify!(DiskSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GEOMETRY_EX), + "::", + stringify!(Data) + ) + ); +} +pub type DISK_GEOMETRY_EX = _DISK_GEOMETRY_EX; +pub type PDISK_GEOMETRY_EX = *mut _DISK_GEOMETRY_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_CONTROLLER_NUMBER { + pub ControllerNumber: DWORD, + pub DiskNumber: DWORD, +} +#[test] +fn bindgen_test_layout__DISK_CONTROLLER_NUMBER() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CONTROLLER_NUMBER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CONTROLLER_NUMBER>(), + 8usize, + concat!("Size of: ", stringify!(_DISK_CONTROLLER_NUMBER)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CONTROLLER_NUMBER>(), + 4usize, + concat!("Alignment of ", stringify!(_DISK_CONTROLLER_NUMBER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ControllerNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CONTROLLER_NUMBER), + "::", + stringify!(ControllerNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CONTROLLER_NUMBER), + "::", + stringify!(DiskNumber) + ) + ); +} +pub type DISK_CONTROLLER_NUMBER = _DISK_CONTROLLER_NUMBER; +pub type PDISK_CONTROLLER_NUMBER = *mut _DISK_CONTROLLER_NUMBER; +pub const DISK_CACHE_RETENTION_PRIORITY_EqualPriority: DISK_CACHE_RETENTION_PRIORITY = 0; +pub const DISK_CACHE_RETENTION_PRIORITY_KeepPrefetchedData: DISK_CACHE_RETENTION_PRIORITY = 1; +pub const DISK_CACHE_RETENTION_PRIORITY_KeepReadData: DISK_CACHE_RETENTION_PRIORITY = 2; +pub type DISK_CACHE_RETENTION_PRIORITY = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_CACHE_INFORMATION { + pub ParametersSavable: BOOLEAN, + pub ReadCacheEnabled: BOOLEAN, + pub WriteCacheEnabled: BOOLEAN, + pub ReadRetentionPriority: DISK_CACHE_RETENTION_PRIORITY, + pub WriteRetentionPriority: DISK_CACHE_RETENTION_PRIORITY, + pub DisablePrefetchTransferLength: WORD, + pub PrefetchScalar: BOOLEAN, + pub __bindgen_anon_1: _DISK_CACHE_INFORMATION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _DISK_CACHE_INFORMATION__bindgen_ty_1 { + pub ScalarPrefetch: _DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1, + pub BlockPrefetch: _DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1 { + pub Minimum: WORD, + pub Maximum: WORD, + pub MaximumBlocks: WORD, +} +#[test] +fn bindgen_test_layout__DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 6usize, + concat!( + "Size of: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Minimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Minimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Maximum) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Maximum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumBlocks) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(MaximumBlocks) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2 { + pub Minimum: WORD, + pub Maximum: WORD, +} +#[test] +fn bindgen_test_layout__DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2>(), + 4usize, + concat!( + "Size of: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Minimum) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Minimum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Maximum) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(Maximum) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_CACHE_INFORMATION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CACHE_INFORMATION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1>(), + 6usize, + concat!( + "Size of: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CACHE_INFORMATION__bindgen_ty_1>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ScalarPrefetch) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1), + "::", + stringify!(ScalarPrefetch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BlockPrefetch) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION__bindgen_ty_1), + "::", + stringify!(BlockPrefetch) + ) + ); +} +#[test] +fn bindgen_test_layout__DISK_CACHE_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_CACHE_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_CACHE_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_CACHE_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_CACHE_INFORMATION>(), + 4usize, + concat!("Alignment of ", stringify!(_DISK_CACHE_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParametersSavable) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(ParametersSavable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadCacheEnabled) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(ReadCacheEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCacheEnabled) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(WriteCacheEnabled) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadRetentionPriority) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(ReadRetentionPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteRetentionPriority) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(WriteRetentionPriority) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DisablePrefetchTransferLength) as usize - ptr as usize + }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(DisablePrefetchTransferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrefetchScalar) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_DISK_CACHE_INFORMATION), + "::", + stringify!(PrefetchScalar) + ) + ); +} +pub type DISK_CACHE_INFORMATION = _DISK_CACHE_INFORMATION; +pub type PDISK_CACHE_INFORMATION = *mut _DISK_CACHE_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_GROW_PARTITION { + pub PartitionNumber: DWORD, + pub BytesToGrow: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__DISK_GROW_PARTITION() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_GROW_PARTITION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_GROW_PARTITION>(), + 16usize, + concat!("Size of: ", stringify!(_DISK_GROW_PARTITION)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_GROW_PARTITION>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_GROW_PARTITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PartitionNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GROW_PARTITION), + "::", + stringify!(PartitionNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesToGrow) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_GROW_PARTITION), + "::", + stringify!(BytesToGrow) + ) + ); +} +pub type DISK_GROW_PARTITION = _DISK_GROW_PARTITION; +pub type PDISK_GROW_PARTITION = *mut _DISK_GROW_PARTITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _HISTOGRAM_BUCKET { + pub Reads: DWORD, + pub Writes: DWORD, +} +#[test] +fn bindgen_test_layout__HISTOGRAM_BUCKET() { + const UNINIT: ::std::mem::MaybeUninit<_HISTOGRAM_BUCKET> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_HISTOGRAM_BUCKET>(), + 8usize, + concat!("Size of: ", stringify!(_HISTOGRAM_BUCKET)) + ); + assert_eq!( + ::std::mem::align_of::<_HISTOGRAM_BUCKET>(), + 4usize, + concat!("Alignment of ", stringify!(_HISTOGRAM_BUCKET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reads) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_HISTOGRAM_BUCKET), + "::", + stringify!(Reads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Writes) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_HISTOGRAM_BUCKET), + "::", + stringify!(Writes) + ) + ); +} +pub type HISTOGRAM_BUCKET = _HISTOGRAM_BUCKET; +pub type PHISTOGRAM_BUCKET = *mut _HISTOGRAM_BUCKET; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_HISTOGRAM { + pub DiskSize: LARGE_INTEGER, + pub Start: LARGE_INTEGER, + pub End: LARGE_INTEGER, + pub Average: LARGE_INTEGER, + pub AverageRead: LARGE_INTEGER, + pub AverageWrite: LARGE_INTEGER, + pub Granularity: DWORD, + pub Size: DWORD, + pub ReadCount: DWORD, + pub WriteCount: DWORD, + pub Histogram: PHISTOGRAM_BUCKET, +} +#[test] +fn bindgen_test_layout__DISK_HISTOGRAM() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_HISTOGRAM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_HISTOGRAM>(), + 72usize, + concat!("Size of: ", stringify!(_DISK_HISTOGRAM)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_HISTOGRAM>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_HISTOGRAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(DiskSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Start) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Start) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).End) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(End) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Average) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Average) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AverageRead) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(AverageRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AverageWrite) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(AverageWrite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Granularity) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Granularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadCount) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(ReadCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCount) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(WriteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Histogram) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DISK_HISTOGRAM), + "::", + stringify!(Histogram) + ) + ); +} +pub type DISK_HISTOGRAM = _DISK_HISTOGRAM; +pub type PDISK_HISTOGRAM = *mut _DISK_HISTOGRAM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_PERFORMANCE { + pub BytesRead: LARGE_INTEGER, + pub BytesWritten: LARGE_INTEGER, + pub ReadTime: LARGE_INTEGER, + pub WriteTime: LARGE_INTEGER, + pub IdleTime: LARGE_INTEGER, + pub ReadCount: DWORD, + pub WriteCount: DWORD, + pub QueueDepth: DWORD, + pub SplitCount: DWORD, + pub QueryTime: LARGE_INTEGER, + pub StorageDeviceNumber: DWORD, + pub StorageManagerName: [WCHAR; 8usize], +} +#[test] +fn bindgen_test_layout__DISK_PERFORMANCE() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_PERFORMANCE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_PERFORMANCE>(), + 88usize, + concat!("Size of: ", stringify!(_DISK_PERFORMANCE)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_PERFORMANCE>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_PERFORMANCE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesRead) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(BytesRead) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesWritten) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(BytesWritten) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(ReadTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(WriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IdleTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(IdleTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadCount) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(ReadCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteCount) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(WriteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueueDepth) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(QueueDepth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SplitCount) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(SplitCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryTime) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(QueryTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageDeviceNumber) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(StorageDeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageManagerName) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_DISK_PERFORMANCE), + "::", + stringify!(StorageManagerName) + ) + ); +} +pub type DISK_PERFORMANCE = _DISK_PERFORMANCE; +pub type PDISK_PERFORMANCE = *mut _DISK_PERFORMANCE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_RECORD { + pub ByteOffset: LARGE_INTEGER, + pub StartTime: LARGE_INTEGER, + pub EndTime: LARGE_INTEGER, + pub VirtualAddress: PVOID, + pub NumberOfBytes: DWORD, + pub DeviceNumber: BYTE, + pub ReadRequest: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DISK_RECORD() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_RECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_RECORD>(), + 40usize, + concat!("Size of: ", stringify!(_DISK_RECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_RECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_RECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(ByteOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(EndTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualAddress) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(VirtualAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBytes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(NumberOfBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNumber) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(DeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadRequest) as usize - ptr as usize }, + 37usize, + concat!( + "Offset of field: ", + stringify!(_DISK_RECORD), + "::", + stringify!(ReadRequest) + ) + ); +} +pub type DISK_RECORD = _DISK_RECORD; +pub type PDISK_RECORD = *mut _DISK_RECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DISK_LOGGING { + pub Function: BYTE, + pub BufferAddress: PVOID, + pub BufferSize: DWORD, +} +#[test] +fn bindgen_test_layout__DISK_LOGGING() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_LOGGING> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_LOGGING>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_LOGGING)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_LOGGING>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_LOGGING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Function) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_LOGGING), + "::", + stringify!(Function) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_LOGGING), + "::", + stringify!(BufferAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_LOGGING), + "::", + stringify!(BufferSize) + ) + ); +} +pub type DISK_LOGGING = _DISK_LOGGING; +pub type PDISK_LOGGING = *mut _DISK_LOGGING; +pub const _BIN_TYPES_RequestSize: _BIN_TYPES = 0; +pub const _BIN_TYPES_RequestLocation: _BIN_TYPES = 1; +pub type _BIN_TYPES = ::std::os::raw::c_int; +pub use self::_BIN_TYPES as BIN_TYPES; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIN_RANGE { + pub StartValue: LARGE_INTEGER, + pub Length: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__BIN_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_BIN_RANGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIN_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_BIN_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_BIN_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_BIN_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIN_RANGE), + "::", + stringify!(StartValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIN_RANGE), + "::", + stringify!(Length) + ) + ); +} +pub type BIN_RANGE = _BIN_RANGE; +pub type PBIN_RANGE = *mut _BIN_RANGE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PERF_BIN { + pub NumberOfBins: DWORD, + pub TypeOfBin: DWORD, + pub BinsRanges: [BIN_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__PERF_BIN() { + const UNINIT: ::std::mem::MaybeUninit<_PERF_BIN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PERF_BIN>(), + 24usize, + concat!("Size of: ", stringify!(_PERF_BIN)) + ); + assert_eq!( + ::std::mem::align_of::<_PERF_BIN>(), + 8usize, + concat!("Alignment of ", stringify!(_PERF_BIN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBins) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PERF_BIN), + "::", + stringify!(NumberOfBins) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TypeOfBin) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PERF_BIN), + "::", + stringify!(TypeOfBin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BinsRanges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PERF_BIN), + "::", + stringify!(BinsRanges) + ) + ); +} +pub type PERF_BIN = _PERF_BIN; +pub type PPERF_BIN = *mut _PERF_BIN; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIN_COUNT { + pub BinRange: BIN_RANGE, + pub BinCount: DWORD, +} +#[test] +fn bindgen_test_layout__BIN_COUNT() { + const UNINIT: ::std::mem::MaybeUninit<_BIN_COUNT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIN_COUNT>(), + 24usize, + concat!("Size of: ", stringify!(_BIN_COUNT)) + ); + assert_eq!( + ::std::mem::align_of::<_BIN_COUNT>(), + 8usize, + concat!("Alignment of ", stringify!(_BIN_COUNT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BinRange) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIN_COUNT), + "::", + stringify!(BinRange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BinCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIN_COUNT), + "::", + stringify!(BinCount) + ) + ); +} +pub type BIN_COUNT = _BIN_COUNT; +pub type PBIN_COUNT = *mut _BIN_COUNT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIN_RESULTS { + pub NumberOfBins: DWORD, + pub BinCounts: [BIN_COUNT; 1usize], +} +#[test] +fn bindgen_test_layout__BIN_RESULTS() { + const UNINIT: ::std::mem::MaybeUninit<_BIN_RESULTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIN_RESULTS>(), + 32usize, + concat!("Size of: ", stringify!(_BIN_RESULTS)) + ); + assert_eq!( + ::std::mem::align_of::<_BIN_RESULTS>(), + 8usize, + concat!("Alignment of ", stringify!(_BIN_RESULTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfBins) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIN_RESULTS), + "::", + stringify!(NumberOfBins) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BinCounts) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIN_RESULTS), + "::", + stringify!(BinCounts) + ) + ); +} +pub type BIN_RESULTS = _BIN_RESULTS; +pub type PBIN_RESULTS = *mut _BIN_RESULTS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _GETVERSIONINPARAMS { + pub bVersion: BYTE, + pub bRevision: BYTE, + pub bReserved: BYTE, + pub bIDEDeviceMap: BYTE, + pub fCapabilities: DWORD, + pub dwReserved: [DWORD; 4usize], +} +#[test] +fn bindgen_test_layout__GETVERSIONINPARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_GETVERSIONINPARAMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GETVERSIONINPARAMS>(), + 24usize, + concat!("Size of: ", stringify!(_GETVERSIONINPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_GETVERSIONINPARAMS>(), + 1usize, + concat!("Alignment of ", stringify!(_GETVERSIONINPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(bVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bRevision) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(bRevision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bIDEDeviceMap) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(bIDEDeviceMap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fCapabilities) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(fCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GETVERSIONINPARAMS), + "::", + stringify!(dwReserved) + ) + ); +} +pub type GETVERSIONINPARAMS = _GETVERSIONINPARAMS; +pub type PGETVERSIONINPARAMS = *mut _GETVERSIONINPARAMS; +pub type LPGETVERSIONINPARAMS = *mut _GETVERSIONINPARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IDEREGS { + pub bFeaturesReg: BYTE, + pub bSectorCountReg: BYTE, + pub bSectorNumberReg: BYTE, + pub bCylLowReg: BYTE, + pub bCylHighReg: BYTE, + pub bDriveHeadReg: BYTE, + pub bCommandReg: BYTE, + pub bReserved: BYTE, +} +#[test] +fn bindgen_test_layout__IDEREGS() { + const UNINIT: ::std::mem::MaybeUninit<_IDEREGS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IDEREGS>(), + 8usize, + concat!("Size of: ", stringify!(_IDEREGS)) + ); + assert_eq!( + ::std::mem::align_of::<_IDEREGS>(), + 1usize, + concat!("Alignment of ", stringify!(_IDEREGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bFeaturesReg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bFeaturesReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSectorCountReg) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bSectorCountReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSectorNumberReg) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bSectorNumberReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCylLowReg) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bCylLowReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCylHighReg) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bCylHighReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bDriveHeadReg) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bDriveHeadReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCommandReg) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bCommandReg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 7usize, + concat!( + "Offset of field: ", + stringify!(_IDEREGS), + "::", + stringify!(bReserved) + ) + ); +} +pub type IDEREGS = _IDEREGS; +pub type PIDEREGS = *mut _IDEREGS; +pub type LPIDEREGS = *mut _IDEREGS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _SENDCMDINPARAMS { + pub cBufferSize: DWORD, + pub irDriveRegs: IDEREGS, + pub bDriveNumber: BYTE, + pub bReserved: [BYTE; 3usize], + pub dwReserved: [DWORD; 4usize], + pub bBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SENDCMDINPARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_SENDCMDINPARAMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SENDCMDINPARAMS>(), + 33usize, + concat!("Size of: ", stringify!(_SENDCMDINPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_SENDCMDINPARAMS>(), + 1usize, + concat!("Alignment of ", stringify!(_SENDCMDINPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(cBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).irDriveRegs) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(irDriveRegs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bDriveNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(bDriveNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 13usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDINPARAMS), + "::", + stringify!(bBuffer) + ) + ); +} +pub type SENDCMDINPARAMS = _SENDCMDINPARAMS; +pub type PSENDCMDINPARAMS = *mut _SENDCMDINPARAMS; +pub type LPSENDCMDINPARAMS = *mut _SENDCMDINPARAMS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVERSTATUS { + pub bDriverError: BYTE, + pub bIDEError: BYTE, + pub bReserved: [BYTE; 2usize], + pub dwReserved: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__DRIVERSTATUS() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVERSTATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVERSTATUS>(), + 12usize, + concat!("Size of: ", stringify!(_DRIVERSTATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVERSTATUS>(), + 1usize, + concat!("Alignment of ", stringify!(_DRIVERSTATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bDriverError) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVERSTATUS), + "::", + stringify!(bDriverError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bIDEError) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_DRIVERSTATUS), + "::", + stringify!(bIDEError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bReserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_DRIVERSTATUS), + "::", + stringify!(bReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DRIVERSTATUS), + "::", + stringify!(dwReserved) + ) + ); +} +pub type DRIVERSTATUS = _DRIVERSTATUS; +pub type PDRIVERSTATUS = *mut _DRIVERSTATUS; +pub type LPDRIVERSTATUS = *mut _DRIVERSTATUS; +#[repr(C, packed)] +#[derive(Debug, Copy, Clone)] +pub struct _SENDCMDOUTPARAMS { + pub cBufferSize: DWORD, + pub DriverStatus: DRIVERSTATUS, + pub bBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SENDCMDOUTPARAMS() { + const UNINIT: ::std::mem::MaybeUninit<_SENDCMDOUTPARAMS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SENDCMDOUTPARAMS>(), + 17usize, + concat!("Size of: ", stringify!(_SENDCMDOUTPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::<_SENDCMDOUTPARAMS>(), + 1usize, + concat!("Alignment of ", stringify!(_SENDCMDOUTPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBufferSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDOUTPARAMS), + "::", + stringify!(cBufferSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DriverStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDOUTPARAMS), + "::", + stringify!(DriverStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bBuffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SENDCMDOUTPARAMS), + "::", + stringify!(bBuffer) + ) + ); +} +pub type SENDCMDOUTPARAMS = _SENDCMDOUTPARAMS; +pub type PSENDCMDOUTPARAMS = *mut _SENDCMDOUTPARAMS; +pub type LPSENDCMDOUTPARAMS = *mut _SENDCMDOUTPARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_DISK_ATTRIBUTES { + pub Version: DWORD, + pub Reserved1: DWORD, + pub Attributes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__GET_DISK_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_GET_DISK_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_DISK_ATTRIBUTES>(), + 16usize, + concat!("Size of: ", stringify!(_GET_DISK_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_DISK_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_GET_DISK_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_DISK_ATTRIBUTES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GET_DISK_ATTRIBUTES), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GET_DISK_ATTRIBUTES), + "::", + stringify!(Attributes) + ) + ); +} +pub type GET_DISK_ATTRIBUTES = _GET_DISK_ATTRIBUTES; +pub type PGET_DISK_ATTRIBUTES = *mut _GET_DISK_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SET_DISK_ATTRIBUTES { + pub Version: DWORD, + pub Persist: BOOLEAN, + pub Reserved1: [BYTE; 3usize], + pub Attributes: DWORDLONG, + pub AttributesMask: DWORDLONG, + pub Reserved2: [DWORD; 4usize], +} +#[test] +fn bindgen_test_layout__SET_DISK_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_SET_DISK_ATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_DISK_ATTRIBUTES>(), + 40usize, + concat!("Size of: ", stringify!(_SET_DISK_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_DISK_ATTRIBUTES>(), + 8usize, + concat!("Alignment of ", stringify!(_SET_DISK_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Persist) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Persist) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 5usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributesMask) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(AttributesMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SET_DISK_ATTRIBUTES), + "::", + stringify!(Reserved2) + ) + ); +} +pub type SET_DISK_ATTRIBUTES = _SET_DISK_ATTRIBUTES; +pub type PSET_DISK_ATTRIBUTES = *mut _SET_DISK_ATTRIBUTES; +pub const _ELEMENT_TYPE_AllElements: _ELEMENT_TYPE = 0; +pub const _ELEMENT_TYPE_ChangerTransport: _ELEMENT_TYPE = 1; +pub const _ELEMENT_TYPE_ChangerSlot: _ELEMENT_TYPE = 2; +pub const _ELEMENT_TYPE_ChangerIEPort: _ELEMENT_TYPE = 3; +pub const _ELEMENT_TYPE_ChangerDrive: _ELEMENT_TYPE = 4; +pub const _ELEMENT_TYPE_ChangerDoor: _ELEMENT_TYPE = 5; +pub const _ELEMENT_TYPE_ChangerKeypad: _ELEMENT_TYPE = 6; +pub const _ELEMENT_TYPE_ChangerMaxElement: _ELEMENT_TYPE = 7; +pub type _ELEMENT_TYPE = ::std::os::raw::c_int; +pub use self::_ELEMENT_TYPE as ELEMENT_TYPE; +pub type PELEMENT_TYPE = *mut _ELEMENT_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_ELEMENT { + pub ElementType: ELEMENT_TYPE, + pub ElementAddress: DWORD, +} +#[test] +fn bindgen_test_layout__CHANGER_ELEMENT() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_ELEMENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_ELEMENT>(), + 8usize, + concat!("Size of: ", stringify!(_CHANGER_ELEMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_ELEMENT>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_ELEMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT), + "::", + stringify!(ElementType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT), + "::", + stringify!(ElementAddress) + ) + ); +} +pub type CHANGER_ELEMENT = _CHANGER_ELEMENT; +pub type PCHANGER_ELEMENT = *mut _CHANGER_ELEMENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_ELEMENT_LIST { + pub Element: CHANGER_ELEMENT, + pub NumberOfElements: DWORD, +} +#[test] +fn bindgen_test_layout__CHANGER_ELEMENT_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_ELEMENT_LIST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_ELEMENT_LIST>(), + 12usize, + concat!("Size of: ", stringify!(_CHANGER_ELEMENT_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_ELEMENT_LIST>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_ELEMENT_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Element) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_LIST), + "::", + stringify!(Element) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfElements) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_LIST), + "::", + stringify!(NumberOfElements) + ) + ); +} +pub type CHANGER_ELEMENT_LIST = _CHANGER_ELEMENT_LIST; +pub type PCHANGER_ELEMENT_LIST = *mut _CHANGER_ELEMENT_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_CHANGER_PARAMETERS { + pub Size: DWORD, + pub NumberTransportElements: WORD, + pub NumberStorageElements: WORD, + pub NumberCleanerSlots: WORD, + pub NumberIEElements: WORD, + pub NumberDataTransferElements: WORD, + pub NumberOfDoors: WORD, + pub FirstSlotNumber: WORD, + pub FirstDriveNumber: WORD, + pub FirstTransportNumber: WORD, + pub FirstIEPortNumber: WORD, + pub FirstCleanerSlotAddress: WORD, + pub MagazineSize: WORD, + pub DriveCleanTimeout: DWORD, + pub Features0: DWORD, + pub Features1: DWORD, + pub MoveFromTransport: BYTE, + pub MoveFromSlot: BYTE, + pub MoveFromIePort: BYTE, + pub MoveFromDrive: BYTE, + pub ExchangeFromTransport: BYTE, + pub ExchangeFromSlot: BYTE, + pub ExchangeFromIePort: BYTE, + pub ExchangeFromDrive: BYTE, + pub LockUnlockCapabilities: BYTE, + pub PositionCapabilities: BYTE, + pub Reserved1: [BYTE; 2usize], + pub Reserved2: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout__GET_CHANGER_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_GET_CHANGER_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_CHANGER_PARAMETERS>(), + 60usize, + concat!("Size of: ", stringify!(_GET_CHANGER_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_CHANGER_PARAMETERS>(), + 4usize, + concat!("Alignment of ", stringify!(_GET_CHANGER_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberTransportElements) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberTransportElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberStorageElements) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberStorageElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberCleanerSlots) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberCleanerSlots) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberIEElements) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberIEElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberDataTransferElements) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberDataTransferElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDoors) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(NumberOfDoors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstSlotNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstSlotNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstDriveNumber) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstDriveNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstTransportNumber) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstTransportNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstIEPortNumber) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstIEPortNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstCleanerSlotAddress) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(FirstCleanerSlotAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MagazineSize) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MagazineSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DriveCleanTimeout) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(DriveCleanTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Features0) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Features0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Features1) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Features1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveFromTransport) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MoveFromTransport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveFromSlot) as usize - ptr as usize }, + 41usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MoveFromSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveFromIePort) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MoveFromIePort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveFromDrive) as usize - ptr as usize }, + 43usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(MoveFromDrive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExchangeFromTransport) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(ExchangeFromTransport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExchangeFromSlot) as usize - ptr as usize }, + 45usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(ExchangeFromSlot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExchangeFromIePort) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(ExchangeFromIePort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExchangeFromDrive) as usize - ptr as usize }, + 47usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(ExchangeFromDrive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockUnlockCapabilities) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(LockUnlockCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PositionCapabilities) as usize - ptr as usize }, + 49usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(PositionCapabilities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_GET_CHANGER_PARAMETERS), + "::", + stringify!(Reserved2) + ) + ); +} +pub type GET_CHANGER_PARAMETERS = _GET_CHANGER_PARAMETERS; +pub type PGET_CHANGER_PARAMETERS = *mut _GET_CHANGER_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_PRODUCT_DATA { + pub VendorId: [BYTE; 8usize], + pub ProductId: [BYTE; 16usize], + pub Revision: [BYTE; 4usize], + pub SerialNumber: [BYTE; 32usize], + pub DeviceType: BYTE, +} +#[test] +fn bindgen_test_layout__CHANGER_PRODUCT_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_PRODUCT_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_PRODUCT_DATA>(), + 61usize, + concat!("Size of: ", stringify!(_CHANGER_PRODUCT_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_PRODUCT_DATA>(), + 1usize, + concat!("Alignment of ", stringify!(_CHANGER_PRODUCT_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(VendorId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(ProductId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revision) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(Revision) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(SerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceType) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_PRODUCT_DATA), + "::", + stringify!(DeviceType) + ) + ); +} +pub type CHANGER_PRODUCT_DATA = _CHANGER_PRODUCT_DATA; +pub type PCHANGER_PRODUCT_DATA = *mut _CHANGER_PRODUCT_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_SET_ACCESS { + pub Element: CHANGER_ELEMENT, + pub Control: DWORD, +} +#[test] +fn bindgen_test_layout__CHANGER_SET_ACCESS() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_SET_ACCESS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_SET_ACCESS>(), + 12usize, + concat!("Size of: ", stringify!(_CHANGER_SET_ACCESS)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_SET_ACCESS>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_SET_ACCESS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Element) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_ACCESS), + "::", + stringify!(Element) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_ACCESS), + "::", + stringify!(Control) + ) + ); +} +pub type CHANGER_SET_ACCESS = _CHANGER_SET_ACCESS; +pub type PCHANGER_SET_ACCESS = *mut _CHANGER_SET_ACCESS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_READ_ELEMENT_STATUS { + pub ElementList: CHANGER_ELEMENT_LIST, + pub VolumeTagInfo: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_READ_ELEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_READ_ELEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_READ_ELEMENT_STATUS>(), + 16usize, + concat!("Size of: ", stringify!(_CHANGER_READ_ELEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_READ_ELEMENT_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_READ_ELEMENT_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_READ_ELEMENT_STATUS), + "::", + stringify!(ElementList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTagInfo) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_READ_ELEMENT_STATUS), + "::", + stringify!(VolumeTagInfo) + ) + ); +} +pub type CHANGER_READ_ELEMENT_STATUS = _CHANGER_READ_ELEMENT_STATUS; +pub type PCHANGER_READ_ELEMENT_STATUS = *mut _CHANGER_READ_ELEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_ELEMENT_STATUS { + pub Element: CHANGER_ELEMENT, + pub SrcElementAddress: CHANGER_ELEMENT, + pub Flags: DWORD, + pub ExceptionCode: DWORD, + pub TargetId: BYTE, + pub Lun: BYTE, + pub Reserved: WORD, + pub PrimaryVolumeID: [BYTE; 36usize], + pub AlternateVolumeID: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout__CHANGER_ELEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_ELEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_ELEMENT_STATUS>(), + 100usize, + concat!("Size of: ", stringify!(_CHANGER_ELEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_ELEMENT_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_ELEMENT_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Element) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(Element) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SrcElementAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(SrcElementAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(TargetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lun) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(Lun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrimaryVolumeID) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(PrimaryVolumeID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlternateVolumeID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS), + "::", + stringify!(AlternateVolumeID) + ) + ); +} +pub type CHANGER_ELEMENT_STATUS = _CHANGER_ELEMENT_STATUS; +pub type PCHANGER_ELEMENT_STATUS = *mut _CHANGER_ELEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_ELEMENT_STATUS_EX { + pub Element: CHANGER_ELEMENT, + pub SrcElementAddress: CHANGER_ELEMENT, + pub Flags: DWORD, + pub ExceptionCode: DWORD, + pub TargetId: BYTE, + pub Lun: BYTE, + pub Reserved: WORD, + pub PrimaryVolumeID: [BYTE; 36usize], + pub AlternateVolumeID: [BYTE; 36usize], + pub VendorIdentification: [BYTE; 8usize], + pub ProductIdentification: [BYTE; 16usize], + pub SerialNumber: [BYTE; 32usize], +} +#[test] +fn bindgen_test_layout__CHANGER_ELEMENT_STATUS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_ELEMENT_STATUS_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_ELEMENT_STATUS_EX>(), + 156usize, + concat!("Size of: ", stringify!(_CHANGER_ELEMENT_STATUS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_ELEMENT_STATUS_EX>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_ELEMENT_STATUS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Element) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(Element) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SrcElementAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(SrcElementAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExceptionCode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(ExceptionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(TargetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lun) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(Lun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PrimaryVolumeID) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(PrimaryVolumeID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlternateVolumeID) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(AlternateVolumeID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorIdentification) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(VendorIdentification) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProductIdentification) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(ProductIdentification) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumber) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_ELEMENT_STATUS_EX), + "::", + stringify!(SerialNumber) + ) + ); +} +pub type CHANGER_ELEMENT_STATUS_EX = _CHANGER_ELEMENT_STATUS_EX; +pub type PCHANGER_ELEMENT_STATUS_EX = *mut _CHANGER_ELEMENT_STATUS_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_INITIALIZE_ELEMENT_STATUS { + pub ElementList: CHANGER_ELEMENT_LIST, + pub BarCodeScan: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_INITIALIZE_ELEMENT_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_INITIALIZE_ELEMENT_STATUS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_INITIALIZE_ELEMENT_STATUS>(), + 16usize, + concat!("Size of: ", stringify!(_CHANGER_INITIALIZE_ELEMENT_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_INITIALIZE_ELEMENT_STATUS>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CHANGER_INITIALIZE_ELEMENT_STATUS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementList) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_INITIALIZE_ELEMENT_STATUS), + "::", + stringify!(ElementList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BarCodeScan) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_INITIALIZE_ELEMENT_STATUS), + "::", + stringify!(BarCodeScan) + ) + ); +} +pub type CHANGER_INITIALIZE_ELEMENT_STATUS = _CHANGER_INITIALIZE_ELEMENT_STATUS; +pub type PCHANGER_INITIALIZE_ELEMENT_STATUS = *mut _CHANGER_INITIALIZE_ELEMENT_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_SET_POSITION { + pub Transport: CHANGER_ELEMENT, + pub Destination: CHANGER_ELEMENT, + pub Flip: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_SET_POSITION() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_SET_POSITION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_SET_POSITION>(), + 20usize, + concat!("Size of: ", stringify!(_CHANGER_SET_POSITION)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_SET_POSITION>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_SET_POSITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Transport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_POSITION), + "::", + stringify!(Transport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Destination) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_POSITION), + "::", + stringify!(Destination) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flip) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SET_POSITION), + "::", + stringify!(Flip) + ) + ); +} +pub type CHANGER_SET_POSITION = _CHANGER_SET_POSITION; +pub type PCHANGER_SET_POSITION = *mut _CHANGER_SET_POSITION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_EXCHANGE_MEDIUM { + pub Transport: CHANGER_ELEMENT, + pub Source: CHANGER_ELEMENT, + pub Destination1: CHANGER_ELEMENT, + pub Destination2: CHANGER_ELEMENT, + pub Flip1: BOOLEAN, + pub Flip2: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_EXCHANGE_MEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_EXCHANGE_MEDIUM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_EXCHANGE_MEDIUM>(), + 36usize, + concat!("Size of: ", stringify!(_CHANGER_EXCHANGE_MEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_EXCHANGE_MEDIUM>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_EXCHANGE_MEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Transport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Transport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Source) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Source) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Destination1) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Destination1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Destination2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Destination2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flip1) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Flip1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flip2) as usize - ptr as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_EXCHANGE_MEDIUM), + "::", + stringify!(Flip2) + ) + ); +} +pub type CHANGER_EXCHANGE_MEDIUM = _CHANGER_EXCHANGE_MEDIUM; +pub type PCHANGER_EXCHANGE_MEDIUM = *mut _CHANGER_EXCHANGE_MEDIUM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_MOVE_MEDIUM { + pub Transport: CHANGER_ELEMENT, + pub Source: CHANGER_ELEMENT, + pub Destination: CHANGER_ELEMENT, + pub Flip: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CHANGER_MOVE_MEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_MOVE_MEDIUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_MOVE_MEDIUM>(), + 28usize, + concat!("Size of: ", stringify!(_CHANGER_MOVE_MEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_MOVE_MEDIUM>(), + 4usize, + concat!("Alignment of ", stringify!(_CHANGER_MOVE_MEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Transport) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_MOVE_MEDIUM), + "::", + stringify!(Transport) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Source) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_MOVE_MEDIUM), + "::", + stringify!(Source) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Destination) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_MOVE_MEDIUM), + "::", + stringify!(Destination) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flip) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_MOVE_MEDIUM), + "::", + stringify!(Flip) + ) + ); +} +pub type CHANGER_MOVE_MEDIUM = _CHANGER_MOVE_MEDIUM; +pub type PCHANGER_MOVE_MEDIUM = *mut _CHANGER_MOVE_MEDIUM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CHANGER_SEND_VOLUME_TAG_INFORMATION { + pub StartingElement: CHANGER_ELEMENT, + pub ActionCode: DWORD, + pub VolumeIDTemplate: [BYTE; 40usize], +} +#[test] +fn bindgen_test_layout__CHANGER_SEND_VOLUME_TAG_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_CHANGER_SEND_VOLUME_TAG_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CHANGER_SEND_VOLUME_TAG_INFORMATION>(), + 52usize, + concat!( + "Size of: ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CHANGER_SEND_VOLUME_TAG_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingElement) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION), + "::", + stringify!(StartingElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActionCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION), + "::", + stringify!(ActionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeIDTemplate) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CHANGER_SEND_VOLUME_TAG_INFORMATION), + "::", + stringify!(VolumeIDTemplate) + ) + ); +} +pub type CHANGER_SEND_VOLUME_TAG_INFORMATION = _CHANGER_SEND_VOLUME_TAG_INFORMATION; +pub type PCHANGER_SEND_VOLUME_TAG_INFORMATION = *mut _CHANGER_SEND_VOLUME_TAG_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _READ_ELEMENT_ADDRESS_INFO { + pub NumberOfElements: DWORD, + pub ElementStatus: [CHANGER_ELEMENT_STATUS; 1usize], +} +#[test] +fn bindgen_test_layout__READ_ELEMENT_ADDRESS_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_READ_ELEMENT_ADDRESS_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_READ_ELEMENT_ADDRESS_INFO>(), + 104usize, + concat!("Size of: ", stringify!(_READ_ELEMENT_ADDRESS_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_READ_ELEMENT_ADDRESS_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_READ_ELEMENT_ADDRESS_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfElements) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_READ_ELEMENT_ADDRESS_INFO), + "::", + stringify!(NumberOfElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ElementStatus) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_READ_ELEMENT_ADDRESS_INFO), + "::", + stringify!(ElementStatus) + ) + ); +} +pub type READ_ELEMENT_ADDRESS_INFO = _READ_ELEMENT_ADDRESS_INFO; +pub type PREAD_ELEMENT_ADDRESS_INFO = *mut _READ_ELEMENT_ADDRESS_INFO; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemNone: _CHANGER_DEVICE_PROBLEM_TYPE = 0; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemHardware: _CHANGER_DEVICE_PROBLEM_TYPE = 1; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCHMError: _CHANGER_DEVICE_PROBLEM_TYPE = 2; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemDoorOpen: _CHANGER_DEVICE_PROBLEM_TYPE = 3; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCalibrationError: _CHANGER_DEVICE_PROBLEM_TYPE = + 4; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemTargetFailure: _CHANGER_DEVICE_PROBLEM_TYPE = 5; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCHMMoveError: _CHANGER_DEVICE_PROBLEM_TYPE = 6; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCHMZeroError: _CHANGER_DEVICE_PROBLEM_TYPE = 7; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCartridgeInsertError: + _CHANGER_DEVICE_PROBLEM_TYPE = 8; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemPositionError: _CHANGER_DEVICE_PROBLEM_TYPE = 9; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemSensorError: _CHANGER_DEVICE_PROBLEM_TYPE = 10; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemCartridgeEjectError: + _CHANGER_DEVICE_PROBLEM_TYPE = 11; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemGripperError: _CHANGER_DEVICE_PROBLEM_TYPE = 12; +pub const _CHANGER_DEVICE_PROBLEM_TYPE_DeviceProblemDriveError: _CHANGER_DEVICE_PROBLEM_TYPE = 13; +pub type _CHANGER_DEVICE_PROBLEM_TYPE = ::std::os::raw::c_int; +pub use self::_CHANGER_DEVICE_PROBLEM_TYPE as CHANGER_DEVICE_PROBLEM_TYPE; +pub type PCHANGER_DEVICE_PROBLEM_TYPE = *mut _CHANGER_DEVICE_PROBLEM_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PATHNAME_BUFFER { + pub PathNameLength: DWORD, + pub Name: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__PATHNAME_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_PATHNAME_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PATHNAME_BUFFER>(), + 8usize, + concat!("Size of: ", stringify!(_PATHNAME_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_PATHNAME_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_PATHNAME_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathNameLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PATHNAME_BUFFER), + "::", + stringify!(PathNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PATHNAME_BUFFER), + "::", + stringify!(Name) + ) + ); +} +pub type PATHNAME_BUFFER = _PATHNAME_BUFFER; +pub type PPATHNAME_BUFFER = *mut _PATHNAME_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_QUERY_FAT_BPB_BUFFER { + pub First0x24BytesOfBootSector: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout__FSCTL_QUERY_FAT_BPB_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_QUERY_FAT_BPB_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_QUERY_FAT_BPB_BUFFER>(), + 36usize, + concat!("Size of: ", stringify!(_FSCTL_QUERY_FAT_BPB_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_QUERY_FAT_BPB_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FSCTL_QUERY_FAT_BPB_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).First0x24BytesOfBootSector) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_FAT_BPB_BUFFER), + "::", + stringify!(First0x24BytesOfBootSector) + ) + ); +} +pub type FSCTL_QUERY_FAT_BPB_BUFFER = _FSCTL_QUERY_FAT_BPB_BUFFER; +pub type PFSCTL_QUERY_FAT_BPB_BUFFER = *mut _FSCTL_QUERY_FAT_BPB_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct NTFS_VOLUME_DATA_BUFFER { + pub VolumeSerialNumber: LARGE_INTEGER, + pub NumberSectors: LARGE_INTEGER, + pub TotalClusters: LARGE_INTEGER, + pub FreeClusters: LARGE_INTEGER, + pub TotalReserved: LARGE_INTEGER, + pub BytesPerSector: DWORD, + pub BytesPerCluster: DWORD, + pub BytesPerFileRecordSegment: DWORD, + pub ClustersPerFileRecordSegment: DWORD, + pub MftValidDataLength: LARGE_INTEGER, + pub MftStartLcn: LARGE_INTEGER, + pub Mft2StartLcn: LARGE_INTEGER, + pub MftZoneStart: LARGE_INTEGER, + pub MftZoneEnd: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_NTFS_VOLUME_DATA_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(NTFS_VOLUME_DATA_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NTFS_VOLUME_DATA_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeSerialNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(VolumeSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberSectors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(NumberSectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalClusters) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(TotalClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeClusters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(FreeClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalReserved) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(TotalReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerCluster) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerCluster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerFileRecordSegment) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerFileRecordSegment) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).ClustersPerFileRecordSegment) as usize - ptr as usize + }, + 52usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(ClustersPerFileRecordSegment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftValidDataLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MftValidDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftStartLcn) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MftStartLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2StartLcn) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(Mft2StartLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftZoneStart) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MftZoneStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftZoneEnd) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(NTFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MftZoneEnd) + ) + ); +} +pub type PNTFS_VOLUME_DATA_BUFFER = *mut NTFS_VOLUME_DATA_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NTFS_EXTENDED_VOLUME_DATA { + pub ByteCount: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub BytesPerPhysicalSector: DWORD, + pub LfsMajorVersion: WORD, + pub LfsMinorVersion: WORD, + pub MaxDeviceTrimExtentCount: DWORD, + pub MaxDeviceTrimByteCount: DWORD, + pub MaxVolumeTrimExtentCount: DWORD, + pub MaxVolumeTrimByteCount: DWORD, +} +#[test] +fn bindgen_test_layout_NTFS_EXTENDED_VOLUME_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(NTFS_EXTENDED_VOLUME_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(NTFS_EXTENDED_VOLUME_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(ByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerPhysicalSector) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(BytesPerPhysicalSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LfsMajorVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(LfsMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LfsMinorVersion) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(LfsMinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxDeviceTrimExtentCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MaxDeviceTrimExtentCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxDeviceTrimByteCount) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MaxDeviceTrimByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVolumeTrimExtentCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MaxVolumeTrimExtentCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxVolumeTrimByteCount) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(NTFS_EXTENDED_VOLUME_DATA), + "::", + stringify!(MaxVolumeTrimByteCount) + ) + ); +} +pub type PNTFS_EXTENDED_VOLUME_DATA = *mut NTFS_EXTENDED_VOLUME_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct REFS_VOLUME_DATA_BUFFER { + pub ByteCount: DWORD, + pub MajorVersion: DWORD, + pub MinorVersion: DWORD, + pub BytesPerPhysicalSector: DWORD, + pub VolumeSerialNumber: LARGE_INTEGER, + pub NumberSectors: LARGE_INTEGER, + pub TotalClusters: LARGE_INTEGER, + pub FreeClusters: LARGE_INTEGER, + pub TotalReserved: LARGE_INTEGER, + pub BytesPerSector: DWORD, + pub BytesPerCluster: DWORD, + pub MaximumSizeOfResidentFile: LARGE_INTEGER, + pub FastTierDataFillRatio: WORD, + pub SlowTierDataFillRatio: WORD, + pub DestagesFastTierToSlowTierRate: DWORD, + pub Reserved: [LARGE_INTEGER; 9usize], +} +#[test] +fn bindgen_test_layout_REFS_VOLUME_DATA_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(REFS_VOLUME_DATA_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(REFS_VOLUME_DATA_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(ByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerPhysicalSector) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerPhysicalSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeSerialNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(VolumeSerialNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberSectors) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(NumberSectors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalClusters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(TotalClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeClusters) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(FreeClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalReserved) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(TotalReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerSector) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerSector) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesPerCluster) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(BytesPerCluster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSizeOfResidentFile) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(MaximumSizeOfResidentFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FastTierDataFillRatio) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(FastTierDataFillRatio) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SlowTierDataFillRatio) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(SlowTierDataFillRatio) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DestagesFastTierToSlowTierRate) as usize - ptr as usize + }, + 76usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(DestagesFastTierToSlowTierRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(REFS_VOLUME_DATA_BUFFER), + "::", + stringify!(Reserved) + ) + ); +} +pub type PREFS_VOLUME_DATA_BUFFER = *mut REFS_VOLUME_DATA_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct STARTING_LCN_INPUT_BUFFER { + pub StartingLcn: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_STARTING_LCN_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(STARTING_LCN_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(STARTING_LCN_INPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(STARTING_LCN_INPUT_BUFFER), + "::", + stringify!(StartingLcn) + ) + ); +} +pub type PSTARTING_LCN_INPUT_BUFFER = *mut STARTING_LCN_INPUT_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct STARTING_LCN_INPUT_BUFFER_EX { + pub StartingLcn: LARGE_INTEGER, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout_STARTING_LCN_INPUT_BUFFER_EX() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(STARTING_LCN_INPUT_BUFFER_EX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(STARTING_LCN_INPUT_BUFFER_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(STARTING_LCN_INPUT_BUFFER_EX), + "::", + stringify!(StartingLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(STARTING_LCN_INPUT_BUFFER_EX), + "::", + stringify!(Flags) + ) + ); +} +pub type PSTARTING_LCN_INPUT_BUFFER_EX = *mut STARTING_LCN_INPUT_BUFFER_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct VOLUME_BITMAP_BUFFER { + pub StartingLcn: LARGE_INTEGER, + pub BitmapSize: LARGE_INTEGER, + pub Buffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_VOLUME_BITMAP_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(VOLUME_BITMAP_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(VOLUME_BITMAP_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(VOLUME_BITMAP_BUFFER), + "::", + stringify!(StartingLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(VOLUME_BITMAP_BUFFER), + "::", + stringify!(BitmapSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(VOLUME_BITMAP_BUFFER), + "::", + stringify!(Buffer) + ) + ); +} +pub type PVOLUME_BITMAP_BUFFER = *mut VOLUME_BITMAP_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct STARTING_VCN_INPUT_BUFFER { + pub StartingVcn: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_STARTING_VCN_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(STARTING_VCN_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(STARTING_VCN_INPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(STARTING_VCN_INPUT_BUFFER), + "::", + stringify!(StartingVcn) + ) + ); +} +pub type PSTARTING_VCN_INPUT_BUFFER = *mut STARTING_VCN_INPUT_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct RETRIEVAL_POINTERS_BUFFER { + pub ExtentCount: DWORD, + pub StartingVcn: LARGE_INTEGER, + pub Extents: [RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1 { + pub NextVcn: LARGE_INTEGER, + pub Lcn: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextVcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1), + "::", + stringify!(NextVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER__bindgen_ty_1), + "::", + stringify!(Lcn) + ) + ); +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTERS_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(RETRIEVAL_POINTERS_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(RETRIEVAL_POINTERS_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER), + "::", + stringify!(ExtentCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER), + "::", + stringify!(StartingVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Extents) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_BUFFER), + "::", + stringify!(Extents) + ) + ); +} +pub type PRETRIEVAL_POINTERS_BUFFER = *mut RETRIEVAL_POINTERS_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER { + pub ExtentCount: DWORD, + pub StartingVcn: LARGE_INTEGER, + pub Extents: [RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1; 1usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1 { + pub NextVcn: LARGE_INTEGER, + pub Lcn: LARGE_INTEGER, + pub ReferenceCount: DWORD, +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextVcn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1), + "::", + stringify!(NextVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1), + "::", + stringify!(Lcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReferenceCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER__bindgen_ty_1), + "::", + stringify!(ReferenceCount) + ) + ); +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!( + "Size of: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER), + "::", + stringify!(ExtentCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER), + "::", + stringify!(StartingVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Extents) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER), + "::", + stringify!(Extents) + ) + ); +} +pub type PRETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER = *mut RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct RETRIEVAL_POINTER_COUNT { + pub ExtentCount: DWORD, +} +#[test] +fn bindgen_test_layout_RETRIEVAL_POINTER_COUNT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(RETRIEVAL_POINTER_COUNT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(RETRIEVAL_POINTER_COUNT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(RETRIEVAL_POINTER_COUNT), + "::", + stringify!(ExtentCount) + ) + ); +} +pub type PRETRIEVAL_POINTER_COUNT = *mut RETRIEVAL_POINTER_COUNT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct NTFS_FILE_RECORD_INPUT_BUFFER { + pub FileReferenceNumber: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_NTFS_FILE_RECORD_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(NTFS_FILE_RECORD_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NTFS_FILE_RECORD_INPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NTFS_FILE_RECORD_INPUT_BUFFER), + "::", + stringify!(FileReferenceNumber) + ) + ); +} +pub type PNTFS_FILE_RECORD_INPUT_BUFFER = *mut NTFS_FILE_RECORD_INPUT_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct NTFS_FILE_RECORD_OUTPUT_BUFFER { + pub FileReferenceNumber: LARGE_INTEGER, + pub FileRecordLength: DWORD, + pub FileRecordBuffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_NTFS_FILE_RECORD_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRecordLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER), + "::", + stringify!(FileRecordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRecordBuffer) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(NTFS_FILE_RECORD_OUTPUT_BUFFER), + "::", + stringify!(FileRecordBuffer) + ) + ); +} +pub type PNTFS_FILE_RECORD_OUTPUT_BUFFER = *mut NTFS_FILE_RECORD_OUTPUT_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct MOVE_FILE_DATA { + pub FileHandle: HANDLE, + pub StartingVcn: LARGE_INTEGER, + pub StartingLcn: LARGE_INTEGER, + pub ClusterCount: DWORD, +} +#[test] +fn bindgen_test_layout_MOVE_FILE_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(MOVE_FILE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MOVE_FILE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_DATA), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_DATA), + "::", + stringify!(StartingVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_DATA), + "::", + stringify!(StartingLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_DATA), + "::", + stringify!(ClusterCount) + ) + ); +} +pub type PMOVE_FILE_DATA = *mut MOVE_FILE_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct MOVE_FILE_RECORD_DATA { + pub FileHandle: HANDLE, + pub SourceFileRecord: LARGE_INTEGER, + pub TargetFileRecord: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_MOVE_FILE_RECORD_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(MOVE_FILE_RECORD_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MOVE_FILE_RECORD_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_RECORD_DATA), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_RECORD_DATA), + "::", + stringify!(SourceFileRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileRecord) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MOVE_FILE_RECORD_DATA), + "::", + stringify!(TargetFileRecord) + ) + ); +} +pub type PMOVE_FILE_RECORD_DATA = *mut MOVE_FILE_RECORD_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _MOVE_FILE_DATA32 { + pub FileHandle: UINT32, + pub StartingVcn: LARGE_INTEGER, + pub StartingLcn: LARGE_INTEGER, + pub ClusterCount: DWORD, +} +#[test] +fn bindgen_test_layout__MOVE_FILE_DATA32() { + const UNINIT: ::std::mem::MaybeUninit<_MOVE_FILE_DATA32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MOVE_FILE_DATA32>(), + 32usize, + concat!("Size of: ", stringify!(_MOVE_FILE_DATA32)) + ); + assert_eq!( + ::std::mem::align_of::<_MOVE_FILE_DATA32>(), + 8usize, + concat!("Alignment of ", stringify!(_MOVE_FILE_DATA32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MOVE_FILE_DATA32), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingVcn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MOVE_FILE_DATA32), + "::", + stringify!(StartingVcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingLcn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MOVE_FILE_DATA32), + "::", + stringify!(StartingLcn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MOVE_FILE_DATA32), + "::", + stringify!(ClusterCount) + ) + ); +} +pub type MOVE_FILE_DATA32 = _MOVE_FILE_DATA32; +pub type PMOVE_FILE_DATA32 = *mut _MOVE_FILE_DATA32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FIND_BY_SID_DATA { + pub Restart: DWORD, + pub Sid: SID, +} +#[test] +fn bindgen_test_layout_FIND_BY_SID_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(FIND_BY_SID_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(FIND_BY_SID_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Restart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_DATA), + "::", + stringify!(Restart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Sid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_DATA), + "::", + stringify!(Sid) + ) + ); +} +pub type PFIND_BY_SID_DATA = *mut FIND_BY_SID_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct FIND_BY_SID_OUTPUT { + pub NextEntryOffset: DWORD, + pub FileIndex: DWORD, + pub FileNameLength: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_FIND_BY_SID_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(FIND_BY_SID_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(FIND_BY_SID_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_OUTPUT), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_OUTPUT), + "::", + stringify!(FileIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_OUTPUT), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(FIND_BY_SID_OUTPUT), + "::", + stringify!(FileName) + ) + ); +} +pub type PFIND_BY_SID_OUTPUT = *mut FIND_BY_SID_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MFT_ENUM_DATA_V0 { + pub StartFileReferenceNumber: DWORDLONG, + pub LowUsn: USN, + pub HighUsn: USN, +} +#[test] +fn bindgen_test_layout_MFT_ENUM_DATA_V0() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(MFT_ENUM_DATA_V0)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MFT_ENUM_DATA_V0)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartFileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V0), + "::", + stringify!(StartFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V0), + "::", + stringify!(LowUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V0), + "::", + stringify!(HighUsn) + ) + ); +} +pub type PMFT_ENUM_DATA_V0 = *mut MFT_ENUM_DATA_V0; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct MFT_ENUM_DATA_V1 { + pub StartFileReferenceNumber: DWORDLONG, + pub LowUsn: USN, + pub HighUsn: USN, + pub MinMajorVersion: WORD, + pub MaxMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout_MFT_ENUM_DATA_V1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(MFT_ENUM_DATA_V1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MFT_ENUM_DATA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartFileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(StartFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(LowUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(HighUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinMajorVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(MinMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxMajorVersion) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(MFT_ENUM_DATA_V1), + "::", + stringify!(MaxMajorVersion) + ) + ); +} +pub type PMFT_ENUM_DATA_V1 = *mut MFT_ENUM_DATA_V1; +pub type MFT_ENUM_DATA = MFT_ENUM_DATA_V1; +pub type PMFT_ENUM_DATA = *mut MFT_ENUM_DATA_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CREATE_USN_JOURNAL_DATA { + pub MaximumSize: DWORDLONG, + pub AllocationDelta: DWORDLONG, +} +#[test] +fn bindgen_test_layout_CREATE_USN_JOURNAL_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(CREATE_USN_JOURNAL_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(CREATE_USN_JOURNAL_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CREATE_USN_JOURNAL_DATA), + "::", + stringify!(MaximumSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationDelta) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(CREATE_USN_JOURNAL_DATA), + "::", + stringify!(AllocationDelta) + ) + ); +} +pub type PCREATE_USN_JOURNAL_DATA = *mut CREATE_USN_JOURNAL_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READ_FILE_USN_DATA { + pub MinMajorVersion: WORD, + pub MaxMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout_READ_FILE_USN_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(READ_FILE_USN_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(READ_FILE_USN_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinMajorVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READ_FILE_USN_DATA), + "::", + stringify!(MinMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxMajorVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(READ_FILE_USN_DATA), + "::", + stringify!(MaxMajorVersion) + ) + ); +} +pub type PREAD_FILE_USN_DATA = *mut READ_FILE_USN_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READ_USN_JOURNAL_DATA_V0 { + pub StartUsn: USN, + pub ReasonMask: DWORD, + pub ReturnOnlyOnClose: DWORD, + pub Timeout: DWORDLONG, + pub BytesToWaitFor: DWORDLONG, + pub UsnJournalID: DWORDLONG, +} +#[test] +fn bindgen_test_layout_READ_USN_JOURNAL_DATA_V0() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(READ_USN_JOURNAL_DATA_V0)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(READ_USN_JOURNAL_DATA_V0)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartUsn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(StartUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(ReasonMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReturnOnlyOnClose) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(ReturnOnlyOnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Timeout) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesToWaitFor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(BytesToWaitFor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V0), + "::", + stringify!(UsnJournalID) + ) + ); +} +pub type PREAD_USN_JOURNAL_DATA_V0 = *mut READ_USN_JOURNAL_DATA_V0; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READ_USN_JOURNAL_DATA_V1 { + pub StartUsn: USN, + pub ReasonMask: DWORD, + pub ReturnOnlyOnClose: DWORD, + pub Timeout: DWORDLONG, + pub BytesToWaitFor: DWORDLONG, + pub UsnJournalID: DWORDLONG, + pub MinMajorVersion: WORD, + pub MaxMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout_READ_USN_JOURNAL_DATA_V1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(READ_USN_JOURNAL_DATA_V1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(READ_USN_JOURNAL_DATA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartUsn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(StartUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReasonMask) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(ReasonMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReturnOnlyOnClose) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(ReturnOnlyOnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Timeout) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(Timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesToWaitFor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(BytesToWaitFor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinMajorVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(MinMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxMajorVersion) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(READ_USN_JOURNAL_DATA_V1), + "::", + stringify!(MaxMajorVersion) + ) + ); +} +pub type PREAD_USN_JOURNAL_DATA_V1 = *mut READ_USN_JOURNAL_DATA_V1; +pub type READ_USN_JOURNAL_DATA = READ_USN_JOURNAL_DATA_V1; +pub type PREAD_USN_JOURNAL_DATA = *mut READ_USN_JOURNAL_DATA_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_TRACK_MODIFIED_RANGES { + pub Flags: DWORD, + pub Unused: DWORD, + pub ChunkSize: DWORDLONG, + pub FileSizeThreshold: LONGLONG, +} +#[test] +fn bindgen_test_layout_USN_TRACK_MODIFIED_RANGES() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(USN_TRACK_MODIFIED_RANGES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_TRACK_MODIFIED_RANGES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_TRACK_MODIFIED_RANGES), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(USN_TRACK_MODIFIED_RANGES), + "::", + stringify!(Unused) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_TRACK_MODIFIED_RANGES), + "::", + stringify!(ChunkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSizeThreshold) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_TRACK_MODIFIED_RANGES), + "::", + stringify!(FileSizeThreshold) + ) + ); +} +pub type PUSN_TRACK_MODIFIED_RANGES = *mut USN_TRACK_MODIFIED_RANGES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_RANGE_TRACK_OUTPUT { + pub Usn: USN, +} +#[test] +fn bindgen_test_layout_USN_RANGE_TRACK_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(USN_RANGE_TRACK_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RANGE_TRACK_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RANGE_TRACK_OUTPUT), + "::", + stringify!(Usn) + ) + ); +} +pub type PUSN_RANGE_TRACK_OUTPUT = *mut USN_RANGE_TRACK_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct USN_RECORD_V2 { + pub RecordLength: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub FileReferenceNumber: DWORDLONG, + pub ParentFileReferenceNumber: DWORDLONG, + pub Usn: USN, + pub TimeStamp: LARGE_INTEGER, + pub Reason: DWORD, + pub SourceInfo: DWORD, + pub SecurityId: DWORD, + pub FileAttributes: DWORD, + pub FileNameLength: WORD, + pub FileNameOffset: WORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_USN_RECORD_V2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(USN_RECORD_V2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(RecordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileReferenceNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(ParentFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(Usn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(TimeStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(Reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceInfo) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(SourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(SecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameOffset) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V2), + "::", + stringify!(FileName) + ) + ); +} +pub type PUSN_RECORD_V2 = *mut USN_RECORD_V2; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct USN_RECORD_V3 { + pub RecordLength: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, + pub FileReferenceNumber: FILE_ID_128, + pub ParentFileReferenceNumber: FILE_ID_128, + pub Usn: USN, + pub TimeStamp: LARGE_INTEGER, + pub Reason: DWORD, + pub SourceInfo: DWORD, + pub SecurityId: DWORD, + pub FileAttributes: DWORD, + pub FileNameLength: WORD, + pub FileNameOffset: WORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout_USN_RECORD_V3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(USN_RECORD_V3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_V3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(RecordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(MinorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileReferenceNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(ParentFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(Usn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TimeStamp) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(TimeStamp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(Reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceInfo) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(SourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(SecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameOffset) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V3), + "::", + stringify!(FileName) + ) + ); +} +pub type PUSN_RECORD_V3 = *mut USN_RECORD_V3; +pub type USN_RECORD = USN_RECORD_V2; +pub type PUSN_RECORD = *mut USN_RECORD_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_RECORD_COMMON_HEADER { + pub RecordLength: DWORD, + pub MajorVersion: WORD, + pub MinorVersion: WORD, +} +#[test] +fn bindgen_test_layout_USN_RECORD_COMMON_HEADER() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(USN_RECORD_COMMON_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(USN_RECORD_COMMON_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_COMMON_HEADER), + "::", + stringify!(RecordLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MajorVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_COMMON_HEADER), + "::", + stringify!(MajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinorVersion) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_COMMON_HEADER), + "::", + stringify!(MinorVersion) + ) + ); +} +pub type PUSN_RECORD_COMMON_HEADER = *mut USN_RECORD_COMMON_HEADER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_RECORD_EXTENT { + pub Offset: LONGLONG, + pub Length: LONGLONG, +} +#[test] +fn bindgen_test_layout_USN_RECORD_EXTENT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(USN_RECORD_EXTENT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_EXTENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_EXTENT), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_EXTENT), + "::", + stringify!(Length) + ) + ); +} +pub type PUSN_RECORD_EXTENT = *mut USN_RECORD_EXTENT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_RECORD_V4 { + pub Header: USN_RECORD_COMMON_HEADER, + pub FileReferenceNumber: FILE_ID_128, + pub ParentFileReferenceNumber: FILE_ID_128, + pub Usn: USN, + pub Reason: DWORD, + pub SourceInfo: DWORD, + pub RemainingExtents: DWORD, + pub NumberOfExtents: WORD, + pub ExtentSize: WORD, + pub Extents: [USN_RECORD_EXTENT; 1usize], +} +#[test] +fn bindgen_test_layout_USN_RECORD_V4() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(USN_RECORD_V4)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_V4)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileReferenceNumber) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(ParentFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(Usn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(Reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceInfo) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(SourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemainingExtents) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(RemainingExtents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfExtents) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(NumberOfExtents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentSize) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(ExtentSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Extents) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_V4), + "::", + stringify!(Extents) + ) + ); +} +pub type PUSN_RECORD_V4 = *mut USN_RECORD_V4; +#[repr(C)] +#[derive(Copy, Clone)] +pub union USN_RECORD_UNION { + pub Header: USN_RECORD_COMMON_HEADER, + pub V2: USN_RECORD_V2, + pub V3: USN_RECORD_V3, + pub V4: USN_RECORD_V4, +} +#[test] +fn bindgen_test_layout_USN_RECORD_UNION() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(USN_RECORD_UNION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_RECORD_UNION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Header) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_UNION), + "::", + stringify!(Header) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).V2) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_UNION), + "::", + stringify!(V2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).V3) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_UNION), + "::", + stringify!(V3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).V4) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_RECORD_UNION), + "::", + stringify!(V4) + ) + ); +} +pub type PUSN_RECORD_UNION = *mut USN_RECORD_UNION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_JOURNAL_DATA_V0 { + pub UsnJournalID: DWORDLONG, + pub FirstUsn: USN, + pub NextUsn: USN, + pub LowestValidUsn: USN, + pub MaxUsn: USN, + pub MaximumSize: DWORDLONG, + pub AllocationDelta: DWORDLONG, +} +#[test] +fn bindgen_test_layout_USN_JOURNAL_DATA_V0() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(USN_JOURNAL_DATA_V0)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_JOURNAL_DATA_V0)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(FirstUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(NextUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestValidUsn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(LowestValidUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxUsn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(MaxUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(MaximumSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationDelta) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V0), + "::", + stringify!(AllocationDelta) + ) + ); +} +pub type PUSN_JOURNAL_DATA_V0 = *mut USN_JOURNAL_DATA_V0; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_JOURNAL_DATA_V1 { + pub UsnJournalID: DWORDLONG, + pub FirstUsn: USN, + pub NextUsn: USN, + pub LowestValidUsn: USN, + pub MaxUsn: USN, + pub MaximumSize: DWORDLONG, + pub AllocationDelta: DWORDLONG, + pub MinSupportedMajorVersion: WORD, + pub MaxSupportedMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout_USN_JOURNAL_DATA_V1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(USN_JOURNAL_DATA_V1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_JOURNAL_DATA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(FirstUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(NextUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestValidUsn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(LowestValidUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxUsn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(MaxUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(MaximumSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationDelta) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(AllocationDelta) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSupportedMajorVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(MinSupportedMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSupportedMajorVersion) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V1), + "::", + stringify!(MaxSupportedMajorVersion) + ) + ); +} +pub type PUSN_JOURNAL_DATA_V1 = *mut USN_JOURNAL_DATA_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct USN_JOURNAL_DATA_V2 { + pub UsnJournalID: DWORDLONG, + pub FirstUsn: USN, + pub NextUsn: USN, + pub LowestValidUsn: USN, + pub MaxUsn: USN, + pub MaximumSize: DWORDLONG, + pub AllocationDelta: DWORDLONG, + pub MinSupportedMajorVersion: WORD, + pub MaxSupportedMajorVersion: WORD, + pub Flags: DWORD, + pub RangeTrackChunkSize: DWORDLONG, + pub RangeTrackFileSizeThreshold: LONGLONG, +} +#[test] +fn bindgen_test_layout_USN_JOURNAL_DATA_V2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(USN_JOURNAL_DATA_V2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(USN_JOURNAL_DATA_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstUsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(FirstUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextUsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(NextUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowestValidUsn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(LowestValidUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxUsn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(MaxUsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaximumSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(MaximumSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationDelta) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(AllocationDelta) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinSupportedMajorVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(MinSupportedMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSupportedMajorVersion) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(MaxSupportedMajorVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RangeTrackChunkSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(RangeTrackChunkSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RangeTrackFileSizeThreshold) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(USN_JOURNAL_DATA_V2), + "::", + stringify!(RangeTrackFileSizeThreshold) + ) + ); +} +pub type PUSN_JOURNAL_DATA_V2 = *mut USN_JOURNAL_DATA_V2; +pub type USN_JOURNAL_DATA = USN_JOURNAL_DATA_V1; +pub type PUSN_JOURNAL_DATA = *mut USN_JOURNAL_DATA_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DELETE_USN_JOURNAL_DATA { + pub UsnJournalID: DWORDLONG, + pub DeleteFlags: DWORD, +} +#[test] +fn bindgen_test_layout_DELETE_USN_JOURNAL_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(DELETE_USN_JOURNAL_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(DELETE_USN_JOURNAL_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnJournalID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(DELETE_USN_JOURNAL_DATA), + "::", + stringify!(UsnJournalID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(DELETE_USN_JOURNAL_DATA), + "::", + stringify!(DeleteFlags) + ) + ); +} +pub type PDELETE_USN_JOURNAL_DATA = *mut DELETE_USN_JOURNAL_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct MARK_HANDLE_INFO { + pub __bindgen_anon_1: MARK_HANDLE_INFO__bindgen_ty_1, + pub VolumeHandle: HANDLE, + pub HandleInfo: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union MARK_HANDLE_INFO__bindgen_ty_1 { + pub UsnSourceInfo: DWORD, + pub CopyNumber: DWORD, +} +#[test] +fn bindgen_test_layout_MARK_HANDLE_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(MARK_HANDLE_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(MARK_HANDLE_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnSourceInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MARK_HANDLE_INFO__bindgen_ty_1), + "::", + stringify!(UsnSourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MARK_HANDLE_INFO__bindgen_ty_1), + "::", + stringify!(CopyNumber) + ) + ); +} +#[test] +fn bindgen_test_layout_MARK_HANDLE_INFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(MARK_HANDLE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(MARK_HANDLE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MARK_HANDLE_INFO), + "::", + stringify!(VolumeHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(MARK_HANDLE_INFO), + "::", + stringify!(HandleInfo) + ) + ); +} +pub type PMARK_HANDLE_INFO = *mut MARK_HANDLE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct MARK_HANDLE_INFO32 { + pub __bindgen_anon_1: MARK_HANDLE_INFO32__bindgen_ty_1, + pub VolumeHandle: UINT32, + pub HandleInfo: DWORD, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union MARK_HANDLE_INFO32__bindgen_ty_1 { + pub UsnSourceInfo: DWORD, + pub CopyNumber: DWORD, +} +#[test] +fn bindgen_test_layout_MARK_HANDLE_INFO32__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(MARK_HANDLE_INFO32__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(MARK_HANDLE_INFO32__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnSourceInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MARK_HANDLE_INFO32__bindgen_ty_1), + "::", + stringify!(UsnSourceInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(MARK_HANDLE_INFO32__bindgen_ty_1), + "::", + stringify!(CopyNumber) + ) + ); +} +#[test] +fn bindgen_test_layout_MARK_HANDLE_INFO32() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(MARK_HANDLE_INFO32)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(MARK_HANDLE_INFO32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeHandle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(MARK_HANDLE_INFO32), + "::", + stringify!(VolumeHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(MARK_HANDLE_INFO32), + "::", + stringify!(HandleInfo) + ) + ); +} +pub type PMARK_HANDLE_INFO32 = *mut MARK_HANDLE_INFO32; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct BULK_SECURITY_TEST_DATA { + pub DesiredAccess: ACCESS_MASK, + pub SecurityIds: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_BULK_SECURITY_TEST_DATA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(BULK_SECURITY_TEST_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(BULK_SECURITY_TEST_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredAccess) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(BULK_SECURITY_TEST_DATA), + "::", + stringify!(DesiredAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityIds) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(BULK_SECURITY_TEST_DATA), + "::", + stringify!(SecurityIds) + ) + ); +} +pub type PBULK_SECURITY_TEST_DATA = *mut BULK_SECURITY_TEST_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_PREFETCH { + pub Type: DWORD, + pub Count: DWORD, + pub Prefetch: [DWORDLONG; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_PREFETCH() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_PREFETCH> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_PREFETCH>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_PREFETCH)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_PREFETCH>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_PREFETCH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Prefetch) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH), + "::", + stringify!(Prefetch) + ) + ); +} +pub type FILE_PREFETCH = _FILE_PREFETCH; +pub type PFILE_PREFETCH = *mut _FILE_PREFETCH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_PREFETCH_EX { + pub Type: DWORD, + pub Count: DWORD, + pub Context: PVOID, + pub Prefetch: [DWORDLONG; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_PREFETCH_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_PREFETCH_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_PREFETCH_EX>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_PREFETCH_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_PREFETCH_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_PREFETCH_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH_EX), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH_EX), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Context) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH_EX), + "::", + stringify!(Context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Prefetch) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PREFETCH_EX), + "::", + stringify!(Prefetch) + ) + ); +} +pub type FILE_PREFETCH_EX = _FILE_PREFETCH_EX; +pub type PFILE_PREFETCH_EX = *mut _FILE_PREFETCH_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILESYSTEM_STATISTICS { + pub FileSystemType: WORD, + pub Version: WORD, + pub SizeOfCompleteStructure: DWORD, + pub UserFileReads: DWORD, + pub UserFileReadBytes: DWORD, + pub UserDiskReads: DWORD, + pub UserFileWrites: DWORD, + pub UserFileWriteBytes: DWORD, + pub UserDiskWrites: DWORD, + pub MetaDataReads: DWORD, + pub MetaDataReadBytes: DWORD, + pub MetaDataDiskReads: DWORD, + pub MetaDataWrites: DWORD, + pub MetaDataWriteBytes: DWORD, + pub MetaDataDiskWrites: DWORD, +} +#[test] +fn bindgen_test_layout__FILESYSTEM_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_FILESYSTEM_STATISTICS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILESYSTEM_STATISTICS>(), + 56usize, + concat!("Size of: ", stringify!(_FILESYSTEM_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_FILESYSTEM_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_FILESYSTEM_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSystemType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(FileSystemType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCompleteStructure) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(SizeOfCompleteStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileReads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserFileReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileReadBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserFileReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDiskReads) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileWrites) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserFileWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserFileWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDiskWrites) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(UserDiskWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataReads) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataReadBytes) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataDiskReads) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataWrites) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataWriteBytes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataDiskWrites) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS), + "::", + stringify!(MetaDataDiskWrites) + ) + ); +} +pub type FILESYSTEM_STATISTICS = _FILESYSTEM_STATISTICS; +pub type PFILESYSTEM_STATISTICS = *mut _FILESYSTEM_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FAT_STATISTICS { + pub CreateHits: DWORD, + pub SuccessfulCreates: DWORD, + pub FailedCreates: DWORD, + pub NonCachedReads: DWORD, + pub NonCachedReadBytes: DWORD, + pub NonCachedWrites: DWORD, + pub NonCachedWriteBytes: DWORD, + pub NonCachedDiskReads: DWORD, + pub NonCachedDiskWrites: DWORD, +} +#[test] +fn bindgen_test_layout__FAT_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_FAT_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FAT_STATISTICS>(), + 36usize, + concat!("Size of: ", stringify!(_FAT_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_FAT_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_FAT_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateHits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(CreateHits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SuccessfulCreates) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(SuccessfulCreates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailedCreates) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(FailedCreates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedReads) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedReadBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedWrites) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedDiskReads) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedDiskWrites) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FAT_STATISTICS), + "::", + stringify!(NonCachedDiskWrites) + ) + ); +} +pub type FAT_STATISTICS = _FAT_STATISTICS; +pub type PFAT_STATISTICS = *mut _FAT_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXFAT_STATISTICS { + pub CreateHits: DWORD, + pub SuccessfulCreates: DWORD, + pub FailedCreates: DWORD, + pub NonCachedReads: DWORD, + pub NonCachedReadBytes: DWORD, + pub NonCachedWrites: DWORD, + pub NonCachedWriteBytes: DWORD, + pub NonCachedDiskReads: DWORD, + pub NonCachedDiskWrites: DWORD, +} +#[test] +fn bindgen_test_layout__EXFAT_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_EXFAT_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXFAT_STATISTICS>(), + 36usize, + concat!("Size of: ", stringify!(_EXFAT_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_EXFAT_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_EXFAT_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateHits) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(CreateHits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SuccessfulCreates) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(SuccessfulCreates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FailedCreates) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(FailedCreates) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedReads) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedReadBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedWrites) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedWriteBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedDiskReads) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NonCachedDiskWrites) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_EXFAT_STATISTICS), + "::", + stringify!(NonCachedDiskWrites) + ) + ); +} +pub type EXFAT_STATISTICS = _EXFAT_STATISTICS; +pub type PEXFAT_STATISTICS = *mut _EXFAT_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS { + pub LogFileFullExceptions: DWORD, + pub OtherExceptions: DWORD, + pub MftReads: DWORD, + pub MftReadBytes: DWORD, + pub MftWrites: DWORD, + pub MftWriteBytes: DWORD, + pub MftWritesUserLevel: _NTFS_STATISTICS__bindgen_ty_1, + pub MftWritesFlushForLogFileFull: WORD, + pub MftWritesLazyWriter: WORD, + pub MftWritesUserRequest: WORD, + pub Mft2Writes: DWORD, + pub Mft2WriteBytes: DWORD, + pub Mft2WritesUserLevel: _NTFS_STATISTICS__bindgen_ty_2, + pub Mft2WritesFlushForLogFileFull: WORD, + pub Mft2WritesLazyWriter: WORD, + pub Mft2WritesUserRequest: WORD, + pub RootIndexReads: DWORD, + pub RootIndexReadBytes: DWORD, + pub RootIndexWrites: DWORD, + pub RootIndexWriteBytes: DWORD, + pub BitmapReads: DWORD, + pub BitmapReadBytes: DWORD, + pub BitmapWrites: DWORD, + pub BitmapWriteBytes: DWORD, + pub BitmapWritesFlushForLogFileFull: WORD, + pub BitmapWritesLazyWriter: WORD, + pub BitmapWritesUserRequest: WORD, + pub BitmapWritesUserLevel: _NTFS_STATISTICS__bindgen_ty_3, + pub MftBitmapReads: DWORD, + pub MftBitmapReadBytes: DWORD, + pub MftBitmapWrites: DWORD, + pub MftBitmapWriteBytes: DWORD, + pub MftBitmapWritesFlushForLogFileFull: WORD, + pub MftBitmapWritesLazyWriter: WORD, + pub MftBitmapWritesUserRequest: WORD, + pub MftBitmapWritesUserLevel: _NTFS_STATISTICS__bindgen_ty_4, + pub UserIndexReads: DWORD, + pub UserIndexReadBytes: DWORD, + pub UserIndexWrites: DWORD, + pub UserIndexWriteBytes: DWORD, + pub LogFileReads: DWORD, + pub LogFileReadBytes: DWORD, + pub LogFileWrites: DWORD, + pub LogFileWriteBytes: DWORD, + pub Allocate: _NTFS_STATISTICS__bindgen_ty_5, + pub DiskResourcesExhausted: DWORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_1 { + pub Write: WORD, + pub Create: WORD, + pub SetInfo: WORD, + pub Flush: WORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_1>(), + 2usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_1), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_1), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_1), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_1), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_2 { + pub Write: WORD, + pub Create: WORD, + pub SetInfo: WORD, + pub Flush: WORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_2>(), + 2usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_2), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_2), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_2), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_2), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_3 { + pub Write: WORD, + pub Create: WORD, + pub SetInfo: WORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_3>(), + 6usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_3>(), + 2usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_3), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_3), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_3), + "::", + stringify!(SetInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_4 { + pub Write: WORD, + pub Create: WORD, + pub SetInfo: WORD, + pub Flush: WORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_4>(), + 8usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_4>(), + 2usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_4)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_4), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_4), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_4), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_4), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS__bindgen_ty_5 { + pub Calls: DWORD, + pub Clusters: DWORD, + pub Hints: DWORD, + pub RunsReturned: DWORD, + pub HintsHonored: DWORD, + pub HintsClusters: DWORD, + pub Cache: DWORD, + pub CacheClusters: DWORD, + pub CacheMiss: DWORD, + pub CacheMissClusters: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS__bindgen_ty_5>(), + 40usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS__bindgen_ty_5>(), + 4usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS__bindgen_ty_5)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Calls) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(Calls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clusters) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(Clusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hints) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(Hints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunsReturned) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(RunsReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HintsHonored) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(HintsHonored) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HintsClusters) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(HintsClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheClusters) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(CacheClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheMiss) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(CacheMiss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheMissClusters) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS__bindgen_ty_5), + "::", + stringify!(CacheMissClusters) + ) + ); +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS>(), + 216usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS>(), + 4usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileFullExceptions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileFullExceptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OtherExceptions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(OtherExceptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftReads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftReadBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWrites) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWriteBytes) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesUserLevel) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWritesUserLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MftWritesFlushForLogFileFull) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesLazyWriter) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesUserRequest) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2Writes) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2Writes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WriteBytes) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesUserLevel) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WritesUserLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).Mft2WritesFlushForLogFileFull) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesLazyWriter) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesUserRequest) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Mft2WritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexReads) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(RootIndexReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexReadBytes) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(RootIndexReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexWrites) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(RootIndexWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexWriteBytes) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(RootIndexWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapReads) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapReadBytes) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWrites) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWriteBytes) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWriteBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BitmapWritesFlushForLogFileFull) as usize - ptr as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesLazyWriter) as usize - ptr as usize }, + 98usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesUserRequest) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesUserLevel) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(BitmapWritesUserLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapReads) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapReadBytes) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWrites) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWriteBytes) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWriteBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MftBitmapWritesFlushForLogFileFull) as usize - ptr as usize + }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesLazyWriter) as usize - ptr as usize }, + 126usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesUserRequest) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesUserLevel) as usize - ptr as usize }, + 130usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(MftBitmapWritesUserLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexReads) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(UserIndexReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexReadBytes) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(UserIndexReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexWrites) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(UserIndexWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexWriteBytes) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(UserIndexWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileReads) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileReadBytes) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileWrites) as usize - ptr as usize }, + 164usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileWriteBytes) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(LogFileWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Allocate) as usize - ptr as usize }, + 172usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(Allocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskResourcesExhausted) as usize - ptr as usize }, + 212usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS), + "::", + stringify!(DiskResourcesExhausted) + ) + ); +} +pub type NTFS_STATISTICS = _NTFS_STATISTICS; +pub type PNTFS_STATISTICS = *mut _NTFS_STATISTICS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILESYSTEM_STATISTICS_EX { + pub FileSystemType: WORD, + pub Version: WORD, + pub SizeOfCompleteStructure: DWORD, + pub UserFileReads: DWORDLONG, + pub UserFileReadBytes: DWORDLONG, + pub UserDiskReads: DWORDLONG, + pub UserFileWrites: DWORDLONG, + pub UserFileWriteBytes: DWORDLONG, + pub UserDiskWrites: DWORDLONG, + pub MetaDataReads: DWORDLONG, + pub MetaDataReadBytes: DWORDLONG, + pub MetaDataDiskReads: DWORDLONG, + pub MetaDataWrites: DWORDLONG, + pub MetaDataWriteBytes: DWORDLONG, + pub MetaDataDiskWrites: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FILESYSTEM_STATISTICS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FILESYSTEM_STATISTICS_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILESYSTEM_STATISTICS_EX>(), + 104usize, + concat!("Size of: ", stringify!(_FILESYSTEM_STATISTICS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_FILESYSTEM_STATISTICS_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_FILESYSTEM_STATISTICS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSystemType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(FileSystemType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfCompleteStructure) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(SizeOfCompleteStructure) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileReads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserFileReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileReadBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserFileReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDiskReads) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileWrites) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserFileWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserFileWriteBytes) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserFileWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserDiskWrites) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(UserDiskWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataReads) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataReadBytes) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataDiskReads) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataDiskReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataWrites) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataWriteBytes) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MetaDataDiskWrites) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_FILESYSTEM_STATISTICS_EX), + "::", + stringify!(MetaDataDiskWrites) + ) + ); +} +pub type FILESYSTEM_STATISTICS_EX = _FILESYSTEM_STATISTICS_EX; +pub type PFILESYSTEM_STATISTICS_EX = *mut _FILESYSTEM_STATISTICS_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX { + pub LogFileFullExceptions: DWORD, + pub OtherExceptions: DWORD, + pub MftReads: DWORDLONG, + pub MftReadBytes: DWORDLONG, + pub MftWrites: DWORDLONG, + pub MftWriteBytes: DWORDLONG, + pub MftWritesUserLevel: _NTFS_STATISTICS_EX__bindgen_ty_1, + pub MftWritesFlushForLogFileFull: DWORD, + pub MftWritesLazyWriter: DWORD, + pub MftWritesUserRequest: DWORD, + pub Mft2Writes: DWORDLONG, + pub Mft2WriteBytes: DWORDLONG, + pub Mft2WritesUserLevel: _NTFS_STATISTICS_EX__bindgen_ty_2, + pub Mft2WritesFlushForLogFileFull: DWORD, + pub Mft2WritesLazyWriter: DWORD, + pub Mft2WritesUserRequest: DWORD, + pub RootIndexReads: DWORDLONG, + pub RootIndexReadBytes: DWORDLONG, + pub RootIndexWrites: DWORDLONG, + pub RootIndexWriteBytes: DWORDLONG, + pub BitmapReads: DWORDLONG, + pub BitmapReadBytes: DWORDLONG, + pub BitmapWrites: DWORDLONG, + pub BitmapWriteBytes: DWORDLONG, + pub BitmapWritesFlushForLogFileFull: DWORD, + pub BitmapWritesLazyWriter: DWORD, + pub BitmapWritesUserRequest: DWORD, + pub BitmapWritesUserLevel: _NTFS_STATISTICS_EX__bindgen_ty_3, + pub MftBitmapReads: DWORDLONG, + pub MftBitmapReadBytes: DWORDLONG, + pub MftBitmapWrites: DWORDLONG, + pub MftBitmapWriteBytes: DWORDLONG, + pub MftBitmapWritesFlushForLogFileFull: DWORD, + pub MftBitmapWritesLazyWriter: DWORD, + pub MftBitmapWritesUserRequest: DWORD, + pub MftBitmapWritesUserLevel: _NTFS_STATISTICS_EX__bindgen_ty_4, + pub UserIndexReads: DWORDLONG, + pub UserIndexReadBytes: DWORDLONG, + pub UserIndexWrites: DWORDLONG, + pub UserIndexWriteBytes: DWORDLONG, + pub LogFileReads: DWORDLONG, + pub LogFileReadBytes: DWORDLONG, + pub LogFileWrites: DWORDLONG, + pub LogFileWriteBytes: DWORDLONG, + pub Allocate: _NTFS_STATISTICS_EX__bindgen_ty_5, + pub DiskResourcesExhausted: DWORD, + pub VolumeTrimCount: DWORDLONG, + pub VolumeTrimTime: DWORDLONG, + pub VolumeTrimByteCount: DWORDLONG, + pub FileLevelTrimCount: DWORDLONG, + pub FileLevelTrimTime: DWORDLONG, + pub FileLevelTrimByteCount: DWORDLONG, + pub VolumeTrimSkippedCount: DWORDLONG, + pub VolumeTrimSkippedByteCount: DWORDLONG, + pub NtfsFillStatInfoFromMftRecordCalledCount: DWORDLONG, + pub NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount: DWORDLONG, + pub NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount: DWORDLONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_1 { + pub Write: DWORD, + pub Create: DWORD, + pub SetInfo: DWORD, + pub Flush: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_1), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_2 { + pub Write: DWORD, + pub Create: DWORD, + pub SetInfo: DWORD, + pub Flush: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_2>(), + 16usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_2>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_2), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_3 { + pub Write: DWORD, + pub Create: DWORD, + pub SetInfo: DWORD, + pub Flush: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_3>(), + 16usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_3>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_3), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_4 { + pub Write: DWORD, + pub Create: DWORD, + pub SetInfo: DWORD, + pub Flush: DWORD, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_4>(), + 16usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_4>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), + "::", + stringify!(SetInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_4), + "::", + stringify!(Flush) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _NTFS_STATISTICS_EX__bindgen_ty_5 { + pub Calls: DWORD, + pub RunsReturned: DWORD, + pub Hints: DWORD, + pub HintsHonored: DWORD, + pub Cache: DWORD, + pub CacheMiss: DWORD, + pub Clusters: DWORDLONG, + pub HintsClusters: DWORDLONG, + pub CacheClusters: DWORDLONG, + pub CacheMissClusters: DWORDLONG, +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX__bindgen_ty_5>(), + 56usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX__bindgen_ty_5>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Calls) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(Calls) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RunsReturned) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(RunsReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hints) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(Hints) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HintsHonored) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(HintsHonored) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheMiss) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(CacheMiss) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clusters) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(Clusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HintsClusters) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(HintsClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheClusters) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(CacheClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CacheMissClusters) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX__bindgen_ty_5), + "::", + stringify!(CacheMissClusters) + ) + ); +} +#[test] +fn bindgen_test_layout__NTFS_STATISTICS_EX() { + const UNINIT: ::std::mem::MaybeUninit<_NTFS_STATISTICS_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_NTFS_STATISTICS_EX>(), + 496usize, + concat!("Size of: ", stringify!(_NTFS_STATISTICS_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_NTFS_STATISTICS_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_NTFS_STATISTICS_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileFullExceptions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileFullExceptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OtherExceptions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(OtherExceptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftReads) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftReadBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWrites) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWriteBytes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesUserLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWritesUserLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MftWritesFlushForLogFileFull) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesLazyWriter) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftWritesUserRequest) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2Writes) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2Writes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WriteBytes) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesUserLevel) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WritesUserLevel) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).Mft2WritesFlushForLogFileFull) as usize - ptr as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesLazyWriter) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Mft2WritesUserRequest) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Mft2WritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexReads) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(RootIndexReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexReadBytes) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(RootIndexReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexWrites) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(RootIndexWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RootIndexWriteBytes) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(RootIndexWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapReads) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapReadBytes) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWrites) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWriteBytes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWriteBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).BitmapWritesFlushForLogFileFull) as usize - ptr as usize + }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesLazyWriter) as usize - ptr as usize }, + 188usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesUserRequest) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BitmapWritesUserLevel) as usize - ptr as usize }, + 196usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(BitmapWritesUserLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapReads) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapReadBytes) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWrites) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWriteBytes) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWriteBytes) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).MftBitmapWritesFlushForLogFileFull) as usize - ptr as usize + }, + 248usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWritesFlushForLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesLazyWriter) as usize - ptr as usize }, + 252usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWritesLazyWriter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesUserRequest) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWritesUserRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MftBitmapWritesUserLevel) as usize - ptr as usize }, + 260usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(MftBitmapWritesUserLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexReads) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(UserIndexReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexReadBytes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(UserIndexReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexWrites) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(UserIndexWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UserIndexWriteBytes) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(UserIndexWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileReads) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileReads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileReadBytes) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileReadBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileWrites) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileWrites) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFileWriteBytes) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(LogFileWriteBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Allocate) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(Allocate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskResourcesExhausted) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(DiskResourcesExhausted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimCount) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimTime) as usize - ptr as usize }, + 416usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimByteCount) as usize - ptr as usize }, + 424usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileLevelTrimCount) as usize - ptr as usize }, + 432usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(FileLevelTrimCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileLevelTrimTime) as usize - ptr as usize }, + 440usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(FileLevelTrimTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileLevelTrimByteCount) as usize - ptr as usize }, + 448usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(FileLevelTrimByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimSkippedCount) as usize - ptr as usize }, + 456usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimSkippedCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeTrimSkippedByteCount) as usize - ptr as usize }, + 464usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(VolumeTrimSkippedByteCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).NtfsFillStatInfoFromMftRecordCalledCount) as usize + - ptr as usize + }, + 472usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(NtfsFillStatInfoFromMftRecordCalledCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!( + (*ptr).NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount + ) as usize + - ptr as usize + }, + 480usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(NtfsFillStatInfoFromMftRecordBailedBecauseOfAttributeListCount) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!( + (*ptr).NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount + ) as usize + - ptr as usize + }, + 488usize, + concat!( + "Offset of field: ", + stringify!(_NTFS_STATISTICS_EX), + "::", + stringify!(NtfsFillStatInfoFromMftRecordBailedBecauseOfNonResReparsePointCount) + ) + ); +} +pub type NTFS_STATISTICS_EX = _NTFS_STATISTICS_EX; +pub type PNTFS_STATISTICS_EX = *mut _NTFS_STATISTICS_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_OBJECTID_BUFFER { + pub ObjectId: [BYTE; 16usize], + pub __bindgen_anon_1: _FILE_OBJECTID_BUFFER__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _FILE_OBJECTID_BUFFER__bindgen_ty_1 { + pub __bindgen_anon_1: _FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1, + pub ExtendedInfo: [BYTE; 48usize], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1 { + pub BirthVolumeId: [BYTE; 16usize], + pub BirthObjectId: [BYTE; 16usize], + pub DomainId: [BYTE; 16usize], +} +#[test] +fn bindgen_test_layout__FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1>(), + 48usize, + concat!( + "Size of: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BirthVolumeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BirthVolumeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BirthObjectId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(BirthObjectId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DomainId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(DomainId) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_OBJECTID_BUFFER__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_OBJECTID_BUFFER__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_OBJECTID_BUFFER__bindgen_ty_1>(), + 48usize, + concat!("Size of: ", stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_OBJECTID_BUFFER__bindgen_ty_1>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER__bindgen_ty_1), + "::", + stringify!(ExtendedInfo) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_OBJECTID_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_OBJECTID_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_OBJECTID_BUFFER>(), + 64usize, + concat!("Size of: ", stringify!(_FILE_OBJECTID_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_OBJECTID_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_OBJECTID_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_OBJECTID_BUFFER), + "::", + stringify!(ObjectId) + ) + ); +} +pub type FILE_OBJECTID_BUFFER = _FILE_OBJECTID_BUFFER; +pub type PFILE_OBJECTID_BUFFER = *mut _FILE_OBJECTID_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_SET_SPARSE_BUFFER { + pub SetSparse: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_SET_SPARSE_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_SET_SPARSE_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_SET_SPARSE_BUFFER>(), + 1usize, + concat!("Size of: ", stringify!(_FILE_SET_SPARSE_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_SET_SPARSE_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_SET_SPARSE_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSparse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SET_SPARSE_BUFFER), + "::", + stringify!(SetSparse) + ) + ); +} +pub type FILE_SET_SPARSE_BUFFER = _FILE_SET_SPARSE_BUFFER; +pub type PFILE_SET_SPARSE_BUFFER = *mut _FILE_SET_SPARSE_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ZERO_DATA_INFORMATION { + pub FileOffset: LARGE_INTEGER, + pub BeyondFinalZero: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__FILE_ZERO_DATA_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ZERO_DATA_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ZERO_DATA_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_ZERO_DATA_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ZERO_DATA_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ZERO_DATA_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeyondFinalZero) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION), + "::", + stringify!(BeyondFinalZero) + ) + ); +} +pub type FILE_ZERO_DATA_INFORMATION = _FILE_ZERO_DATA_INFORMATION; +pub type PFILE_ZERO_DATA_INFORMATION = *mut _FILE_ZERO_DATA_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ZERO_DATA_INFORMATION_EX { + pub FileOffset: LARGE_INTEGER, + pub BeyondFinalZero: LARGE_INTEGER, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_ZERO_DATA_INFORMATION_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ZERO_DATA_INFORMATION_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ZERO_DATA_INFORMATION_EX>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_ZERO_DATA_INFORMATION_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ZERO_DATA_INFORMATION_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ZERO_DATA_INFORMATION_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION_EX), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeyondFinalZero) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION_EX), + "::", + stringify!(BeyondFinalZero) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ZERO_DATA_INFORMATION_EX), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_ZERO_DATA_INFORMATION_EX = _FILE_ZERO_DATA_INFORMATION_EX; +pub type PFILE_ZERO_DATA_INFORMATION_EX = *mut _FILE_ZERO_DATA_INFORMATION_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_ALLOCATED_RANGE_BUFFER { + pub FileOffset: LARGE_INTEGER, + pub Length: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__FILE_ALLOCATED_RANGE_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_ALLOCATED_RANGE_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_ALLOCATED_RANGE_BUFFER>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_ALLOCATED_RANGE_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_ALLOCATED_RANGE_BUFFER>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_ALLOCATED_RANGE_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ALLOCATED_RANGE_BUFFER), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_ALLOCATED_RANGE_BUFFER), + "::", + stringify!(Length) + ) + ); +} +pub type FILE_ALLOCATED_RANGE_BUFFER = _FILE_ALLOCATED_RANGE_BUFFER; +pub type PFILE_ALLOCATED_RANGE_BUFFER = *mut _FILE_ALLOCATED_RANGE_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_BUFFER { + pub EncryptionOperation: DWORD, + pub Private: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__ENCRYPTION_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_BUFFER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_BUFFER>(), + 8usize, + concat!("Size of: ", stringify!(_ENCRYPTION_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionOperation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_BUFFER), + "::", + stringify!(EncryptionOperation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Private) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_BUFFER), + "::", + stringify!(Private) + ) + ); +} +pub type ENCRYPTION_BUFFER = _ENCRYPTION_BUFFER; +pub type PENCRYPTION_BUFFER = *mut _ENCRYPTION_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DECRYPTION_STATUS_BUFFER { + pub NoEncryptedStreams: BOOLEAN, +} +#[test] +fn bindgen_test_layout__DECRYPTION_STATUS_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_DECRYPTION_STATUS_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DECRYPTION_STATUS_BUFFER>(), + 1usize, + concat!("Size of: ", stringify!(_DECRYPTION_STATUS_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_DECRYPTION_STATUS_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_DECRYPTION_STATUS_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NoEncryptedStreams) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DECRYPTION_STATUS_BUFFER), + "::", + stringify!(NoEncryptedStreams) + ) + ); +} +pub type DECRYPTION_STATUS_BUFFER = _DECRYPTION_STATUS_BUFFER; +pub type PDECRYPTION_STATUS_BUFFER = *mut _DECRYPTION_STATUS_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REQUEST_RAW_ENCRYPTED_DATA { + pub FileOffset: LONGLONG, + pub Length: DWORD, +} +#[test] +fn bindgen_test_layout__REQUEST_RAW_ENCRYPTED_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_REQUEST_RAW_ENCRYPTED_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REQUEST_RAW_ENCRYPTED_DATA>(), + 16usize, + concat!("Size of: ", stringify!(_REQUEST_RAW_ENCRYPTED_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_REQUEST_RAW_ENCRYPTED_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_REQUEST_RAW_ENCRYPTED_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_RAW_ENCRYPTED_DATA), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_RAW_ENCRYPTED_DATA), + "::", + stringify!(Length) + ) + ); +} +pub type REQUEST_RAW_ENCRYPTED_DATA = _REQUEST_RAW_ENCRYPTED_DATA; +pub type PREQUEST_RAW_ENCRYPTED_DATA = *mut _REQUEST_RAW_ENCRYPTED_DATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTED_DATA_INFO { + pub StartingFileOffset: DWORDLONG, + pub OutputBufferOffset: DWORD, + pub BytesWithinFileSize: DWORD, + pub BytesWithinValidDataLength: DWORD, + pub CompressionFormat: WORD, + pub DataUnitShift: BYTE, + pub ChunkShift: BYTE, + pub ClusterShift: BYTE, + pub EncryptionFormat: BYTE, + pub NumberOfDataBlocks: WORD, + pub DataBlockSize: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__ENCRYPTED_DATA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTED_DATA_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTED_DATA_INFO>(), + 32usize, + concat!("Size of: ", stringify!(_ENCRYPTED_DATA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTED_DATA_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTED_DATA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingFileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(StartingFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OutputBufferOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(OutputBufferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesWithinFileSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(BytesWithinFileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesWithinValidDataLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(BytesWithinValidDataLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionFormat) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(CompressionFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataUnitShift) as usize - ptr as usize }, + 22usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(DataUnitShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChunkShift) as usize - ptr as usize }, + 23usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(ChunkShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterShift) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(ClusterShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EncryptionFormat) as usize - ptr as usize }, + 25usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(EncryptionFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDataBlocks) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(NumberOfDataBlocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataBlockSize) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTED_DATA_INFO), + "::", + stringify!(DataBlockSize) + ) + ); +} +pub type ENCRYPTED_DATA_INFO = _ENCRYPTED_DATA_INFO; +pub type PENCRYPTED_DATA_INFO = *mut _ENCRYPTED_DATA_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _EXTENDED_ENCRYPTED_DATA_INFO { + pub ExtendedCode: DWORD, + pub Length: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__EXTENDED_ENCRYPTED_DATA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_EXTENDED_ENCRYPTED_DATA_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_EXTENDED_ENCRYPTED_DATA_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_EXTENDED_ENCRYPTED_DATA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_EXTENDED_ENCRYPTED_DATA_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_EXTENDED_ENCRYPTED_DATA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtendedCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), + "::", + stringify!(ExtendedCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_EXTENDED_ENCRYPTED_DATA_INFO), + "::", + stringify!(Reserved) + ) + ); +} +pub type EXTENDED_ENCRYPTED_DATA_INFO = _EXTENDED_ENCRYPTED_DATA_INFO; +pub type PEXTENDED_ENCRYPTED_DATA_INFO = *mut _EXTENDED_ENCRYPTED_DATA_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PLEX_READ_DATA_REQUEST { + pub ByteOffset: LARGE_INTEGER, + pub ByteLength: DWORD, + pub PlexNumber: DWORD, +} +#[test] +fn bindgen_test_layout__PLEX_READ_DATA_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_PLEX_READ_DATA_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PLEX_READ_DATA_REQUEST>(), + 16usize, + concat!("Size of: ", stringify!(_PLEX_READ_DATA_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_PLEX_READ_DATA_REQUEST>(), + 8usize, + concat!("Alignment of ", stringify!(_PLEX_READ_DATA_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PLEX_READ_DATA_REQUEST), + "::", + stringify!(ByteOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PLEX_READ_DATA_REQUEST), + "::", + stringify!(ByteLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PlexNumber) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PLEX_READ_DATA_REQUEST), + "::", + stringify!(PlexNumber) + ) + ); +} +pub type PLEX_READ_DATA_REQUEST = _PLEX_READ_DATA_REQUEST; +pub type PPLEX_READ_DATA_REQUEST = *mut _PLEX_READ_DATA_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SI_COPYFILE { + pub SourceFileNameLength: DWORD, + pub DestinationFileNameLength: DWORD, + pub Flags: DWORD, + pub FileNameBuffer: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__SI_COPYFILE() { + const UNINIT: ::std::mem::MaybeUninit<_SI_COPYFILE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SI_COPYFILE>(), + 16usize, + concat!("Size of: ", stringify!(_SI_COPYFILE)) + ); + assert_eq!( + ::std::mem::align_of::<_SI_COPYFILE>(), + 4usize, + concat!("Alignment of ", stringify!(_SI_COPYFILE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileNameLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SI_COPYFILE), + "::", + stringify!(SourceFileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestinationFileNameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SI_COPYFILE), + "::", + stringify!(DestinationFileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SI_COPYFILE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameBuffer) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SI_COPYFILE), + "::", + stringify!(FileNameBuffer) + ) + ); +} +pub type SI_COPYFILE = _SI_COPYFILE; +pub type PSI_COPYFILE = *mut _SI_COPYFILE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_MAKE_COMPATIBLE_BUFFER { + pub CloseDisc: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_MAKE_COMPATIBLE_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_MAKE_COMPATIBLE_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_MAKE_COMPATIBLE_BUFFER>(), + 1usize, + concat!("Size of: ", stringify!(_FILE_MAKE_COMPATIBLE_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_MAKE_COMPATIBLE_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_MAKE_COMPATIBLE_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CloseDisc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_MAKE_COMPATIBLE_BUFFER), + "::", + stringify!(CloseDisc) + ) + ); +} +pub type FILE_MAKE_COMPATIBLE_BUFFER = _FILE_MAKE_COMPATIBLE_BUFFER; +pub type PFILE_MAKE_COMPATIBLE_BUFFER = *mut _FILE_MAKE_COMPATIBLE_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_SET_DEFECT_MGMT_BUFFER { + pub Disable: BOOLEAN, +} +#[test] +fn bindgen_test_layout__FILE_SET_DEFECT_MGMT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_SET_DEFECT_MGMT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_SET_DEFECT_MGMT_BUFFER>(), + 1usize, + concat!("Size of: ", stringify!(_FILE_SET_DEFECT_MGMT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_SET_DEFECT_MGMT_BUFFER>(), + 1usize, + concat!("Alignment of ", stringify!(_FILE_SET_DEFECT_MGMT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Disable) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SET_DEFECT_MGMT_BUFFER), + "::", + stringify!(Disable) + ) + ); +} +pub type FILE_SET_DEFECT_MGMT_BUFFER = _FILE_SET_DEFECT_MGMT_BUFFER; +pub type PFILE_SET_DEFECT_MGMT_BUFFER = *mut _FILE_SET_DEFECT_MGMT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_QUERY_SPARING_BUFFER { + pub SparingUnitBytes: DWORD, + pub SoftwareSparing: BOOLEAN, + pub TotalSpareBlocks: DWORD, + pub FreeSpareBlocks: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_QUERY_SPARING_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_QUERY_SPARING_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_QUERY_SPARING_BUFFER>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_QUERY_SPARING_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_QUERY_SPARING_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_QUERY_SPARING_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SparingUnitBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_SPARING_BUFFER), + "::", + stringify!(SparingUnitBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SoftwareSparing) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_SPARING_BUFFER), + "::", + stringify!(SoftwareSparing) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalSpareBlocks) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_SPARING_BUFFER), + "::", + stringify!(TotalSpareBlocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeSpareBlocks) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_SPARING_BUFFER), + "::", + stringify!(FreeSpareBlocks) + ) + ); +} +pub type FILE_QUERY_SPARING_BUFFER = _FILE_QUERY_SPARING_BUFFER; +pub type PFILE_QUERY_SPARING_BUFFER = *mut _FILE_QUERY_SPARING_BUFFER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_QUERY_ON_DISK_VOL_INFO_BUFFER { + pub DirectoryCount: LARGE_INTEGER, + pub FileCount: LARGE_INTEGER, + pub FsFormatMajVersion: WORD, + pub FsFormatMinVersion: WORD, + pub FsFormatName: [WCHAR; 12usize], + pub FormatTime: LARGE_INTEGER, + pub LastUpdateTime: LARGE_INTEGER, + pub CopyrightInfo: [WCHAR; 34usize], + pub AbstractInfo: [WCHAR; 34usize], + pub FormattingImplementationInfo: [WCHAR; 34usize], + pub LastModifyingImplementationInfo: [WCHAR; 34usize], +} +#[test] +fn bindgen_test_layout__FILE_QUERY_ON_DISK_VOL_INFO_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>(), + 336usize, + concat!("Size of: ", stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DirectoryCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(DirectoryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FileCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FsFormatMajVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FsFormatMajVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FsFormatMinVersion) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FsFormatMinVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FsFormatName) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FsFormatName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FormatTime) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FormatTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastUpdateTime) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(LastUpdateTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyrightInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(CopyrightInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AbstractInfo) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(AbstractInfo) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).FormattingImplementationInfo) as usize - ptr as usize + }, + 200usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(FormattingImplementationInfo) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).LastModifyingImplementationInfo) as usize - ptr as usize + }, + 268usize, + concat!( + "Offset of field: ", + stringify!(_FILE_QUERY_ON_DISK_VOL_INFO_BUFFER), + "::", + stringify!(LastModifyingImplementationInfo) + ) + ); +} +pub type FILE_QUERY_ON_DISK_VOL_INFO_BUFFER = _FILE_QUERY_ON_DISK_VOL_INFO_BUFFER; +pub type PFILE_QUERY_ON_DISK_VOL_INFO_BUFFER = *mut _FILE_QUERY_ON_DISK_VOL_INFO_BUFFER; +pub type CLSN = DWORDLONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_INITIATE_REPAIR_OUTPUT_BUFFER { + pub Hint1: DWORDLONG, + pub Hint2: DWORDLONG, + pub Clsn: CLSN, + pub Status: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_INITIATE_REPAIR_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER>(), + 32usize, + concat!("Size of: ", stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_INITIATE_REPAIR_OUTPUT_BUFFER>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hint1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), + "::", + stringify!(Hint1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hint2) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), + "::", + stringify!(Hint2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), + "::", + stringify!(Clsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_INITIATE_REPAIR_OUTPUT_BUFFER), + "::", + stringify!(Status) + ) + ); +} +pub type FILE_INITIATE_REPAIR_OUTPUT_BUFFER = _FILE_INITIATE_REPAIR_OUTPUT_BUFFER; +pub type PFILE_INITIATE_REPAIR_OUTPUT_BUFFER = *mut _FILE_INITIATE_REPAIR_OUTPUT_BUFFER; +pub const _SHRINK_VOLUME_REQUEST_TYPES_ShrinkPrepare: _SHRINK_VOLUME_REQUEST_TYPES = 1; +pub const _SHRINK_VOLUME_REQUEST_TYPES_ShrinkCommit: _SHRINK_VOLUME_REQUEST_TYPES = 2; +pub const _SHRINK_VOLUME_REQUEST_TYPES_ShrinkAbort: _SHRINK_VOLUME_REQUEST_TYPES = 3; +pub type _SHRINK_VOLUME_REQUEST_TYPES = ::std::os::raw::c_int; +pub use self::_SHRINK_VOLUME_REQUEST_TYPES as SHRINK_VOLUME_REQUEST_TYPES; +pub type PSHRINK_VOLUME_REQUEST_TYPES = *mut _SHRINK_VOLUME_REQUEST_TYPES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SHRINK_VOLUME_INFORMATION { + pub ShrinkRequestType: SHRINK_VOLUME_REQUEST_TYPES, + pub Flags: DWORDLONG, + pub NewNumberOfSectors: LONGLONG, +} +#[test] +fn bindgen_test_layout__SHRINK_VOLUME_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_SHRINK_VOLUME_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SHRINK_VOLUME_INFORMATION>(), + 24usize, + concat!("Size of: ", stringify!(_SHRINK_VOLUME_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_SHRINK_VOLUME_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_SHRINK_VOLUME_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShrinkRequestType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SHRINK_VOLUME_INFORMATION), + "::", + stringify!(ShrinkRequestType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SHRINK_VOLUME_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewNumberOfSectors) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SHRINK_VOLUME_INFORMATION), + "::", + stringify!(NewNumberOfSectors) + ) + ); +} +pub type SHRINK_VOLUME_INFORMATION = _SHRINK_VOLUME_INFORMATION; +pub type PSHRINK_VOLUME_INFORMATION = *mut _SHRINK_VOLUME_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_MODIFY_RM { + pub Flags: DWORD, + pub LogContainerCountMax: DWORD, + pub LogContainerCountMin: DWORD, + pub LogContainerCount: DWORD, + pub LogGrowthIncrement: DWORD, + pub LogAutoShrinkPercentage: DWORD, + pub Reserved: DWORDLONG, + pub LoggingMode: WORD, +} +#[test] +fn bindgen_test_layout__TXFS_MODIFY_RM() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_MODIFY_RM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_MODIFY_RM>(), + 40usize, + concat!("Size of: ", stringify!(_TXFS_MODIFY_RM)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_MODIFY_RM>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_MODIFY_RM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMax) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogContainerCountMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogContainerCountMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCount) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogContainerCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogGrowthIncrement) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogGrowthIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAutoShrinkPercentage) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LogAutoShrinkPercentage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoggingMode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_MODIFY_RM), + "::", + stringify!(LoggingMode) + ) + ); +} +pub type TXFS_MODIFY_RM = _TXFS_MODIFY_RM; +pub type PTXFS_MODIFY_RM = *mut _TXFS_MODIFY_RM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TXFS_QUERY_RM_INFORMATION { + pub BytesRequired: DWORD, + pub TailLsn: DWORDLONG, + pub CurrentLsn: DWORDLONG, + pub ArchiveTailLsn: DWORDLONG, + pub LogContainerSize: DWORDLONG, + pub HighestVirtualClock: LARGE_INTEGER, + pub LogContainerCount: DWORD, + pub LogContainerCountMax: DWORD, + pub LogContainerCountMin: DWORD, + pub LogGrowthIncrement: DWORD, + pub LogAutoShrinkPercentage: DWORD, + pub Flags: DWORD, + pub LoggingMode: WORD, + pub Reserved: WORD, + pub RmState: DWORD, + pub LogCapacity: DWORDLONG, + pub LogFree: DWORDLONG, + pub TopsSize: DWORDLONG, + pub TopsUsed: DWORDLONG, + pub TransactionCount: DWORDLONG, + pub OnePCCount: DWORDLONG, + pub TwoPCCount: DWORDLONG, + pub NumberLogFileFull: DWORDLONG, + pub OldestTransactionAge: DWORDLONG, + pub RMName: GUID, + pub TmLogPathOffset: DWORD, +} +#[test] +fn bindgen_test_layout__TXFS_QUERY_RM_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_QUERY_RM_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_QUERY_RM_INFORMATION>(), + 176usize, + concat!("Size of: ", stringify!(_TXFS_QUERY_RM_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_QUERY_RM_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_QUERY_RM_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BytesRequired) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(BytesRequired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TailLsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TailLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentLsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(CurrentLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ArchiveTailLsn) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(ArchiveTailLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogContainerSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighestVirtualClock) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(HighestVirtualClock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCount) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogContainerCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMax) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogContainerCountMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMin) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogContainerCountMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogGrowthIncrement) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogGrowthIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAutoShrinkPercentage) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogAutoShrinkPercentage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoggingMode) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LoggingMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 74usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RmState) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(RmState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogCapacity) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogFree) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(LogFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TopsSize) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TopsSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TopsUsed) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TopsUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionCount) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TransactionCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnePCCount) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(OnePCCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TwoPCCount) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TwoPCCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberLogFileFull) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(NumberLogFileFull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OldestTransactionAge) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(OldestTransactionAge) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RMName) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(RMName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmLogPathOffset) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_QUERY_RM_INFORMATION), + "::", + stringify!(TmLogPathOffset) + ) + ); +} +pub type TXFS_QUERY_RM_INFORMATION = _TXFS_QUERY_RM_INFORMATION; +pub type PTXFS_QUERY_RM_INFORMATION = *mut _TXFS_QUERY_RM_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TXFS_ROLLFORWARD_REDO_INFORMATION { + pub LastVirtualClock: LARGE_INTEGER, + pub LastRedoLsn: DWORDLONG, + pub HighestRecoveryLsn: DWORDLONG, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__TXFS_ROLLFORWARD_REDO_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_ROLLFORWARD_REDO_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_ROLLFORWARD_REDO_INFORMATION>(), + 32usize, + concat!("Size of: ", stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_ROLLFORWARD_REDO_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastVirtualClock) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), + "::", + stringify!(LastVirtualClock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastRedoLsn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), + "::", + stringify!(LastRedoLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighestRecoveryLsn) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), + "::", + stringify!(HighestRecoveryLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_ROLLFORWARD_REDO_INFORMATION), + "::", + stringify!(Flags) + ) + ); +} +pub type TXFS_ROLLFORWARD_REDO_INFORMATION = _TXFS_ROLLFORWARD_REDO_INFORMATION; +pub type PTXFS_ROLLFORWARD_REDO_INFORMATION = *mut _TXFS_ROLLFORWARD_REDO_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_START_RM_INFORMATION { + pub Flags: DWORD, + pub LogContainerSize: DWORDLONG, + pub LogContainerCountMin: DWORD, + pub LogContainerCountMax: DWORD, + pub LogGrowthIncrement: DWORD, + pub LogAutoShrinkPercentage: DWORD, + pub TmLogPathOffset: DWORD, + pub TmLogPathLength: WORD, + pub LoggingMode: WORD, + pub LogPathLength: WORD, + pub Reserved: WORD, + pub LogPath: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__TXFS_START_RM_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_START_RM_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_START_RM_INFORMATION>(), + 48usize, + concat!("Size of: ", stringify!(_TXFS_START_RM_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_START_RM_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_START_RM_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogContainerSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMin) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogContainerCountMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogContainerCountMax) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogContainerCountMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogGrowthIncrement) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogGrowthIncrement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAutoShrinkPercentage) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogAutoShrinkPercentage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmLogPathOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(TmLogPathOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TmLogPathLength) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(TmLogPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoggingMode) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LoggingMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogPathLength) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogPathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogPath) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_START_RM_INFORMATION), + "::", + stringify!(LogPath) + ) + ); +} +pub type TXFS_START_RM_INFORMATION = _TXFS_START_RM_INFORMATION; +pub type PTXFS_START_RM_INFORMATION = *mut _TXFS_START_RM_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_GET_METADATA_INFO_OUT { + pub TxfFileId: _TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1, + pub LockingTransaction: GUID, + pub LastLsn: DWORDLONG, + pub TransactionState: DWORD, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1 { + pub LowPart: LONGLONG, + pub HighPart: LONGLONG, +} +#[test] +fn bindgen_test_layout__TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LowPart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1), + "::", + stringify!(LowPart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HighPart) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT__bindgen_ty_1), + "::", + stringify!(HighPart) + ) + ); +} +#[test] +fn bindgen_test_layout__TXFS_GET_METADATA_INFO_OUT() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_GET_METADATA_INFO_OUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_GET_METADATA_INFO_OUT>(), + 48usize, + concat!("Size of: ", stringify!(_TXFS_GET_METADATA_INFO_OUT)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_GET_METADATA_INFO_OUT>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_GET_METADATA_INFO_OUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TxfFileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT), + "::", + stringify!(TxfFileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockingTransaction) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT), + "::", + stringify!(LockingTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastLsn) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT), + "::", + stringify!(LastLsn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionState) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_METADATA_INFO_OUT), + "::", + stringify!(TransactionState) + ) + ); +} +pub type TXFS_GET_METADATA_INFO_OUT = _TXFS_GET_METADATA_INFO_OUT; +pub type PTXFS_GET_METADATA_INFO_OUT = *mut _TXFS_GET_METADATA_INFO_OUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY { + pub Offset: DWORDLONG, + pub NameFlags: DWORD, + pub FileId: LONGLONG, + pub Reserved1: DWORD, + pub Reserved2: DWORD, + pub Reserved3: LONGLONG, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>(), + 48usize, + concat!( + "Size of: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NameFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(NameFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(Reserved3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY), + "::", + stringify!(FileName) + ) + ); +} +pub type TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY = _TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY; +pub type PTXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY = *mut _TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_LIST_TRANSACTION_LOCKED_FILES { + pub KtmTransaction: GUID, + pub NumberOfFiles: DWORDLONG, + pub BufferSizeRequired: DWORDLONG, + pub Offset: DWORDLONG, +} +#[test] +fn bindgen_test_layout__TXFS_LIST_TRANSACTION_LOCKED_FILES() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_LIST_TRANSACTION_LOCKED_FILES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_LIST_TRANSACTION_LOCKED_FILES>(), + 40usize, + concat!("Size of: ", stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_LIST_TRANSACTION_LOCKED_FILES>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KtmTransaction) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), + "::", + stringify!(KtmTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfFiles) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), + "::", + stringify!(NumberOfFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSizeRequired) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), + "::", + stringify!(BufferSizeRequired) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTION_LOCKED_FILES), + "::", + stringify!(Offset) + ) + ); +} +pub type TXFS_LIST_TRANSACTION_LOCKED_FILES = _TXFS_LIST_TRANSACTION_LOCKED_FILES; +pub type PTXFS_LIST_TRANSACTION_LOCKED_FILES = *mut _TXFS_LIST_TRANSACTION_LOCKED_FILES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_LIST_TRANSACTIONS_ENTRY { + pub TransactionId: GUID, + pub TransactionState: DWORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD, + pub Reserved3: LONGLONG, +} +#[test] +fn bindgen_test_layout__TXFS_LIST_TRANSACTIONS_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_LIST_TRANSACTIONS_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_LIST_TRANSACTIONS_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_LIST_TRANSACTIONS_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(TransactionId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransactionState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(TransactionState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved3) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS_ENTRY), + "::", + stringify!(Reserved3) + ) + ); +} +pub type TXFS_LIST_TRANSACTIONS_ENTRY = _TXFS_LIST_TRANSACTIONS_ENTRY; +pub type PTXFS_LIST_TRANSACTIONS_ENTRY = *mut _TXFS_LIST_TRANSACTIONS_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_LIST_TRANSACTIONS { + pub NumberOfTransactions: DWORDLONG, + pub BufferSizeRequired: DWORDLONG, +} +#[test] +fn bindgen_test_layout__TXFS_LIST_TRANSACTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_LIST_TRANSACTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_LIST_TRANSACTIONS>(), + 16usize, + concat!("Size of: ", stringify!(_TXFS_LIST_TRANSACTIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_LIST_TRANSACTIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_LIST_TRANSACTIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTransactions) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS), + "::", + stringify!(NumberOfTransactions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSizeRequired) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_LIST_TRANSACTIONS), + "::", + stringify!(BufferSizeRequired) + ) + ); +} +pub type TXFS_LIST_TRANSACTIONS = _TXFS_LIST_TRANSACTIONS; +pub type PTXFS_LIST_TRANSACTIONS = *mut _TXFS_LIST_TRANSACTIONS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _TXFS_READ_BACKUP_INFORMATION_OUT { + pub __bindgen_anon_1: _TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1 { + pub BufferLength: DWORD, + pub Buffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1), + "::", + stringify!(BufferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT__bindgen_ty_1), + "::", + stringify!(Buffer) + ) + ); +} +#[test] +fn bindgen_test_layout__TXFS_READ_BACKUP_INFORMATION_OUT() { + assert_eq!( + ::std::mem::size_of::<_TXFS_READ_BACKUP_INFORMATION_OUT>(), + 4usize, + concat!("Size of: ", stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_READ_BACKUP_INFORMATION_OUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_TXFS_READ_BACKUP_INFORMATION_OUT) + ) + ); +} +pub type TXFS_READ_BACKUP_INFORMATION_OUT = _TXFS_READ_BACKUP_INFORMATION_OUT; +pub type PTXFS_READ_BACKUP_INFORMATION_OUT = *mut _TXFS_READ_BACKUP_INFORMATION_OUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_WRITE_BACKUP_INFORMATION { + pub Buffer: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__TXFS_WRITE_BACKUP_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_WRITE_BACKUP_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_WRITE_BACKUP_INFORMATION>(), + 1usize, + concat!("Size of: ", stringify!(_TXFS_WRITE_BACKUP_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_WRITE_BACKUP_INFORMATION>(), + 1usize, + concat!("Alignment of ", stringify!(_TXFS_WRITE_BACKUP_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_WRITE_BACKUP_INFORMATION), + "::", + stringify!(Buffer) + ) + ); +} +pub type TXFS_WRITE_BACKUP_INFORMATION = _TXFS_WRITE_BACKUP_INFORMATION; +pub type PTXFS_WRITE_BACKUP_INFORMATION = *mut _TXFS_WRITE_BACKUP_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_GET_TRANSACTED_VERSION { + pub ThisBaseVersion: DWORD, + pub LatestVersion: DWORD, + pub ThisMiniVersion: WORD, + pub FirstMiniVersion: WORD, + pub LatestMiniVersion: WORD, +} +#[test] +fn bindgen_test_layout__TXFS_GET_TRANSACTED_VERSION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_GET_TRANSACTED_VERSION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_GET_TRANSACTED_VERSION>(), + 16usize, + concat!("Size of: ", stringify!(_TXFS_GET_TRANSACTED_VERSION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_GET_TRANSACTED_VERSION>(), + 4usize, + concat!("Alignment of ", stringify!(_TXFS_GET_TRANSACTED_VERSION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisBaseVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(ThisBaseVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LatestVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(LatestVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ThisMiniVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(ThisMiniVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstMiniVersion) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(FirstMiniVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LatestMiniVersion) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_GET_TRANSACTED_VERSION), + "::", + stringify!(LatestMiniVersion) + ) + ); +} +pub type TXFS_GET_TRANSACTED_VERSION = _TXFS_GET_TRANSACTED_VERSION; +pub type PTXFS_GET_TRANSACTED_VERSION = *mut _TXFS_GET_TRANSACTED_VERSION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_SAVEPOINT_INFORMATION { + pub KtmTransaction: HANDLE, + pub ActionCode: DWORD, + pub SavepointId: DWORD, +} +#[test] +fn bindgen_test_layout__TXFS_SAVEPOINT_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_SAVEPOINT_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_SAVEPOINT_INFORMATION>(), + 16usize, + concat!("Size of: ", stringify!(_TXFS_SAVEPOINT_INFORMATION)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_SAVEPOINT_INFORMATION>(), + 8usize, + concat!("Alignment of ", stringify!(_TXFS_SAVEPOINT_INFORMATION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KtmTransaction) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_SAVEPOINT_INFORMATION), + "::", + stringify!(KtmTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ActionCode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_SAVEPOINT_INFORMATION), + "::", + stringify!(ActionCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SavepointId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_SAVEPOINT_INFORMATION), + "::", + stringify!(SavepointId) + ) + ); +} +pub type TXFS_SAVEPOINT_INFORMATION = _TXFS_SAVEPOINT_INFORMATION; +pub type PTXFS_SAVEPOINT_INFORMATION = *mut _TXFS_SAVEPOINT_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_CREATE_MINIVERSION_INFO { + pub StructureVersion: WORD, + pub StructureLength: WORD, + pub BaseVersion: DWORD, + pub MiniVersion: WORD, +} +#[test] +fn bindgen_test_layout__TXFS_CREATE_MINIVERSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_CREATE_MINIVERSION_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_CREATE_MINIVERSION_INFO>(), + 12usize, + concat!("Size of: ", stringify!(_TXFS_CREATE_MINIVERSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_CREATE_MINIVERSION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_TXFS_CREATE_MINIVERSION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_CREATE_MINIVERSION_INFO), + "::", + stringify!(StructureVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_CREATE_MINIVERSION_INFO), + "::", + stringify!(StructureLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BaseVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_CREATE_MINIVERSION_INFO), + "::", + stringify!(BaseVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MiniVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_CREATE_MINIVERSION_INFO), + "::", + stringify!(MiniVersion) + ) + ); +} +pub type TXFS_CREATE_MINIVERSION_INFO = _TXFS_CREATE_MINIVERSION_INFO; +pub type PTXFS_CREATE_MINIVERSION_INFO = *mut _TXFS_CREATE_MINIVERSION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _TXFS_TRANSACTION_ACTIVE_INFO { + pub TransactionsActiveAtSnapshot: BOOLEAN, +} +#[test] +fn bindgen_test_layout__TXFS_TRANSACTION_ACTIVE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_TXFS_TRANSACTION_ACTIVE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_TXFS_TRANSACTION_ACTIVE_INFO>(), + 1usize, + concat!("Size of: ", stringify!(_TXFS_TRANSACTION_ACTIVE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_TXFS_TRANSACTION_ACTIVE_INFO>(), + 1usize, + concat!("Alignment of ", stringify!(_TXFS_TRANSACTION_ACTIVE_INFO)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).TransactionsActiveAtSnapshot) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_TXFS_TRANSACTION_ACTIVE_INFO), + "::", + stringify!(TransactionsActiveAtSnapshot) + ) + ); +} +pub type TXFS_TRANSACTION_ACTIVE_INFO = _TXFS_TRANSACTION_ACTIVE_INFO; +pub type PTXFS_TRANSACTION_ACTIVE_INFO = *mut _TXFS_TRANSACTION_ACTIVE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BOOT_AREA_INFO { + pub BootSectorCount: DWORD, + pub BootSectors: [_BOOT_AREA_INFO__bindgen_ty_1; 2usize], +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BOOT_AREA_INFO__bindgen_ty_1 { + pub Offset: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__BOOT_AREA_INFO__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_BOOT_AREA_INFO__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BOOT_AREA_INFO__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_BOOT_AREA_INFO__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_BOOT_AREA_INFO__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_BOOT_AREA_INFO__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BOOT_AREA_INFO__bindgen_ty_1), + "::", + stringify!(Offset) + ) + ); +} +#[test] +fn bindgen_test_layout__BOOT_AREA_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_BOOT_AREA_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BOOT_AREA_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_BOOT_AREA_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_BOOT_AREA_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_BOOT_AREA_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BootSectorCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BOOT_AREA_INFO), + "::", + stringify!(BootSectorCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BootSectors) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BOOT_AREA_INFO), + "::", + stringify!(BootSectors) + ) + ); +} +pub type BOOT_AREA_INFO = _BOOT_AREA_INFO; +pub type PBOOT_AREA_INFO = *mut _BOOT_AREA_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _RETRIEVAL_POINTER_BASE { + pub FileAreaOffset: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__RETRIEVAL_POINTER_BASE() { + const UNINIT: ::std::mem::MaybeUninit<_RETRIEVAL_POINTER_BASE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_RETRIEVAL_POINTER_BASE>(), + 8usize, + concat!("Size of: ", stringify!(_RETRIEVAL_POINTER_BASE)) + ); + assert_eq!( + ::std::mem::align_of::<_RETRIEVAL_POINTER_BASE>(), + 8usize, + concat!("Alignment of ", stringify!(_RETRIEVAL_POINTER_BASE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAreaOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_RETRIEVAL_POINTER_BASE), + "::", + stringify!(FileAreaOffset) + ) + ); +} +pub type RETRIEVAL_POINTER_BASE = _RETRIEVAL_POINTER_BASE; +pub type PRETRIEVAL_POINTER_BASE = *mut _RETRIEVAL_POINTER_BASE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_FS_PERSISTENT_VOLUME_INFORMATION { + pub VolumeFlags: DWORD, + pub FlagMask: DWORD, + pub Version: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_FS_PERSISTENT_VOLUME_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_FS_PERSISTENT_VOLUME_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_FS_PERSISTENT_VOLUME_INFORMATION>(), + 16usize, + concat!( + "Size of: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_FS_PERSISTENT_VOLUME_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), + "::", + stringify!(VolumeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagMask) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), + "::", + stringify!(FlagMask) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_FS_PERSISTENT_VOLUME_INFORMATION), + "::", + stringify!(Reserved) + ) + ); +} +pub type FILE_FS_PERSISTENT_VOLUME_INFORMATION = _FILE_FS_PERSISTENT_VOLUME_INFORMATION; +pub type PFILE_FS_PERSISTENT_VOLUME_INFORMATION = *mut _FILE_FS_PERSISTENT_VOLUME_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_SYSTEM_RECOGNITION_INFORMATION { + pub FileSystem: [CHAR; 9usize], +} +#[test] +fn bindgen_test_layout__FILE_SYSTEM_RECOGNITION_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_SYSTEM_RECOGNITION_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_SYSTEM_RECOGNITION_INFORMATION>(), + 9usize, + concat!( + "Size of: ", + stringify!(_FILE_SYSTEM_RECOGNITION_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_SYSTEM_RECOGNITION_INFORMATION>(), + 1usize, + concat!( + "Alignment of ", + stringify!(_FILE_SYSTEM_RECOGNITION_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileSystem) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_SYSTEM_RECOGNITION_INFORMATION), + "::", + stringify!(FileSystem) + ) + ); +} +pub type FILE_SYSTEM_RECOGNITION_INFORMATION = _FILE_SYSTEM_RECOGNITION_INFORMATION; +pub type PFILE_SYSTEM_RECOGNITION_INFORMATION = *mut _FILE_SYSTEM_RECOGNITION_INFORMATION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REQUEST_OPLOCK_INPUT_BUFFER { + pub StructureVersion: WORD, + pub StructureLength: WORD, + pub RequestedOplockLevel: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__REQUEST_OPLOCK_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_REQUEST_OPLOCK_INPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REQUEST_OPLOCK_INPUT_BUFFER>(), + 12usize, + concat!("Size of: ", stringify!(_REQUEST_OPLOCK_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_REQUEST_OPLOCK_INPUT_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_REQUEST_OPLOCK_INPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), + "::", + stringify!(StructureVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), + "::", + stringify!(StructureLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestedOplockLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), + "::", + stringify!(RequestedOplockLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_INPUT_BUFFER), + "::", + stringify!(Flags) + ) + ); +} +pub type REQUEST_OPLOCK_INPUT_BUFFER = _REQUEST_OPLOCK_INPUT_BUFFER; +pub type PREQUEST_OPLOCK_INPUT_BUFFER = *mut _REQUEST_OPLOCK_INPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REQUEST_OPLOCK_OUTPUT_BUFFER { + pub StructureVersion: WORD, + pub StructureLength: WORD, + pub OriginalOplockLevel: DWORD, + pub NewOplockLevel: DWORD, + pub Flags: DWORD, + pub AccessMode: ACCESS_MASK, + pub ShareMode: WORD, +} +#[test] +fn bindgen_test_layout__REQUEST_OPLOCK_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_REQUEST_OPLOCK_OUTPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REQUEST_OPLOCK_OUTPUT_BUFFER>(), + 24usize, + concat!("Size of: ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_REQUEST_OPLOCK_OUTPUT_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(StructureVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(StructureLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OriginalOplockLevel) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(OriginalOplockLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewOplockLevel) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(NewOplockLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AccessMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(AccessMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShareMode) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REQUEST_OPLOCK_OUTPUT_BUFFER), + "::", + stringify!(ShareMode) + ) + ); +} +pub type REQUEST_OPLOCK_OUTPUT_BUFFER = _REQUEST_OPLOCK_OUTPUT_BUFFER; +pub type PREQUEST_OPLOCK_OUTPUT_BUFFER = *mut _REQUEST_OPLOCK_OUTPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUAL_STORAGE_TYPE { + pub DeviceId: DWORD, + pub VendorId: GUID, +} +#[test] +fn bindgen_test_layout__VIRTUAL_STORAGE_TYPE() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUAL_STORAGE_TYPE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUAL_STORAGE_TYPE>(), + 20usize, + concat!("Size of: ", stringify!(_VIRTUAL_STORAGE_TYPE)) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUAL_STORAGE_TYPE>(), + 4usize, + concat!("Alignment of ", stringify!(_VIRTUAL_STORAGE_TYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUAL_STORAGE_TYPE), + "::", + stringify!(DeviceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VendorId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUAL_STORAGE_TYPE), + "::", + stringify!(VendorId) + ) + ); +} +pub type VIRTUAL_STORAGE_TYPE = _VIRTUAL_STORAGE_TYPE; +pub type PVIRTUAL_STORAGE_TYPE = *mut _VIRTUAL_STORAGE_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST { + pub RequestLevel: DWORD, + pub RequestFlags: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST), + "::", + stringify!(RequestLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST), + "::", + stringify!(RequestFlags) + ) + ); +} +pub type STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST = _STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST; +pub type PSTORAGE_QUERY_DEPENDENT_VOLUME_REQUEST = *mut _STORAGE_QUERY_DEPENDENT_VOLUME_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY { + pub EntryLength: DWORD, + pub DependencyTypeFlags: DWORD, + pub ProviderSpecificFlags: DWORD, + pub VirtualStorageType: VIRTUAL_STORAGE_TYPE, +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY>(), + 32usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), + "::", + stringify!(EntryLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependencyTypeFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), + "::", + stringify!(DependencyTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderSpecificFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), + "::", + stringify!(ProviderSpecificFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualStorageType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY), + "::", + stringify!(VirtualStorageType) + ) + ); +} +pub type STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY = _STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY; +pub type PSTORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY = + *mut _STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY { + pub EntryLength: DWORD, + pub DependencyTypeFlags: DWORD, + pub ProviderSpecificFlags: DWORD, + pub VirtualStorageType: VIRTUAL_STORAGE_TYPE, + pub AncestorLevel: DWORD, + pub HostVolumeNameOffset: DWORD, + pub HostVolumeNameSize: DWORD, + pub DependentVolumeNameOffset: DWORD, + pub DependentVolumeNameSize: DWORD, + pub RelativePathOffset: DWORD, + pub RelativePathSize: DWORD, + pub DependentDeviceNameOffset: DWORD, + pub DependentDeviceNameSize: DWORD, +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>(), + 68usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EntryLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(EntryLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependencyTypeFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependencyTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderSpecificFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(ProviderSpecificFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualStorageType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(VirtualStorageType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AncestorLevel) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(AncestorLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HostVolumeNameOffset) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(HostVolumeNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HostVolumeNameSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(HostVolumeNameSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentVolumeNameOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependentVolumeNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentVolumeNameSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependentVolumeNameSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RelativePathOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(RelativePathOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RelativePathSize) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(RelativePathSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentDeviceNameOffset) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependentDeviceNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DependentDeviceNameSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY), + "::", + stringify!(DependentDeviceNameSize) + ) + ); +} +pub type STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY = _STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY; +pub type PSTORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY = + *mut _STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY; +#[repr(C)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE { + pub ResponseLevel: DWORD, + pub NumberEntries: DWORD, + pub __bindgen_anon_1: _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1, +} +#[repr(C)] +pub struct _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1 { + pub Lev1Depends: __BindgenUnionField<[STORAGE_QUERY_DEPENDENT_VOLUME_LEV1_ENTRY; 0usize]>, + pub Lev2Depends: __BindgenUnionField<[STORAGE_QUERY_DEPENDENT_VOLUME_LEV2_ENTRY; 0usize]>, + pub bindgen_union_field: u32, +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lev1Depends) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1), + "::", + stringify!(Lev1Depends) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lev2Depends) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE__bindgen_ty_1), + "::", + stringify!(Lev2Depends) + ) + ); +} +#[test] +fn bindgen_test_layout__STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE() { + const UNINIT: ::std::mem::MaybeUninit<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResponseLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE), + "::", + stringify!(ResponseLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberEntries) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE), + "::", + stringify!(NumberEntries) + ) + ); +} +pub type STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE = _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE; +pub type PSTORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE = *mut _STORAGE_QUERY_DEPENDENT_VOLUME_RESPONSE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_CHANGE_MACHINE_SID_INPUT { + pub CurrentMachineSIDOffset: WORD, + pub CurrentMachineSIDLength: WORD, + pub NewMachineSIDOffset: WORD, + pub NewMachineSIDLength: WORD, +} +#[test] +fn bindgen_test_layout__SD_CHANGE_MACHINE_SID_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_CHANGE_MACHINE_SID_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_CHANGE_MACHINE_SID_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_SD_CHANGE_MACHINE_SID_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_CHANGE_MACHINE_SID_INPUT>(), + 2usize, + concat!("Alignment of ", stringify!(_SD_CHANGE_MACHINE_SID_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentMachineSIDOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_INPUT), + "::", + stringify!(CurrentMachineSIDOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CurrentMachineSIDLength) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_INPUT), + "::", + stringify!(CurrentMachineSIDLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewMachineSIDOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_INPUT), + "::", + stringify!(NewMachineSIDOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NewMachineSIDLength) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_INPUT), + "::", + stringify!(NewMachineSIDLength) + ) + ); +} +pub type SD_CHANGE_MACHINE_SID_INPUT = _SD_CHANGE_MACHINE_SID_INPUT; +pub type PSD_CHANGE_MACHINE_SID_INPUT = *mut _SD_CHANGE_MACHINE_SID_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_CHANGE_MACHINE_SID_OUTPUT { + pub NumSDChangedSuccess: DWORDLONG, + pub NumSDChangedFail: DWORDLONG, + pub NumSDUnused: DWORDLONG, + pub NumSDTotal: DWORDLONG, + pub NumMftSDChangedSuccess: DWORDLONG, + pub NumMftSDChangedFail: DWORDLONG, + pub NumMftSDTotal: DWORDLONG, +} +#[test] +fn bindgen_test_layout__SD_CHANGE_MACHINE_SID_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_CHANGE_MACHINE_SID_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_CHANGE_MACHINE_SID_OUTPUT>(), + 56usize, + concat!("Size of: ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_CHANGE_MACHINE_SID_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDChangedSuccess) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumSDChangedSuccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDChangedFail) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumSDChangedFail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDUnused) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumSDUnused) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDTotal) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumSDTotal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumMftSDChangedSuccess) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumMftSDChangedSuccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumMftSDChangedFail) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumMftSDChangedFail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumMftSDTotal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SD_CHANGE_MACHINE_SID_OUTPUT), + "::", + stringify!(NumMftSDTotal) + ) + ); +} +pub type SD_CHANGE_MACHINE_SID_OUTPUT = _SD_CHANGE_MACHINE_SID_OUTPUT; +pub type PSD_CHANGE_MACHINE_SID_OUTPUT = *mut _SD_CHANGE_MACHINE_SID_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_QUERY_STATS_INPUT { + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__SD_QUERY_STATS_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_QUERY_STATS_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_QUERY_STATS_INPUT>(), + 4usize, + concat!("Size of: ", stringify!(_SD_QUERY_STATS_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_QUERY_STATS_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SD_QUERY_STATS_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_INPUT), + "::", + stringify!(Reserved) + ) + ); +} +pub type SD_QUERY_STATS_INPUT = _SD_QUERY_STATS_INPUT; +pub type PSD_QUERY_STATS_INPUT = *mut _SD_QUERY_STATS_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_QUERY_STATS_OUTPUT { + pub SdsStreamSize: DWORDLONG, + pub SdsAllocationSize: DWORDLONG, + pub SiiStreamSize: DWORDLONG, + pub SiiAllocationSize: DWORDLONG, + pub SdhStreamSize: DWORDLONG, + pub SdhAllocationSize: DWORDLONG, + pub NumSDTotal: DWORDLONG, + pub NumSDUnused: DWORDLONG, +} +#[test] +fn bindgen_test_layout__SD_QUERY_STATS_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_QUERY_STATS_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_QUERY_STATS_OUTPUT>(), + 64usize, + concat!("Size of: ", stringify!(_SD_QUERY_STATS_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_QUERY_STATS_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_QUERY_STATS_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdsStreamSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SdsStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdsAllocationSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SdsAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SiiStreamSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SiiStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SiiAllocationSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SiiAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdhStreamSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SdhStreamSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdhAllocationSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(SdhAllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDTotal) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(NumSDTotal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDUnused) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_SD_QUERY_STATS_OUTPUT), + "::", + stringify!(NumSDUnused) + ) + ); +} +pub type SD_QUERY_STATS_OUTPUT = _SD_QUERY_STATS_OUTPUT; +pub type PSD_QUERY_STATS_OUTPUT = *mut _SD_QUERY_STATS_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_ENUM_SDS_INPUT { + pub StartingOffset: DWORDLONG, + pub MaxSDEntriesToReturn: DWORDLONG, +} +#[test] +fn bindgen_test_layout__SD_ENUM_SDS_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_ENUM_SDS_INPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_ENUM_SDS_INPUT>(), + 16usize, + concat!("Size of: ", stringify!(_SD_ENUM_SDS_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_ENUM_SDS_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_ENUM_SDS_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_INPUT), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSDEntriesToReturn) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_INPUT), + "::", + stringify!(MaxSDEntriesToReturn) + ) + ); +} +pub type SD_ENUM_SDS_INPUT = _SD_ENUM_SDS_INPUT; +pub type PSD_ENUM_SDS_INPUT = *mut _SD_ENUM_SDS_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_ENUM_SDS_ENTRY { + pub Hash: DWORD, + pub SecurityId: DWORD, + pub Offset: DWORDLONG, + pub Length: DWORD, + pub Descriptor: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SD_ENUM_SDS_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_SD_ENUM_SDS_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_ENUM_SDS_ENTRY>(), + 24usize, + concat!("Size of: ", stringify!(_SD_ENUM_SDS_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_ENUM_SDS_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_ENUM_SDS_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(Hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(SecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Descriptor) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_ENTRY), + "::", + stringify!(Descriptor) + ) + ); +} +pub type SD_ENUM_SDS_ENTRY = _SD_ENUM_SDS_ENTRY; +pub type PSD_ENUM_SDS_ENTRY = *mut _SD_ENUM_SDS_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SD_ENUM_SDS_OUTPUT { + pub NextOffset: DWORDLONG, + pub NumSDEntriesReturned: DWORDLONG, + pub NumSDBytesReturned: DWORDLONG, + pub SDEntry: [SD_ENUM_SDS_ENTRY; 1usize], +} +#[test] +fn bindgen_test_layout__SD_ENUM_SDS_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_ENUM_SDS_OUTPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_ENUM_SDS_OUTPUT>(), + 48usize, + concat!("Size of: ", stringify!(_SD_ENUM_SDS_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_ENUM_SDS_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_ENUM_SDS_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_OUTPUT), + "::", + stringify!(NextOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDEntriesReturned) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_OUTPUT), + "::", + stringify!(NumSDEntriesReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumSDBytesReturned) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_OUTPUT), + "::", + stringify!(NumSDBytesReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SDEntry) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SD_ENUM_SDS_OUTPUT), + "::", + stringify!(SDEntry) + ) + ); +} +pub type SD_ENUM_SDS_OUTPUT = _SD_ENUM_SDS_OUTPUT; +pub type PSD_ENUM_SDS_OUTPUT = *mut _SD_ENUM_SDS_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SD_GLOBAL_CHANGE_INPUT { + pub Flags: DWORD, + pub ChangeType: DWORD, + pub __bindgen_anon_1: _SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1 { + pub SdChange: SD_CHANGE_MACHINE_SID_INPUT, + pub SdQueryStats: SD_QUERY_STATS_INPUT, + pub SdEnumSds: SD_ENUM_SDS_INPUT, +} +#[test] +fn bindgen_test_layout__SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdChange) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1), + "::", + stringify!(SdChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdQueryStats) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1), + "::", + stringify!(SdQueryStats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdEnumSds) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT__bindgen_ty_1), + "::", + stringify!(SdEnumSds) + ) + ); +} +#[test] +fn bindgen_test_layout__SD_GLOBAL_CHANGE_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_GLOBAL_CHANGE_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_GLOBAL_CHANGE_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_SD_GLOBAL_CHANGE_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_GLOBAL_CHANGE_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_GLOBAL_CHANGE_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_INPUT), + "::", + stringify!(ChangeType) + ) + ); +} +pub type SD_GLOBAL_CHANGE_INPUT = _SD_GLOBAL_CHANGE_INPUT; +pub type PSD_GLOBAL_CHANGE_INPUT = *mut _SD_GLOBAL_CHANGE_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SD_GLOBAL_CHANGE_OUTPUT { + pub Flags: DWORD, + pub ChangeType: DWORD, + pub __bindgen_anon_1: _SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1 { + pub SdChange: SD_CHANGE_MACHINE_SID_OUTPUT, + pub SdQueryStats: SD_QUERY_STATS_OUTPUT, + pub SdEnumSds: SD_ENUM_SDS_OUTPUT, +} +#[test] +fn bindgen_test_layout__SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1>(), + 64usize, + concat!( + "Size of: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdChange) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1), + "::", + stringify!(SdChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdQueryStats) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1), + "::", + stringify!(SdQueryStats) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SdEnumSds) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT__bindgen_ty_1), + "::", + stringify!(SdEnumSds) + ) + ); +} +#[test] +fn bindgen_test_layout__SD_GLOBAL_CHANGE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SD_GLOBAL_CHANGE_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SD_GLOBAL_CHANGE_OUTPUT>(), + 72usize, + concat!("Size of: ", stringify!(_SD_GLOBAL_CHANGE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SD_GLOBAL_CHANGE_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_SD_GLOBAL_CHANGE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SD_GLOBAL_CHANGE_OUTPUT), + "::", + stringify!(ChangeType) + ) + ); +} +pub type SD_GLOBAL_CHANGE_OUTPUT = _SD_GLOBAL_CHANGE_OUTPUT; +pub type PSD_GLOBAL_CHANGE_OUTPUT = *mut _SD_GLOBAL_CHANGE_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _LOOKUP_STREAM_FROM_CLUSTER_INPUT { + pub Flags: DWORD, + pub NumberOfClusters: DWORD, + pub Cluster: [LARGE_INTEGER; 1usize], +} +#[test] +fn bindgen_test_layout__LOOKUP_STREAM_FROM_CLUSTER_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_LOOKUP_STREAM_FROM_CLUSTER_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LOOKUP_STREAM_FROM_CLUSTER_INPUT>(), + 16usize, + concat!("Size of: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_LOOKUP_STREAM_FROM_CLUSTER_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfClusters) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT), + "::", + stringify!(NumberOfClusters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cluster) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_INPUT), + "::", + stringify!(Cluster) + ) + ); +} +pub type LOOKUP_STREAM_FROM_CLUSTER_INPUT = _LOOKUP_STREAM_FROM_CLUSTER_INPUT; +pub type PLOOKUP_STREAM_FROM_CLUSTER_INPUT = *mut _LOOKUP_STREAM_FROM_CLUSTER_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LOOKUP_STREAM_FROM_CLUSTER_OUTPUT { + pub Offset: DWORD, + pub NumberOfMatches: DWORD, + pub BufferSizeRequired: DWORD, +} +#[test] +fn bindgen_test_layout__LOOKUP_STREAM_FROM_CLUSTER_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT>(), + 12usize, + concat!("Size of: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfMatches) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT), + "::", + stringify!(NumberOfMatches) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BufferSizeRequired) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_OUTPUT), + "::", + stringify!(BufferSizeRequired) + ) + ); +} +pub type LOOKUP_STREAM_FROM_CLUSTER_OUTPUT = _LOOKUP_STREAM_FROM_CLUSTER_OUTPUT; +pub type PLOOKUP_STREAM_FROM_CLUSTER_OUTPUT = *mut _LOOKUP_STREAM_FROM_CLUSTER_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _LOOKUP_STREAM_FROM_CLUSTER_ENTRY { + pub OffsetToNext: DWORD, + pub Flags: DWORD, + pub Reserved: LARGE_INTEGER, + pub Cluster: LARGE_INTEGER, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__LOOKUP_STREAM_FROM_CLUSTER_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY>(), + 32usize, + concat!("Size of: ", stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_LOOKUP_STREAM_FROM_CLUSTER_ENTRY>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OffsetToNext) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(OffsetToNext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cluster) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(Cluster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_LOOKUP_STREAM_FROM_CLUSTER_ENTRY), + "::", + stringify!(FileName) + ) + ); +} +pub type LOOKUP_STREAM_FROM_CLUSTER_ENTRY = _LOOKUP_STREAM_FROM_CLUSTER_ENTRY; +pub type PLOOKUP_STREAM_FROM_CLUSTER_ENTRY = *mut _LOOKUP_STREAM_FROM_CLUSTER_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_TYPE_NOTIFICATION_INPUT { + pub Flags: DWORD, + pub NumFileTypeIDs: DWORD, + pub FileTypeID: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_TYPE_NOTIFICATION_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_TYPE_NOTIFICATION_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_TYPE_NOTIFICATION_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_TYPE_NOTIFICATION_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_TYPE_NOTIFICATION_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_TYPE_NOTIFICATION_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_TYPE_NOTIFICATION_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumFileTypeIDs) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_TYPE_NOTIFICATION_INPUT), + "::", + stringify!(NumFileTypeIDs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileTypeID) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_TYPE_NOTIFICATION_INPUT), + "::", + stringify!(FileTypeID) + ) + ); +} +pub type FILE_TYPE_NOTIFICATION_INPUT = _FILE_TYPE_NOTIFICATION_INPUT; +pub type PFILE_TYPE_NOTIFICATION_INPUT = *mut _FILE_TYPE_NOTIFICATION_INPUT; +extern "C" { + pub static FILE_TYPE_NOTIFICATION_GUID_PAGE_FILE: GUID; +} +extern "C" { + pub static FILE_TYPE_NOTIFICATION_GUID_HIBERNATION_FILE: GUID; +} +extern "C" { + pub static FILE_TYPE_NOTIFICATION_GUID_CRASHDUMP_FILE: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_MGMT_LOCK { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__CSV_MGMT_LOCK() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_MGMT_LOCK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_MGMT_LOCK>(), + 4usize, + concat!("Size of: ", stringify!(_CSV_MGMT_LOCK)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_MGMT_LOCK>(), + 4usize, + concat!("Alignment of ", stringify!(_CSV_MGMT_LOCK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_MGMT_LOCK), + "::", + stringify!(Flags) + ) + ); +} +pub type CSV_MGMT_LOCK = _CSV_MGMT_LOCK; +pub type PCSV_MGMT_LOCK = *mut _CSV_MGMT_LOCK; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CSV_NAMESPACE_INFO { + pub Version: DWORD, + pub DeviceNumber: DWORD, + pub StartingOffset: LARGE_INTEGER, + pub SectorSize: DWORD, +} +#[test] +fn bindgen_test_layout__CSV_NAMESPACE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_NAMESPACE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_NAMESPACE_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_CSV_NAMESPACE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_NAMESPACE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CSV_NAMESPACE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_NAMESPACE_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CSV_NAMESPACE_INFO), + "::", + stringify!(DeviceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_NAMESPACE_INFO), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SectorSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CSV_NAMESPACE_INFO), + "::", + stringify!(SectorSize) + ) + ); +} +pub type CSV_NAMESPACE_INFO = _CSV_NAMESPACE_INFO; +pub type PCSV_NAMESPACE_INFO = *mut _CSV_NAMESPACE_INFO; +pub const _CSV_CONTROL_OP_CsvControlStartRedirectFile: _CSV_CONTROL_OP = 2; +pub const _CSV_CONTROL_OP_CsvControlStopRedirectFile: _CSV_CONTROL_OP = 3; +pub const _CSV_CONTROL_OP_CsvControlQueryRedirectState: _CSV_CONTROL_OP = 4; +pub const _CSV_CONTROL_OP_CsvControlQueryFileRevision: _CSV_CONTROL_OP = 6; +pub const _CSV_CONTROL_OP_CsvControlQueryMdsPath: _CSV_CONTROL_OP = 8; +pub const _CSV_CONTROL_OP_CsvControlQueryFileRevisionFileId128: _CSV_CONTROL_OP = 9; +pub const _CSV_CONTROL_OP_CsvControlQueryVolumeRedirectState: _CSV_CONTROL_OP = 10; +pub const _CSV_CONTROL_OP_CsvControlEnableUSNRangeModificationTracking: _CSV_CONTROL_OP = 13; +pub const _CSV_CONTROL_OP_CsvControlMarkHandleLocalVolumeMount: _CSV_CONTROL_OP = 14; +pub const _CSV_CONTROL_OP_CsvControlUnmarkHandleLocalVolumeMount: _CSV_CONTROL_OP = 15; +pub const _CSV_CONTROL_OP_CsvControlGetCsvFsMdsPathV2: _CSV_CONTROL_OP = 18; +pub const _CSV_CONTROL_OP_CsvControlDisableCaching: _CSV_CONTROL_OP = 19; +pub const _CSV_CONTROL_OP_CsvControlEnableCaching: _CSV_CONTROL_OP = 20; +pub const _CSV_CONTROL_OP_CsvControlStartForceDFO: _CSV_CONTROL_OP = 21; +pub const _CSV_CONTROL_OP_CsvControlStopForceDFO: _CSV_CONTROL_OP = 22; +pub type _CSV_CONTROL_OP = ::std::os::raw::c_int; +pub use self::_CSV_CONTROL_OP as CSV_CONTROL_OP; +pub type PCSV_CONTROL_OP = *mut _CSV_CONTROL_OP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_CONTROL_PARAM { + pub Operation: CSV_CONTROL_OP, + pub Unused: LONGLONG, +} +#[test] +fn bindgen_test_layout__CSV_CONTROL_PARAM() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_CONTROL_PARAM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_CONTROL_PARAM>(), + 16usize, + concat!("Size of: ", stringify!(_CSV_CONTROL_PARAM)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_CONTROL_PARAM>(), + 8usize, + concat!("Alignment of ", stringify!(_CSV_CONTROL_PARAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Operation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_CONTROL_PARAM), + "::", + stringify!(Operation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_CONTROL_PARAM), + "::", + stringify!(Unused) + ) + ); +} +pub type CSV_CONTROL_PARAM = _CSV_CONTROL_PARAM; +pub type PCSV_CONTROL_PARAM = *mut _CSV_CONTROL_PARAM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_REDIRECT_STATE { + pub MdsNodeId: DWORD, + pub DsNodeId: DWORD, + pub FileRedirected: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CSV_QUERY_REDIRECT_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_REDIRECT_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_REDIRECT_STATE>(), + 12usize, + concat!("Size of: ", stringify!(_CSV_QUERY_REDIRECT_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_REDIRECT_STATE>(), + 4usize, + concat!("Alignment of ", stringify!(_CSV_QUERY_REDIRECT_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MdsNodeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_REDIRECT_STATE), + "::", + stringify!(MdsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DsNodeId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_REDIRECT_STATE), + "::", + stringify!(DsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRedirected) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_REDIRECT_STATE), + "::", + stringify!(FileRedirected) + ) + ); +} +pub type CSV_QUERY_REDIRECT_STATE = _CSV_QUERY_REDIRECT_STATE; +pub type PCSV_QUERY_REDIRECT_STATE = *mut _CSV_QUERY_REDIRECT_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_FILE_REVISION { + pub FileId: LONGLONG, + pub FileRevision: [LONGLONG; 3usize], +} +#[test] +fn bindgen_test_layout__CSV_QUERY_FILE_REVISION() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_FILE_REVISION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_FILE_REVISION>(), + 32usize, + concat!("Size of: ", stringify!(_CSV_QUERY_FILE_REVISION)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_FILE_REVISION>(), + 8usize, + concat!("Alignment of ", stringify!(_CSV_QUERY_FILE_REVISION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_FILE_REVISION), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRevision) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_FILE_REVISION), + "::", + stringify!(FileRevision) + ) + ); +} +pub type CSV_QUERY_FILE_REVISION = _CSV_QUERY_FILE_REVISION; +pub type PCSV_QUERY_FILE_REVISION = *mut _CSV_QUERY_FILE_REVISION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_FILE_REVISION_FILE_ID_128 { + pub FileId: FILE_ID_128, + pub FileRevision: [LONGLONG; 3usize], +} +#[test] +fn bindgen_test_layout__CSV_QUERY_FILE_REVISION_FILE_ID_128() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_FILE_REVISION_FILE_ID_128> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_FILE_REVISION_FILE_ID_128>(), + 40usize, + concat!( + "Size of: ", + stringify!(_CSV_QUERY_FILE_REVISION_FILE_ID_128) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_FILE_REVISION_FILE_ID_128>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CSV_QUERY_FILE_REVISION_FILE_ID_128) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_FILE_REVISION_FILE_ID_128), + "::", + stringify!(FileId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileRevision) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_FILE_REVISION_FILE_ID_128), + "::", + stringify!(FileRevision) + ) + ); +} +pub type CSV_QUERY_FILE_REVISION_FILE_ID_128 = _CSV_QUERY_FILE_REVISION_FILE_ID_128; +pub type PCSV_QUERY_FILE_REVISION_FILE_ID_128 = *mut _CSV_QUERY_FILE_REVISION_FILE_ID_128; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_MDS_PATH { + pub MdsNodeId: DWORD, + pub DsNodeId: DWORD, + pub PathLength: DWORD, + pub Path: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__CSV_QUERY_MDS_PATH() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_MDS_PATH> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_MDS_PATH>(), + 16usize, + concat!("Size of: ", stringify!(_CSV_QUERY_MDS_PATH)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_MDS_PATH>(), + 4usize, + concat!("Alignment of ", stringify!(_CSV_QUERY_MDS_PATH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MdsNodeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH), + "::", + stringify!(MdsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DsNodeId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH), + "::", + stringify!(DsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH), + "::", + stringify!(PathLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Path) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH), + "::", + stringify!(Path) + ) + ); +} +pub type CSV_QUERY_MDS_PATH = _CSV_QUERY_MDS_PATH; +pub type PCSV_QUERY_MDS_PATH = *mut _CSV_QUERY_MDS_PATH; +pub const _CSVFS_DISK_CONNECTIVITY_CsvFsDiskConnectivityNone: _CSVFS_DISK_CONNECTIVITY = 0; +pub const _CSVFS_DISK_CONNECTIVITY_CsvFsDiskConnectivityMdsNodeOnly: _CSVFS_DISK_CONNECTIVITY = 1; +pub const _CSVFS_DISK_CONNECTIVITY_CsvFsDiskConnectivitySubsetOfNodes: _CSVFS_DISK_CONNECTIVITY = 2; +pub const _CSVFS_DISK_CONNECTIVITY_CsvFsDiskConnectivityAllNodes: _CSVFS_DISK_CONNECTIVITY = 3; +pub type _CSVFS_DISK_CONNECTIVITY = ::std::os::raw::c_int; +pub use self::_CSVFS_DISK_CONNECTIVITY as CSVFS_DISK_CONNECTIVITY; +pub type PCSVFS_DISK_CONNECTIVITY = *mut _CSVFS_DISK_CONNECTIVITY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_VOLUME_REDIRECT_STATE { + pub MdsNodeId: DWORD, + pub DsNodeId: DWORD, + pub IsDiskConnected: BOOLEAN, + pub ClusterEnableDirectIo: BOOLEAN, + pub DiskConnectivity: CSVFS_DISK_CONNECTIVITY, +} +#[test] +fn bindgen_test_layout__CSV_QUERY_VOLUME_REDIRECT_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_VOLUME_REDIRECT_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_VOLUME_REDIRECT_STATE>(), + 16usize, + concat!("Size of: ", stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_VOLUME_REDIRECT_STATE>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MdsNodeId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(MdsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DsNodeId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(DsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDiskConnected) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(IsDiskConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterEnableDirectIo) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(ClusterEnableDirectIo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskConnectivity) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VOLUME_REDIRECT_STATE), + "::", + stringify!(DiskConnectivity) + ) + ); +} +pub type CSV_QUERY_VOLUME_REDIRECT_STATE = _CSV_QUERY_VOLUME_REDIRECT_STATE; +pub type PCSV_QUERY_VOLUME_REDIRECT_STATE = *mut _CSV_QUERY_VOLUME_REDIRECT_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_MDS_PATH_V2 { + pub Version: LONGLONG, + pub RequiredSize: DWORD, + pub MdsNodeId: DWORD, + pub DsNodeId: DWORD, + pub Flags: DWORD, + pub DiskConnectivity: CSVFS_DISK_CONNECTIVITY, + pub VolumeId: GUID, + pub IpAddressOffset: DWORD, + pub IpAddressLength: DWORD, + pub PathOffset: DWORD, + pub PathLength: DWORD, +} +#[test] +fn bindgen_test_layout__CSV_QUERY_MDS_PATH_V2() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_MDS_PATH_V2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_MDS_PATH_V2>(), + 64usize, + concat!("Size of: ", stringify!(_CSV_QUERY_MDS_PATH_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_MDS_PATH_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_CSV_QUERY_MDS_PATH_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequiredSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(RequiredSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MdsNodeId) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(MdsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DsNodeId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(DsNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskConnectivity) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(DiskConnectivity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(VolumeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IpAddressOffset) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(IpAddressOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IpAddressLength) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(IpAddressLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathOffset) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(PathOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PathLength) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_MDS_PATH_V2), + "::", + stringify!(PathLength) + ) + ); +} +pub type CSV_QUERY_MDS_PATH_V2 = _CSV_QUERY_MDS_PATH_V2; +pub type PCSV_QUERY_MDS_PATH_V2 = *mut _CSV_QUERY_MDS_PATH_V2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT { + pub VetoedFromAltitudeIntegral: DWORDLONG, + pub VetoedFromAltitudeDecimal: DWORDLONG, + pub Reason: [WCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT>(), + 528usize, + concat!( + "Size of: ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VetoedFromAltitudeIntegral) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT), + "::", + stringify!(VetoedFromAltitudeIntegral) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VetoedFromAltitudeDecimal) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT), + "::", + stringify!(VetoedFromAltitudeDecimal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reason) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT), + "::", + stringify!(Reason) + ) + ); +} +pub type CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT = _CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT; +pub type PCSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT = *mut _CSV_QUERY_VETO_FILE_DIRECT_IO_OUTPUT; +pub const _STORAGE_RESERVE_ID_StorageReserveIdNone: _STORAGE_RESERVE_ID = 0; +pub const _STORAGE_RESERVE_ID_StorageReserveIdHard: _STORAGE_RESERVE_ID = 1; +pub const _STORAGE_RESERVE_ID_StorageReserveIdSoft: _STORAGE_RESERVE_ID = 2; +pub const _STORAGE_RESERVE_ID_StorageReserveIdUpdateScratch: _STORAGE_RESERVE_ID = 3; +pub const _STORAGE_RESERVE_ID_StorageReserveIdMax: _STORAGE_RESERVE_ID = 4; +pub type _STORAGE_RESERVE_ID = ::std::os::raw::c_int; +pub use self::_STORAGE_RESERVE_ID as STORAGE_RESERVE_ID; +pub type PSTORAGE_RESERVE_ID = *mut _STORAGE_RESERVE_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSV_IS_OWNED_BY_CSVFS { + pub OwnedByCSVFS: BOOLEAN, +} +#[test] +fn bindgen_test_layout__CSV_IS_OWNED_BY_CSVFS() { + const UNINIT: ::std::mem::MaybeUninit<_CSV_IS_OWNED_BY_CSVFS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSV_IS_OWNED_BY_CSVFS>(), + 1usize, + concat!("Size of: ", stringify!(_CSV_IS_OWNED_BY_CSVFS)) + ); + assert_eq!( + ::std::mem::align_of::<_CSV_IS_OWNED_BY_CSVFS>(), + 1usize, + concat!("Alignment of ", stringify!(_CSV_IS_OWNED_BY_CSVFS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwnedByCSVFS) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSV_IS_OWNED_BY_CSVFS), + "::", + stringify!(OwnedByCSVFS) + ) + ); +} +pub type CSV_IS_OWNED_BY_CSVFS = _CSV_IS_OWNED_BY_CSVFS; +pub type PCSV_IS_OWNED_BY_CSVFS = *mut _CSV_IS_OWNED_BY_CSVFS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LEVEL_TRIM_RANGE { + pub Offset: DWORDLONG, + pub Length: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FILE_LEVEL_TRIM_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LEVEL_TRIM_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LEVEL_TRIM_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_LEVEL_TRIM_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LEVEL_TRIM_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LEVEL_TRIM_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM_RANGE), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM_RANGE), + "::", + stringify!(Length) + ) + ); +} +pub type FILE_LEVEL_TRIM_RANGE = _FILE_LEVEL_TRIM_RANGE; +pub type PFILE_LEVEL_TRIM_RANGE = *mut _FILE_LEVEL_TRIM_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LEVEL_TRIM { + pub Key: DWORD, + pub NumRanges: DWORD, + pub Ranges: [FILE_LEVEL_TRIM_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_LEVEL_TRIM() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LEVEL_TRIM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LEVEL_TRIM>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_LEVEL_TRIM)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LEVEL_TRIM>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LEVEL_TRIM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM), + "::", + stringify!(Key) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumRanges) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM), + "::", + stringify!(NumRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM), + "::", + stringify!(Ranges) + ) + ); +} +pub type FILE_LEVEL_TRIM = _FILE_LEVEL_TRIM; +pub type PFILE_LEVEL_TRIM = *mut _FILE_LEVEL_TRIM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LEVEL_TRIM_OUTPUT { + pub NumRangesProcessed: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_LEVEL_TRIM_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LEVEL_TRIM_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LEVEL_TRIM_OUTPUT>(), + 4usize, + concat!("Size of: ", stringify!(_FILE_LEVEL_TRIM_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LEVEL_TRIM_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_LEVEL_TRIM_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumRangesProcessed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LEVEL_TRIM_OUTPUT), + "::", + stringify!(NumRangesProcessed) + ) + ); +} +pub type FILE_LEVEL_TRIM_OUTPUT = _FILE_LEVEL_TRIM_OUTPUT; +pub type PFILE_LEVEL_TRIM_OUTPUT = *mut _FILE_LEVEL_TRIM_OUTPUT; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_FILTER_TYPE_NONE: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 0; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_FILTER_TYPE_CLUSTERS: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 1; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_FILTER_TYPE_FILEID: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 2; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_FILTER_TYPE_STORAGE_RESERVE_ID: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 3; +pub const _QUERY_FILE_LAYOUT_FILTER_TYPE_QUERY_FILE_LAYOUT_NUM_FILTER_TYPES: + _QUERY_FILE_LAYOUT_FILTER_TYPE = 4; +pub type _QUERY_FILE_LAYOUT_FILTER_TYPE = ::std::os::raw::c_int; +pub use self::_QUERY_FILE_LAYOUT_FILTER_TYPE as QUERY_FILE_LAYOUT_FILTER_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _CLUSTER_RANGE { + pub StartingCluster: LARGE_INTEGER, + pub ClusterCount: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__CLUSTER_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_CLUSTER_RANGE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CLUSTER_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_CLUSTER_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_CLUSTER_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_CLUSTER_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingCluster) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CLUSTER_RANGE), + "::", + stringify!(StartingCluster) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_CLUSTER_RANGE), + "::", + stringify!(ClusterCount) + ) + ); +} +pub type CLUSTER_RANGE = _CLUSTER_RANGE; +pub type PCLUSTER_RANGE = *mut _CLUSTER_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REFERENCE_RANGE { + pub StartingFileReferenceNumber: DWORDLONG, + pub EndingFileReferenceNumber: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FILE_REFERENCE_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REFERENCE_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REFERENCE_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_FILE_REFERENCE_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REFERENCE_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_REFERENCE_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingFileReferenceNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REFERENCE_RANGE), + "::", + stringify!(StartingFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndingFileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REFERENCE_RANGE), + "::", + stringify!(EndingFileReferenceNumber) + ) + ); +} +pub type FILE_REFERENCE_RANGE = _FILE_REFERENCE_RANGE; +pub type PFILE_REFERENCE_RANGE = *mut _FILE_REFERENCE_RANGE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _QUERY_FILE_LAYOUT_INPUT { + pub __bindgen_anon_1: _QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1, + pub Flags: DWORD, + pub FilterType: QUERY_FILE_LAYOUT_FILTER_TYPE, + pub Reserved: DWORD, + pub Filter: _QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1 { + pub FilterEntryCount: DWORD, + pub NumberOfPairs: DWORD, +} +#[test] +fn bindgen_test_layout__QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1>(), + 4usize, + concat!( + "Size of: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FilterEntryCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1), + "::", + stringify!(FilterEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfPairs) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_1), + "::", + stringify!(NumberOfPairs) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2 { + pub ClusterRanges: [CLUSTER_RANGE; 1usize], + pub FileReferenceRanges: [FILE_REFERENCE_RANGE; 1usize], + pub StorageReserveIds: [STORAGE_RESERVE_ID; 1usize], +} +#[test] +fn bindgen_test_layout__QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2>(), + 16usize, + concat!( + "Size of: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterRanges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2), + "::", + stringify!(ClusterRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceRanges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2), + "::", + stringify!(FileReferenceRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageReserveIds) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT__bindgen_ty_2), + "::", + stringify!(StorageReserveIds) + ) + ); +} +#[test] +fn bindgen_test_layout__QUERY_FILE_LAYOUT_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_FILE_LAYOUT_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_FILE_LAYOUT_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_QUERY_FILE_LAYOUT_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_FILE_LAYOUT_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_FILE_LAYOUT_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FilterType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT), + "::", + stringify!(FilterType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Filter) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_INPUT), + "::", + stringify!(Filter) + ) + ); +} +pub type QUERY_FILE_LAYOUT_INPUT = _QUERY_FILE_LAYOUT_INPUT; +pub type PQUERY_FILE_LAYOUT_INPUT = *mut _QUERY_FILE_LAYOUT_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_FILE_LAYOUT_OUTPUT { + pub FileEntryCount: DWORD, + pub FirstFileOffset: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__QUERY_FILE_LAYOUT_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_FILE_LAYOUT_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_FILE_LAYOUT_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_QUERY_FILE_LAYOUT_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_FILE_LAYOUT_OUTPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_QUERY_FILE_LAYOUT_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileEntryCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_OUTPUT), + "::", + stringify!(FileEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstFileOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_OUTPUT), + "::", + stringify!(FirstFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_FILE_LAYOUT_OUTPUT), + "::", + stringify!(Reserved) + ) + ); +} +pub type QUERY_FILE_LAYOUT_OUTPUT = _QUERY_FILE_LAYOUT_OUTPUT; +pub type PQUERY_FILE_LAYOUT_OUTPUT = *mut _QUERY_FILE_LAYOUT_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LAYOUT_ENTRY { + pub Version: DWORD, + pub NextFileOffset: DWORD, + pub Flags: DWORD, + pub FileAttributes: DWORD, + pub FileReferenceNumber: DWORDLONG, + pub FirstNameOffset: DWORD, + pub FirstStreamOffset: DWORD, + pub ExtraInfoOffset: DWORD, + pub ExtraInfoLength: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_LAYOUT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LAYOUT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LAYOUT_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_FILE_LAYOUT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LAYOUT_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LAYOUT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextFileOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(NextFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(FileAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileReferenceNumber) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(FileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstNameOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(FirstNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FirstStreamOffset) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(FirstStreamOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraInfoOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(ExtraInfoOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtraInfoLength) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_ENTRY), + "::", + stringify!(ExtraInfoLength) + ) + ); +} +pub type FILE_LAYOUT_ENTRY = _FILE_LAYOUT_ENTRY; +pub type PFILE_LAYOUT_ENTRY = *mut _FILE_LAYOUT_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_LAYOUT_NAME_ENTRY { + pub NextNameOffset: DWORD, + pub Flags: DWORD, + pub ParentFileReferenceNumber: DWORDLONG, + pub FileNameLength: DWORD, + pub Reserved: DWORD, + pub FileName: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_LAYOUT_NAME_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LAYOUT_NAME_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LAYOUT_NAME_ENTRY>(), + 32usize, + concat!("Size of: ", stringify!(_FILE_LAYOUT_NAME_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LAYOUT_NAME_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LAYOUT_NAME_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextNameOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(NextNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParentFileReferenceNumber) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(ParentFileReferenceNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileNameLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(FileNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_NAME_ENTRY), + "::", + stringify!(FileName) + ) + ); +} +pub type FILE_LAYOUT_NAME_ENTRY = _FILE_LAYOUT_NAME_ENTRY; +pub type PFILE_LAYOUT_NAME_ENTRY = *mut _FILE_LAYOUT_NAME_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_LAYOUT_INFO_ENTRY { + pub BasicInformation: _FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1, + pub OwnerId: DWORD, + pub SecurityId: DWORD, + pub Usn: USN, + pub StorageReserveId: STORAGE_RESERVE_ID, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1 { + pub CreationTime: LARGE_INTEGER, + pub LastAccessTime: LARGE_INTEGER, + pub LastWriteTime: LARGE_INTEGER, + pub ChangeTime: LARGE_INTEGER, + pub FileAttributes: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1>(), + 40usize, + concat!( + "Size of: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreationTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(CreationTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastAccessTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(LastAccessTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LastWriteTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(LastWriteTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChangeTime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(ChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY__bindgen_ty_1), + "::", + stringify!(FileAttributes) + ) + ); +} +#[test] +fn bindgen_test_layout__FILE_LAYOUT_INFO_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_LAYOUT_INFO_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_LAYOUT_INFO_ENTRY>(), + 64usize, + concat!("Size of: ", stringify!(_FILE_LAYOUT_INFO_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_LAYOUT_INFO_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_LAYOUT_INFO_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BasicInformation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(BasicInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OwnerId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(OwnerId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SecurityId) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(SecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usn) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(Usn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StorageReserveId) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FILE_LAYOUT_INFO_ENTRY), + "::", + stringify!(StorageReserveId) + ) + ); +} +pub type FILE_LAYOUT_INFO_ENTRY = _FILE_LAYOUT_INFO_ENTRY; +pub type PFILE_LAYOUT_INFO_ENTRY = *mut _FILE_LAYOUT_INFO_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STREAM_LAYOUT_ENTRY { + pub Version: DWORD, + pub NextStreamOffset: DWORD, + pub Flags: DWORD, + pub ExtentInformationOffset: DWORD, + pub AllocationSize: LARGE_INTEGER, + pub EndOfFile: LARGE_INTEGER, + pub StreamInformationOffset: DWORD, + pub AttributeTypeCode: DWORD, + pub AttributeFlags: DWORD, + pub StreamIdentifierLength: DWORD, + pub StreamIdentifier: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__STREAM_LAYOUT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_LAYOUT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_LAYOUT_ENTRY>(), + 56usize, + concat!("Size of: ", stringify!(_STREAM_LAYOUT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_LAYOUT_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_STREAM_LAYOUT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextStreamOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(NextStreamOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentInformationOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(ExtentInformationOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllocationSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(AllocationSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndOfFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(EndOfFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamInformationOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(StreamInformationOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributeTypeCode) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(AttributeTypeCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AttributeFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(AttributeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamIdentifierLength) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(StreamIdentifierLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamIdentifier) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_LAYOUT_ENTRY), + "::", + stringify!(StreamIdentifier) + ) + ); +} +pub type STREAM_LAYOUT_ENTRY = _STREAM_LAYOUT_ENTRY; +pub type PSTREAM_LAYOUT_ENTRY = *mut _STREAM_LAYOUT_ENTRY; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STREAM_EXTENT_ENTRY { + pub Flags: DWORD, + pub ExtentInformation: _STREAM_EXTENT_ENTRY__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STREAM_EXTENT_ENTRY__bindgen_ty_1 { + pub RetrievalPointers: RETRIEVAL_POINTERS_BUFFER, +} +#[test] +fn bindgen_test_layout__STREAM_EXTENT_ENTRY__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_EXTENT_ENTRY__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_EXTENT_ENTRY__bindgen_ty_1>(), + 32usize, + concat!("Size of: ", stringify!(_STREAM_EXTENT_ENTRY__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_EXTENT_ENTRY__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STREAM_EXTENT_ENTRY__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RetrievalPointers) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_EXTENT_ENTRY__bindgen_ty_1), + "::", + stringify!(RetrievalPointers) + ) + ); +} +#[test] +fn bindgen_test_layout__STREAM_EXTENT_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_EXTENT_ENTRY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_EXTENT_ENTRY>(), + 40usize, + concat!("Size of: ", stringify!(_STREAM_EXTENT_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_EXTENT_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_STREAM_EXTENT_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_EXTENT_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentInformation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_EXTENT_ENTRY), + "::", + stringify!(ExtentInformation) + ) + ); +} +pub type STREAM_EXTENT_ENTRY = _STREAM_EXTENT_ENTRY; +pub type PSTREAM_EXTENT_ENTRY = *mut _STREAM_EXTENT_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_GET_INTEGRITY_INFORMATION_BUFFER { + pub ChecksumAlgorithm: WORD, + pub Reserved: WORD, + pub Flags: DWORD, + pub ChecksumChunkSizeInBytes: DWORD, + pub ClusterSizeInBytes: DWORD, +} +#[test] +fn bindgen_test_layout__FSCTL_GET_INTEGRITY_INFORMATION_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER>(), + 16usize, + concat!( + "Size of: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChecksumAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(ChecksumAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChecksumChunkSizeInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(ChecksumChunkSizeInBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClusterSizeInBytes) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_GET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(ClusterSizeInBytes) + ) + ); +} +pub type FSCTL_GET_INTEGRITY_INFORMATION_BUFFER = _FSCTL_GET_INTEGRITY_INFORMATION_BUFFER; +pub type PFSCTL_GET_INTEGRITY_INFORMATION_BUFFER = *mut _FSCTL_GET_INTEGRITY_INFORMATION_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER { + pub ChecksumAlgorithm: WORD, + pub Reserved: WORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FSCTL_SET_INTEGRITY_INFORMATION_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER>(), + 8usize, + concat!( + "Size of: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChecksumAlgorithm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(ChecksumAlgorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER), + "::", + stringify!(Flags) + ) + ); +} +pub type FSCTL_SET_INTEGRITY_INFORMATION_BUFFER = _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER; +pub type PFSCTL_SET_INTEGRITY_INFORMATION_BUFFER = *mut _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX { + pub EnableIntegrity: BYTE, + pub KeepIntegrityStateUnchanged: BYTE, + pub Reserved: WORD, + pub Flags: DWORD, + pub Version: BYTE, + pub Reserved2: [BYTE; 7usize], +} +#[test] +fn bindgen_test_layout__FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>(), + 16usize, + concat!( + "Size of: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableIntegrity) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(EnableIntegrity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeepIntegrityStateUnchanged) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(KeepIntegrityStateUnchanged) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX), + "::", + stringify!(Reserved2) + ) + ); +} +pub type FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX = _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX; +pub type PFSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX = + *mut _FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_OFFLOAD_READ_INPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub TokenTimeToLive: DWORD, + pub Reserved: DWORD, + pub FileOffset: DWORDLONG, + pub CopyLength: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FSCTL_OFFLOAD_READ_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_OFFLOAD_READ_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_OFFLOAD_READ_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_FSCTL_OFFLOAD_READ_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_OFFLOAD_READ_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_OFFLOAD_READ_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenTimeToLive) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(TokenTimeToLive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyLength) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_INPUT), + "::", + stringify!(CopyLength) + ) + ); +} +pub type FSCTL_OFFLOAD_READ_INPUT = _FSCTL_OFFLOAD_READ_INPUT; +pub type PFSCTL_OFFLOAD_READ_INPUT = *mut _FSCTL_OFFLOAD_READ_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_OFFLOAD_READ_OUTPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub TransferLength: DWORDLONG, + pub Token: [BYTE; 512usize], +} +#[test] +fn bindgen_test_layout__FSCTL_OFFLOAD_READ_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_OFFLOAD_READ_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_OFFLOAD_READ_OUTPUT>(), + 528usize, + concat!("Size of: ", stringify!(_FSCTL_OFFLOAD_READ_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_OFFLOAD_READ_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_OFFLOAD_READ_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), + "::", + stringify!(TransferLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_READ_OUTPUT), + "::", + stringify!(Token) + ) + ); +} +pub type FSCTL_OFFLOAD_READ_OUTPUT = _FSCTL_OFFLOAD_READ_OUTPUT; +pub type PFSCTL_OFFLOAD_READ_OUTPUT = *mut _FSCTL_OFFLOAD_READ_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_OFFLOAD_WRITE_INPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub FileOffset: DWORDLONG, + pub CopyLength: DWORDLONG, + pub TransferOffset: DWORDLONG, + pub Token: [BYTE; 512usize], +} +#[test] +fn bindgen_test_layout__FSCTL_OFFLOAD_WRITE_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_OFFLOAD_WRITE_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_OFFLOAD_WRITE_INPUT>(), + 544usize, + concat!("Size of: ", stringify!(_FSCTL_OFFLOAD_WRITE_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_OFFLOAD_WRITE_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_OFFLOAD_WRITE_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(CopyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransferOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(TransferOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Token) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_INPUT), + "::", + stringify!(Token) + ) + ); +} +pub type FSCTL_OFFLOAD_WRITE_INPUT = _FSCTL_OFFLOAD_WRITE_INPUT; +pub type PFSCTL_OFFLOAD_WRITE_INPUT = *mut _FSCTL_OFFLOAD_WRITE_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_OFFLOAD_WRITE_OUTPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub LengthWritten: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FSCTL_OFFLOAD_WRITE_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_OFFLOAD_WRITE_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_OFFLOAD_WRITE_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_OFFLOAD_WRITE_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthWritten) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_OFFLOAD_WRITE_OUTPUT), + "::", + stringify!(LengthWritten) + ) + ); +} +pub type FSCTL_OFFLOAD_WRITE_OUTPUT = _FSCTL_OFFLOAD_WRITE_OUTPUT; +pub type PFSCTL_OFFLOAD_WRITE_OUTPUT = *mut _FSCTL_OFFLOAD_WRITE_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SET_PURGE_FAILURE_MODE_INPUT { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__SET_PURGE_FAILURE_MODE_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SET_PURGE_FAILURE_MODE_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_PURGE_FAILURE_MODE_INPUT>(), + 4usize, + concat!("Size of: ", stringify!(_SET_PURGE_FAILURE_MODE_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_PURGE_FAILURE_MODE_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_SET_PURGE_FAILURE_MODE_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_PURGE_FAILURE_MODE_INPUT), + "::", + stringify!(Flags) + ) + ); +} +pub type SET_PURGE_FAILURE_MODE_INPUT = _SET_PURGE_FAILURE_MODE_INPUT; +pub type PSET_PURGE_FAILURE_MODE_INPUT = *mut _SET_PURGE_FAILURE_MODE_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _REPAIR_COPIES_INPUT { + pub Size: DWORD, + pub Flags: DWORD, + pub FileOffset: LARGE_INTEGER, + pub Length: DWORD, + pub SourceCopy: DWORD, + pub NumberOfRepairCopies: DWORD, + pub RepairCopies: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout__REPAIR_COPIES_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_REPAIR_COPIES_INPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REPAIR_COPIES_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_REPAIR_COPIES_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_REPAIR_COPIES_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_REPAIR_COPIES_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceCopy) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(SourceCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRepairCopies) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(NumberOfRepairCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RepairCopies) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_INPUT), + "::", + stringify!(RepairCopies) + ) + ); +} +pub type REPAIR_COPIES_INPUT = _REPAIR_COPIES_INPUT; +pub type PREPAIR_COPIES_INPUT = *mut _REPAIR_COPIES_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _REPAIR_COPIES_OUTPUT { + pub Size: DWORD, + pub Status: DWORD, + pub ResumeFileOffset: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__REPAIR_COPIES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_REPAIR_COPIES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REPAIR_COPIES_OUTPUT>(), + 16usize, + concat!("Size of: ", stringify!(_REPAIR_COPIES_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_REPAIR_COPIES_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_REPAIR_COPIES_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_OUTPUT), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResumeFileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REPAIR_COPIES_OUTPUT), + "::", + stringify!(ResumeFileOffset) + ) + ); +} +pub type REPAIR_COPIES_OUTPUT = _REPAIR_COPIES_OUTPUT; +pub type PREPAIR_COPIES_OUTPUT = *mut _REPAIR_COPIES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REGION_INFO { + pub FileOffset: LONGLONG, + pub Length: LONGLONG, + pub Usage: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_REGION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REGION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REGION_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_REGION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REGION_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_REGION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INFO), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INFO), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Usage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INFO), + "::", + stringify!(Usage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INFO), + "::", + stringify!(Reserved) + ) + ); +} +pub type FILE_REGION_INFO = _FILE_REGION_INFO; +pub type PFILE_REGION_INFO = *mut _FILE_REGION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REGION_OUTPUT { + pub Flags: DWORD, + pub TotalRegionEntryCount: DWORD, + pub RegionEntryCount: DWORD, + pub Reserved: DWORD, + pub Region: [FILE_REGION_INFO; 1usize], +} +#[test] +fn bindgen_test_layout__FILE_REGION_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REGION_OUTPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REGION_OUTPUT>(), + 40usize, + concat!("Size of: ", stringify!(_FILE_REGION_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REGION_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_REGION_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalRegionEntryCount) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(TotalRegionEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegionEntryCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(RegionEntryCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Region) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_OUTPUT), + "::", + stringify!(Region) + ) + ); +} +pub type FILE_REGION_OUTPUT = _FILE_REGION_OUTPUT; +pub type PFILE_REGION_OUTPUT = *mut _FILE_REGION_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_REGION_INPUT { + pub FileOffset: LONGLONG, + pub Length: LONGLONG, + pub DesiredUsage: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_REGION_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_REGION_INPUT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_REGION_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_FILE_REGION_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_REGION_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_REGION_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INPUT), + "::", + stringify!(FileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INPUT), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredUsage) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_REGION_INPUT), + "::", + stringify!(DesiredUsage) + ) + ); +} +pub type FILE_REGION_INPUT = _FILE_REGION_INPUT; +pub type PFILE_REGION_INPUT = *mut _FILE_REGION_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WRITE_USN_REASON_INPUT { + pub Flags: DWORD, + pub UsnReasonToWrite: DWORD, +} +#[test] +fn bindgen_test_layout__WRITE_USN_REASON_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WRITE_USN_REASON_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WRITE_USN_REASON_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_WRITE_USN_REASON_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WRITE_USN_REASON_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_WRITE_USN_REASON_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WRITE_USN_REASON_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsnReasonToWrite) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WRITE_USN_REASON_INPUT), + "::", + stringify!(UsnReasonToWrite) + ) + ); +} +pub type WRITE_USN_REASON_INPUT = _WRITE_USN_REASON_INPUT; +pub type PWRITE_USN_REASON_INPUT = *mut _WRITE_USN_REASON_INPUT; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeUnspecified: + _FILE_STORAGE_TIER_MEDIA_TYPE = 0; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeDisk: + _FILE_STORAGE_TIER_MEDIA_TYPE = 1; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeSsd: _FILE_STORAGE_TIER_MEDIA_TYPE = + 2; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeScm: _FILE_STORAGE_TIER_MEDIA_TYPE = + 4; +pub const _FILE_STORAGE_TIER_MEDIA_TYPE_FileStorageTierMediaTypeMax: _FILE_STORAGE_TIER_MEDIA_TYPE = + 5; +pub type _FILE_STORAGE_TIER_MEDIA_TYPE = ::std::os::raw::c_int; +pub use self::_FILE_STORAGE_TIER_MEDIA_TYPE as FILE_STORAGE_TIER_MEDIA_TYPE; +pub type PFILE_STORAGE_TIER_MEDIA_TYPE = *mut _FILE_STORAGE_TIER_MEDIA_TYPE; +pub const _FILE_STORAGE_TIER_CLASS_FileStorageTierClassUnspecified: _FILE_STORAGE_TIER_CLASS = 0; +pub const _FILE_STORAGE_TIER_CLASS_FileStorageTierClassCapacity: _FILE_STORAGE_TIER_CLASS = 1; +pub const _FILE_STORAGE_TIER_CLASS_FileStorageTierClassPerformance: _FILE_STORAGE_TIER_CLASS = 2; +pub const _FILE_STORAGE_TIER_CLASS_FileStorageTierClassMax: _FILE_STORAGE_TIER_CLASS = 3; +pub type _FILE_STORAGE_TIER_CLASS = ::std::os::raw::c_int; +pub use self::_FILE_STORAGE_TIER_CLASS as FILE_STORAGE_TIER_CLASS; +pub type PFILE_STORAGE_TIER_CLASS = *mut _FILE_STORAGE_TIER_CLASS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_STORAGE_TIER { + pub Id: GUID, + pub Name: [WCHAR; 256usize], + pub Description: [WCHAR; 256usize], + pub Flags: DWORDLONG, + pub ProvisionedCapacity: DWORDLONG, + pub MediaType: FILE_STORAGE_TIER_MEDIA_TYPE, + pub Class: FILE_STORAGE_TIER_CLASS, +} +#[test] +fn bindgen_test_layout__FILE_STORAGE_TIER() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STORAGE_TIER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STORAGE_TIER>(), + 1064usize, + concat!("Size of: ", stringify!(_FILE_STORAGE_TIER)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STORAGE_TIER>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_STORAGE_TIER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Name) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Description) as usize - ptr as usize }, + 528usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Description) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 1040usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProvisionedCapacity) as usize - ptr as usize }, + 1048usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(ProvisionedCapacity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MediaType) as usize - ptr as usize }, + 1056usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(MediaType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Class) as usize - ptr as usize }, + 1060usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER), + "::", + stringify!(Class) + ) + ); +} +pub type FILE_STORAGE_TIER = _FILE_STORAGE_TIER; +pub type PFILE_STORAGE_TIER = *mut _FILE_STORAGE_TIER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_QUERY_STORAGE_CLASSES_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub TotalNumberOfTiers: DWORD, + pub NumberOfTiersReturned: DWORD, + pub Tiers: [FILE_STORAGE_TIER; 1usize], +} +#[test] +fn bindgen_test_layout__FSCTL_QUERY_STORAGE_CLASSES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>(), + 1088usize, + concat!("Size of: ", stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfTiers) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(TotalNumberOfTiers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTiersReturned) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(NumberOfTiersReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Tiers) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_STORAGE_CLASSES_OUTPUT), + "::", + stringify!(Tiers) + ) + ); +} +pub type FSCTL_QUERY_STORAGE_CLASSES_OUTPUT = _FSCTL_QUERY_STORAGE_CLASSES_OUTPUT; +pub type PFSCTL_QUERY_STORAGE_CLASSES_OUTPUT = *mut _FSCTL_QUERY_STORAGE_CLASSES_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY { + pub Version: DWORD, + pub Flags: DWORD, + pub StreamInformation: _STREAM_INFORMATION_ENTRY__StreamInformation, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _STREAM_INFORMATION_ENTRY__StreamInformation { + pub DesiredStorageClass: _STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass, + pub DataStream: _STREAM_INFORMATION_ENTRY__StreamInformation__DataStream, + pub Reparse: _STREAM_INFORMATION_ENTRY__StreamInformation__Reparse, + pub Ea: _STREAM_INFORMATION_ENTRY__StreamInformation__Ea, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass { + pub Class: FILE_STORAGE_TIER_CLASS, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass() { + const UNINIT: ::std::mem::MaybeUninit< + _STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass>(), + 8usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Class) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass), + "::", + stringify!(Class) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DesiredStorageClass), + "::", + stringify!(Flags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY__StreamInformation__DataStream { + pub Length: WORD, + pub Flags: WORD, + pub Reserved: DWORD, + pub Vdl: DWORDLONG, +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation__DataStream() { + const UNINIT: ::std::mem::MaybeUninit< + _STREAM_INFORMATION_ENTRY__StreamInformation__DataStream, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Vdl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__DataStream), + "::", + stringify!(Vdl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY__StreamInformation__Reparse { + pub Length: WORD, + pub Flags: WORD, + pub ReparseDataSize: DWORD, + pub ReparseDataOffset: DWORD, +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation__Reparse() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseDataSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse), + "::", + stringify!(ReparseDataSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReparseDataOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Reparse), + "::", + stringify!(ReparseDataOffset) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAM_INFORMATION_ENTRY__StreamInformation__Ea { + pub Length: WORD, + pub Flags: WORD, + pub EaSize: DWORD, + pub EaInformationOffset: DWORD, +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation__Ea() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_INFORMATION_ENTRY__StreamInformation__Ea> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__Ea>(), + 12usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation__Ea>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea), + "::", + stringify!(Length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea), + "::", + stringify!(EaSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EaInformationOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation__Ea), + "::", + stringify!(EaInformationOffset) + ) + ); +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY__StreamInformation() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_INFORMATION_ENTRY__StreamInformation> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY__StreamInformation>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY__StreamInformation>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredStorageClass) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation), + "::", + stringify!(DesiredStorageClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataStream) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation), + "::", + stringify!(DataStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reparse) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation), + "::", + stringify!(Reparse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ea) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY__StreamInformation), + "::", + stringify!(Ea) + ) + ); +} +#[test] +fn bindgen_test_layout__STREAM_INFORMATION_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_STREAM_INFORMATION_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAM_INFORMATION_ENTRY>(), + 24usize, + concat!("Size of: ", stringify!(_STREAM_INFORMATION_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAM_INFORMATION_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_STREAM_INFORMATION_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamInformation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAM_INFORMATION_ENTRY), + "::", + stringify!(StreamInformation) + ) + ); +} +pub type STREAM_INFORMATION_ENTRY = _STREAM_INFORMATION_ENTRY; +pub type PSTREAM_INFORMATION_ENTRY = *mut _STREAM_INFORMATION_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_QUERY_REGION_INFO_INPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub NumberOfTierIds: DWORD, + pub TierIds: [GUID; 1usize], +} +#[test] +fn bindgen_test_layout__FSCTL_QUERY_REGION_INFO_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_QUERY_REGION_INFO_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_QUERY_REGION_INFO_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_FSCTL_QUERY_REGION_INFO_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_QUERY_REGION_INFO_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_FSCTL_QUERY_REGION_INFO_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfTierIds) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(NumberOfTierIds) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TierIds) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_INPUT), + "::", + stringify!(TierIds) + ) + ); +} +pub type FSCTL_QUERY_REGION_INFO_INPUT = _FSCTL_QUERY_REGION_INFO_INPUT; +pub type PFSCTL_QUERY_REGION_INFO_INPUT = *mut _FSCTL_QUERY_REGION_INFO_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_STORAGE_TIER_REGION { + pub TierId: GUID, + pub Offset: DWORDLONG, + pub Length: DWORDLONG, +} +#[test] +fn bindgen_test_layout__FILE_STORAGE_TIER_REGION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_STORAGE_TIER_REGION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_STORAGE_TIER_REGION>(), + 32usize, + concat!("Size of: ", stringify!(_FILE_STORAGE_TIER_REGION)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_STORAGE_TIER_REGION>(), + 8usize, + concat!("Alignment of ", stringify!(_FILE_STORAGE_TIER_REGION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TierId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER_REGION), + "::", + stringify!(TierId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Offset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER_REGION), + "::", + stringify!(Offset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Length) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FILE_STORAGE_TIER_REGION), + "::", + stringify!(Length) + ) + ); +} +pub type FILE_STORAGE_TIER_REGION = _FILE_STORAGE_TIER_REGION; +pub type PFILE_STORAGE_TIER_REGION = *mut _FILE_STORAGE_TIER_REGION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FSCTL_QUERY_REGION_INFO_OUTPUT { + pub Version: DWORD, + pub Size: DWORD, + pub Flags: DWORD, + pub Reserved: DWORD, + pub Alignment: DWORDLONG, + pub TotalNumberOfRegions: DWORD, + pub NumberOfRegionsReturned: DWORD, + pub Regions: [FILE_STORAGE_TIER_REGION; 1usize], +} +#[test] +fn bindgen_test_layout__FSCTL_QUERY_REGION_INFO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_FSCTL_QUERY_REGION_INFO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FSCTL_QUERY_REGION_INFO_OUTPUT>(), + 64usize, + concat!("Size of: ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_FSCTL_QUERY_REGION_INFO_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alignment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Alignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalNumberOfRegions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(TotalNumberOfRegions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfRegionsReturned) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(NumberOfRegionsReturned) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Regions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_FSCTL_QUERY_REGION_INFO_OUTPUT), + "::", + stringify!(Regions) + ) + ); +} +pub type FSCTL_QUERY_REGION_INFO_OUTPUT = _FSCTL_QUERY_REGION_INFO_OUTPUT; +pub type PFSCTL_QUERY_REGION_INFO_OUTPUT = *mut _FSCTL_QUERY_REGION_INFO_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_DESIRED_STORAGE_CLASS_INFORMATION { + pub Class: FILE_STORAGE_TIER_CLASS, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_DESIRED_STORAGE_CLASS_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_DESIRED_STORAGE_CLASS_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_DESIRED_STORAGE_CLASS_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_FILE_DESIRED_STORAGE_CLASS_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_DESIRED_STORAGE_CLASS_INFORMATION>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_FILE_DESIRED_STORAGE_CLASS_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Class) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_DESIRED_STORAGE_CLASS_INFORMATION), + "::", + stringify!(Class) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_DESIRED_STORAGE_CLASS_INFORMATION), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_DESIRED_STORAGE_CLASS_INFORMATION = _FILE_DESIRED_STORAGE_CLASS_INFORMATION; +pub type PFILE_DESIRED_STORAGE_CLASS_INFORMATION = *mut _FILE_DESIRED_STORAGE_CLASS_INFORMATION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DUPLICATE_EXTENTS_DATA { + pub FileHandle: HANDLE, + pub SourceFileOffset: LARGE_INTEGER, + pub TargetFileOffset: LARGE_INTEGER, + pub ByteCount: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__DUPLICATE_EXTENTS_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_DUPLICATE_EXTENTS_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DUPLICATE_EXTENTS_DATA>(), + 32usize, + concat!("Size of: ", stringify!(_DUPLICATE_EXTENTS_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_DUPLICATE_EXTENTS_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_DUPLICATE_EXTENTS_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA), + "::", + stringify!(SourceFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA), + "::", + stringify!(TargetFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA), + "::", + stringify!(ByteCount) + ) + ); +} +pub type DUPLICATE_EXTENTS_DATA = _DUPLICATE_EXTENTS_DATA; +pub type PDUPLICATE_EXTENTS_DATA = *mut _DUPLICATE_EXTENTS_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DUPLICATE_EXTENTS_DATA32 { + pub FileHandle: UINT32, + pub SourceFileOffset: LARGE_INTEGER, + pub TargetFileOffset: LARGE_INTEGER, + pub ByteCount: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__DUPLICATE_EXTENTS_DATA32() { + const UNINIT: ::std::mem::MaybeUninit<_DUPLICATE_EXTENTS_DATA32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DUPLICATE_EXTENTS_DATA32>(), + 32usize, + concat!("Size of: ", stringify!(_DUPLICATE_EXTENTS_DATA32)) + ); + assert_eq!( + ::std::mem::align_of::<_DUPLICATE_EXTENTS_DATA32>(), + 8usize, + concat!("Alignment of ", stringify!(_DUPLICATE_EXTENTS_DATA32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA32), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA32), + "::", + stringify!(SourceFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA32), + "::", + stringify!(TargetFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA32), + "::", + stringify!(ByteCount) + ) + ); +} +pub type DUPLICATE_EXTENTS_DATA32 = _DUPLICATE_EXTENTS_DATA32; +pub type PDUPLICATE_EXTENTS_DATA32 = *mut _DUPLICATE_EXTENTS_DATA32; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DUPLICATE_EXTENTS_DATA_EX { + pub Size: SIZE_T, + pub FileHandle: HANDLE, + pub SourceFileOffset: LARGE_INTEGER, + pub TargetFileOffset: LARGE_INTEGER, + pub ByteCount: LARGE_INTEGER, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__DUPLICATE_EXTENTS_DATA_EX() { + const UNINIT: ::std::mem::MaybeUninit<_DUPLICATE_EXTENTS_DATA_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DUPLICATE_EXTENTS_DATA_EX>(), + 48usize, + concat!("Size of: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_DUPLICATE_EXTENTS_DATA_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_DUPLICATE_EXTENTS_DATA_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(SourceFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(TargetFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(ByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX), + "::", + stringify!(Flags) + ) + ); +} +pub type DUPLICATE_EXTENTS_DATA_EX = _DUPLICATE_EXTENTS_DATA_EX; +pub type PDUPLICATE_EXTENTS_DATA_EX = *mut _DUPLICATE_EXTENTS_DATA_EX; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DUPLICATE_EXTENTS_DATA_EX32 { + pub Size: DWORD32, + pub FileHandle: DWORD32, + pub SourceFileOffset: LARGE_INTEGER, + pub TargetFileOffset: LARGE_INTEGER, + pub ByteCount: LARGE_INTEGER, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__DUPLICATE_EXTENTS_DATA_EX32() { + const UNINIT: ::std::mem::MaybeUninit<_DUPLICATE_EXTENTS_DATA_EX32> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DUPLICATE_EXTENTS_DATA_EX32>(), + 40usize, + concat!("Size of: ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32)) + ); + assert_eq!( + ::std::mem::align_of::<_DUPLICATE_EXTENTS_DATA_EX32>(), + 8usize, + concat!("Alignment of ", stringify!(_DUPLICATE_EXTENTS_DATA_EX32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileHandle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(FileHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceFileOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(SourceFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TargetFileOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(TargetFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(ByteCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DUPLICATE_EXTENTS_DATA_EX32), + "::", + stringify!(Flags) + ) + ); +} +pub type DUPLICATE_EXTENTS_DATA_EX32 = _DUPLICATE_EXTENTS_DATA_EX32; +pub type PDUPLICATE_EXTENTS_DATA_EX32 = *mut _DUPLICATE_EXTENTS_DATA_EX32; +pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStateInactive: _REFS_SMR_VOLUME_GC_STATE = 0; +pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStatePaused: _REFS_SMR_VOLUME_GC_STATE = 1; +pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStateActive: _REFS_SMR_VOLUME_GC_STATE = 2; +pub const _REFS_SMR_VOLUME_GC_STATE_SmrGcStateActiveFullSpeed: _REFS_SMR_VOLUME_GC_STATE = 3; +pub type _REFS_SMR_VOLUME_GC_STATE = ::std::os::raw::c_int; +pub use self::_REFS_SMR_VOLUME_GC_STATE as REFS_SMR_VOLUME_GC_STATE; +pub type PREFS_SMR_VOLUME_GC_STATE = *mut _REFS_SMR_VOLUME_GC_STATE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _REFS_SMR_VOLUME_INFO_OUTPUT { + pub Version: DWORD, + pub Flags: DWORD, + pub SizeOfRandomlyWritableTier: LARGE_INTEGER, + pub FreeSpaceInRandomlyWritableTier: LARGE_INTEGER, + pub SizeofSMRTier: LARGE_INTEGER, + pub FreeSpaceInSMRTier: LARGE_INTEGER, + pub UsableFreeSpaceInSMRTier: LARGE_INTEGER, + pub VolumeGcState: REFS_SMR_VOLUME_GC_STATE, + pub VolumeGcLastStatus: DWORD, + pub Unused: [DWORDLONG; 7usize], +} +#[test] +fn bindgen_test_layout__REFS_SMR_VOLUME_INFO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_REFS_SMR_VOLUME_INFO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REFS_SMR_VOLUME_INFO_OUTPUT>(), + 112usize, + concat!("Size of: ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_REFS_SMR_VOLUME_INFO_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeOfRandomlyWritableTier) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(SizeOfRandomlyWritableTier) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).FreeSpaceInRandomlyWritableTier) as usize - ptr as usize + }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(FreeSpaceInRandomlyWritableTier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeofSMRTier) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(SizeofSMRTier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeSpaceInSMRTier) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(FreeSpaceInSMRTier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UsableFreeSpaceInSMRTier) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(UsableFreeSpaceInSMRTier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeGcState) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(VolumeGcState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VolumeGcLastStatus) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(VolumeGcLastStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_INFO_OUTPUT), + "::", + stringify!(Unused) + ) + ); +} +pub type REFS_SMR_VOLUME_INFO_OUTPUT = _REFS_SMR_VOLUME_INFO_OUTPUT; +pub type PREFS_SMR_VOLUME_INFO_OUTPUT = *mut _REFS_SMR_VOLUME_INFO_OUTPUT; +pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionStart: _REFS_SMR_VOLUME_GC_ACTION = 1; +pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionStartFullSpeed: _REFS_SMR_VOLUME_GC_ACTION = 2; +pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionPause: _REFS_SMR_VOLUME_GC_ACTION = 3; +pub const _REFS_SMR_VOLUME_GC_ACTION_SmrGcActionStop: _REFS_SMR_VOLUME_GC_ACTION = 4; +pub type _REFS_SMR_VOLUME_GC_ACTION = ::std::os::raw::c_int; +pub use self::_REFS_SMR_VOLUME_GC_ACTION as REFS_SMR_VOLUME_GC_ACTION; +pub type PREFS_SMR_VOLUME_GC_ACTION = *mut _REFS_SMR_VOLUME_GC_ACTION; +pub const _REFS_SMR_VOLUME_GC_METHOD_SmrGcMethodCompaction: _REFS_SMR_VOLUME_GC_METHOD = 1; +pub const _REFS_SMR_VOLUME_GC_METHOD_SmrGcMethodCompression: _REFS_SMR_VOLUME_GC_METHOD = 2; +pub const _REFS_SMR_VOLUME_GC_METHOD_SmrGcMethodRotation: _REFS_SMR_VOLUME_GC_METHOD = 3; +pub type _REFS_SMR_VOLUME_GC_METHOD = ::std::os::raw::c_int; +pub use self::_REFS_SMR_VOLUME_GC_METHOD as REFS_SMR_VOLUME_GC_METHOD; +pub type PREFS_SMR_VOLUME_GC_METHOD = *mut _REFS_SMR_VOLUME_GC_METHOD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REFS_SMR_VOLUME_GC_PARAMETERS { + pub Version: DWORD, + pub Flags: DWORD, + pub Action: REFS_SMR_VOLUME_GC_ACTION, + pub Method: REFS_SMR_VOLUME_GC_METHOD, + pub IoGranularity: DWORD, + pub CompressionFormat: DWORD, + pub Unused: [DWORDLONG; 8usize], +} +#[test] +fn bindgen_test_layout__REFS_SMR_VOLUME_GC_PARAMETERS() { + const UNINIT: ::std::mem::MaybeUninit<_REFS_SMR_VOLUME_GC_PARAMETERS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REFS_SMR_VOLUME_GC_PARAMETERS>(), + 88usize, + concat!("Size of: ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS)) + ); + assert_eq!( + ::std::mem::align_of::<_REFS_SMR_VOLUME_GC_PARAMETERS>(), + 8usize, + concat!("Alignment of ", stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Action) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Action) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Method) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Method) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IoGranularity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(IoGranularity) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompressionFormat) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(CompressionFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unused) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_REFS_SMR_VOLUME_GC_PARAMETERS), + "::", + stringify!(Unused) + ) + ); +} +pub type REFS_SMR_VOLUME_GC_PARAMETERS = _REFS_SMR_VOLUME_GC_PARAMETERS; +pub type PREFS_SMR_VOLUME_GC_PARAMETERS = *mut _REFS_SMR_VOLUME_GC_PARAMETERS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER { + pub OptimalWriteSize: DWORD, + pub StreamGranularitySize: DWORD, + pub StreamIdMin: DWORD, + pub StreamIdMax: DWORD, +} +#[test] +fn bindgen_test_layout__STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER>(), + 16usize, + concat!( + "Size of: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER) + ) + ); + assert_eq!( + ::std::mem::align_of::<_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OptimalWriteSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), + "::", + stringify!(OptimalWriteSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamGranularitySize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), + "::", + stringify!(StreamGranularitySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamIdMin) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), + "::", + stringify!(StreamIdMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamIdMax) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER), + "::", + stringify!(StreamIdMax) + ) + ); +} +pub type STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER = _STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER; +pub type PSTREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER = *mut _STREAMS_QUERY_PARAMETERS_OUTPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAMS_ASSOCIATE_ID_INPUT_BUFFER { + pub Flags: DWORD, + pub StreamId: DWORD, +} +#[test] +fn bindgen_test_layout__STREAMS_ASSOCIATE_ID_INPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_STREAMS_ASSOCIATE_ID_INPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAMS_ASSOCIATE_ID_INPUT_BUFFER>(), + 8usize, + concat!("Size of: ", stringify!(_STREAMS_ASSOCIATE_ID_INPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAMS_ASSOCIATE_ID_INPUT_BUFFER>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_STREAMS_ASSOCIATE_ID_INPUT_BUFFER) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_ASSOCIATE_ID_INPUT_BUFFER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_ASSOCIATE_ID_INPUT_BUFFER), + "::", + stringify!(StreamId) + ) + ); +} +pub type STREAMS_ASSOCIATE_ID_INPUT_BUFFER = _STREAMS_ASSOCIATE_ID_INPUT_BUFFER; +pub type PSTREAMS_ASSOCIATE_ID_INPUT_BUFFER = *mut _STREAMS_ASSOCIATE_ID_INPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _STREAMS_QUERY_ID_OUTPUT_BUFFER { + pub StreamId: DWORD, +} +#[test] +fn bindgen_test_layout__STREAMS_QUERY_ID_OUTPUT_BUFFER() { + const UNINIT: ::std::mem::MaybeUninit<_STREAMS_QUERY_ID_OUTPUT_BUFFER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_STREAMS_QUERY_ID_OUTPUT_BUFFER>(), + 4usize, + concat!("Size of: ", stringify!(_STREAMS_QUERY_ID_OUTPUT_BUFFER)) + ); + assert_eq!( + ::std::mem::align_of::<_STREAMS_QUERY_ID_OUTPUT_BUFFER>(), + 4usize, + concat!("Alignment of ", stringify!(_STREAMS_QUERY_ID_OUTPUT_BUFFER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StreamId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_STREAMS_QUERY_ID_OUTPUT_BUFFER), + "::", + stringify!(StreamId) + ) + ); +} +pub type STREAMS_QUERY_ID_OUTPUT_BUFFER = _STREAMS_QUERY_ID_OUTPUT_BUFFER; +pub type PSTREAMS_QUERY_ID_OUTPUT_BUFFER = *mut _STREAMS_QUERY_ID_OUTPUT_BUFFER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_BAD_RANGES_INPUT_RANGE { + pub StartOffset: DWORDLONG, + pub LengthInBytes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__QUERY_BAD_RANGES_INPUT_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_BAD_RANGES_INPUT_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_BAD_RANGES_INPUT_RANGE>(), + 16usize, + concat!("Size of: ", stringify!(_QUERY_BAD_RANGES_INPUT_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_BAD_RANGES_INPUT_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_BAD_RANGES_INPUT_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT_RANGE), + "::", + stringify!(StartOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT_RANGE), + "::", + stringify!(LengthInBytes) + ) + ); +} +pub type QUERY_BAD_RANGES_INPUT_RANGE = _QUERY_BAD_RANGES_INPUT_RANGE; +pub type PQUERY_BAD_RANGES_INPUT_RANGE = *mut _QUERY_BAD_RANGES_INPUT_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_BAD_RANGES_INPUT { + pub Flags: DWORD, + pub NumRanges: DWORD, + pub Ranges: [QUERY_BAD_RANGES_INPUT_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__QUERY_BAD_RANGES_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_BAD_RANGES_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_BAD_RANGES_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_QUERY_BAD_RANGES_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_BAD_RANGES_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_BAD_RANGES_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumRanges) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT), + "::", + stringify!(NumRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ranges) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_INPUT), + "::", + stringify!(Ranges) + ) + ); +} +pub type QUERY_BAD_RANGES_INPUT = _QUERY_BAD_RANGES_INPUT; +pub type PQUERY_BAD_RANGES_INPUT = *mut _QUERY_BAD_RANGES_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_BAD_RANGES_OUTPUT_RANGE { + pub Flags: DWORD, + pub Reserved: DWORD, + pub StartOffset: DWORDLONG, + pub LengthInBytes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__QUERY_BAD_RANGES_OUTPUT_RANGE() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_BAD_RANGES_OUTPUT_RANGE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_BAD_RANGES_OUTPUT_RANGE>(), + 24usize, + concat!("Size of: ", stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_BAD_RANGES_OUTPUT_RANGE>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), + "::", + stringify!(StartOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LengthInBytes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT_RANGE), + "::", + stringify!(LengthInBytes) + ) + ); +} +pub type QUERY_BAD_RANGES_OUTPUT_RANGE = _QUERY_BAD_RANGES_OUTPUT_RANGE; +pub type PQUERY_BAD_RANGES_OUTPUT_RANGE = *mut _QUERY_BAD_RANGES_OUTPUT_RANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_BAD_RANGES_OUTPUT { + pub Flags: DWORD, + pub NumBadRanges: DWORD, + pub NextOffsetToLookUp: DWORDLONG, + pub BadRanges: [QUERY_BAD_RANGES_OUTPUT_RANGE; 1usize], +} +#[test] +fn bindgen_test_layout__QUERY_BAD_RANGES_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_BAD_RANGES_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_BAD_RANGES_OUTPUT>(), + 40usize, + concat!("Size of: ", stringify!(_QUERY_BAD_RANGES_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_BAD_RANGES_OUTPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_BAD_RANGES_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumBadRanges) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT), + "::", + stringify!(NumBadRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextOffsetToLookUp) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT), + "::", + stringify!(NextOffsetToLookUp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BadRanges) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_BAD_RANGES_OUTPUT), + "::", + stringify!(BadRanges) + ) + ); +} +pub type QUERY_BAD_RANGES_OUTPUT = _QUERY_BAD_RANGES_OUTPUT; +pub type PQUERY_BAD_RANGES_OUTPUT = *mut _QUERY_BAD_RANGES_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT { + pub Flags: DWORD, + pub AlignmentShift: DWORD, + pub FileOffsetToAlign: DWORDLONG, + pub FallbackAlignmentShift: DWORD, +} +#[test] +fn bindgen_test_layout__SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT>(), + 24usize, + concat!("Size of: ", stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AlignmentShift) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), + "::", + stringify!(AlignmentShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileOffsetToAlign) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), + "::", + stringify!(FileOffsetToAlign) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FallbackAlignmentShift) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT), + "::", + stringify!(FallbackAlignmentShift) + ) + ); +} +pub type SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT = _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT; +pub type PSET_DAX_ALLOC_ALIGNMENT_HINT_INPUT = *mut _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT; +pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorUndefined: + _VIRTUAL_STORAGE_BEHAVIOR_CODE = 0; +pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorCacheWriteThrough: + _VIRTUAL_STORAGE_BEHAVIOR_CODE = 1; +pub const _VIRTUAL_STORAGE_BEHAVIOR_CODE_VirtualStorageBehaviorCacheWriteBack: + _VIRTUAL_STORAGE_BEHAVIOR_CODE = 2; +pub type _VIRTUAL_STORAGE_BEHAVIOR_CODE = ::std::os::raw::c_int; +pub use self::_VIRTUAL_STORAGE_BEHAVIOR_CODE as VIRTUAL_STORAGE_BEHAVIOR_CODE; +pub type PVIRTUAL_STORAGE_BEHAVIOR_CODE = *mut _VIRTUAL_STORAGE_BEHAVIOR_CODE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT { + pub Size: DWORD, + pub BehaviorCode: VIRTUAL_STORAGE_BEHAVIOR_CODE, +} +#[test] +fn bindgen_test_layout__VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BehaviorCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT), + "::", + stringify!(BehaviorCode) + ) + ); +} +pub type VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT = _VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT; +pub type PVIRTUAL_STORAGE_SET_BEHAVIOR_INPUT = *mut _VIRTUAL_STORAGE_SET_BEHAVIOR_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENCRYPTION_KEY_CTRL_INPUT { + pub HeaderSize: DWORD, + pub StructureSize: DWORD, + pub KeyOffset: WORD, + pub KeySize: WORD, + pub DplLock: DWORD, + pub DplUserId: DWORDLONG, + pub DplCredentialId: DWORDLONG, +} +#[test] +fn bindgen_test_layout__ENCRYPTION_KEY_CTRL_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_ENCRYPTION_KEY_CTRL_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENCRYPTION_KEY_CTRL_INPUT>(), + 32usize, + concat!("Size of: ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_ENCRYPTION_KEY_CTRL_INPUT>(), + 8usize, + concat!("Alignment of ", stringify!(_ENCRYPTION_KEY_CTRL_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StructureSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(StructureSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeyOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(KeyOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).KeySize) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(KeySize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DplLock) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(DplLock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DplUserId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(DplUserId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DplCredentialId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_ENCRYPTION_KEY_CTRL_INPUT), + "::", + stringify!(DplCredentialId) + ) + ); +} +pub type ENCRYPTION_KEY_CTRL_INPUT = _ENCRYPTION_KEY_CTRL_INPUT; +pub type PENCRYPTION_KEY_CTRL_INPUT = *mut _ENCRYPTION_KEY_CTRL_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOF_EXTERNAL_INFO { + pub Version: DWORD, + pub Provider: DWORD, +} +#[test] +fn bindgen_test_layout__WOF_EXTERNAL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_WOF_EXTERNAL_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOF_EXTERNAL_INFO>(), + 8usize, + concat!("Size of: ", stringify!(_WOF_EXTERNAL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_WOF_EXTERNAL_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_WOF_EXTERNAL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOF_EXTERNAL_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Provider) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WOF_EXTERNAL_INFO), + "::", + stringify!(Provider) + ) + ); +} +pub type WOF_EXTERNAL_INFO = _WOF_EXTERNAL_INFO; +pub type PWOF_EXTERNAL_INFO = *mut _WOF_EXTERNAL_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOF_EXTERNAL_FILE_ID { + pub FileId: FILE_ID_128, +} +#[test] +fn bindgen_test_layout__WOF_EXTERNAL_FILE_ID() { + const UNINIT: ::std::mem::MaybeUninit<_WOF_EXTERNAL_FILE_ID> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOF_EXTERNAL_FILE_ID>(), + 16usize, + concat!("Size of: ", stringify!(_WOF_EXTERNAL_FILE_ID)) + ); + assert_eq!( + ::std::mem::align_of::<_WOF_EXTERNAL_FILE_ID>(), + 1usize, + concat!("Alignment of ", stringify!(_WOF_EXTERNAL_FILE_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FileId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOF_EXTERNAL_FILE_ID), + "::", + stringify!(FileId) + ) + ); +} +pub type WOF_EXTERNAL_FILE_ID = _WOF_EXTERNAL_FILE_ID; +pub type PWOF_EXTERNAL_FILE_ID = *mut _WOF_EXTERNAL_FILE_ID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WOF_VERSION_INFO { + pub WofVersion: DWORD, +} +#[test] +fn bindgen_test_layout__WOF_VERSION_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_WOF_VERSION_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WOF_VERSION_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_WOF_VERSION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_WOF_VERSION_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_WOF_VERSION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WofVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WOF_VERSION_INFO), + "::", + stringify!(WofVersion) + ) + ); +} +pub type WOF_VERSION_INFO = _WOF_VERSION_INFO; +pub type PWOF_VERSION_INFO = *mut _WOF_VERSION_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_EXTERNAL_INFO { + pub Version: DWORD, + pub Flags: DWORD, + pub DataSourceId: LARGE_INTEGER, + pub ResourceHash: [BYTE; 20usize], +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_EXTERNAL_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_EXTERNAL_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_EXTERNAL_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_EXTERNAL_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_EXTERNAL_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_WIM_PROVIDER_EXTERNAL_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_EXTERNAL_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_EXTERNAL_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_EXTERNAL_INFO), + "::", + stringify!(DataSourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResourceHash) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_EXTERNAL_INFO), + "::", + stringify!(ResourceHash) + ) + ); +} +pub type WIM_PROVIDER_EXTERNAL_INFO = _WIM_PROVIDER_EXTERNAL_INFO; +pub type PWIM_PROVIDER_EXTERNAL_INFO = *mut _WIM_PROVIDER_EXTERNAL_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WIM_PROVIDER_ADD_OVERLAY_INPUT { + pub WimType: DWORD, + pub WimIndex: DWORD, + pub WimFileNameOffset: DWORD, + pub WimFileNameLength: DWORD, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_ADD_OVERLAY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_ADD_OVERLAY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_ADD_OVERLAY_INPUT>(), + 16usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_ADD_OVERLAY_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), + "::", + stringify!(WimType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimIndex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), + "::", + stringify!(WimIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), + "::", + stringify!(WimFileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_ADD_OVERLAY_INPUT), + "::", + stringify!(WimFileNameLength) + ) + ); +} +pub type WIM_PROVIDER_ADD_OVERLAY_INPUT = _WIM_PROVIDER_ADD_OVERLAY_INPUT; +pub type PWIM_PROVIDER_ADD_OVERLAY_INPUT = *mut _WIM_PROVIDER_ADD_OVERLAY_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_UPDATE_OVERLAY_INPUT { + pub DataSourceId: LARGE_INTEGER, + pub WimFileNameOffset: DWORD, + pub WimFileNameLength: DWORD, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_UPDATE_OVERLAY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_UPDATE_OVERLAY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_UPDATE_OVERLAY_INPUT>(), + 16usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_UPDATE_OVERLAY_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT), + "::", + stringify!(DataSourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT), + "::", + stringify!(WimFileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_UPDATE_OVERLAY_INPUT), + "::", + stringify!(WimFileNameLength) + ) + ); +} +pub type WIM_PROVIDER_UPDATE_OVERLAY_INPUT = _WIM_PROVIDER_UPDATE_OVERLAY_INPUT; +pub type PWIM_PROVIDER_UPDATE_OVERLAY_INPUT = *mut _WIM_PROVIDER_UPDATE_OVERLAY_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_REMOVE_OVERLAY_INPUT { + pub DataSourceId: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_REMOVE_OVERLAY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_REMOVE_OVERLAY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_REMOVE_OVERLAY_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_REMOVE_OVERLAY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_REMOVE_OVERLAY_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WIM_PROVIDER_REMOVE_OVERLAY_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_REMOVE_OVERLAY_INPUT), + "::", + stringify!(DataSourceId) + ) + ); +} +pub type WIM_PROVIDER_REMOVE_OVERLAY_INPUT = _WIM_PROVIDER_REMOVE_OVERLAY_INPUT; +pub type PWIM_PROVIDER_REMOVE_OVERLAY_INPUT = *mut _WIM_PROVIDER_REMOVE_OVERLAY_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_SUSPEND_OVERLAY_INPUT { + pub DataSourceId: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_SUSPEND_OVERLAY_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_SUSPEND_OVERLAY_INPUT), + "::", + stringify!(DataSourceId) + ) + ); +} +pub type WIM_PROVIDER_SUSPEND_OVERLAY_INPUT = _WIM_PROVIDER_SUSPEND_OVERLAY_INPUT; +pub type PWIM_PROVIDER_SUSPEND_OVERLAY_INPUT = *mut _WIM_PROVIDER_SUSPEND_OVERLAY_INPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WIM_PROVIDER_OVERLAY_ENTRY { + pub NextEntryOffset: DWORD, + pub DataSourceId: LARGE_INTEGER, + pub WimGuid: GUID, + pub WimFileNameOffset: DWORD, + pub WimType: DWORD, + pub WimIndex: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__WIM_PROVIDER_OVERLAY_ENTRY() { + const UNINIT: ::std::mem::MaybeUninit<_WIM_PROVIDER_OVERLAY_ENTRY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WIM_PROVIDER_OVERLAY_ENTRY>(), + 48usize, + concat!("Size of: ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY)) + ); + assert_eq!( + ::std::mem::align_of::<_WIM_PROVIDER_OVERLAY_ENTRY>(), + 8usize, + concat!("Alignment of ", stringify!(_WIM_PROVIDER_OVERLAY_ENTRY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextEntryOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(NextEntryOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataSourceId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(DataSourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimGuid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(WimGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimFileNameOffset) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(WimFileNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimType) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(WimType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WimIndex) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(WimIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_WIM_PROVIDER_OVERLAY_ENTRY), + "::", + stringify!(Flags) + ) + ); +} +pub type WIM_PROVIDER_OVERLAY_ENTRY = _WIM_PROVIDER_OVERLAY_ENTRY; +pub type PWIM_PROVIDER_OVERLAY_ENTRY = *mut _WIM_PROVIDER_OVERLAY_ENTRY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_PROVIDER_EXTERNAL_INFO_V0 { + pub Version: DWORD, + pub Algorithm: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_PROVIDER_EXTERNAL_INFO_V0() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_PROVIDER_EXTERNAL_INFO_V0> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_PROVIDER_EXTERNAL_INFO_V0>(), + 8usize, + concat!("Size of: ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V0)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_PROVIDER_EXTERNAL_INFO_V0>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V0)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V0), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V0), + "::", + stringify!(Algorithm) + ) + ); +} +pub type FILE_PROVIDER_EXTERNAL_INFO_V0 = _FILE_PROVIDER_EXTERNAL_INFO_V0; +pub type PFILE_PROVIDER_EXTERNAL_INFO_V0 = *mut _FILE_PROVIDER_EXTERNAL_INFO_V0; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FILE_PROVIDER_EXTERNAL_INFO_V1 { + pub Version: DWORD, + pub Algorithm: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__FILE_PROVIDER_EXTERNAL_INFO_V1() { + const UNINIT: ::std::mem::MaybeUninit<_FILE_PROVIDER_EXTERNAL_INFO_V1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FILE_PROVIDER_EXTERNAL_INFO_V1>(), + 12usize, + concat!("Size of: ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_FILE_PROVIDER_EXTERNAL_INFO_V1>(), + 4usize, + concat!("Alignment of ", stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Algorithm) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1), + "::", + stringify!(Algorithm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FILE_PROVIDER_EXTERNAL_INFO_V1), + "::", + stringify!(Flags) + ) + ); +} +pub type FILE_PROVIDER_EXTERNAL_INFO_V1 = _FILE_PROVIDER_EXTERNAL_INFO_V1; +pub type PFILE_PROVIDER_EXTERNAL_INFO_V1 = *mut _FILE_PROVIDER_EXTERNAL_INFO_V1; +pub type FILE_PROVIDER_EXTERNAL_INFO = FILE_PROVIDER_EXTERNAL_INFO_V1; +pub type PFILE_PROVIDER_EXTERNAL_INFO = PFILE_PROVIDER_EXTERNAL_INFO_V1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONTAINER_VOLUME_STATE { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__CONTAINER_VOLUME_STATE() { + const UNINIT: ::std::mem::MaybeUninit<_CONTAINER_VOLUME_STATE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTAINER_VOLUME_STATE>(), + 4usize, + concat!("Size of: ", stringify!(_CONTAINER_VOLUME_STATE)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTAINER_VOLUME_STATE>(), + 4usize, + concat!("Alignment of ", stringify!(_CONTAINER_VOLUME_STATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTAINER_VOLUME_STATE), + "::", + stringify!(Flags) + ) + ); +} +pub type CONTAINER_VOLUME_STATE = _CONTAINER_VOLUME_STATE; +pub type PCONTAINER_VOLUME_STATE = *mut _CONTAINER_VOLUME_STATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONTAINER_ROOT_INFO_INPUT { + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__CONTAINER_ROOT_INFO_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_CONTAINER_ROOT_INFO_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTAINER_ROOT_INFO_INPUT>(), + 4usize, + concat!("Size of: ", stringify!(_CONTAINER_ROOT_INFO_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTAINER_ROOT_INFO_INPUT>(), + 4usize, + concat!("Alignment of ", stringify!(_CONTAINER_ROOT_INFO_INPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTAINER_ROOT_INFO_INPUT), + "::", + stringify!(Flags) + ) + ); +} +pub type CONTAINER_ROOT_INFO_INPUT = _CONTAINER_ROOT_INFO_INPUT; +pub type PCONTAINER_ROOT_INFO_INPUT = *mut _CONTAINER_ROOT_INFO_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CONTAINER_ROOT_INFO_OUTPUT { + pub ContainerRootIdLength: WORD, + pub ContainerRootId: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__CONTAINER_ROOT_INFO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_CONTAINER_ROOT_INFO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CONTAINER_ROOT_INFO_OUTPUT>(), + 4usize, + concat!("Size of: ", stringify!(_CONTAINER_ROOT_INFO_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_CONTAINER_ROOT_INFO_OUTPUT>(), + 2usize, + concat!("Alignment of ", stringify!(_CONTAINER_ROOT_INFO_OUTPUT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContainerRootIdLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CONTAINER_ROOT_INFO_OUTPUT), + "::", + stringify!(ContainerRootIdLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContainerRootId) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_CONTAINER_ROOT_INFO_OUTPUT), + "::", + stringify!(ContainerRootId) + ) + ); +} +pub type CONTAINER_ROOT_INFO_OUTPUT = _CONTAINER_ROOT_INFO_OUTPUT; +pub type PCONTAINER_ROOT_INFO_OUTPUT = *mut _CONTAINER_ROOT_INFO_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUALIZATION_INSTANCE_INFO_INPUT { + pub NumberOfWorkerThreads: DWORD, + pub Flags: DWORD, +} +#[test] +fn bindgen_test_layout__VIRTUALIZATION_INSTANCE_INFO_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUALIZATION_INSTANCE_INFO_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUALIZATION_INSTANCE_INFO_INPUT>(), + 8usize, + concat!("Size of: ", stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUALIZATION_INSTANCE_INFO_INPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfWorkerThreads) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT), + "::", + stringify!(NumberOfWorkerThreads) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT), + "::", + stringify!(Flags) + ) + ); +} +pub type VIRTUALIZATION_INSTANCE_INFO_INPUT = _VIRTUALIZATION_INSTANCE_INFO_INPUT; +pub type PVIRTUALIZATION_INSTANCE_INFO_INPUT = *mut _VIRTUALIZATION_INSTANCE_INFO_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUALIZATION_INSTANCE_INFO_INPUT_EX { + pub HeaderSize: WORD, + pub Flags: DWORD, + pub NotificationInfoSize: DWORD, + pub NotificationInfoOffset: WORD, + pub ProviderMajorVersion: WORD, +} +#[test] +fn bindgen_test_layout__VIRTUALIZATION_INSTANCE_INFO_INPUT_EX() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX>(), + 16usize, + concat!( + "Size of: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX) + ) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeaderSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(HeaderSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationInfoSize) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(NotificationInfoSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotificationInfoOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(NotificationInfoOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderMajorVersion) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_INPUT_EX), + "::", + stringify!(ProviderMajorVersion) + ) + ); +} +pub type VIRTUALIZATION_INSTANCE_INFO_INPUT_EX = _VIRTUALIZATION_INSTANCE_INFO_INPUT_EX; +pub type PVIRTUALIZATION_INSTANCE_INFO_INPUT_EX = *mut _VIRTUALIZATION_INSTANCE_INFO_INPUT_EX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VIRTUALIZATION_INSTANCE_INFO_OUTPUT { + pub VirtualizationInstanceID: GUID, +} +#[test] +fn bindgen_test_layout__VIRTUALIZATION_INSTANCE_INFO_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_VIRTUALIZATION_INSTANCE_INFO_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VIRTUALIZATION_INSTANCE_INFO_OUTPUT>(), + 16usize, + concat!( + "Size of: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_OUTPUT) + ) + ); + assert_eq!( + ::std::mem::align_of::<_VIRTUALIZATION_INSTANCE_INFO_OUTPUT>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VirtualizationInstanceID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VIRTUALIZATION_INSTANCE_INFO_OUTPUT), + "::", + stringify!(VirtualizationInstanceID) + ) + ); +} +pub type VIRTUALIZATION_INSTANCE_INFO_OUTPUT = _VIRTUALIZATION_INSTANCE_INFO_OUTPUT; +pub type PVIRTUALIZATION_INSTANCE_INFO_OUTPUT = *mut _VIRTUALIZATION_INSTANCE_INFO_OUTPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_FILTER_FILE_IDENTIFIER_INPUT { + pub AltitudeLength: WORD, + pub Altitude: [WCHAR; 1usize], +} +#[test] +fn bindgen_test_layout__GET_FILTER_FILE_IDENTIFIER_INPUT() { + const UNINIT: ::std::mem::MaybeUninit<_GET_FILTER_FILE_IDENTIFIER_INPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_FILTER_FILE_IDENTIFIER_INPUT>(), + 4usize, + concat!("Size of: ", stringify!(_GET_FILTER_FILE_IDENTIFIER_INPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_FILTER_FILE_IDENTIFIER_INPUT>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_INPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AltitudeLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_INPUT), + "::", + stringify!(AltitudeLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Altitude) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_INPUT), + "::", + stringify!(Altitude) + ) + ); +} +pub type GET_FILTER_FILE_IDENTIFIER_INPUT = _GET_FILTER_FILE_IDENTIFIER_INPUT; +pub type PGET_FILTER_FILE_IDENTIFIER_INPUT = *mut _GET_FILTER_FILE_IDENTIFIER_INPUT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _GET_FILTER_FILE_IDENTIFIER_OUTPUT { + pub FilterFileIdentifierLength: WORD, + pub FilterFileIdentifier: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__GET_FILTER_FILE_IDENTIFIER_OUTPUT() { + const UNINIT: ::std::mem::MaybeUninit<_GET_FILTER_FILE_IDENTIFIER_OUTPUT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GET_FILTER_FILE_IDENTIFIER_OUTPUT>(), + 4usize, + concat!("Size of: ", stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT)) + ); + assert_eq!( + ::std::mem::align_of::<_GET_FILTER_FILE_IDENTIFIER_OUTPUT>(), + 2usize, + concat!( + "Alignment of ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FilterFileIdentifierLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT), + "::", + stringify!(FilterFileIdentifierLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FilterFileIdentifier) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_GET_FILTER_FILE_IDENTIFIER_OUTPUT), + "::", + stringify!(FilterFileIdentifier) + ) + ); +} +pub type GET_FILTER_FILE_IDENTIFIER_OUTPUT = _GET_FILTER_FILE_IDENTIFIER_OUTPUT; +pub type PGET_FILTER_FILE_IDENTIFIER_OUTPUT = *mut _GET_FILTER_FILE_IDENTIFIER_OUTPUT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _DISK_EXTENT { + pub DiskNumber: DWORD, + pub StartingOffset: LARGE_INTEGER, + pub ExtentLength: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__DISK_EXTENT() { + const UNINIT: ::std::mem::MaybeUninit<_DISK_EXTENT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DISK_EXTENT>(), + 24usize, + concat!("Size of: ", stringify!(_DISK_EXTENT)) + ); + assert_eq!( + ::std::mem::align_of::<_DISK_EXTENT>(), + 8usize, + concat!("Alignment of ", stringify!(_DISK_EXTENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiskNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EXTENT), + "::", + stringify!(DiskNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartingOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EXTENT), + "::", + stringify!(StartingOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtentLength) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DISK_EXTENT), + "::", + stringify!(ExtentLength) + ) + ); +} +pub type DISK_EXTENT = _DISK_EXTENT; +pub type PDISK_EXTENT = *mut _DISK_EXTENT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _VOLUME_DISK_EXTENTS { + pub NumberOfDiskExtents: DWORD, + pub Extents: [DISK_EXTENT; 1usize], +} +#[test] +fn bindgen_test_layout__VOLUME_DISK_EXTENTS() { + const UNINIT: ::std::mem::MaybeUninit<_VOLUME_DISK_EXTENTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VOLUME_DISK_EXTENTS>(), + 32usize, + concat!("Size of: ", stringify!(_VOLUME_DISK_EXTENTS)) + ); + assert_eq!( + ::std::mem::align_of::<_VOLUME_DISK_EXTENTS>(), + 8usize, + concat!("Alignment of ", stringify!(_VOLUME_DISK_EXTENTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumberOfDiskExtents) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VOLUME_DISK_EXTENTS), + "::", + stringify!(NumberOfDiskExtents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Extents) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_VOLUME_DISK_EXTENTS), + "::", + stringify!(Extents) + ) + ); +} +pub type VOLUME_DISK_EXTENTS = _VOLUME_DISK_EXTENTS; +pub type PVOLUME_DISK_EXTENTS = *mut _VOLUME_DISK_EXTENTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION { + pub GptAttributes: DWORDLONG, +} +#[test] +fn bindgen_test_layout__VOLUME_GET_GPT_ATTRIBUTES_INFORMATION() { + const UNINIT: ::std::mem::MaybeUninit<_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION>(), + 8usize, + concat!( + "Size of: ", + stringify!(_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION) + ) + ); + assert_eq!( + ::std::mem::align_of::<_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GptAttributes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_VOLUME_GET_GPT_ATTRIBUTES_INFORMATION), + "::", + stringify!(GptAttributes) + ) + ); +} +pub type VOLUME_GET_GPT_ATTRIBUTES_INFORMATION = _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION; +pub type PVOLUME_GET_GPT_ATTRIBUTES_INFORMATION = *mut _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION; +pub type PIO_IRP_EXT_PROCESS_TRACKED_OFFSET_CALLBACK = ::std::option::Option< + unsafe extern "C" fn( + SourceContext: *mut _IO_IRP_EXT_TRACK_OFFSET_HEADER, + TargetContext: *mut _IO_IRP_EXT_TRACK_OFFSET_HEADER, + RelativeOffset: LONGLONG, + ), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _IO_IRP_EXT_TRACK_OFFSET_HEADER { + pub Validation: WORD, + pub Flags: WORD, + pub TrackedOffsetCallback: PIO_IRP_EXT_PROCESS_TRACKED_OFFSET_CALLBACK, +} +#[test] +fn bindgen_test_layout__IO_IRP_EXT_TRACK_OFFSET_HEADER() { + const UNINIT: ::std::mem::MaybeUninit<_IO_IRP_EXT_TRACK_OFFSET_HEADER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_IO_IRP_EXT_TRACK_OFFSET_HEADER>(), + 16usize, + concat!("Size of: ", stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER)) + ); + assert_eq!( + ::std::mem::align_of::<_IO_IRP_EXT_TRACK_OFFSET_HEADER>(), + 8usize, + concat!("Alignment of ", stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Validation) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER), + "::", + stringify!(Validation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TrackedOffsetCallback) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_IO_IRP_EXT_TRACK_OFFSET_HEADER), + "::", + stringify!(TrackedOffsetCallback) + ) + ); +} +pub type IO_IRP_EXT_TRACK_OFFSET_HEADER = _IO_IRP_EXT_TRACK_OFFSET_HEADER; +pub type PIO_IRP_EXT_TRACK_OFFSET_HEADER = *mut _IO_IRP_EXT_TRACK_OFFSET_HEADER; +pub type UWORD = WORD; +extern "C" { + pub static GUID_DEVINTERFACE_SMARTCARD_READER: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCARD_IO_REQUEST { + pub dwProtocol: DWORD, + pub cbPciLength: DWORD, +} +#[test] +fn bindgen_test_layout__SCARD_IO_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_IO_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_IO_REQUEST>(), + 8usize, + concat!("Size of: ", stringify!(_SCARD_IO_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_IO_REQUEST>(), + 4usize, + concat!("Alignment of ", stringify!(_SCARD_IO_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProtocol) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_IO_REQUEST), + "::", + stringify!(dwProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbPciLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_IO_REQUEST), + "::", + stringify!(cbPciLength) + ) + ); +} +pub type SCARD_IO_REQUEST = _SCARD_IO_REQUEST; +pub type PSCARD_IO_REQUEST = *mut _SCARD_IO_REQUEST; +pub type LPSCARD_IO_REQUEST = *mut _SCARD_IO_REQUEST; +pub type LPCSCARD_IO_REQUEST = *const SCARD_IO_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCARD_T0_COMMAND { + pub bCla: BYTE, + pub bIns: BYTE, + pub bP1: BYTE, + pub bP2: BYTE, + pub bP3: BYTE, +} +#[test] +fn bindgen_test_layout__SCARD_T0_COMMAND() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_T0_COMMAND> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_T0_COMMAND>(), + 5usize, + concat!("Size of: ", stringify!(_SCARD_T0_COMMAND)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_T0_COMMAND>(), + 1usize, + concat!("Alignment of ", stringify!(_SCARD_T0_COMMAND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bCla) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bCla) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bIns) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bIns) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bP1) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bP1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bP2) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bP2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bP3) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_COMMAND), + "::", + stringify!(bP3) + ) + ); +} +pub type SCARD_T0_COMMAND = _SCARD_T0_COMMAND; +pub type LPSCARD_T0_COMMAND = *mut _SCARD_T0_COMMAND; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SCARD_T0_REQUEST { + pub ioRequest: SCARD_IO_REQUEST, + pub bSw1: BYTE, + pub bSw2: BYTE, + pub __bindgen_anon_1: _SCARD_T0_REQUEST__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SCARD_T0_REQUEST__bindgen_ty_1 { + pub CmdBytes: SCARD_T0_COMMAND, + pub rgbHeader: [BYTE; 5usize], +} +#[test] +fn bindgen_test_layout__SCARD_T0_REQUEST__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_T0_REQUEST__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_T0_REQUEST__bindgen_ty_1>(), + 5usize, + concat!("Size of: ", stringify!(_SCARD_T0_REQUEST__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_T0_REQUEST__bindgen_ty_1>(), + 1usize, + concat!("Alignment of ", stringify!(_SCARD_T0_REQUEST__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CmdBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST__bindgen_ty_1), + "::", + stringify!(CmdBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST__bindgen_ty_1), + "::", + stringify!(rgbHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__SCARD_T0_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_T0_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_T0_REQUEST>(), + 16usize, + concat!("Size of: ", stringify!(_SCARD_T0_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_T0_REQUEST>(), + 4usize, + concat!("Alignment of ", stringify!(_SCARD_T0_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ioRequest) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST), + "::", + stringify!(ioRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSw1) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST), + "::", + stringify!(bSw1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bSw2) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T0_REQUEST), + "::", + stringify!(bSw2) + ) + ); +} +pub type SCARD_T0_REQUEST = _SCARD_T0_REQUEST; +pub type PSCARD_T0_REQUEST = *mut SCARD_T0_REQUEST; +pub type LPSCARD_T0_REQUEST = *mut SCARD_T0_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCARD_T1_REQUEST { + pub ioRequest: SCARD_IO_REQUEST, +} +#[test] +fn bindgen_test_layout__SCARD_T1_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_T1_REQUEST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_T1_REQUEST>(), + 8usize, + concat!("Size of: ", stringify!(_SCARD_T1_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_T1_REQUEST>(), + 4usize, + concat!("Alignment of ", stringify!(_SCARD_T1_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ioRequest) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_T1_REQUEST), + "::", + stringify!(ioRequest) + ) + ); +} +pub type SCARD_T1_REQUEST = _SCARD_T1_REQUEST; +pub type PSCARD_T1_REQUEST = *mut SCARD_T1_REQUEST; +pub type LPSCARD_T1_REQUEST = *mut SCARD_T1_REQUEST; +pub type LPCBYTE = *const BYTE; +extern "C" { + pub static g_rgSCardT0Pci: SCARD_IO_REQUEST; +} +extern "C" { + pub static g_rgSCardT1Pci: SCARD_IO_REQUEST; +} +extern "C" { + pub static g_rgSCardRawPci: SCARD_IO_REQUEST; +} +pub type SCARDCONTEXT = ULONG_PTR; +pub type PSCARDCONTEXT = *mut SCARDCONTEXT; +pub type LPSCARDCONTEXT = *mut SCARDCONTEXT; +pub type SCARDHANDLE = ULONG_PTR; +pub type PSCARDHANDLE = *mut SCARDHANDLE; +pub type LPSCARDHANDLE = *mut SCARDHANDLE; +extern "C" { + pub fn SCardEstablishContext( + dwScope: DWORD, + pvReserved1: LPCVOID, + pvReserved2: LPCVOID, + phContext: LPSCARDCONTEXT, + ) -> LONG; +} +extern "C" { + pub fn SCardReleaseContext(hContext: SCARDCONTEXT) -> LONG; +} +extern "C" { + pub fn SCardIsValidContext(hContext: SCARDCONTEXT) -> LONG; +} +extern "C" { + pub fn SCardListReaderGroupsA( + hContext: SCARDCONTEXT, + mszGroups: LPSTR, + pcchGroups: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReaderGroupsW( + hContext: SCARDCONTEXT, + mszGroups: LPWSTR, + pcchGroups: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReadersA( + hContext: SCARDCONTEXT, + mszGroups: LPCSTR, + mszReaders: LPSTR, + pcchReaders: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReadersW( + hContext: SCARDCONTEXT, + mszGroups: LPCWSTR, + mszReaders: LPWSTR, + pcchReaders: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListCardsA( + hContext: SCARDCONTEXT, + pbAtr: LPCBYTE, + rgquidInterfaces: LPCGUID, + cguidInterfaceCount: DWORD, + mszCards: *mut CHAR, + pcchCards: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListCardsW( + hContext: SCARDCONTEXT, + pbAtr: LPCBYTE, + rgquidInterfaces: LPCGUID, + cguidInterfaceCount: DWORD, + mszCards: *mut WCHAR, + pcchCards: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListInterfacesA( + hContext: SCARDCONTEXT, + szCard: LPCSTR, + pguidInterfaces: LPGUID, + pcguidInterfaces: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListInterfacesW( + hContext: SCARDCONTEXT, + szCard: LPCWSTR, + pguidInterfaces: LPGUID, + pcguidInterfaces: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetProviderIdA( + hContext: SCARDCONTEXT, + szCard: LPCSTR, + pguidProviderId: LPGUID, + ) -> LONG; +} +extern "C" { + pub fn SCardGetProviderIdW( + hContext: SCARDCONTEXT, + szCard: LPCWSTR, + pguidProviderId: LPGUID, + ) -> LONG; +} +extern "C" { + pub fn SCardGetCardTypeProviderNameA( + hContext: SCARDCONTEXT, + szCardName: LPCSTR, + dwProviderId: DWORD, + szProvider: *mut CHAR, + pcchProvider: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetCardTypeProviderNameW( + hContext: SCARDCONTEXT, + szCardName: LPCWSTR, + dwProviderId: DWORD, + szProvider: *mut WCHAR, + pcchProvider: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardIntroduceReaderGroupA(hContext: SCARDCONTEXT, szGroupName: LPCSTR) -> LONG; +} +extern "C" { + pub fn SCardIntroduceReaderGroupW(hContext: SCARDCONTEXT, szGroupName: LPCWSTR) -> LONG; +} +extern "C" { + pub fn SCardForgetReaderGroupA(hContext: SCARDCONTEXT, szGroupName: LPCSTR) -> LONG; +} +extern "C" { + pub fn SCardForgetReaderGroupW(hContext: SCARDCONTEXT, szGroupName: LPCWSTR) -> LONG; +} +extern "C" { + pub fn SCardIntroduceReaderA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + szDeviceName: LPCSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardIntroduceReaderW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + szDeviceName: LPCWSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardForgetReaderA(hContext: SCARDCONTEXT, szReaderName: LPCSTR) -> LONG; +} +extern "C" { + pub fn SCardForgetReaderW(hContext: SCARDCONTEXT, szReaderName: LPCWSTR) -> LONG; +} +extern "C" { + pub fn SCardAddReaderToGroupA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + szGroupName: LPCSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardAddReaderToGroupW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + szGroupName: LPCWSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardRemoveReaderFromGroupA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + szGroupName: LPCSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardRemoveReaderFromGroupW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + szGroupName: LPCWSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardIntroduceCardTypeA( + hContext: SCARDCONTEXT, + szCardName: LPCSTR, + pguidPrimaryProvider: LPCGUID, + rgguidInterfaces: LPCGUID, + dwInterfaceCount: DWORD, + pbAtr: LPCBYTE, + pbAtrMask: LPCBYTE, + cbAtrLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardIntroduceCardTypeW( + hContext: SCARDCONTEXT, + szCardName: LPCWSTR, + pguidPrimaryProvider: LPCGUID, + rgguidInterfaces: LPCGUID, + dwInterfaceCount: DWORD, + pbAtr: LPCBYTE, + pbAtrMask: LPCBYTE, + cbAtrLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardSetCardTypeProviderNameA( + hContext: SCARDCONTEXT, + szCardName: LPCSTR, + dwProviderId: DWORD, + szProvider: LPCSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardSetCardTypeProviderNameW( + hContext: SCARDCONTEXT, + szCardName: LPCWSTR, + dwProviderId: DWORD, + szProvider: LPCWSTR, + ) -> LONG; +} +extern "C" { + pub fn SCardForgetCardTypeA(hContext: SCARDCONTEXT, szCardName: LPCSTR) -> LONG; +} +extern "C" { + pub fn SCardForgetCardTypeW(hContext: SCARDCONTEXT, szCardName: LPCWSTR) -> LONG; +} +extern "C" { + pub fn SCardFreeMemory(hContext: SCARDCONTEXT, pvMem: LPCVOID) -> LONG; +} +extern "C" { + pub fn SCardAccessStartedEvent() -> HANDLE; +} +extern "C" { + pub fn SCardReleaseStartedEvent(); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SCARD_READERSTATEA { + pub szReader: LPCSTR, + pub pvUserData: LPVOID, + pub dwCurrentState: DWORD, + pub dwEventState: DWORD, + pub cbAtr: DWORD, + pub rgbAtr: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout_SCARD_READERSTATEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(SCARD_READERSTATEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(SCARD_READERSTATEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szReader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(szReader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(dwCurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEventState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(dwEventState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAtr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(cbAtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbAtr) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEA), + "::", + stringify!(rgbAtr) + ) + ); +} +pub type PSCARD_READERSTATEA = *mut SCARD_READERSTATEA; +pub type LPSCARD_READERSTATEA = *mut SCARD_READERSTATEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SCARD_READERSTATEW { + pub szReader: LPCWSTR, + pub pvUserData: LPVOID, + pub dwCurrentState: DWORD, + pub dwEventState: DWORD, + pub cbAtr: DWORD, + pub rgbAtr: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout_SCARD_READERSTATEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(SCARD_READERSTATEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(SCARD_READERSTATEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szReader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(szReader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentState) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(dwCurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwEventState) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(dwEventState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAtr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(cbAtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbAtr) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(SCARD_READERSTATEW), + "::", + stringify!(rgbAtr) + ) + ); +} +pub type PSCARD_READERSTATEW = *mut SCARD_READERSTATEW; +pub type LPSCARD_READERSTATEW = *mut SCARD_READERSTATEW; +pub type SCARD_READERSTATE = SCARD_READERSTATEA; +pub type PSCARD_READERSTATE = PSCARD_READERSTATEA; +pub type LPSCARD_READERSTATE = LPSCARD_READERSTATEA; +extern "C" { + pub fn SCardLocateCardsA( + hContext: SCARDCONTEXT, + mszCards: LPCSTR, + rgReaderStates: LPSCARD_READERSTATEA, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardLocateCardsW( + hContext: SCARDCONTEXT, + mszCards: LPCWSTR, + rgReaderStates: LPSCARD_READERSTATEW, + cReaders: DWORD, + ) -> LONG; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SCARD_ATRMASK { + pub cbAtr: DWORD, + pub rgbAtr: [BYTE; 36usize], + pub rgbMask: [BYTE; 36usize], +} +#[test] +fn bindgen_test_layout__SCARD_ATRMASK() { + const UNINIT: ::std::mem::MaybeUninit<_SCARD_ATRMASK> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SCARD_ATRMASK>(), + 76usize, + concat!("Size of: ", stringify!(_SCARD_ATRMASK)) + ); + assert_eq!( + ::std::mem::align_of::<_SCARD_ATRMASK>(), + 4usize, + concat!("Alignment of ", stringify!(_SCARD_ATRMASK)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAtr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_ATRMASK), + "::", + stringify!(cbAtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbAtr) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_ATRMASK), + "::", + stringify!(rgbAtr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbMask) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_SCARD_ATRMASK), + "::", + stringify!(rgbMask) + ) + ); +} +pub type SCARD_ATRMASK = _SCARD_ATRMASK; +pub type PSCARD_ATRMASK = *mut _SCARD_ATRMASK; +pub type LPSCARD_ATRMASK = *mut _SCARD_ATRMASK; +extern "C" { + pub fn SCardLocateCardsByATRA( + hContext: SCARDCONTEXT, + rgAtrMasks: LPSCARD_ATRMASK, + cAtrs: DWORD, + rgReaderStates: LPSCARD_READERSTATEA, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardLocateCardsByATRW( + hContext: SCARDCONTEXT, + rgAtrMasks: LPSCARD_ATRMASK, + cAtrs: DWORD, + rgReaderStates: LPSCARD_READERSTATEW, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetStatusChangeA( + hContext: SCARDCONTEXT, + dwTimeout: DWORD, + rgReaderStates: LPSCARD_READERSTATEA, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetStatusChangeW( + hContext: SCARDCONTEXT, + dwTimeout: DWORD, + rgReaderStates: LPSCARD_READERSTATEW, + cReaders: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardCancel(hContext: SCARDCONTEXT) -> LONG; +} +extern "C" { + pub fn SCardConnectA( + hContext: SCARDCONTEXT, + szReader: LPCSTR, + dwShareMode: DWORD, + dwPreferredProtocols: DWORD, + phCard: LPSCARDHANDLE, + pdwActiveProtocol: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardConnectW( + hContext: SCARDCONTEXT, + szReader: LPCWSTR, + dwShareMode: DWORD, + dwPreferredProtocols: DWORD, + phCard: LPSCARDHANDLE, + pdwActiveProtocol: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardReconnect( + hCard: SCARDHANDLE, + dwShareMode: DWORD, + dwPreferredProtocols: DWORD, + dwInitialization: DWORD, + pdwActiveProtocol: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardDisconnect(hCard: SCARDHANDLE, dwDisposition: DWORD) -> LONG; +} +extern "C" { + pub fn SCardBeginTransaction(hCard: SCARDHANDLE) -> LONG; +} +extern "C" { + pub fn SCardEndTransaction(hCard: SCARDHANDLE, dwDisposition: DWORD) -> LONG; +} +extern "C" { + pub fn SCardCancelTransaction(hCard: SCARDHANDLE) -> LONG; +} +extern "C" { + pub fn SCardState( + hCard: SCARDHANDLE, + pdwState: LPDWORD, + pdwProtocol: LPDWORD, + pbAtr: LPBYTE, + pcbAtrLen: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardStatusA( + hCard: SCARDHANDLE, + mszReaderNames: LPSTR, + pcchReaderLen: LPDWORD, + pdwState: LPDWORD, + pdwProtocol: LPDWORD, + pbAtr: LPBYTE, + pcbAtrLen: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardStatusW( + hCard: SCARDHANDLE, + mszReaderNames: LPWSTR, + pcchReaderLen: LPDWORD, + pdwState: LPDWORD, + pdwProtocol: LPDWORD, + pbAtr: LPBYTE, + pcbAtrLen: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardTransmit( + hCard: SCARDHANDLE, + pioSendPci: LPCSCARD_IO_REQUEST, + pbSendBuffer: LPCBYTE, + cbSendLength: DWORD, + pioRecvPci: LPSCARD_IO_REQUEST, + pbRecvBuffer: LPBYTE, + pcbRecvLength: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetTransmitCount(hCard: SCARDHANDLE, pcTransmitCount: LPDWORD) -> LONG; +} +extern "C" { + pub fn SCardControl( + hCard: SCARDHANDLE, + dwControlCode: DWORD, + lpInBuffer: LPCVOID, + cbInBufferSize: DWORD, + lpOutBuffer: LPVOID, + cbOutBufferSize: DWORD, + lpBytesReturned: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetAttrib( + hCard: SCARDHANDLE, + dwAttrId: DWORD, + pbAttr: LPBYTE, + pcbAttrLen: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardSetAttrib( + hCard: SCARDHANDLE, + dwAttrId: DWORD, + pbAttr: LPCBYTE, + cbAttrLen: DWORD, + ) -> LONG; +} +pub type LPOCNCONNPROCA = ::std::option::Option< + unsafe extern "C" fn(arg1: SCARDCONTEXT, arg2: LPSTR, arg3: LPSTR, arg4: PVOID) -> SCARDHANDLE, +>; +pub type LPOCNCONNPROCW = ::std::option::Option< + unsafe extern "C" fn( + arg1: SCARDCONTEXT, + arg2: LPWSTR, + arg3: LPWSTR, + arg4: PVOID, + ) -> SCARDHANDLE, +>; +pub type LPOCNCHKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: SCARDCONTEXT, arg2: SCARDHANDLE, arg3: PVOID) -> BOOL, +>; +pub type LPOCNDSCPROC = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARD_SEARCH_CRITERIAA { + pub dwStructSize: DWORD, + pub lpstrGroupNames: LPSTR, + pub nMaxGroupNames: DWORD, + pub rgguidInterfaces: LPCGUID, + pub cguidInterfaces: DWORD, + pub lpstrCardNames: LPSTR, + pub nMaxCardNames: DWORD, + pub lpfnCheck: LPOCNCHKPROC, + pub lpfnConnect: LPOCNCONNPROCA, + pub lpfnDisconnect: LPOCNDSCPROC, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, +} +#[test] +fn bindgen_test_layout_OPENCARD_SEARCH_CRITERIAA() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(OPENCARD_SEARCH_CRITERIAA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARD_SEARCH_CRITERIAA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrGroupNames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpstrGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxGroupNames) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(nMaxGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgguidInterfaces) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(rgguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cguidInterfaces) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(cguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCardNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpstrCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCardNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(nMaxCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnCheck) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpfnCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnDisconnect) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(lpfnDisconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAA), + "::", + stringify!(dwPreferredProtocols) + ) + ); +} +pub type POPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA; +pub type LPOPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARD_SEARCH_CRITERIAW { + pub dwStructSize: DWORD, + pub lpstrGroupNames: LPWSTR, + pub nMaxGroupNames: DWORD, + pub rgguidInterfaces: LPCGUID, + pub cguidInterfaces: DWORD, + pub lpstrCardNames: LPWSTR, + pub nMaxCardNames: DWORD, + pub lpfnCheck: LPOCNCHKPROC, + pub lpfnConnect: LPOCNCONNPROCW, + pub lpfnDisconnect: LPOCNDSCPROC, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, +} +#[test] +fn bindgen_test_layout_OPENCARD_SEARCH_CRITERIAW() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(OPENCARD_SEARCH_CRITERIAW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARD_SEARCH_CRITERIAW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrGroupNames) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpstrGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxGroupNames) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(nMaxGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgguidInterfaces) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(rgguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cguidInterfaces) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(cguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCardNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpstrCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCardNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(nMaxCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnCheck) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpfnCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnDisconnect) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(lpfnDisconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(OPENCARD_SEARCH_CRITERIAW), + "::", + stringify!(dwPreferredProtocols) + ) + ); +} +pub type POPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW; +pub type LPOPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW; +pub type OPENCARD_SEARCH_CRITERIA = OPENCARD_SEARCH_CRITERIAA; +pub type POPENCARD_SEARCH_CRITERIA = POPENCARD_SEARCH_CRITERIAA; +pub type LPOPENCARD_SEARCH_CRITERIA = LPOPENCARD_SEARCH_CRITERIAA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARDNAME_EXA { + pub dwStructSize: DWORD, + pub hSCardContext: SCARDCONTEXT, + pub hwndOwner: HWND, + pub dwFlags: DWORD, + pub lpstrTitle: LPCSTR, + pub lpstrSearchDesc: LPCSTR, + pub hIcon: HICON, + pub pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAA, + pub lpfnConnect: LPOCNCONNPROCA, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub lpstrRdr: LPSTR, + pub nMaxRdr: DWORD, + pub lpstrCard: LPSTR, + pub nMaxCard: DWORD, + pub dwActiveProtocol: DWORD, + pub hCardHandle: SCARDHANDLE, +} +#[test] +fn bindgen_test_layout_OPENCARDNAME_EXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(OPENCARDNAME_EXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARDNAME_EXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSCardContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(hSCardContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrSearchDesc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpstrSearchDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOpenCardSearchCriteria) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(pOpenCardSearchCriteria) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrRdr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpstrRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxRdr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(nMaxRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCard) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(lpstrCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCard) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(nMaxCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProtocol) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(dwActiveProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCardHandle) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXA), + "::", + stringify!(hCardHandle) + ) + ); +} +pub type POPENCARDNAME_EXA = *mut OPENCARDNAME_EXA; +pub type LPOPENCARDNAME_EXA = *mut OPENCARDNAME_EXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARDNAME_EXW { + pub dwStructSize: DWORD, + pub hSCardContext: SCARDCONTEXT, + pub hwndOwner: HWND, + pub dwFlags: DWORD, + pub lpstrTitle: LPCWSTR, + pub lpstrSearchDesc: LPCWSTR, + pub hIcon: HICON, + pub pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAW, + pub lpfnConnect: LPOCNCONNPROCW, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub lpstrRdr: LPWSTR, + pub nMaxRdr: DWORD, + pub lpstrCard: LPWSTR, + pub nMaxCard: DWORD, + pub dwActiveProtocol: DWORD, + pub hCardHandle: SCARDHANDLE, +} +#[test] +fn bindgen_test_layout_OPENCARDNAME_EXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(OPENCARDNAME_EXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARDNAME_EXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSCardContext) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(hSCardContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrSearchDesc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpstrSearchDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOpenCardSearchCriteria) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(pOpenCardSearchCriteria) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrRdr) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpstrRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxRdr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(nMaxRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCard) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(lpstrCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCard) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(nMaxCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProtocol) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(dwActiveProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCardHandle) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAME_EXW), + "::", + stringify!(hCardHandle) + ) + ); +} +pub type POPENCARDNAME_EXW = *mut OPENCARDNAME_EXW; +pub type LPOPENCARDNAME_EXW = *mut OPENCARDNAME_EXW; +pub type OPENCARDNAME_EX = OPENCARDNAME_EXA; +pub type POPENCARDNAME_EX = POPENCARDNAME_EXA; +pub type LPOPENCARDNAME_EX = LPOPENCARDNAME_EXA; +pub const READER_SEL_REQUEST_MATCH_TYPE_RSR_MATCH_TYPE_READER_AND_CONTAINER: + READER_SEL_REQUEST_MATCH_TYPE = 1; +pub const READER_SEL_REQUEST_MATCH_TYPE_RSR_MATCH_TYPE_SERIAL_NUMBER: + READER_SEL_REQUEST_MATCH_TYPE = 2; +pub const READER_SEL_REQUEST_MATCH_TYPE_RSR_MATCH_TYPE_ALL_CARDS: READER_SEL_REQUEST_MATCH_TYPE = 3; +pub type READER_SEL_REQUEST_MATCH_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct READER_SEL_REQUEST { + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub MatchType: READER_SEL_REQUEST_MATCH_TYPE, + pub __bindgen_anon_1: READER_SEL_REQUEST__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union READER_SEL_REQUEST__bindgen_ty_1 { + pub ReaderAndContainerParameter: READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1, + pub SerialNumberParameter: READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1 { + pub cbReaderNameOffset: DWORD, + pub cchReaderNameLength: DWORD, + pub cbContainerNameOffset: DWORD, + pub cchContainerNameLength: DWORD, + pub dwDesiredCardModuleVersion: DWORD, + pub dwCspFlags: DWORD, +} +#[test] +fn bindgen_test_layout_READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReaderNameOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cbReaderNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchReaderNameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cchReaderNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbContainerNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cbContainerNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchContainerNameLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cchContainerNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDesiredCardModuleVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwDesiredCardModuleVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCspFlags) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dwCspFlags) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2 { + pub cbSerialNumberOffset: DWORD, + pub cbSerialNumberLength: DWORD, + pub dwDesiredCardModuleVersion: DWORD, +} +#[test] +fn bindgen_test_layout_READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!( + "Size of: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSerialNumberOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(cbSerialNumberOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSerialNumberLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(cbSerialNumberLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDesiredCardModuleVersion) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(dwDesiredCardModuleVersion) + ) + ); +} +#[test] +fn bindgen_test_layout_READER_SEL_REQUEST__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(READER_SEL_REQUEST__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReaderAndContainerParameter) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1), + "::", + stringify!(ReaderAndContainerParameter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SerialNumberParameter) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST__bindgen_ty_1), + "::", + stringify!(SerialNumberParameter) + ) + ); +} +#[test] +fn bindgen_test_layout_READER_SEL_REQUEST() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(READER_SEL_REQUEST)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(READER_SEL_REQUEST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MatchType) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_REQUEST), + "::", + stringify!(MatchType) + ) + ); +} +pub type PREADER_SEL_REQUEST = *mut READER_SEL_REQUEST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct READER_SEL_RESPONSE { + pub cbReaderNameOffset: DWORD, + pub cchReaderNameLength: DWORD, + pub cbCardNameOffset: DWORD, + pub cchCardNameLength: DWORD, +} +#[test] +fn bindgen_test_layout_READER_SEL_RESPONSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(READER_SEL_RESPONSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(READER_SEL_RESPONSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbReaderNameOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_RESPONSE), + "::", + stringify!(cbReaderNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchReaderNameLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_RESPONSE), + "::", + stringify!(cchReaderNameLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbCardNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_RESPONSE), + "::", + stringify!(cbCardNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchCardNameLength) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(READER_SEL_RESPONSE), + "::", + stringify!(cchCardNameLength) + ) + ); +} +pub type PREADER_SEL_RESPONSE = *mut READER_SEL_RESPONSE; +extern "C" { + pub fn SCardUIDlgSelectCardA(arg1: LPOPENCARDNAME_EXA) -> LONG; +} +extern "C" { + pub fn SCardUIDlgSelectCardW(arg1: LPOPENCARDNAME_EXW) -> LONG; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARDNAMEA { + pub dwStructSize: DWORD, + pub hwndOwner: HWND, + pub hSCardContext: SCARDCONTEXT, + pub lpstrGroupNames: LPSTR, + pub nMaxGroupNames: DWORD, + pub lpstrCardNames: LPSTR, + pub nMaxCardNames: DWORD, + pub rgguidInterfaces: LPCGUID, + pub cguidInterfaces: DWORD, + pub lpstrRdr: LPSTR, + pub nMaxRdr: DWORD, + pub lpstrCard: LPSTR, + pub nMaxCard: DWORD, + pub lpstrTitle: LPCSTR, + pub dwFlags: DWORD, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub dwActiveProtocol: DWORD, + pub lpfnConnect: LPOCNCONNPROCA, + pub lpfnCheck: LPOCNCHKPROC, + pub lpfnDisconnect: LPOCNDSCPROC, + pub hCardHandle: SCARDHANDLE, +} +#[test] +fn bindgen_test_layout_OPENCARDNAMEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 176usize, + concat!("Size of: ", stringify!(OPENCARDNAMEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARDNAMEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSCardContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(hSCardContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrGroupNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxGroupNames) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(nMaxGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCardNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCardNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(nMaxCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgguidInterfaces) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(rgguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cguidInterfaces) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(cguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrRdr) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxRdr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(nMaxRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCard) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCard) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(nMaxCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProtocol) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(dwActiveProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnCheck) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpfnCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnDisconnect) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(lpfnDisconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCardHandle) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEA), + "::", + stringify!(hCardHandle) + ) + ); +} +pub type POPENCARDNAMEA = *mut OPENCARDNAMEA; +pub type LPOPENCARDNAMEA = *mut OPENCARDNAMEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct OPENCARDNAMEW { + pub dwStructSize: DWORD, + pub hwndOwner: HWND, + pub hSCardContext: SCARDCONTEXT, + pub lpstrGroupNames: LPWSTR, + pub nMaxGroupNames: DWORD, + pub lpstrCardNames: LPWSTR, + pub nMaxCardNames: DWORD, + pub rgguidInterfaces: LPCGUID, + pub cguidInterfaces: DWORD, + pub lpstrRdr: LPWSTR, + pub nMaxRdr: DWORD, + pub lpstrCard: LPWSTR, + pub nMaxCard: DWORD, + pub lpstrTitle: LPCWSTR, + pub dwFlags: DWORD, + pub pvUserData: LPVOID, + pub dwShareMode: DWORD, + pub dwPreferredProtocols: DWORD, + pub dwActiveProtocol: DWORD, + pub lpfnConnect: LPOCNCONNPROCW, + pub lpfnCheck: LPOCNCHKPROC, + pub lpfnDisconnect: LPOCNDSCPROC, + pub hCardHandle: SCARDHANDLE, +} +#[test] +fn bindgen_test_layout_OPENCARDNAMEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 176usize, + concat!("Size of: ", stringify!(OPENCARDNAMEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(OPENCARDNAMEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSCardContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(hSCardContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrGroupNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxGroupNames) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(nMaxGroupNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCardNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCardNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(nMaxCardNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgguidInterfaces) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(rgguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cguidInterfaces) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(cguidInterfaces) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrRdr) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxRdr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(nMaxRdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCard) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCard) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(nMaxCard) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvUserData) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(pvUserData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwShareMode) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwShareMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredProtocols) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwPreferredProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActiveProtocol) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(dwActiveProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnConnect) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpfnConnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnCheck) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpfnCheck) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnDisconnect) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(lpfnDisconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hCardHandle) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(OPENCARDNAMEW), + "::", + stringify!(hCardHandle) + ) + ); +} +pub type POPENCARDNAMEW = *mut OPENCARDNAMEW; +pub type LPOPENCARDNAMEW = *mut OPENCARDNAMEW; +pub type OPENCARDNAME = OPENCARDNAMEA; +pub type POPENCARDNAME = POPENCARDNAMEA; +pub type LPOPENCARDNAME = LPOPENCARDNAMEA; +extern "C" { + pub fn GetOpenCardNameA(arg1: LPOPENCARDNAMEA) -> LONG; +} +extern "C" { + pub fn GetOpenCardNameW(arg1: LPOPENCARDNAMEW) -> LONG; +} +extern "C" { + pub fn SCardDlgExtendedError() -> LONG; +} +extern "C" { + pub fn SCardReadCacheA( + hContext: SCARDCONTEXT, + CardIdentifier: *mut UUID, + FreshnessCounter: DWORD, + LookupName: LPSTR, + Data: PBYTE, + DataLen: *mut DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardReadCacheW( + hContext: SCARDCONTEXT, + CardIdentifier: *mut UUID, + FreshnessCounter: DWORD, + LookupName: LPWSTR, + Data: PBYTE, + DataLen: *mut DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardWriteCacheA( + hContext: SCARDCONTEXT, + CardIdentifier: *mut UUID, + FreshnessCounter: DWORD, + LookupName: LPSTR, + Data: PBYTE, + DataLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardWriteCacheW( + hContext: SCARDCONTEXT, + CardIdentifier: *mut UUID, + FreshnessCounter: DWORD, + LookupName: LPWSTR, + Data: PBYTE, + DataLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetReaderIconA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + pbIcon: LPBYTE, + pcbIcon: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetReaderIconW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + pbIcon: LPBYTE, + pcbIcon: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetDeviceTypeIdA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + pdwDeviceTypeId: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetDeviceTypeIdW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + pdwDeviceTypeId: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetReaderDeviceInstanceIdA( + hContext: SCARDCONTEXT, + szReaderName: LPCSTR, + szDeviceInstanceId: LPSTR, + pcchDeviceInstanceId: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardGetReaderDeviceInstanceIdW( + hContext: SCARDCONTEXT, + szReaderName: LPCWSTR, + szDeviceInstanceId: LPWSTR, + pcchDeviceInstanceId: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReadersWithDeviceInstanceIdA( + hContext: SCARDCONTEXT, + szDeviceInstanceId: LPCSTR, + mszReaders: LPSTR, + pcchReaders: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardListReadersWithDeviceInstanceIdW( + hContext: SCARDCONTEXT, + szDeviceInstanceId: LPCWSTR, + mszReaders: LPWSTR, + pcchReaders: LPDWORD, + ) -> LONG; +} +extern "C" { + pub fn SCardAudit(hContext: SCARDCONTEXT, dwEvent: DWORD) -> LONG; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSP { + _unused: [u8; 0], +} +pub type HPROPSHEETPAGE = *mut _PSP; +pub type LPFNPSPCALLBACKA = ::std::option::Option< + unsafe extern "C" fn(hwnd: HWND, uMsg: UINT, ppsp: *mut _PROPSHEETPAGEA) -> UINT, +>; +pub type LPFNPSPCALLBACKW = ::std::option::Option< + unsafe extern "C" fn(hwnd: HWND, uMsg: UINT, ppsp: *mut _PROPSHEETPAGEW) -> UINT, +>; +pub type PROPSHEETPAGE_RESOURCE = LPCDLGTEMPLATE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEA_V1 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEA_V1__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEA_V1__bindgen_ty_2, + pub pszTitle: LPCSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKA, + pub pcRefParent: *mut UINT, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V1__bindgen_ty_1 { + pub pszTemplate: LPCSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V1__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V1__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V1__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V1>(), + 72usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V1), + "::", + stringify!(pcRefParent) + ) + ); +} +pub type PROPSHEETPAGEA_V1 = _PROPSHEETPAGEA_V1; +pub type LPPROPSHEETPAGEA_V1 = *mut _PROPSHEETPAGEA_V1; +pub type LPCPROPSHEETPAGEA_V1 = *const PROPSHEETPAGEA_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEA_V2 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEA_V2__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEA_V2__bindgen_ty_2, + pub pszTitle: LPCSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKA, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCSTR, + pub pszHeaderSubTitle: LPCSTR, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V2__bindgen_ty_1 { + pub pszTemplate: LPCSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V2__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V2__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V2__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V2__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V2__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V2>(), + 88usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V2), + "::", + stringify!(pszHeaderSubTitle) + ) + ); +} +pub type PROPSHEETPAGEA_V2 = _PROPSHEETPAGEA_V2; +pub type LPPROPSHEETPAGEA_V2 = *mut _PROPSHEETPAGEA_V2; +pub type LPCPROPSHEETPAGEA_V2 = *const PROPSHEETPAGEA_V2; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEA_V3 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEA_V3__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEA_V3__bindgen_ty_2, + pub pszTitle: LPCSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKA, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCSTR, + pub pszHeaderSubTitle: LPCSTR, + pub hActCtx: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V3__bindgen_ty_1 { + pub pszTemplate: LPCSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V3__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V3__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V3__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA_V3__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V3__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V3__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V3__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V3__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA_V3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA_V3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA_V3>(), + 96usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA_V3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA_V3>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA_V3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(pszHeaderSubTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA_V3), + "::", + stringify!(hActCtx) + ) + ); +} +pub type PROPSHEETPAGEA_V3 = _PROPSHEETPAGEA_V3; +pub type LPPROPSHEETPAGEA_V3 = *mut _PROPSHEETPAGEA_V3; +pub type LPCPROPSHEETPAGEA_V3 = *const PROPSHEETPAGEA_V3; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEA { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEA__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEA__bindgen_ty_2, + pub pszTitle: LPCSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKA, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCSTR, + pub pszHeaderSubTitle: LPCSTR, + pub hActCtx: HANDLE, + pub __bindgen_anon_3: _PROPSHEETPAGEA__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA__bindgen_ty_1 { + pub pszTemplate: LPCSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA__bindgen_ty_2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEA__bindgen_ty_3 { + pub hbmHeader: HBITMAP, + pub pszbmHeader: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA__bindgen_ty_3>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA__bindgen_ty_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_3), + "::", + stringify!(hbmHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA__bindgen_ty_3), + "::", + stringify!(pszbmHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEA() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEA>(), + 104usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEA)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEA>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(pszHeaderSubTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEA), + "::", + stringify!(hActCtx) + ) + ); +} +pub type PROPSHEETPAGEA_V4 = _PROPSHEETPAGEA; +pub type LPPROPSHEETPAGEA_V4 = *mut _PROPSHEETPAGEA; +pub type LPCPROPSHEETPAGEA_V4 = *const PROPSHEETPAGEA_V4; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEW_V1 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEW_V1__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEW_V1__bindgen_ty_2, + pub pszTitle: LPCWSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKW, + pub pcRefParent: *mut UINT, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V1__bindgen_ty_1 { + pub pszTemplate: LPCWSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V1__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V1__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V1__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V1>(), + 72usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V1), + "::", + stringify!(pcRefParent) + ) + ); +} +pub type PROPSHEETPAGEW_V1 = _PROPSHEETPAGEW_V1; +pub type LPPROPSHEETPAGEW_V1 = *mut _PROPSHEETPAGEW_V1; +pub type LPCPROPSHEETPAGEW_V1 = *const PROPSHEETPAGEW_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEW_V2 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEW_V2__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEW_V2__bindgen_ty_2, + pub pszTitle: LPCWSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKW, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCWSTR, + pub pszHeaderSubTitle: LPCWSTR, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V2__bindgen_ty_1 { + pub pszTemplate: LPCWSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V2__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V2__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V2__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V2__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V2__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V2>(), + 88usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V2), + "::", + stringify!(pszHeaderSubTitle) + ) + ); +} +pub type PROPSHEETPAGEW_V2 = _PROPSHEETPAGEW_V2; +pub type LPPROPSHEETPAGEW_V2 = *mut _PROPSHEETPAGEW_V2; +pub type LPCPROPSHEETPAGEW_V2 = *const PROPSHEETPAGEW_V2; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEW_V3 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEW_V3__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEW_V3__bindgen_ty_2, + pub pszTitle: LPCWSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKW, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCWSTR, + pub pszHeaderSubTitle: LPCWSTR, + pub hActCtx: HANDLE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V3__bindgen_ty_1 { + pub pszTemplate: LPCWSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V3__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V3__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V3__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V3__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW_V3__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V3__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V3__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V3__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V3__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW_V3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW_V3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW_V3>(), + 96usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW_V3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW_V3>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW_V3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(pszHeaderSubTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW_V3), + "::", + stringify!(hActCtx) + ) + ); +} +pub type PROPSHEETPAGEW_V3 = _PROPSHEETPAGEW_V3; +pub type LPPROPSHEETPAGEW_V3 = *mut _PROPSHEETPAGEW_V3; +pub type LPCPROPSHEETPAGEW_V3 = *const PROPSHEETPAGEW_V3; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETPAGEW { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETPAGEW__bindgen_ty_1, + pub __bindgen_anon_2: _PROPSHEETPAGEW__bindgen_ty_2, + pub pszTitle: LPCWSTR, + pub pfnDlgProc: DLGPROC, + pub lParam: LPARAM, + pub pfnCallback: LPFNPSPCALLBACKW, + pub pcRefParent: *mut UINT, + pub pszHeaderTitle: LPCWSTR, + pub pszHeaderSubTitle: LPCWSTR, + pub hActCtx: HANDLE, + pub __bindgen_anon_3: _PROPSHEETPAGEW__bindgen_ty_3, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW__bindgen_ty_1 { + pub pszTemplate: LPCWSTR, + pub pResource: PROPSHEETPAGE_RESOURCE, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTemplate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_1), + "::", + stringify!(pszTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pResource) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_1), + "::", + stringify!(pResource) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW__bindgen_ty_2 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW__bindgen_ty_2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW__bindgen_ty_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_2), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_2), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETPAGEW__bindgen_ty_3 { + pub hbmHeader: HBITMAP, + pub pszbmHeader: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW__bindgen_ty_3>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW__bindgen_ty_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_3), + "::", + stringify!(hbmHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW__bindgen_ty_3), + "::", + stringify!(pszbmHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETPAGEW() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETPAGEW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETPAGEW>(), + 104usize, + concat!("Size of: ", stringify!(_PROPSHEETPAGEW)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETPAGEW>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETPAGEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszTitle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pszTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDlgProc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pfnDlgProc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(lParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcRefParent) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pcRefParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pszHeaderTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHeaderSubTitle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(pszHeaderSubTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hActCtx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETPAGEW), + "::", + stringify!(hActCtx) + ) + ); +} +pub type PROPSHEETPAGEW_V4 = _PROPSHEETPAGEW; +pub type LPPROPSHEETPAGEW_V4 = *mut _PROPSHEETPAGEW; +pub type LPCPROPSHEETPAGEW_V4 = *const PROPSHEETPAGEW_V4; +pub type PROPSHEETPAGEA_LATEST = PROPSHEETPAGEA_V4; +pub type PROPSHEETPAGEW_LATEST = PROPSHEETPAGEW_V4; +pub type LPPROPSHEETPAGEA_LATEST = LPPROPSHEETPAGEA_V4; +pub type LPPROPSHEETPAGEW_LATEST = LPPROPSHEETPAGEW_V4; +pub type LPCPROPSHEETPAGEA_LATEST = LPCPROPSHEETPAGEA_V4; +pub type LPCPROPSHEETPAGEW_LATEST = LPCPROPSHEETPAGEW_V4; +pub type PROPSHEETPAGEA = PROPSHEETPAGEA_V4; +pub type PROPSHEETPAGEW = PROPSHEETPAGEW_V4; +pub type LPPROPSHEETPAGEA = LPPROPSHEETPAGEA_V4; +pub type LPPROPSHEETPAGEW = LPPROPSHEETPAGEW_V4; +pub type LPCPROPSHEETPAGEA = LPCPROPSHEETPAGEA_V4; +pub type LPCPROPSHEETPAGEW = LPCPROPSHEETPAGEW_V4; +pub type PFNPROPSHEETCALLBACK = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: LPARAM) -> ::std::os::raw::c_int, +>; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETHEADERA_V1 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hwndParent: HWND, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETHEADERA_V1__bindgen_ty_1, + pub pszCaption: LPCSTR, + pub nPages: UINT, + pub __bindgen_anon_2: _PROPSHEETHEADERA_V1__bindgen_ty_2, + pub __bindgen_anon_3: _PROPSHEETHEADERA_V1__bindgen_ty_3, + pub pfnCallback: PFNPROPSHEETCALLBACK, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V1__bindgen_ty_1 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V1__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_1), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V1__bindgen_ty_2 { + pub nStartPage: UINT, + pub pStartPage: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V1__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_2), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_2), + "::", + stringify!(pStartPage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V1__bindgen_ty_3 { + pub ppsp: LPCPROPSHEETPAGEA, + pub phpage: *mut HPROPSHEETPAGE, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V1__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V1__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V1__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppsp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3), + "::", + stringify!(ppsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).phpage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1__bindgen_ty_3), + "::", + stringify!(phpage) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V1>(), + 72usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETHEADERA_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(pszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPages) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(nPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V1), + "::", + stringify!(pfnCallback) + ) + ); +} +pub type PROPSHEETHEADERA_V1 = _PROPSHEETHEADERA_V1; +pub type LPPROPSHEETHEADERA_V1 = *mut _PROPSHEETHEADERA_V1; +pub type LPCPROPSHEETHEADERA_V1 = *const PROPSHEETHEADERA_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETHEADERA_V2 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hwndParent: HWND, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETHEADERA_V2__bindgen_ty_1, + pub pszCaption: LPCSTR, + pub nPages: UINT, + pub __bindgen_anon_2: _PROPSHEETHEADERA_V2__bindgen_ty_2, + pub __bindgen_anon_3: _PROPSHEETHEADERA_V2__bindgen_ty_3, + pub pfnCallback: PFNPROPSHEETCALLBACK, + pub __bindgen_anon_4: _PROPSHEETHEADERA_V2__bindgen_ty_4, + pub hplWatermark: HPALETTE, + pub __bindgen_anon_5: _PROPSHEETHEADERA_V2__bindgen_ty_5, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_1 { + pub hIcon: HICON, + pub pszIcon: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_1), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_2 { + pub nStartPage: UINT, + pub pStartPage: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_2), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_2), + "::", + stringify!(pStartPage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_3 { + pub ppsp: LPCPROPSHEETPAGEA, + pub phpage: *mut HPROPSHEETPAGE, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppsp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_3), + "::", + stringify!(ppsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).phpage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_3), + "::", + stringify!(phpage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_4 { + pub hbmWatermark: HBITMAP, + pub pszbmWatermark: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_4>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_4>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmWatermark) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_4), + "::", + stringify!(hbmWatermark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmWatermark) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_4), + "::", + stringify!(pszbmWatermark) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERA_V2__bindgen_ty_5 { + pub hbmHeader: HBITMAP, + pub pszbmHeader: LPCSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2__bindgen_ty_5>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2__bindgen_ty_5>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5), + "::", + stringify!(hbmHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2__bindgen_ty_5), + "::", + stringify!(pszbmHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERA_V2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERA_V2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERA_V2>(), + 96usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERA_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERA_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETHEADERA_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(pszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPages) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(nPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hplWatermark) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERA_V2), + "::", + stringify!(hplWatermark) + ) + ); +} +pub type PROPSHEETHEADERA_V2 = _PROPSHEETHEADERA_V2; +pub type LPPROPSHEETHEADERA_V2 = *mut _PROPSHEETHEADERA_V2; +pub type LPCPROPSHEETHEADERA_V2 = *const PROPSHEETHEADERA_V2; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETHEADERW_V1 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hwndParent: HWND, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETHEADERW_V1__bindgen_ty_1, + pub pszCaption: LPCWSTR, + pub nPages: UINT, + pub __bindgen_anon_2: _PROPSHEETHEADERW_V1__bindgen_ty_2, + pub __bindgen_anon_3: _PROPSHEETHEADERW_V1__bindgen_ty_3, + pub pfnCallback: PFNPROPSHEETCALLBACK, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V1__bindgen_ty_1 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V1__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_1), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V1__bindgen_ty_2 { + pub nStartPage: UINT, + pub pStartPage: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V1__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_2), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_2), + "::", + stringify!(pStartPage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V1__bindgen_ty_3 { + pub ppsp: LPCPROPSHEETPAGEW, + pub phpage: *mut HPROPSHEETPAGE, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V1__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V1__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V1__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppsp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3), + "::", + stringify!(ppsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).phpage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1__bindgen_ty_3), + "::", + stringify!(phpage) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V1>(), + 72usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V1>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETHEADERW_V1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(pszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPages) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(nPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V1), + "::", + stringify!(pfnCallback) + ) + ); +} +pub type PROPSHEETHEADERW_V1 = _PROPSHEETHEADERW_V1; +pub type LPPROPSHEETHEADERW_V1 = *mut _PROPSHEETHEADERW_V1; +pub type LPCPROPSHEETHEADERW_V1 = *const PROPSHEETHEADERW_V1; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PROPSHEETHEADERW_V2 { + pub dwSize: DWORD, + pub dwFlags: DWORD, + pub hwndParent: HWND, + pub hInstance: HINSTANCE, + pub __bindgen_anon_1: _PROPSHEETHEADERW_V2__bindgen_ty_1, + pub pszCaption: LPCWSTR, + pub nPages: UINT, + pub __bindgen_anon_2: _PROPSHEETHEADERW_V2__bindgen_ty_2, + pub __bindgen_anon_3: _PROPSHEETHEADERW_V2__bindgen_ty_3, + pub pfnCallback: PFNPROPSHEETCALLBACK, + pub __bindgen_anon_4: _PROPSHEETHEADERW_V2__bindgen_ty_4, + pub hplWatermark: HPALETTE, + pub __bindgen_anon_5: _PROPSHEETHEADERW_V2__bindgen_ty_5, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_1 { + pub hIcon: HICON, + pub pszIcon: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_1>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_1), + "::", + stringify!(hIcon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszIcon) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_1), + "::", + stringify!(pszIcon) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_2 { + pub nStartPage: UINT, + pub pStartPage: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_2>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_2), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStartPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_2), + "::", + stringify!(pStartPage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_3 { + pub ppsp: LPCPROPSHEETPAGEW, + pub phpage: *mut HPROPSHEETPAGE, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_3>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppsp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_3), + "::", + stringify!(ppsp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).phpage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_3), + "::", + stringify!(phpage) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_4 { + pub hbmWatermark: HBITMAP, + pub pszbmWatermark: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_4>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_4)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_4>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmWatermark) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_4), + "::", + stringify!(hbmWatermark) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmWatermark) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_4), + "::", + stringify!(pszbmWatermark) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PROPSHEETHEADERW_V2__bindgen_ty_5 { + pub hbmHeader: HBITMAP, + pub pszbmHeader: LPCWSTR, +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2__bindgen_ty_5() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2__bindgen_ty_5> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2__bindgen_ty_5>(), + 8usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2__bindgen_ty_5>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5), + "::", + stringify!(hbmHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszbmHeader) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2__bindgen_ty_5), + "::", + stringify!(pszbmHeader) + ) + ); +} +#[test] +fn bindgen_test_layout__PROPSHEETHEADERW_V2() { + const UNINIT: ::std::mem::MaybeUninit<_PROPSHEETHEADERW_V2> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROPSHEETHEADERW_V2>(), + 96usize, + concat!("Size of: ", stringify!(_PROPSHEETHEADERW_V2)) + ); + assert_eq!( + ::std::mem::align_of::<_PROPSHEETHEADERW_V2>(), + 8usize, + concat!("Alignment of ", stringify!(_PROPSHEETHEADERW_V2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndParent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(hwndParent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszCaption) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(pszCaption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPages) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(nPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnCallback) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(pfnCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hplWatermark) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PROPSHEETHEADERW_V2), + "::", + stringify!(hplWatermark) + ) + ); +} +pub type PROPSHEETHEADERW_V2 = _PROPSHEETHEADERW_V2; +pub type LPPROPSHEETHEADERW_V2 = *mut _PROPSHEETHEADERW_V2; +pub type LPCPROPSHEETHEADERW_V2 = *const PROPSHEETHEADERW_V2; +pub type PROPSHEETHEADERA = PROPSHEETHEADERA_V2; +pub type PROPSHEETHEADERW = PROPSHEETHEADERW_V2; +pub type LPPROPSHEETHEADERA = LPPROPSHEETHEADERA_V2; +pub type LPPROPSHEETHEADERW = LPPROPSHEETHEADERW_V2; +pub type LPCPROPSHEETHEADERA = LPCPROPSHEETHEADERA_V2; +pub type LPCPROPSHEETHEADERW = LPCPROPSHEETHEADERW_V2; +extern "C" { + pub fn CreatePropertySheetPageA(constPropSheetPagePointer: LPCPROPSHEETPAGEA) + -> HPROPSHEETPAGE; +} +extern "C" { + pub fn CreatePropertySheetPageW(constPropSheetPagePointer: LPCPROPSHEETPAGEW) + -> HPROPSHEETPAGE; +} +extern "C" { + pub fn DestroyPropertySheetPage(arg1: HPROPSHEETPAGE) -> BOOL; +} +extern "C" { + pub fn PropertySheetA(arg1: LPCPROPSHEETHEADERA) -> INT_PTR; +} +extern "C" { + pub fn PropertySheetW(arg1: LPCPROPSHEETHEADERW) -> INT_PTR; +} +pub type LPFNADDPROPSHEETPAGE = + ::std::option::Option BOOL>; +pub type LPFNADDPROPSHEETPAGES = ::std::option::Option< + unsafe extern "C" fn(arg1: LPVOID, arg2: LPFNADDPROPSHEETPAGE, arg3: LPARAM) -> BOOL, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PSHNOTIFY { + pub hdr: NMHDR, + pub lParam: LPARAM, +} +#[test] +fn bindgen_test_layout__PSHNOTIFY() { + const UNINIT: ::std::mem::MaybeUninit<_PSHNOTIFY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PSHNOTIFY>(), + 32usize, + concat!("Size of: ", stringify!(_PSHNOTIFY)) + ); + assert_eq!( + ::std::mem::align_of::<_PSHNOTIFY>(), + 8usize, + concat!("Alignment of ", stringify!(_PSHNOTIFY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PSHNOTIFY), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lParam) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PSHNOTIFY), + "::", + stringify!(lParam) + ) + ); +} +pub type PSHNOTIFY = _PSHNOTIFY; +pub type LPPSHNOTIFY = *mut _PSHNOTIFY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_1A { + pub Flags: DWORD, + pub pDescription: LPSTR, + pub pName: LPSTR, + pub pComment: LPSTR, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_1A>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDescription) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1A), + "::", + stringify!(pDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pComment) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1A), + "::", + stringify!(pComment) + ) + ); +} +pub type PRINTER_INFO_1A = _PRINTER_INFO_1A; +pub type PPRINTER_INFO_1A = *mut _PRINTER_INFO_1A; +pub type LPPRINTER_INFO_1A = *mut _PRINTER_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_1W { + pub Flags: DWORD, + pub pDescription: LPWSTR, + pub pName: LPWSTR, + pub pComment: LPWSTR, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_1W>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDescription) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1W), + "::", + stringify!(pDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pComment) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_1W), + "::", + stringify!(pComment) + ) + ); +} +pub type PRINTER_INFO_1W = _PRINTER_INFO_1W; +pub type PPRINTER_INFO_1W = *mut _PRINTER_INFO_1W; +pub type LPPRINTER_INFO_1W = *mut _PRINTER_INFO_1W; +pub type PRINTER_INFO_1 = PRINTER_INFO_1A; +pub type PPRINTER_INFO_1 = PPRINTER_INFO_1A; +pub type LPPRINTER_INFO_1 = LPPRINTER_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_2A { + pub pServerName: LPSTR, + pub pPrinterName: LPSTR, + pub pShareName: LPSTR, + pub pPortName: LPSTR, + pub pDriverName: LPSTR, + pub pComment: LPSTR, + pub pLocation: LPSTR, + pub pDevMode: LPDEVMODEA, + pub pSepFile: LPSTR, + pub pPrintProcessor: LPSTR, + pub pDatatype: LPSTR, + pub pParameters: LPSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Attributes: DWORD, + pub Priority: DWORD, + pub DefaultPriority: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub Status: DWORD, + pub cJobs: DWORD, + pub AveragePPM: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_2A>(), + 136usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pShareName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pShareName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pComment) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLocation) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSepFile) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pSepFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultPriority) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(DefaultPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cJobs) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(cJobs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AveragePPM) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2A), + "::", + stringify!(AveragePPM) + ) + ); +} +pub type PRINTER_INFO_2A = _PRINTER_INFO_2A; +pub type PPRINTER_INFO_2A = *mut _PRINTER_INFO_2A; +pub type LPPRINTER_INFO_2A = *mut _PRINTER_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_2W { + pub pServerName: LPWSTR, + pub pPrinterName: LPWSTR, + pub pShareName: LPWSTR, + pub pPortName: LPWSTR, + pub pDriverName: LPWSTR, + pub pComment: LPWSTR, + pub pLocation: LPWSTR, + pub pDevMode: LPDEVMODEW, + pub pSepFile: LPWSTR, + pub pPrintProcessor: LPWSTR, + pub pDatatype: LPWSTR, + pub pParameters: LPWSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Attributes: DWORD, + pub Priority: DWORD, + pub DefaultPriority: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub Status: DWORD, + pub cJobs: DWORD, + pub AveragePPM: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_2W>(), + 136usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pShareName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pShareName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pComment) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pLocation) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pLocation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSepFile) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pSepFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefaultPriority) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(DefaultPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cJobs) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(cJobs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AveragePPM) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_2W), + "::", + stringify!(AveragePPM) + ) + ); +} +pub type PRINTER_INFO_2W = _PRINTER_INFO_2W; +pub type PPRINTER_INFO_2W = *mut _PRINTER_INFO_2W; +pub type LPPRINTER_INFO_2W = *mut _PRINTER_INFO_2W; +pub type PRINTER_INFO_2 = PRINTER_INFO_2A; +pub type PPRINTER_INFO_2 = PPRINTER_INFO_2A; +pub type LPPRINTER_INFO_2 = LPPRINTER_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_3 { + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_3() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_3>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_3)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_3>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_3), + "::", + stringify!(pSecurityDescriptor) + ) + ); +} +pub type PRINTER_INFO_3 = _PRINTER_INFO_3; +pub type PPRINTER_INFO_3 = *mut _PRINTER_INFO_3; +pub type LPPRINTER_INFO_3 = *mut _PRINTER_INFO_3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_4A { + pub pPrinterName: LPSTR, + pub pServerName: LPSTR, + pub Attributes: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_4A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_4A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_4A>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_4A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_4A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_4A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4A), + "::", + stringify!(pServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4A), + "::", + stringify!(Attributes) + ) + ); +} +pub type PRINTER_INFO_4A = _PRINTER_INFO_4A; +pub type PPRINTER_INFO_4A = *mut _PRINTER_INFO_4A; +pub type LPPRINTER_INFO_4A = *mut _PRINTER_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_4W { + pub pPrinterName: LPWSTR, + pub pServerName: LPWSTR, + pub Attributes: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_4W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_4W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_4W>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_4W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_4W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_4W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4W), + "::", + stringify!(pServerName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_4W), + "::", + stringify!(Attributes) + ) + ); +} +pub type PRINTER_INFO_4W = _PRINTER_INFO_4W; +pub type PPRINTER_INFO_4W = *mut _PRINTER_INFO_4W; +pub type LPPRINTER_INFO_4W = *mut _PRINTER_INFO_4W; +pub type PRINTER_INFO_4 = PRINTER_INFO_4A; +pub type PPRINTER_INFO_4 = PPRINTER_INFO_4A; +pub type LPPRINTER_INFO_4 = LPPRINTER_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_5A { + pub pPrinterName: LPSTR, + pub pPortName: LPSTR, + pub Attributes: DWORD, + pub DeviceNotSelectedTimeout: DWORD, + pub TransmissionRetryTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_5A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_5A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_5A>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_5A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_5A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_5A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNotSelectedTimeout) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(DeviceNotSelectedTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransmissionRetryTimeout) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5A), + "::", + stringify!(TransmissionRetryTimeout) + ) + ); +} +pub type PRINTER_INFO_5A = _PRINTER_INFO_5A; +pub type PPRINTER_INFO_5A = *mut _PRINTER_INFO_5A; +pub type LPPRINTER_INFO_5A = *mut _PRINTER_INFO_5A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_5W { + pub pPrinterName: LPWSTR, + pub pPortName: LPWSTR, + pub Attributes: DWORD, + pub DeviceNotSelectedTimeout: DWORD, + pub TransmissionRetryTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_5W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_5W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_5W>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_5W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_5W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_5W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Attributes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(Attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeviceNotSelectedTimeout) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(DeviceNotSelectedTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TransmissionRetryTimeout) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_5W), + "::", + stringify!(TransmissionRetryTimeout) + ) + ); +} +pub type PRINTER_INFO_5W = _PRINTER_INFO_5W; +pub type PPRINTER_INFO_5W = *mut _PRINTER_INFO_5W; +pub type LPPRINTER_INFO_5W = *mut _PRINTER_INFO_5W; +pub type PRINTER_INFO_5 = PRINTER_INFO_5A; +pub type PPRINTER_INFO_5 = PPRINTER_INFO_5A; +pub type LPPRINTER_INFO_5 = LPPRINTER_INFO_5A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_6 { + pub dwStatus: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_6() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_6> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_6>(), + 4usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_6)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_6>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_6)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_6), + "::", + stringify!(dwStatus) + ) + ); +} +pub type PRINTER_INFO_6 = _PRINTER_INFO_6; +pub type PPRINTER_INFO_6 = *mut _PRINTER_INFO_6; +pub type LPPRINTER_INFO_6 = *mut _PRINTER_INFO_6; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_7A { + pub pszObjectGUID: LPSTR, + pub dwAction: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_7A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_7A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_7A>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_7A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_7A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_7A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjectGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_7A), + "::", + stringify!(pszObjectGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAction) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_7A), + "::", + stringify!(dwAction) + ) + ); +} +pub type PRINTER_INFO_7A = _PRINTER_INFO_7A; +pub type PPRINTER_INFO_7A = *mut _PRINTER_INFO_7A; +pub type LPPRINTER_INFO_7A = *mut _PRINTER_INFO_7A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_7W { + pub pszObjectGUID: LPWSTR, + pub dwAction: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_7W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_7W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_7W>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_7W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_7W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_7W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszObjectGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_7W), + "::", + stringify!(pszObjectGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAction) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_7W), + "::", + stringify!(dwAction) + ) + ); +} +pub type PRINTER_INFO_7W = _PRINTER_INFO_7W; +pub type PPRINTER_INFO_7W = *mut _PRINTER_INFO_7W; +pub type LPPRINTER_INFO_7W = *mut _PRINTER_INFO_7W; +pub type PRINTER_INFO_7 = PRINTER_INFO_7A; +pub type PPRINTER_INFO_7 = PPRINTER_INFO_7A; +pub type LPPRINTER_INFO_7 = LPPRINTER_INFO_7A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_8A { + pub pDevMode: LPDEVMODEA, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_8A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_8A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_8A>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_8A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_8A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_8A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_8A), + "::", + stringify!(pDevMode) + ) + ); +} +pub type PRINTER_INFO_8A = _PRINTER_INFO_8A; +pub type PPRINTER_INFO_8A = *mut _PRINTER_INFO_8A; +pub type LPPRINTER_INFO_8A = *mut _PRINTER_INFO_8A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_8W { + pub pDevMode: LPDEVMODEW, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_8W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_8W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_8W>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_8W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_8W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_8W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_8W), + "::", + stringify!(pDevMode) + ) + ); +} +pub type PRINTER_INFO_8W = _PRINTER_INFO_8W; +pub type PPRINTER_INFO_8W = *mut _PRINTER_INFO_8W; +pub type LPPRINTER_INFO_8W = *mut _PRINTER_INFO_8W; +pub type PRINTER_INFO_8 = PRINTER_INFO_8A; +pub type PPRINTER_INFO_8 = PPRINTER_INFO_8A; +pub type LPPRINTER_INFO_8 = LPPRINTER_INFO_8A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_9A { + pub pDevMode: LPDEVMODEA, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_9A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_9A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_9A>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_9A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_9A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_9A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_9A), + "::", + stringify!(pDevMode) + ) + ); +} +pub type PRINTER_INFO_9A = _PRINTER_INFO_9A; +pub type PPRINTER_INFO_9A = *mut _PRINTER_INFO_9A; +pub type LPPRINTER_INFO_9A = *mut _PRINTER_INFO_9A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_INFO_9W { + pub pDevMode: LPDEVMODEW, +} +#[test] +fn bindgen_test_layout__PRINTER_INFO_9W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_INFO_9W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_INFO_9W>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_INFO_9W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_INFO_9W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_INFO_9W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_INFO_9W), + "::", + stringify!(pDevMode) + ) + ); +} +pub type PRINTER_INFO_9W = _PRINTER_INFO_9W; +pub type PPRINTER_INFO_9W = *mut _PRINTER_INFO_9W; +pub type LPPRINTER_INFO_9W = *mut _PRINTER_INFO_9W; +pub type PRINTER_INFO_9 = PRINTER_INFO_9A; +pub type PPRINTER_INFO_9 = PPRINTER_INFO_9A; +pub type LPPRINTER_INFO_9 = LPPRINTER_INFO_9A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_1A { + pub JobId: DWORD, + pub pPrinterName: LPSTR, + pub pMachineName: LPSTR, + pub pUserName: LPSTR, + pub pDocument: LPSTR, + pub pDatatype: LPSTR, + pub pStatus: LPSTR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub TotalPages: DWORD, + pub PagesPrinted: DWORD, + pub Submitted: SYSTEMTIME, +} +#[test] +fn bindgen_test_layout__JOB_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_1A>(), + 96usize, + concat!("Size of: ", stringify!(_JOB_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(PagesPrinted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1A), + "::", + stringify!(Submitted) + ) + ); +} +pub type JOB_INFO_1A = _JOB_INFO_1A; +pub type PJOB_INFO_1A = *mut _JOB_INFO_1A; +pub type LPJOB_INFO_1A = *mut _JOB_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_1W { + pub JobId: DWORD, + pub pPrinterName: LPWSTR, + pub pMachineName: LPWSTR, + pub pUserName: LPWSTR, + pub pDocument: LPWSTR, + pub pDatatype: LPWSTR, + pub pStatus: LPWSTR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub TotalPages: DWORD, + pub PagesPrinted: DWORD, + pub Submitted: SYSTEMTIME, +} +#[test] +fn bindgen_test_layout__JOB_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_1W>(), + 96usize, + concat!("Size of: ", stringify!(_JOB_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(PagesPrinted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_1W), + "::", + stringify!(Submitted) + ) + ); +} +pub type JOB_INFO_1W = _JOB_INFO_1W; +pub type PJOB_INFO_1W = *mut _JOB_INFO_1W; +pub type LPJOB_INFO_1W = *mut _JOB_INFO_1W; +pub type JOB_INFO_1 = JOB_INFO_1A; +pub type PJOB_INFO_1 = PJOB_INFO_1A; +pub type LPJOB_INFO_1 = LPJOB_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_2A { + pub JobId: DWORD, + pub pPrinterName: LPSTR, + pub pMachineName: LPSTR, + pub pUserName: LPSTR, + pub pDocument: LPSTR, + pub pNotifyName: LPSTR, + pub pDatatype: LPSTR, + pub pPrintProcessor: LPSTR, + pub pParameters: LPSTR, + pub pDriverName: LPSTR, + pub pDevMode: LPDEVMODEA, + pub pStatus: LPSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub TotalPages: DWORD, + pub Size: DWORD, + pub Submitted: SYSTEMTIME, + pub Time: DWORD, + pub PagesPrinted: DWORD, +} +#[test] +fn bindgen_test_layout__JOB_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_2A>(), + 160usize, + concat!("Size of: ", stringify!(_JOB_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNotifyName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pNotifyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Submitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Time) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(Time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2A), + "::", + stringify!(PagesPrinted) + ) + ); +} +pub type JOB_INFO_2A = _JOB_INFO_2A; +pub type PJOB_INFO_2A = *mut _JOB_INFO_2A; +pub type LPJOB_INFO_2A = *mut _JOB_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_2W { + pub JobId: DWORD, + pub pPrinterName: LPWSTR, + pub pMachineName: LPWSTR, + pub pUserName: LPWSTR, + pub pDocument: LPWSTR, + pub pNotifyName: LPWSTR, + pub pDatatype: LPWSTR, + pub pPrintProcessor: LPWSTR, + pub pParameters: LPWSTR, + pub pDriverName: LPWSTR, + pub pDevMode: LPDEVMODEW, + pub pStatus: LPWSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub TotalPages: DWORD, + pub Size: DWORD, + pub Submitted: SYSTEMTIME, + pub Time: DWORD, + pub PagesPrinted: DWORD, +} +#[test] +fn bindgen_test_layout__JOB_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_2W>(), + 160usize, + concat!("Size of: ", stringify!(_JOB_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNotifyName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pNotifyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Submitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Time) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(Time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_2W), + "::", + stringify!(PagesPrinted) + ) + ); +} +pub type JOB_INFO_2W = _JOB_INFO_2W; +pub type PJOB_INFO_2W = *mut _JOB_INFO_2W; +pub type LPJOB_INFO_2W = *mut _JOB_INFO_2W; +pub type JOB_INFO_2 = JOB_INFO_2A; +pub type PJOB_INFO_2 = PJOB_INFO_2A; +pub type LPJOB_INFO_2 = LPJOB_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_3 { + pub JobId: DWORD, + pub NextJobId: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__JOB_INFO_3() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_3> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_3>(), + 12usize, + concat!("Size of: ", stringify!(_JOB_INFO_3)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_3>(), + 4usize, + concat!("Alignment of ", stringify!(_JOB_INFO_3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_3), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NextJobId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_3), + "::", + stringify!(NextJobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_3), + "::", + stringify!(Reserved) + ) + ); +} +pub type JOB_INFO_3 = _JOB_INFO_3; +pub type PJOB_INFO_3 = *mut _JOB_INFO_3; +pub type LPJOB_INFO_3 = *mut _JOB_INFO_3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_4A { + pub JobId: DWORD, + pub pPrinterName: LPSTR, + pub pMachineName: LPSTR, + pub pUserName: LPSTR, + pub pDocument: LPSTR, + pub pNotifyName: LPSTR, + pub pDatatype: LPSTR, + pub pPrintProcessor: LPSTR, + pub pParameters: LPSTR, + pub pDriverName: LPSTR, + pub pDevMode: LPDEVMODEA, + pub pStatus: LPSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub TotalPages: DWORD, + pub Size: DWORD, + pub Submitted: SYSTEMTIME, + pub Time: DWORD, + pub PagesPrinted: DWORD, + pub SizeHigh: LONG, +} +#[test] +fn bindgen_test_layout__JOB_INFO_4A() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_4A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_4A>(), + 160usize, + concat!("Size of: ", stringify!(_JOB_INFO_4A)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_4A>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_4A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNotifyName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pNotifyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Submitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Time) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(Time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(PagesPrinted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeHigh) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4A), + "::", + stringify!(SizeHigh) + ) + ); +} +pub type JOB_INFO_4A = _JOB_INFO_4A; +pub type PJOB_INFO_4A = *mut _JOB_INFO_4A; +pub type LPJOB_INFO_4A = *mut _JOB_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _JOB_INFO_4W { + pub JobId: DWORD, + pub pPrinterName: LPWSTR, + pub pMachineName: LPWSTR, + pub pUserName: LPWSTR, + pub pDocument: LPWSTR, + pub pNotifyName: LPWSTR, + pub pDatatype: LPWSTR, + pub pPrintProcessor: LPWSTR, + pub pParameters: LPWSTR, + pub pDriverName: LPWSTR, + pub pDevMode: LPDEVMODEW, + pub pStatus: LPWSTR, + pub pSecurityDescriptor: PSECURITY_DESCRIPTOR, + pub Status: DWORD, + pub Priority: DWORD, + pub Position: DWORD, + pub StartTime: DWORD, + pub UntilTime: DWORD, + pub TotalPages: DWORD, + pub Size: DWORD, + pub Submitted: SYSTEMTIME, + pub Time: DWORD, + pub PagesPrinted: DWORD, + pub SizeHigh: LONG, +} +#[test] +fn bindgen_test_layout__JOB_INFO_4W() { + const UNINIT: ::std::mem::MaybeUninit<_JOB_INFO_4W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_JOB_INFO_4W>(), + 160usize, + concat!("Size of: ", stringify!(_JOB_INFO_4W)) + ); + assert_eq!( + ::std::mem::align_of::<_JOB_INFO_4W>(), + 8usize, + concat!("Alignment of ", stringify!(_JOB_INFO_4W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(JobId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrinterName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMachineName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pMachineName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUserName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocument) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pNotifyName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pNotifyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrintProcessor) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pParameters) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pParameters) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pDriverName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStatus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSecurityDescriptor) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(pSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Priority) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Priority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Position) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Position) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UntilTime) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(UntilTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TotalPages) as usize - ptr as usize }, + 124usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(TotalPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Submitted) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Submitted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Time) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(Time) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PagesPrinted) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(PagesPrinted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SizeHigh) as usize - ptr as usize }, + 156usize, + concat!( + "Offset of field: ", + stringify!(_JOB_INFO_4W), + "::", + stringify!(SizeHigh) + ) + ); +} +pub type JOB_INFO_4W = _JOB_INFO_4W; +pub type PJOB_INFO_4W = *mut _JOB_INFO_4W; +pub type LPJOB_INFO_4W = *mut _JOB_INFO_4W; +pub type JOB_INFO_4 = JOB_INFO_4A; +pub type PJOB_INFO_4 = PJOB_INFO_4A; +pub type LPJOB_INFO_4 = LPJOB_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ADDJOB_INFO_1A { + pub Path: LPSTR, + pub JobId: DWORD, +} +#[test] +fn bindgen_test_layout__ADDJOB_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_ADDJOB_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ADDJOB_INFO_1A>(), + 16usize, + concat!("Size of: ", stringify!(_ADDJOB_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_ADDJOB_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_ADDJOB_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Path) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ADDJOB_INFO_1A), + "::", + stringify!(Path) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ADDJOB_INFO_1A), + "::", + stringify!(JobId) + ) + ); +} +pub type ADDJOB_INFO_1A = _ADDJOB_INFO_1A; +pub type PADDJOB_INFO_1A = *mut _ADDJOB_INFO_1A; +pub type LPADDJOB_INFO_1A = *mut _ADDJOB_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ADDJOB_INFO_1W { + pub Path: LPWSTR, + pub JobId: DWORD, +} +#[test] +fn bindgen_test_layout__ADDJOB_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_ADDJOB_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ADDJOB_INFO_1W>(), + 16usize, + concat!("Size of: ", stringify!(_ADDJOB_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_ADDJOB_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_ADDJOB_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Path) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ADDJOB_INFO_1W), + "::", + stringify!(Path) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ADDJOB_INFO_1W), + "::", + stringify!(JobId) + ) + ); +} +pub type ADDJOB_INFO_1W = _ADDJOB_INFO_1W; +pub type PADDJOB_INFO_1W = *mut _ADDJOB_INFO_1W; +pub type LPADDJOB_INFO_1W = *mut _ADDJOB_INFO_1W; +pub type ADDJOB_INFO_1 = ADDJOB_INFO_1A; +pub type PADDJOB_INFO_1 = PADDJOB_INFO_1A; +pub type LPADDJOB_INFO_1 = LPADDJOB_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type DRIVER_INFO_1A = _DRIVER_INFO_1A; +pub type PDRIVER_INFO_1A = *mut _DRIVER_INFO_1A; +pub type LPDRIVER_INFO_1A = *mut _DRIVER_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type DRIVER_INFO_1W = _DRIVER_INFO_1W; +pub type PDRIVER_INFO_1W = *mut _DRIVER_INFO_1W; +pub type LPDRIVER_INFO_1W = *mut _DRIVER_INFO_1W; +pub type DRIVER_INFO_1 = DRIVER_INFO_1A; +pub type PDRIVER_INFO_1 = PDRIVER_INFO_1A; +pub type LPDRIVER_INFO_1 = LPDRIVER_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_2A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_2A>(), + 48usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2A), + "::", + stringify!(pConfigFile) + ) + ); +} +pub type DRIVER_INFO_2A = _DRIVER_INFO_2A; +pub type PDRIVER_INFO_2A = *mut _DRIVER_INFO_2A; +pub type LPDRIVER_INFO_2A = *mut _DRIVER_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_2W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_2W>(), + 48usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_2W), + "::", + stringify!(pConfigFile) + ) + ); +} +pub type DRIVER_INFO_2W = _DRIVER_INFO_2W; +pub type PDRIVER_INFO_2W = *mut _DRIVER_INFO_2W; +pub type LPDRIVER_INFO_2W = *mut _DRIVER_INFO_2W; +pub type DRIVER_INFO_2 = DRIVER_INFO_2A; +pub type PDRIVER_INFO_2 = PDRIVER_INFO_2A; +pub type LPDRIVER_INFO_2 = LPDRIVER_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_3A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub pHelpFile: LPSTR, + pub pDependentFiles: LPSTR, + pub pMonitorName: LPSTR, + pub pDefaultDataType: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_3A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_3A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_3A>(), + 80usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_3A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_3A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_3A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3A), + "::", + stringify!(pDefaultDataType) + ) + ); +} +pub type DRIVER_INFO_3A = _DRIVER_INFO_3A; +pub type PDRIVER_INFO_3A = *mut _DRIVER_INFO_3A; +pub type LPDRIVER_INFO_3A = *mut _DRIVER_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_3W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub pHelpFile: LPWSTR, + pub pDependentFiles: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDefaultDataType: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_3W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_3W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_3W>(), + 80usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_3W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_3W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_3W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_3W), + "::", + stringify!(pDefaultDataType) + ) + ); +} +pub type DRIVER_INFO_3W = _DRIVER_INFO_3W; +pub type PDRIVER_INFO_3W = *mut _DRIVER_INFO_3W; +pub type LPDRIVER_INFO_3W = *mut _DRIVER_INFO_3W; +pub type DRIVER_INFO_3 = DRIVER_INFO_3A; +pub type PDRIVER_INFO_3 = PDRIVER_INFO_3A; +pub type LPDRIVER_INFO_3 = LPDRIVER_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_4A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub pHelpFile: LPSTR, + pub pDependentFiles: LPSTR, + pub pMonitorName: LPSTR, + pub pDefaultDataType: LPSTR, + pub pszzPreviousNames: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_4A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_4A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_4A>(), + 88usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_4A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_4A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_4A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4A), + "::", + stringify!(pszzPreviousNames) + ) + ); +} +pub type DRIVER_INFO_4A = _DRIVER_INFO_4A; +pub type PDRIVER_INFO_4A = *mut _DRIVER_INFO_4A; +pub type LPDRIVER_INFO_4A = *mut _DRIVER_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_4W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub pHelpFile: LPWSTR, + pub pDependentFiles: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDefaultDataType: LPWSTR, + pub pszzPreviousNames: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_4W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_4W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_4W>(), + 88usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_4W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_4W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_4W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_4W), + "::", + stringify!(pszzPreviousNames) + ) + ); +} +pub type DRIVER_INFO_4W = _DRIVER_INFO_4W; +pub type PDRIVER_INFO_4W = *mut _DRIVER_INFO_4W; +pub type LPDRIVER_INFO_4W = *mut _DRIVER_INFO_4W; +pub type DRIVER_INFO_4 = DRIVER_INFO_4A; +pub type PDRIVER_INFO_4 = PDRIVER_INFO_4A; +pub type LPDRIVER_INFO_4 = LPDRIVER_INFO_4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_5A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub dwDriverAttributes: DWORD, + pub dwConfigVersion: DWORD, + pub dwDriverVersion: DWORD, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_5A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_5A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_5A>(), + 64usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_5A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_5A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_5A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDriverAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(dwDriverAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwConfigVersion) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(dwConfigVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDriverVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5A), + "::", + stringify!(dwDriverVersion) + ) + ); +} +pub type DRIVER_INFO_5A = _DRIVER_INFO_5A; +pub type PDRIVER_INFO_5A = *mut _DRIVER_INFO_5A; +pub type LPDRIVER_INFO_5A = *mut _DRIVER_INFO_5A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_5W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub dwDriverAttributes: DWORD, + pub dwConfigVersion: DWORD, + pub dwDriverVersion: DWORD, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_5W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_5W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_5W>(), + 64usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_5W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_5W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_5W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDriverAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(dwDriverAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwConfigVersion) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(dwConfigVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDriverVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_5W), + "::", + stringify!(dwDriverVersion) + ) + ); +} +pub type DRIVER_INFO_5W = _DRIVER_INFO_5W; +pub type PDRIVER_INFO_5W = *mut _DRIVER_INFO_5W; +pub type LPDRIVER_INFO_5W = *mut _DRIVER_INFO_5W; +pub type DRIVER_INFO_5 = DRIVER_INFO_5A; +pub type PDRIVER_INFO_5 = PDRIVER_INFO_5A; +pub type LPDRIVER_INFO_5 = LPDRIVER_INFO_5A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_6A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub pHelpFile: LPSTR, + pub pDependentFiles: LPSTR, + pub pMonitorName: LPSTR, + pub pDefaultDataType: LPSTR, + pub pszzPreviousNames: LPSTR, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub pszMfgName: LPSTR, + pub pszOEMUrl: LPSTR, + pub pszHardwareID: LPSTR, + pub pszProvider: LPSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_6A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_6A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_6A>(), + 136usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_6A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_6A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_6A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszzPreviousNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszMfgName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszMfgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOEMUrl) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszOEMUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHardwareID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszHardwareID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6A), + "::", + stringify!(pszProvider) + ) + ); +} +pub type DRIVER_INFO_6A = _DRIVER_INFO_6A; +pub type PDRIVER_INFO_6A = *mut _DRIVER_INFO_6A; +pub type LPDRIVER_INFO_6A = *mut _DRIVER_INFO_6A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_6W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub pHelpFile: LPWSTR, + pub pDependentFiles: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDefaultDataType: LPWSTR, + pub pszzPreviousNames: LPWSTR, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub pszMfgName: LPWSTR, + pub pszOEMUrl: LPWSTR, + pub pszHardwareID: LPWSTR, + pub pszProvider: LPWSTR, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_6W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_6W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_6W>(), + 136usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_6W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_6W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_6W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszzPreviousNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszMfgName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszMfgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOEMUrl) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszOEMUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHardwareID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszHardwareID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_6W), + "::", + stringify!(pszProvider) + ) + ); +} +pub type DRIVER_INFO_6W = _DRIVER_INFO_6W; +pub type PDRIVER_INFO_6W = *mut _DRIVER_INFO_6W; +pub type LPDRIVER_INFO_6W = *mut _DRIVER_INFO_6W; +pub type DRIVER_INFO_6 = DRIVER_INFO_6A; +pub type PDRIVER_INFO_6 = PDRIVER_INFO_6A; +pub type LPDRIVER_INFO_6 = LPDRIVER_INFO_6A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_8A { + pub cVersion: DWORD, + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDriverPath: LPSTR, + pub pDataFile: LPSTR, + pub pConfigFile: LPSTR, + pub pHelpFile: LPSTR, + pub pDependentFiles: LPSTR, + pub pMonitorName: LPSTR, + pub pDefaultDataType: LPSTR, + pub pszzPreviousNames: LPSTR, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub pszMfgName: LPSTR, + pub pszOEMUrl: LPSTR, + pub pszHardwareID: LPSTR, + pub pszProvider: LPSTR, + pub pszPrintProcessor: LPSTR, + pub pszVendorSetup: LPSTR, + pub pszzColorProfiles: LPSTR, + pub pszInfPath: LPSTR, + pub dwPrinterDriverAttributes: DWORD, + pub pszzCoreDriverDependencies: LPSTR, + pub ftMinInboxDriverVerDate: FILETIME, + pub dwlMinInboxDriverVerVersion: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_8A() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_8A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_8A>(), + 200usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_8A)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_8A>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_8A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszzPreviousNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszMfgName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszMfgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOEMUrl) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszOEMUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHardwareID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszHardwareID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszProvider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPrintProcessor) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszVendorSetup) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszVendorSetup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzColorProfiles) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszzColorProfiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszInfPath) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszInfPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPrinterDriverAttributes) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(dwPrinterDriverAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzCoreDriverDependencies) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(pszzCoreDriverDependencies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftMinInboxDriverVerDate) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(ftMinInboxDriverVerDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlMinInboxDriverVerVersion) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8A), + "::", + stringify!(dwlMinInboxDriverVerVersion) + ) + ); +} +pub type DRIVER_INFO_8A = _DRIVER_INFO_8A; +pub type PDRIVER_INFO_8A = *mut _DRIVER_INFO_8A; +pub type LPDRIVER_INFO_8A = *mut _DRIVER_INFO_8A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DRIVER_INFO_8W { + pub cVersion: DWORD, + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDriverPath: LPWSTR, + pub pDataFile: LPWSTR, + pub pConfigFile: LPWSTR, + pub pHelpFile: LPWSTR, + pub pDependentFiles: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDefaultDataType: LPWSTR, + pub pszzPreviousNames: LPWSTR, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub pszMfgName: LPWSTR, + pub pszOEMUrl: LPWSTR, + pub pszHardwareID: LPWSTR, + pub pszProvider: LPWSTR, + pub pszPrintProcessor: LPWSTR, + pub pszVendorSetup: LPWSTR, + pub pszzColorProfiles: LPWSTR, + pub pszInfPath: LPWSTR, + pub dwPrinterDriverAttributes: DWORD, + pub pszzCoreDriverDependencies: LPWSTR, + pub ftMinInboxDriverVerDate: FILETIME, + pub dwlMinInboxDriverVerVersion: DWORDLONG, +} +#[test] +fn bindgen_test_layout__DRIVER_INFO_8W() { + const UNINIT: ::std::mem::MaybeUninit<_DRIVER_INFO_8W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DRIVER_INFO_8W>(), + 200usize, + concat!("Size of: ", stringify!(_DRIVER_INFO_8W)) + ); + assert_eq!( + ::std::mem::align_of::<_DRIVER_INFO_8W>(), + 8usize, + concat!("Alignment of ", stringify!(_DRIVER_INFO_8W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(cVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDriverPath) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pDriverPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pDataFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pConfigFile) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pConfigFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDependentFiles) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pDependentFiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDefaultDataType) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pDefaultDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzPreviousNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszzPreviousNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszMfgName) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszMfgName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszOEMUrl) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszOEMUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszHardwareID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszHardwareID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszProvider) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszProvider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszPrintProcessor) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszPrintProcessor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszVendorSetup) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszVendorSetup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzColorProfiles) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszzColorProfiles) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszInfPath) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszInfPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPrinterDriverAttributes) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(dwPrinterDriverAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszzCoreDriverDependencies) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(pszzCoreDriverDependencies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftMinInboxDriverVerDate) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(ftMinInboxDriverVerDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlMinInboxDriverVerVersion) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(_DRIVER_INFO_8W), + "::", + stringify!(dwlMinInboxDriverVerVersion) + ) + ); +} +pub type DRIVER_INFO_8W = _DRIVER_INFO_8W; +pub type PDRIVER_INFO_8W = *mut _DRIVER_INFO_8W; +pub type LPDRIVER_INFO_8W = *mut _DRIVER_INFO_8W; +pub type DRIVER_INFO_8 = DRIVER_INFO_8A; +pub type PDRIVER_INFO_8 = PDRIVER_INFO_8A; +pub type LPDRIVER_INFO_8 = LPDRIVER_INFO_8A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_1A { + pub pDocName: LPSTR, + pub pOutputFile: LPSTR, + pub pDatatype: LPSTR, +} +#[test] +fn bindgen_test_layout__DOC_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_1A>(), + 24usize, + concat!("Size of: ", stringify!(_DOC_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1A), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1A), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1A), + "::", + stringify!(pDatatype) + ) + ); +} +pub type DOC_INFO_1A = _DOC_INFO_1A; +pub type PDOC_INFO_1A = *mut _DOC_INFO_1A; +pub type LPDOC_INFO_1A = *mut _DOC_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_1W { + pub pDocName: LPWSTR, + pub pOutputFile: LPWSTR, + pub pDatatype: LPWSTR, +} +#[test] +fn bindgen_test_layout__DOC_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_1W>(), + 24usize, + concat!("Size of: ", stringify!(_DOC_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1W), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1W), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_1W), + "::", + stringify!(pDatatype) + ) + ); +} +pub type DOC_INFO_1W = _DOC_INFO_1W; +pub type PDOC_INFO_1W = *mut _DOC_INFO_1W; +pub type LPDOC_INFO_1W = *mut _DOC_INFO_1W; +pub type DOC_INFO_1 = DOC_INFO_1A; +pub type PDOC_INFO_1 = PDOC_INFO_1A; +pub type LPDOC_INFO_1 = LPDOC_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORM_INFO_1A { + pub Flags: DWORD, + pub pName: LPSTR, + pub Size: SIZEL, + pub ImageableArea: RECTL, +} +#[test] +fn bindgen_test_layout__FORM_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_FORM_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORM_INFO_1A>(), + 40usize, + concat!("Size of: ", stringify!(_FORM_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_FORM_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_FORM_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1A), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageableArea) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1A), + "::", + stringify!(ImageableArea) + ) + ); +} +pub type FORM_INFO_1A = _FORM_INFO_1A; +pub type PFORM_INFO_1A = *mut _FORM_INFO_1A; +pub type LPFORM_INFO_1A = *mut _FORM_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORM_INFO_1W { + pub Flags: DWORD, + pub pName: LPWSTR, + pub Size: SIZEL, + pub ImageableArea: RECTL, +} +#[test] +fn bindgen_test_layout__FORM_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_FORM_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORM_INFO_1W>(), + 40usize, + concat!("Size of: ", stringify!(_FORM_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_FORM_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_FORM_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1W), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageableArea) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_1W), + "::", + stringify!(ImageableArea) + ) + ); +} +pub type FORM_INFO_1W = _FORM_INFO_1W; +pub type PFORM_INFO_1W = *mut _FORM_INFO_1W; +pub type LPFORM_INFO_1W = *mut _FORM_INFO_1W; +pub type FORM_INFO_1 = FORM_INFO_1A; +pub type PFORM_INFO_1 = PFORM_INFO_1A; +pub type LPFORM_INFO_1 = LPFORM_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORM_INFO_2A { + pub Flags: DWORD, + pub pName: LPCSTR, + pub Size: SIZEL, + pub ImageableArea: RECTL, + pub pKeyword: LPCSTR, + pub StringType: DWORD, + pub pMuiDll: LPCSTR, + pub dwResourceId: DWORD, + pub pDisplayName: LPCSTR, + pub wLangId: LANGID, +} +#[test] +fn bindgen_test_layout__FORM_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_FORM_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORM_INFO_2A>(), + 88usize, + concat!("Size of: ", stringify!(_FORM_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_FORM_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_FORM_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageableArea) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(ImageableArea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyword) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(pKeyword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringType) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(StringType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMuiDll) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(pMuiDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResourceId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(dwResourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDisplayName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(pDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLangId) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2A), + "::", + stringify!(wLangId) + ) + ); +} +pub type FORM_INFO_2A = _FORM_INFO_2A; +pub type PFORM_INFO_2A = *mut _FORM_INFO_2A; +pub type LPFORM_INFO_2A = *mut _FORM_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _FORM_INFO_2W { + pub Flags: DWORD, + pub pName: LPCWSTR, + pub Size: SIZEL, + pub ImageableArea: RECTL, + pub pKeyword: LPCSTR, + pub StringType: DWORD, + pub pMuiDll: LPCWSTR, + pub dwResourceId: DWORD, + pub pDisplayName: LPCWSTR, + pub wLangId: LANGID, +} +#[test] +fn bindgen_test_layout__FORM_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_FORM_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FORM_INFO_2W>(), + 88usize, + concat!("Size of: ", stringify!(_FORM_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_FORM_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_FORM_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImageableArea) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(ImageableArea) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pKeyword) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(pKeyword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StringType) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(StringType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMuiDll) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(pMuiDll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResourceId) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(dwResourceId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDisplayName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(pDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLangId) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_FORM_INFO_2W), + "::", + stringify!(wLangId) + ) + ); +} +pub type FORM_INFO_2W = _FORM_INFO_2W; +pub type PFORM_INFO_2W = *mut _FORM_INFO_2W; +pub type LPFORM_INFO_2W = *mut _FORM_INFO_2W; +pub type FORM_INFO_2 = FORM_INFO_2A; +pub type PFORM_INFO_2 = PFORM_INFO_2A; +pub type LPFORM_INFO_2 = LPFORM_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_2A { + pub pDocName: LPSTR, + pub pOutputFile: LPSTR, + pub pDatatype: LPSTR, + pub dwMode: DWORD, + pub JobId: DWORD, +} +#[test] +fn bindgen_test_layout__DOC_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_2A>(), + 32usize, + concat!("Size of: ", stringify!(_DOC_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(dwMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2A), + "::", + stringify!(JobId) + ) + ); +} +pub type DOC_INFO_2A = _DOC_INFO_2A; +pub type PDOC_INFO_2A = *mut _DOC_INFO_2A; +pub type LPDOC_INFO_2A = *mut _DOC_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_2W { + pub pDocName: LPWSTR, + pub pOutputFile: LPWSTR, + pub pDatatype: LPWSTR, + pub dwMode: DWORD, + pub JobId: DWORD, +} +#[test] +fn bindgen_test_layout__DOC_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_2W>(), + 32usize, + concat!("Size of: ", stringify!(_DOC_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(dwMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).JobId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_2W), + "::", + stringify!(JobId) + ) + ); +} +pub type DOC_INFO_2W = _DOC_INFO_2W; +pub type PDOC_INFO_2W = *mut _DOC_INFO_2W; +pub type LPDOC_INFO_2W = *mut _DOC_INFO_2W; +pub type DOC_INFO_2 = DOC_INFO_2A; +pub type PDOC_INFO_2 = PDOC_INFO_2A; +pub type LPDOC_INFO_2 = LPDOC_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_3A { + pub pDocName: LPSTR, + pub pOutputFile: LPSTR, + pub pDatatype: LPSTR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__DOC_INFO_3A() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_3A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_3A>(), + 32usize, + concat!("Size of: ", stringify!(_DOC_INFO_3A)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_3A>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_3A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3A), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3A), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3A), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3A), + "::", + stringify!(dwFlags) + ) + ); +} +pub type DOC_INFO_3A = _DOC_INFO_3A; +pub type PDOC_INFO_3A = *mut _DOC_INFO_3A; +pub type LPDOC_INFO_3A = *mut _DOC_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DOC_INFO_3W { + pub pDocName: LPWSTR, + pub pOutputFile: LPWSTR, + pub pDatatype: LPWSTR, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__DOC_INFO_3W() { + const UNINIT: ::std::mem::MaybeUninit<_DOC_INFO_3W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DOC_INFO_3W>(), + 32usize, + concat!("Size of: ", stringify!(_DOC_INFO_3W)) + ); + assert_eq!( + ::std::mem::align_of::<_DOC_INFO_3W>(), + 8usize, + concat!("Alignment of ", stringify!(_DOC_INFO_3W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDocName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3W), + "::", + stringify!(pDocName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOutputFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3W), + "::", + stringify!(pOutputFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3W), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_DOC_INFO_3W), + "::", + stringify!(dwFlags) + ) + ); +} +pub type DOC_INFO_3W = _DOC_INFO_3W; +pub type PDOC_INFO_3W = *mut _DOC_INFO_3W; +pub type LPDOC_INFO_3W = *mut _DOC_INFO_3W; +pub type DOC_INFO_3 = DOC_INFO_3A; +pub type PDOC_INFO_3 = PDOC_INFO_3A; +pub type LPDOC_INFO_3 = LPDOC_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTPROCESSOR_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__PRINTPROCESSOR_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTPROCESSOR_INFO_1A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTPROCESSOR_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTPROCESSOR_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTPROCESSOR_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTPROCESSOR_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type PRINTPROCESSOR_INFO_1A = _PRINTPROCESSOR_INFO_1A; +pub type PPRINTPROCESSOR_INFO_1A = *mut _PRINTPROCESSOR_INFO_1A; +pub type LPPRINTPROCESSOR_INFO_1A = *mut _PRINTPROCESSOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTPROCESSOR_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__PRINTPROCESSOR_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTPROCESSOR_INFO_1W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTPROCESSOR_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTPROCESSOR_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTPROCESSOR_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTPROCESSOR_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type PRINTPROCESSOR_INFO_1W = _PRINTPROCESSOR_INFO_1W; +pub type PPRINTPROCESSOR_INFO_1W = *mut _PRINTPROCESSOR_INFO_1W; +pub type LPPRINTPROCESSOR_INFO_1W = *mut _PRINTPROCESSOR_INFO_1W; +pub type PRINTPROCESSOR_INFO_1 = PRINTPROCESSOR_INFO_1A; +pub type PPRINTPROCESSOR_INFO_1 = PPRINTPROCESSOR_INFO_1A; +pub type LPPRINTPROCESSOR_INFO_1 = LPPRINTPROCESSOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTPROCESSOR_CAPS_1 { + pub dwLevel: DWORD, + pub dwNupOptions: DWORD, + pub dwPageOrderFlags: DWORD, + pub dwNumberOfCopies: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTPROCESSOR_CAPS_1() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTPROCESSOR_CAPS_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTPROCESSOR_CAPS_1>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTPROCESSOR_CAPS_1)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTPROCESSOR_CAPS_1>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTPROCESSOR_CAPS_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_1), + "::", + stringify!(dwLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNupOptions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_1), + "::", + stringify!(dwNupOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPageOrderFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_1), + "::", + stringify!(dwPageOrderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfCopies) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_1), + "::", + stringify!(dwNumberOfCopies) + ) + ); +} +pub type PRINTPROCESSOR_CAPS_1 = _PRINTPROCESSOR_CAPS_1; +pub type PPRINTPROCESSOR_CAPS_1 = *mut _PRINTPROCESSOR_CAPS_1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTPROCESSOR_CAPS_2 { + pub dwLevel: DWORD, + pub dwNupOptions: DWORD, + pub dwPageOrderFlags: DWORD, + pub dwNumberOfCopies: DWORD, + pub dwDuplexHandlingCaps: DWORD, + pub dwNupDirectionCaps: DWORD, + pub dwNupBorderCaps: DWORD, + pub dwBookletHandlingCaps: DWORD, + pub dwScalingCaps: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTPROCESSOR_CAPS_2() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTPROCESSOR_CAPS_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTPROCESSOR_CAPS_2>(), + 36usize, + concat!("Size of: ", stringify!(_PRINTPROCESSOR_CAPS_2)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTPROCESSOR_CAPS_2>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTPROCESSOR_CAPS_2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLevel) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNupOptions) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwNupOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPageOrderFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwPageOrderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfCopies) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwNumberOfCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDuplexHandlingCaps) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwDuplexHandlingCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNupDirectionCaps) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwNupDirectionCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNupBorderCaps) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwNupBorderCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBookletHandlingCaps) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwBookletHandlingCaps) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwScalingCaps) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_PRINTPROCESSOR_CAPS_2), + "::", + stringify!(dwScalingCaps) + ) + ); +} +pub type PRINTPROCESSOR_CAPS_2 = _PRINTPROCESSOR_CAPS_2; +pub type PPRINTPROCESSOR_CAPS_2 = *mut _PRINTPROCESSOR_CAPS_2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__PORT_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_PORT_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type PORT_INFO_1A = _PORT_INFO_1A; +pub type PPORT_INFO_1A = *mut _PORT_INFO_1A; +pub type LPPORT_INFO_1A = *mut _PORT_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__PORT_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_PORT_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type PORT_INFO_1W = _PORT_INFO_1W; +pub type PPORT_INFO_1W = *mut _PORT_INFO_1W; +pub type LPPORT_INFO_1W = *mut _PORT_INFO_1W; +pub type PORT_INFO_1 = PORT_INFO_1A; +pub type PPORT_INFO_1 = PPORT_INFO_1A; +pub type LPPORT_INFO_1 = LPPORT_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_2A { + pub pPortName: LPSTR, + pub pMonitorName: LPSTR, + pub pDescription: LPSTR, + pub fPortType: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__PORT_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_2A>(), + 32usize, + concat!("Size of: ", stringify!(_PORT_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDescription) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(pDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPortType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(fPortType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2A), + "::", + stringify!(Reserved) + ) + ); +} +pub type PORT_INFO_2A = _PORT_INFO_2A; +pub type PPORT_INFO_2A = *mut _PORT_INFO_2A; +pub type LPPORT_INFO_2A = *mut _PORT_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_2W { + pub pPortName: LPWSTR, + pub pMonitorName: LPWSTR, + pub pDescription: LPWSTR, + pub fPortType: DWORD, + pub Reserved: DWORD, +} +#[test] +fn bindgen_test_layout__PORT_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_2W>(), + 32usize, + concat!("Size of: ", stringify!(_PORT_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPortName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(pPortName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pMonitorName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(pMonitorName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDescription) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(pDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPortType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(fPortType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_2W), + "::", + stringify!(Reserved) + ) + ); +} +pub type PORT_INFO_2W = _PORT_INFO_2W; +pub type PPORT_INFO_2W = *mut _PORT_INFO_2W; +pub type LPPORT_INFO_2W = *mut _PORT_INFO_2W; +pub type PORT_INFO_2 = PORT_INFO_2A; +pub type PPORT_INFO_2 = PPORT_INFO_2A; +pub type LPPORT_INFO_2 = LPPORT_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_3A { + pub dwStatus: DWORD, + pub pszStatus: LPSTR, + pub dwSeverity: DWORD, +} +#[test] +fn bindgen_test_layout__PORT_INFO_3A() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_3A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_3A>(), + 24usize, + concat!("Size of: ", stringify!(_PORT_INFO_3A)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_3A>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_3A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3A), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3A), + "::", + stringify!(pszStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSeverity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3A), + "::", + stringify!(dwSeverity) + ) + ); +} +pub type PORT_INFO_3A = _PORT_INFO_3A; +pub type PPORT_INFO_3A = *mut _PORT_INFO_3A; +pub type LPPORT_INFO_3A = *mut _PORT_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PORT_INFO_3W { + pub dwStatus: DWORD, + pub pszStatus: LPWSTR, + pub dwSeverity: DWORD, +} +#[test] +fn bindgen_test_layout__PORT_INFO_3W() { + const UNINIT: ::std::mem::MaybeUninit<_PORT_INFO_3W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PORT_INFO_3W>(), + 24usize, + concat!("Size of: ", stringify!(_PORT_INFO_3W)) + ); + assert_eq!( + ::std::mem::align_of::<_PORT_INFO_3W>(), + 8usize, + concat!("Alignment of ", stringify!(_PORT_INFO_3W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3W), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszStatus) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3W), + "::", + stringify!(pszStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSeverity) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PORT_INFO_3W), + "::", + stringify!(dwSeverity) + ) + ); +} +pub type PORT_INFO_3W = _PORT_INFO_3W; +pub type PPORT_INFO_3W = *mut _PORT_INFO_3W; +pub type LPPORT_INFO_3W = *mut _PORT_INFO_3W; +pub type PORT_INFO_3 = PORT_INFO_3A; +pub type PPORT_INFO_3 = PPORT_INFO_3A; +pub type LPPORT_INFO_3 = LPPORT_INFO_3A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MONITOR_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__MONITOR_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_MONITOR_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MONITOR_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_MONITOR_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_MONITOR_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_MONITOR_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type MONITOR_INFO_1A = _MONITOR_INFO_1A; +pub type PMONITOR_INFO_1A = *mut _MONITOR_INFO_1A; +pub type LPMONITOR_INFO_1A = *mut _MONITOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MONITOR_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__MONITOR_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_MONITOR_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MONITOR_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_MONITOR_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_MONITOR_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_MONITOR_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type MONITOR_INFO_1W = _MONITOR_INFO_1W; +pub type PMONITOR_INFO_1W = *mut _MONITOR_INFO_1W; +pub type LPMONITOR_INFO_1W = *mut _MONITOR_INFO_1W; +pub type MONITOR_INFO_1 = MONITOR_INFO_1A; +pub type PMONITOR_INFO_1 = PMONITOR_INFO_1A; +pub type LPMONITOR_INFO_1 = LPMONITOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MONITOR_INFO_2A { + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDLLName: LPSTR, +} +#[test] +fn bindgen_test_layout__MONITOR_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_MONITOR_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MONITOR_INFO_2A>(), + 24usize, + concat!("Size of: ", stringify!(_MONITOR_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_MONITOR_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_MONITOR_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDLLName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2A), + "::", + stringify!(pDLLName) + ) + ); +} +pub type MONITOR_INFO_2A = _MONITOR_INFO_2A; +pub type PMONITOR_INFO_2A = *mut _MONITOR_INFO_2A; +pub type LPMONITOR_INFO_2A = *mut _MONITOR_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MONITOR_INFO_2W { + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDLLName: LPWSTR, +} +#[test] +fn bindgen_test_layout__MONITOR_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_MONITOR_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MONITOR_INFO_2W>(), + 24usize, + concat!("Size of: ", stringify!(_MONITOR_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_MONITOR_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_MONITOR_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDLLName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MONITOR_INFO_2W), + "::", + stringify!(pDLLName) + ) + ); +} +pub type MONITOR_INFO_2W = _MONITOR_INFO_2W; +pub type PMONITOR_INFO_2W = *mut _MONITOR_INFO_2W; +pub type LPMONITOR_INFO_2W = *mut _MONITOR_INFO_2W; +pub type MONITOR_INFO_2 = MONITOR_INFO_2A; +pub type PMONITOR_INFO_2 = PMONITOR_INFO_2A; +pub type LPMONITOR_INFO_2 = LPMONITOR_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DATATYPES_INFO_1A { + pub pName: LPSTR, +} +#[test] +fn bindgen_test_layout__DATATYPES_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_DATATYPES_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DATATYPES_INFO_1A>(), + 8usize, + concat!("Size of: ", stringify!(_DATATYPES_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_DATATYPES_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_DATATYPES_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DATATYPES_INFO_1A), + "::", + stringify!(pName) + ) + ); +} +pub type DATATYPES_INFO_1A = _DATATYPES_INFO_1A; +pub type PDATATYPES_INFO_1A = *mut _DATATYPES_INFO_1A; +pub type LPDATATYPES_INFO_1A = *mut _DATATYPES_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _DATATYPES_INFO_1W { + pub pName: LPWSTR, +} +#[test] +fn bindgen_test_layout__DATATYPES_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_DATATYPES_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_DATATYPES_INFO_1W>(), + 8usize, + concat!("Size of: ", stringify!(_DATATYPES_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_DATATYPES_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_DATATYPES_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_DATATYPES_INFO_1W), + "::", + stringify!(pName) + ) + ); +} +pub type DATATYPES_INFO_1W = _DATATYPES_INFO_1W; +pub type PDATATYPES_INFO_1W = *mut _DATATYPES_INFO_1W; +pub type LPDATATYPES_INFO_1W = *mut _DATATYPES_INFO_1W; +pub type DATATYPES_INFO_1 = DATATYPES_INFO_1A; +pub type PDATATYPES_INFO_1 = PDATATYPES_INFO_1A; +pub type LPDATATYPES_INFO_1 = LPDATATYPES_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_DEFAULTSA { + pub pDatatype: LPSTR, + pub pDevMode: LPDEVMODEA, + pub DesiredAccess: ACCESS_MASK, +} +#[test] +fn bindgen_test_layout__PRINTER_DEFAULTSA() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_DEFAULTSA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_DEFAULTSA>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_DEFAULTSA)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_DEFAULTSA>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_DEFAULTSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSA), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSA), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredAccess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSA), + "::", + stringify!(DesiredAccess) + ) + ); +} +pub type PRINTER_DEFAULTSA = _PRINTER_DEFAULTSA; +pub type PPRINTER_DEFAULTSA = *mut _PRINTER_DEFAULTSA; +pub type LPPRINTER_DEFAULTSA = *mut _PRINTER_DEFAULTSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_DEFAULTSW { + pub pDatatype: LPWSTR, + pub pDevMode: LPDEVMODEW, + pub DesiredAccess: ACCESS_MASK, +} +#[test] +fn bindgen_test_layout__PRINTER_DEFAULTSW() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_DEFAULTSW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_DEFAULTSW>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_DEFAULTSW)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_DEFAULTSW>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_DEFAULTSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDatatype) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSW), + "::", + stringify!(pDatatype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDevMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSW), + "::", + stringify!(pDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DesiredAccess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_DEFAULTSW), + "::", + stringify!(DesiredAccess) + ) + ); +} +pub type PRINTER_DEFAULTSW = _PRINTER_DEFAULTSW; +pub type PPRINTER_DEFAULTSW = *mut _PRINTER_DEFAULTSW; +pub type LPPRINTER_DEFAULTSW = *mut _PRINTER_DEFAULTSW; +pub type PRINTER_DEFAULTS = PRINTER_DEFAULTSA; +pub type PPRINTER_DEFAULTS = PPRINTER_DEFAULTSA; +pub type LPPRINTER_DEFAULTS = LPPRINTER_DEFAULTSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_ENUM_VALUESA { + pub pValueName: LPSTR, + pub cbValueName: DWORD, + pub dwType: DWORD, + pub pData: LPBYTE, + pub cbData: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_ENUM_VALUESA() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_ENUM_VALUESA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_ENUM_VALUESA>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_ENUM_VALUESA)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_ENUM_VALUESA>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_ENUM_VALUESA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pValueName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(pValueName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbValueName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(cbValueName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(pData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESA), + "::", + stringify!(cbData) + ) + ); +} +pub type PRINTER_ENUM_VALUESA = _PRINTER_ENUM_VALUESA; +pub type PPRINTER_ENUM_VALUESA = *mut _PRINTER_ENUM_VALUESA; +pub type LPPRINTER_ENUM_VALUESA = *mut _PRINTER_ENUM_VALUESA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_ENUM_VALUESW { + pub pValueName: LPWSTR, + pub cbValueName: DWORD, + pub dwType: DWORD, + pub pData: LPBYTE, + pub cbData: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_ENUM_VALUESW() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_ENUM_VALUESW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_ENUM_VALUESW>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_ENUM_VALUESW)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_ENUM_VALUESW>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_ENUM_VALUESW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pValueName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(pValueName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbValueName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(cbValueName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(pData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_ENUM_VALUESW), + "::", + stringify!(cbData) + ) + ); +} +pub type PRINTER_ENUM_VALUESW = _PRINTER_ENUM_VALUESW; +pub type PPRINTER_ENUM_VALUESW = *mut _PRINTER_ENUM_VALUESW; +pub type LPPRINTER_ENUM_VALUESW = *mut _PRINTER_ENUM_VALUESW; +pub type PRINTER_ENUM_VALUES = PRINTER_ENUM_VALUESA; +pub type PPRINTER_ENUM_VALUES = PPRINTER_ENUM_VALUESA; +pub type LPPRINTER_ENUM_VALUES = LPPRINTER_ENUM_VALUESA; +extern "C" { + pub fn EnumPrintersA( + Flags: DWORD, + Name: LPSTR, + Level: DWORD, + pPrinterEnum: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintersW( + Flags: DWORD, + Name: LPWSTR, + Level: DWORD, + pPrinterEnum: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetSpoolFileHandle(hPrinter: HANDLE) -> HANDLE; +} +extern "C" { + pub fn CommitSpoolData(hPrinter: HANDLE, hSpoolFile: HANDLE, cbCommit: DWORD) -> HANDLE; +} +extern "C" { + pub fn CloseSpoolFileHandle(hPrinter: HANDLE, hSpoolFile: HANDLE) -> BOOL; +} +extern "C" { + pub fn OpenPrinterA( + pPrinterName: LPSTR, + phPrinter: LPHANDLE, + pDefault: LPPRINTER_DEFAULTSA, + ) -> BOOL; +} +extern "C" { + pub fn OpenPrinterW( + pPrinterName: LPWSTR, + phPrinter: LPHANDLE, + pDefault: LPPRINTER_DEFAULTSW, + ) -> BOOL; +} +extern "C" { + pub fn ResetPrinterA(hPrinter: HANDLE, pDefault: LPPRINTER_DEFAULTSA) -> BOOL; +} +extern "C" { + pub fn ResetPrinterW(hPrinter: HANDLE, pDefault: LPPRINTER_DEFAULTSW) -> BOOL; +} +extern "C" { + pub fn SetJobA( + hPrinter: HANDLE, + JobId: DWORD, + Level: DWORD, + pJob: LPBYTE, + Command: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetJobW( + hPrinter: HANDLE, + JobId: DWORD, + Level: DWORD, + pJob: LPBYTE, + Command: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetJobA( + hPrinter: HANDLE, + JobId: DWORD, + Level: DWORD, + pJob: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetJobW( + hPrinter: HANDLE, + JobId: DWORD, + Level: DWORD, + pJob: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumJobsA( + hPrinter: HANDLE, + FirstJob: DWORD, + NoJobs: DWORD, + Level: DWORD, + pJob: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumJobsW( + hPrinter: HANDLE, + FirstJob: DWORD, + NoJobs: DWORD, + Level: DWORD, + pJob: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPrinterA(pName: LPSTR, Level: DWORD, pPrinter: LPBYTE) -> HANDLE; +} +extern "C" { + pub fn AddPrinterW(pName: LPWSTR, Level: DWORD, pPrinter: LPBYTE) -> HANDLE; +} +extern "C" { + pub fn DeletePrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn SetPrinterA(hPrinter: HANDLE, Level: DWORD, pPrinter: LPBYTE, Command: DWORD) -> BOOL; +} +extern "C" { + pub fn SetPrinterW(hPrinter: HANDLE, Level: DWORD, pPrinter: LPBYTE, Command: DWORD) -> BOOL; +} +extern "C" { + pub fn GetPrinterA( + hPrinter: HANDLE, + Level: DWORD, + pPrinter: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterW( + hPrinter: HANDLE, + Level: DWORD, + pPrinter: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPrinterDriverA(pName: LPSTR, Level: DWORD, pDriverInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddPrinterDriverW(pName: LPWSTR, Level: DWORD, pDriverInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddPrinterDriverExA( + pName: LPSTR, + Level: DWORD, + lpbDriverInfo: PBYTE, + dwFileCopyFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPrinterDriverExW( + pName: LPWSTR, + Level: DWORD, + lpbDriverInfo: PBYTE, + dwFileCopyFlags: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrinterDriversA( + pName: LPSTR, + pEnvironment: LPSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrinterDriversW( + pName: LPWSTR, + pEnvironment: LPWSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriverA( + hPrinter: HANDLE, + pEnvironment: LPSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriverW( + hPrinter: HANDLE, + pEnvironment: LPWSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriverDirectoryA( + pName: LPSTR, + pEnvironment: LPSTR, + Level: DWORD, + pDriverDirectory: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriverDirectoryW( + pName: LPWSTR, + pEnvironment: LPWSTR, + Level: DWORD, + pDriverDirectory: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrinterDriverA(pName: LPSTR, pEnvironment: LPSTR, pDriverName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeletePrinterDriverW(pName: LPWSTR, pEnvironment: LPWSTR, pDriverName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn DeletePrinterDriverExA( + pName: LPSTR, + pEnvironment: LPSTR, + pDriverName: LPSTR, + dwDeleteFlag: DWORD, + dwVersionFlag: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrinterDriverExW( + pName: LPWSTR, + pEnvironment: LPWSTR, + pDriverName: LPWSTR, + dwDeleteFlag: DWORD, + dwVersionFlag: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPrintProcessorA( + pName: LPSTR, + pEnvironment: LPSTR, + pPathName: LPSTR, + pPrintProcessorName: LPSTR, + ) -> BOOL; +} +extern "C" { + pub fn AddPrintProcessorW( + pName: LPWSTR, + pEnvironment: LPWSTR, + pPathName: LPWSTR, + pPrintProcessorName: LPWSTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintProcessorsA( + pName: LPSTR, + pEnvironment: LPSTR, + Level: DWORD, + pPrintProcessorInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintProcessorsW( + pName: LPWSTR, + pEnvironment: LPWSTR, + Level: DWORD, + pPrintProcessorInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrintProcessorDirectoryA( + pName: LPSTR, + pEnvironment: LPSTR, + Level: DWORD, + pPrintProcessorInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrintProcessorDirectoryW( + pName: LPWSTR, + pEnvironment: LPWSTR, + Level: DWORD, + pPrintProcessorInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintProcessorDatatypesA( + pName: LPSTR, + pPrintProcessorName: LPSTR, + Level: DWORD, + pDatatypes: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPrintProcessorDatatypesW( + pName: LPWSTR, + pPrintProcessorName: LPWSTR, + Level: DWORD, + pDatatypes: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrintProcessorA( + pName: LPSTR, + pEnvironment: LPSTR, + pPrintProcessorName: LPSTR, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrintProcessorW( + pName: LPWSTR, + pEnvironment: LPWSTR, + pPrintProcessorName: LPWSTR, + ) -> BOOL; +} +extern "C" { + pub fn StartDocPrinterA(hPrinter: HANDLE, Level: DWORD, pDocInfo: LPBYTE) -> DWORD; +} +extern "C" { + pub fn StartDocPrinterW(hPrinter: HANDLE, Level: DWORD, pDocInfo: LPBYTE) -> DWORD; +} +extern "C" { + pub fn StartPagePrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn WritePrinter(hPrinter: HANDLE, pBuf: LPVOID, cbBuf: DWORD, pcWritten: LPDWORD) -> BOOL; +} +extern "C" { + pub fn FlushPrinter( + hPrinter: HANDLE, + pBuf: LPVOID, + cbBuf: DWORD, + pcWritten: LPDWORD, + cSleep: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn EndPagePrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn AbortPrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn ReadPrinter(hPrinter: HANDLE, pBuf: LPVOID, cbBuf: DWORD, pNoBytesRead: LPDWORD) + -> BOOL; +} +extern "C" { + pub fn EndDocPrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn AddJobA( + hPrinter: HANDLE, + Level: DWORD, + pData: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddJobW( + hPrinter: HANDLE, + Level: DWORD, + pData: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ScheduleJob(hPrinter: HANDLE, JobId: DWORD) -> BOOL; +} +extern "C" { + pub fn PrinterProperties(hWnd: HWND, hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn DocumentPropertiesA( + hWnd: HWND, + hPrinter: HANDLE, + pDeviceName: LPSTR, + pDevModeOutput: PDEVMODEA, + pDevModeInput: PDEVMODEA, + fMode: DWORD, + ) -> LONG; +} +extern "C" { + pub fn DocumentPropertiesW( + hWnd: HWND, + hPrinter: HANDLE, + pDeviceName: LPWSTR, + pDevModeOutput: PDEVMODEW, + pDevModeInput: PDEVMODEW, + fMode: DWORD, + ) -> LONG; +} +extern "C" { + pub fn AdvancedDocumentPropertiesA( + hWnd: HWND, + hPrinter: HANDLE, + pDeviceName: LPSTR, + pDevModeOutput: PDEVMODEA, + pDevModeInput: PDEVMODEA, + ) -> LONG; +} +extern "C" { + pub fn AdvancedDocumentPropertiesW( + hWnd: HWND, + hPrinter: HANDLE, + pDeviceName: LPWSTR, + pDevModeOutput: PDEVMODEW, + pDevModeInput: PDEVMODEW, + ) -> LONG; +} +extern "C" { + pub fn ExtDeviceMode( + hWnd: HWND, + hInst: HANDLE, + pDevModeOutput: LPDEVMODEA, + pDeviceName: LPSTR, + pPort: LPSTR, + pDevModeInput: LPDEVMODEA, + pProfile: LPSTR, + fMode: DWORD, + ) -> LONG; +} +extern "C" { + pub fn GetPrinterDataA( + hPrinter: HANDLE, + pValueName: LPSTR, + pType: LPDWORD, + pData: LPBYTE, + nSize: DWORD, + pcbNeeded: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetPrinterDataW( + hPrinter: HANDLE, + pValueName: LPWSTR, + pType: LPDWORD, + pData: LPBYTE, + nSize: DWORD, + pcbNeeded: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetPrinterDataExA( + hPrinter: HANDLE, + pKeyName: LPCSTR, + pValueName: LPCSTR, + pType: LPDWORD, + pData: LPBYTE, + nSize: DWORD, + pcbNeeded: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn GetPrinterDataExW( + hPrinter: HANDLE, + pKeyName: LPCWSTR, + pValueName: LPCWSTR, + pType: LPDWORD, + pData: LPBYTE, + nSize: DWORD, + pcbNeeded: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterDataA( + hPrinter: HANDLE, + dwIndex: DWORD, + pValueName: LPSTR, + cbValueName: DWORD, + pcbValueName: LPDWORD, + pType: LPDWORD, + pData: LPBYTE, + cbData: DWORD, + pcbData: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterDataW( + hPrinter: HANDLE, + dwIndex: DWORD, + pValueName: LPWSTR, + cbValueName: DWORD, + pcbValueName: LPDWORD, + pType: LPDWORD, + pData: LPBYTE, + cbData: DWORD, + pcbData: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterDataExA( + hPrinter: HANDLE, + pKeyName: LPCSTR, + pEnumValues: LPBYTE, + cbEnumValues: DWORD, + pcbEnumValues: LPDWORD, + pnEnumValues: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterDataExW( + hPrinter: HANDLE, + pKeyName: LPCWSTR, + pEnumValues: LPBYTE, + cbEnumValues: DWORD, + pcbEnumValues: LPDWORD, + pnEnumValues: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterKeyA( + hPrinter: HANDLE, + pKeyName: LPCSTR, + pSubkey: LPSTR, + cbSubkey: DWORD, + pcbSubkey: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn EnumPrinterKeyW( + hPrinter: HANDLE, + pKeyName: LPCWSTR, + pSubkey: LPWSTR, + cbSubkey: DWORD, + pcbSubkey: LPDWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetPrinterDataA( + hPrinter: HANDLE, + pValueName: LPSTR, + Type: DWORD, + pData: LPBYTE, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetPrinterDataW( + hPrinter: HANDLE, + pValueName: LPWSTR, + Type: DWORD, + pData: LPBYTE, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetPrinterDataExA( + hPrinter: HANDLE, + pKeyName: LPCSTR, + pValueName: LPCSTR, + Type: DWORD, + pData: LPBYTE, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn SetPrinterDataExW( + hPrinter: HANDLE, + pKeyName: LPCWSTR, + pValueName: LPCWSTR, + Type: DWORD, + pData: LPBYTE, + cbData: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn DeletePrinterDataA(hPrinter: HANDLE, pValueName: LPSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterDataW(hPrinter: HANDLE, pValueName: LPWSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterDataExA(hPrinter: HANDLE, pKeyName: LPCSTR, pValueName: LPCSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterDataExW(hPrinter: HANDLE, pKeyName: LPCWSTR, pValueName: LPCWSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterKeyA(hPrinter: HANDLE, pKeyName: LPCSTR) -> DWORD; +} +extern "C" { + pub fn DeletePrinterKeyW(hPrinter: HANDLE, pKeyName: LPCWSTR) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_NOTIFY_OPTIONS_TYPE { + pub Type: WORD, + pub Reserved0: WORD, + pub Reserved1: DWORD, + pub Reserved2: DWORD, + pub Count: DWORD, + pub pFields: PWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_OPTIONS_TYPE() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_OPTIONS_TYPE> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_OPTIONS_TYPE>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_OPTIONS_TYPE>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved0) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Reserved0) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved1) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved2) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pFields) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS_TYPE), + "::", + stringify!(pFields) + ) + ); +} +pub type PRINTER_NOTIFY_OPTIONS_TYPE = _PRINTER_NOTIFY_OPTIONS_TYPE; +pub type PPRINTER_NOTIFY_OPTIONS_TYPE = *mut _PRINTER_NOTIFY_OPTIONS_TYPE; +pub type LPPRINTER_NOTIFY_OPTIONS_TYPE = *mut _PRINTER_NOTIFY_OPTIONS_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_NOTIFY_OPTIONS { + pub Version: DWORD, + pub Flags: DWORD, + pub Count: DWORD, + pub pTypes: PPRINTER_NOTIFY_OPTIONS_TYPE, +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_OPTIONS() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_OPTIONS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_OPTIONS>(), + 24usize, + concat!("Size of: ", stringify!(_PRINTER_NOTIFY_OPTIONS)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_OPTIONS>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_NOTIFY_OPTIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTypes) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_OPTIONS), + "::", + stringify!(pTypes) + ) + ); +} +pub type PRINTER_NOTIFY_OPTIONS = _PRINTER_NOTIFY_OPTIONS; +pub type PPRINTER_NOTIFY_OPTIONS = *mut _PRINTER_NOTIFY_OPTIONS; +pub type LPPRINTER_NOTIFY_OPTIONS = *mut _PRINTER_NOTIFY_OPTIONS; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PRINTER_NOTIFY_INFO_DATA { + pub Type: WORD, + pub Field: WORD, + pub Reserved: DWORD, + pub Id: DWORD, + pub NotifyData: _PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1 { + pub adwData: [DWORD; 2usize], + pub Data: _PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1 { + pub cbBuf: DWORD, + pub pBuf: LPVOID, +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuf) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cbBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBuf) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pBuf) + ) + ); +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1>(), + 16usize, + concat!( + "Size of: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).adwData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1), + "::", + stringify!(adwData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA__bindgen_ty_1), + "::", + stringify!(Data) + ) + ); +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_INFO_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_INFO_DATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_INFO_DATA>(), + 32usize, + concat!("Size of: ", stringify!(_PRINTER_NOTIFY_INFO_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_INFO_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_NOTIFY_INFO_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Field) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(Field) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(Reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Id) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(Id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NotifyData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO_DATA), + "::", + stringify!(NotifyData) + ) + ); +} +pub type PRINTER_NOTIFY_INFO_DATA = _PRINTER_NOTIFY_INFO_DATA; +pub type PPRINTER_NOTIFY_INFO_DATA = *mut _PRINTER_NOTIFY_INFO_DATA; +pub type LPPRINTER_NOTIFY_INFO_DATA = *mut _PRINTER_NOTIFY_INFO_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _PRINTER_NOTIFY_INFO { + pub Version: DWORD, + pub Flags: DWORD, + pub Count: DWORD, + pub aData: [PRINTER_NOTIFY_INFO_DATA; 1usize], +} +#[test] +fn bindgen_test_layout__PRINTER_NOTIFY_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_NOTIFY_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_NOTIFY_INFO>(), + 48usize, + concat!("Size of: ", stringify!(_PRINTER_NOTIFY_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_NOTIFY_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_NOTIFY_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_NOTIFY_INFO), + "::", + stringify!(aData) + ) + ); +} +pub type PRINTER_NOTIFY_INFO = _PRINTER_NOTIFY_INFO; +pub type PPRINTER_NOTIFY_INFO = *mut _PRINTER_NOTIFY_INFO; +pub type LPPRINTER_NOTIFY_INFO = *mut _PRINTER_NOTIFY_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _BINARY_CONTAINER { + pub cbBuf: DWORD, + pub pData: LPBYTE, +} +#[test] +fn bindgen_test_layout__BINARY_CONTAINER() { + const UNINIT: ::std::mem::MaybeUninit<_BINARY_CONTAINER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BINARY_CONTAINER>(), + 16usize, + concat!("Size of: ", stringify!(_BINARY_CONTAINER)) + ); + assert_eq!( + ::std::mem::align_of::<_BINARY_CONTAINER>(), + 8usize, + concat!("Alignment of ", stringify!(_BINARY_CONTAINER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuf) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BINARY_CONTAINER), + "::", + stringify!(cbBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BINARY_CONTAINER), + "::", + stringify!(pData) + ) + ); +} +pub type BINARY_CONTAINER = _BINARY_CONTAINER; +pub type PBINARY_CONTAINER = *mut _BINARY_CONTAINER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_DATA { + pub dwBidiType: DWORD, + pub u: _BIDI_DATA__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _BIDI_DATA__bindgen_ty_1 { + pub bData: BOOL, + pub iData: LONG, + pub sData: LPWSTR, + pub fData: FLOAT, + pub biData: BINARY_CONTAINER, +} +#[test] +fn bindgen_test_layout__BIDI_DATA__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_DATA__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_DATA__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_BIDI_DATA__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_DATA__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_DATA__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(bData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(iData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(sData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(fData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).biData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA__bindgen_ty_1), + "::", + stringify!(biData) + ) + ); +} +#[test] +fn bindgen_test_layout__BIDI_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_DATA>(), + 24usize, + concat!("Size of: ", stringify!(_BIDI_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBidiType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA), + "::", + stringify!(dwBidiType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_DATA), + "::", + stringify!(u) + ) + ); +} +pub type BIDI_DATA = _BIDI_DATA; +pub type PBIDI_DATA = *mut _BIDI_DATA; +pub type LPBIDI_DATA = *mut _BIDI_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_REQUEST_DATA { + pub dwReqNumber: DWORD, + pub pSchema: LPWSTR, + pub data: BIDI_DATA, +} +#[test] +fn bindgen_test_layout__BIDI_REQUEST_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_REQUEST_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_REQUEST_DATA>(), + 40usize, + concat!("Size of: ", stringify!(_BIDI_REQUEST_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_REQUEST_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_REQUEST_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReqNumber) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_DATA), + "::", + stringify!(dwReqNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSchema) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_DATA), + "::", + stringify!(pSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_DATA), + "::", + stringify!(data) + ) + ); +} +pub type BIDI_REQUEST_DATA = _BIDI_REQUEST_DATA; +pub type PBIDI_REQUEST_DATA = *mut _BIDI_REQUEST_DATA; +pub type LPBIDI_REQUEST_DATA = *mut _BIDI_REQUEST_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_REQUEST_CONTAINER { + pub Version: DWORD, + pub Flags: DWORD, + pub Count: DWORD, + pub aData: [BIDI_REQUEST_DATA; 1usize], +} +#[test] +fn bindgen_test_layout__BIDI_REQUEST_CONTAINER() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_REQUEST_CONTAINER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_REQUEST_CONTAINER>(), + 56usize, + concat!("Size of: ", stringify!(_BIDI_REQUEST_CONTAINER)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_REQUEST_CONTAINER>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_REQUEST_CONTAINER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_CONTAINER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_CONTAINER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_CONTAINER), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_REQUEST_CONTAINER), + "::", + stringify!(aData) + ) + ); +} +pub type BIDI_REQUEST_CONTAINER = _BIDI_REQUEST_CONTAINER; +pub type PBIDI_REQUEST_CONTAINER = *mut _BIDI_REQUEST_CONTAINER; +pub type LPBIDI_REQUEST_CONTAINER = *mut _BIDI_REQUEST_CONTAINER; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_RESPONSE_DATA { + pub dwResult: DWORD, + pub dwReqNumber: DWORD, + pub pSchema: LPWSTR, + pub data: BIDI_DATA, +} +#[test] +fn bindgen_test_layout__BIDI_RESPONSE_DATA() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_RESPONSE_DATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_RESPONSE_DATA>(), + 40usize, + concat!("Size of: ", stringify!(_BIDI_RESPONSE_DATA)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_RESPONSE_DATA>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_RESPONSE_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResult) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_DATA), + "::", + stringify!(dwResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReqNumber) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_DATA), + "::", + stringify!(dwReqNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pSchema) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_DATA), + "::", + stringify!(pSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_DATA), + "::", + stringify!(data) + ) + ); +} +pub type BIDI_RESPONSE_DATA = _BIDI_RESPONSE_DATA; +pub type PBIDI_RESPONSE_DATA = *mut _BIDI_RESPONSE_DATA; +pub type LPBIDI_RESPONSE_DATA = *mut _BIDI_RESPONSE_DATA; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _BIDI_RESPONSE_CONTAINER { + pub Version: DWORD, + pub Flags: DWORD, + pub Count: DWORD, + pub aData: [BIDI_RESPONSE_DATA; 1usize], +} +#[test] +fn bindgen_test_layout__BIDI_RESPONSE_CONTAINER() { + const UNINIT: ::std::mem::MaybeUninit<_BIDI_RESPONSE_CONTAINER> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_BIDI_RESPONSE_CONTAINER>(), + 56usize, + concat!("Size of: ", stringify!(_BIDI_RESPONSE_CONTAINER)) + ); + assert_eq!( + ::std::mem::align_of::<_BIDI_RESPONSE_CONTAINER>(), + 8usize, + concat!("Alignment of ", stringify!(_BIDI_RESPONSE_CONTAINER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Version) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_CONTAINER), + "::", + stringify!(Version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_CONTAINER), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Count) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_CONTAINER), + "::", + stringify!(Count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_BIDI_RESPONSE_CONTAINER), + "::", + stringify!(aData) + ) + ); +} +pub type BIDI_RESPONSE_CONTAINER = _BIDI_RESPONSE_CONTAINER; +pub type PBIDI_RESPONSE_CONTAINER = *mut _BIDI_RESPONSE_CONTAINER; +pub type LPBIDI_RESPONSE_CONTAINER = *mut _BIDI_RESPONSE_CONTAINER; +pub const BIDI_TYPE_BIDI_NULL: BIDI_TYPE = 0; +pub const BIDI_TYPE_BIDI_INT: BIDI_TYPE = 1; +pub const BIDI_TYPE_BIDI_FLOAT: BIDI_TYPE = 2; +pub const BIDI_TYPE_BIDI_BOOL: BIDI_TYPE = 3; +pub const BIDI_TYPE_BIDI_STRING: BIDI_TYPE = 4; +pub const BIDI_TYPE_BIDI_TEXT: BIDI_TYPE = 5; +pub const BIDI_TYPE_BIDI_ENUM: BIDI_TYPE = 6; +pub const BIDI_TYPE_BIDI_BLOB: BIDI_TYPE = 7; +pub type BIDI_TYPE = ::std::os::raw::c_int; +extern "C" { + pub fn WaitForPrinterChange(hPrinter: HANDLE, Flags: DWORD) -> DWORD; +} +extern "C" { + pub fn FindFirstPrinterChangeNotification( + hPrinter: HANDLE, + fdwFilter: DWORD, + fdwOptions: DWORD, + pPrinterNotifyOptions: PVOID, + ) -> HANDLE; +} +extern "C" { + pub fn FindNextPrinterChangeNotification( + hChange: HANDLE, + pdwChange: PDWORD, + pvReserved: LPVOID, + ppPrinterNotifyInfo: *mut LPVOID, + ) -> BOOL; +} +extern "C" { + pub fn FreePrinterNotifyInfo(pPrinterNotifyInfo: PPRINTER_NOTIFY_INFO) -> BOOL; +} +extern "C" { + pub fn FindClosePrinterChangeNotification(hChange: HANDLE) -> BOOL; +} +extern "C" { + pub fn PrinterMessageBoxA( + hPrinter: HANDLE, + Error: DWORD, + hWnd: HWND, + pText: LPSTR, + pCaption: LPSTR, + dwType: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn PrinterMessageBoxW( + hPrinter: HANDLE, + Error: DWORD, + hWnd: HWND, + pText: LPWSTR, + pCaption: LPWSTR, + dwType: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn ClosePrinter(hPrinter: HANDLE) -> BOOL; +} +extern "C" { + pub fn AddFormA(hPrinter: HANDLE, Level: DWORD, pForm: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddFormW(hPrinter: HANDLE, Level: DWORD, pForm: LPBYTE) -> BOOL; +} +extern "C" { + pub fn DeleteFormA(hPrinter: HANDLE, pFormName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeleteFormW(hPrinter: HANDLE, pFormName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn GetFormA( + hPrinter: HANDLE, + pFormName: LPSTR, + Level: DWORD, + pForm: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetFormW( + hPrinter: HANDLE, + pFormName: LPWSTR, + Level: DWORD, + pForm: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn SetFormA(hPrinter: HANDLE, pFormName: LPSTR, Level: DWORD, pForm: LPBYTE) -> BOOL; +} +extern "C" { + pub fn SetFormW(hPrinter: HANDLE, pFormName: LPWSTR, Level: DWORD, pForm: LPBYTE) -> BOOL; +} +extern "C" { + pub fn EnumFormsA( + hPrinter: HANDLE, + Level: DWORD, + pForm: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumFormsW( + hPrinter: HANDLE, + Level: DWORD, + pForm: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumMonitorsA( + pName: LPSTR, + Level: DWORD, + pMonitor: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumMonitorsW( + pName: LPWSTR, + Level: DWORD, + pMonitor: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddMonitorA(pName: LPSTR, Level: DWORD, pMonitors: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddMonitorW(pName: LPWSTR, Level: DWORD, pMonitors: LPBYTE) -> BOOL; +} +extern "C" { + pub fn DeleteMonitorA(pName: LPSTR, pEnvironment: LPSTR, pMonitorName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeleteMonitorW(pName: LPWSTR, pEnvironment: LPWSTR, pMonitorName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn EnumPortsA( + pName: LPSTR, + Level: DWORD, + pPort: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumPortsW( + pName: LPWSTR, + Level: DWORD, + pPort: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + pcReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn AddPortA(pName: LPSTR, hWnd: HWND, pMonitorName: LPSTR) -> BOOL; +} +extern "C" { + pub fn AddPortW(pName: LPWSTR, hWnd: HWND, pMonitorName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn ConfigurePortA(pName: LPSTR, hWnd: HWND, pPortName: LPSTR) -> BOOL; +} +extern "C" { + pub fn ConfigurePortW(pName: LPWSTR, hWnd: HWND, pPortName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn DeletePortA(pName: LPSTR, hWnd: HWND, pPortName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeletePortW(pName: LPWSTR, hWnd: HWND, pPortName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn XcvDataW( + hXcv: HANDLE, + pszDataName: PCWSTR, + pInputData: PBYTE, + cbInputData: DWORD, + pOutputData: PBYTE, + cbOutputData: DWORD, + pcbOutputNeeded: PDWORD, + pdwStatus: PDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetDefaultPrinterA(pszBuffer: LPSTR, pcchBuffer: LPDWORD) -> BOOL; +} +extern "C" { + pub fn GetDefaultPrinterW(pszBuffer: LPWSTR, pcchBuffer: LPDWORD) -> BOOL; +} +extern "C" { + pub fn SetDefaultPrinterA(pszPrinter: LPCSTR) -> BOOL; +} +extern "C" { + pub fn SetDefaultPrinterW(pszPrinter: LPCWSTR) -> BOOL; +} +extern "C" { + pub fn SetPortA(pName: LPSTR, pPortName: LPSTR, dwLevel: DWORD, pPortInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn SetPortW(pName: LPWSTR, pPortName: LPWSTR, dwLevel: DWORD, pPortInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddPrinterConnectionA(pName: LPSTR) -> BOOL; +} +extern "C" { + pub fn AddPrinterConnectionW(pName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn DeletePrinterConnectionA(pName: LPSTR) -> BOOL; +} +extern "C" { + pub fn DeletePrinterConnectionW(pName: LPWSTR) -> BOOL; +} +extern "C" { + pub fn ConnectToPrinterDlg(hwnd: HWND, Flags: DWORD) -> HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROVIDOR_INFO_1A { + pub pName: LPSTR, + pub pEnvironment: LPSTR, + pub pDLLName: LPSTR, +} +#[test] +fn bindgen_test_layout__PROVIDOR_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PROVIDOR_INFO_1A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROVIDOR_INFO_1A>(), + 24usize, + concat!("Size of: ", stringify!(_PROVIDOR_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PROVIDOR_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PROVIDOR_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1A), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1A), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDLLName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1A), + "::", + stringify!(pDLLName) + ) + ); +} +pub type PROVIDOR_INFO_1A = _PROVIDOR_INFO_1A; +pub type PPROVIDOR_INFO_1A = *mut _PROVIDOR_INFO_1A; +pub type LPPROVIDOR_INFO_1A = *mut _PROVIDOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROVIDOR_INFO_1W { + pub pName: LPWSTR, + pub pEnvironment: LPWSTR, + pub pDLLName: LPWSTR, +} +#[test] +fn bindgen_test_layout__PROVIDOR_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PROVIDOR_INFO_1W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROVIDOR_INFO_1W>(), + 24usize, + concat!("Size of: ", stringify!(_PROVIDOR_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PROVIDOR_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PROVIDOR_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1W), + "::", + stringify!(pName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pEnvironment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1W), + "::", + stringify!(pEnvironment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDLLName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_1W), + "::", + stringify!(pDLLName) + ) + ); +} +pub type PROVIDOR_INFO_1W = _PROVIDOR_INFO_1W; +pub type PPROVIDOR_INFO_1W = *mut _PROVIDOR_INFO_1W; +pub type LPPROVIDOR_INFO_1W = *mut _PROVIDOR_INFO_1W; +pub type PROVIDOR_INFO_1 = PROVIDOR_INFO_1A; +pub type PPROVIDOR_INFO_1 = PPROVIDOR_INFO_1A; +pub type LPPROVIDOR_INFO_1 = LPPROVIDOR_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROVIDOR_INFO_2A { + pub pOrder: LPSTR, +} +#[test] +fn bindgen_test_layout__PROVIDOR_INFO_2A() { + const UNINIT: ::std::mem::MaybeUninit<_PROVIDOR_INFO_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROVIDOR_INFO_2A>(), + 8usize, + concat!("Size of: ", stringify!(_PROVIDOR_INFO_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_PROVIDOR_INFO_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_PROVIDOR_INFO_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOrder) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_2A), + "::", + stringify!(pOrder) + ) + ); +} +pub type PROVIDOR_INFO_2A = _PROVIDOR_INFO_2A; +pub type PPROVIDOR_INFO_2A = *mut _PROVIDOR_INFO_2A; +pub type LPPROVIDOR_INFO_2A = *mut _PROVIDOR_INFO_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PROVIDOR_INFO_2W { + pub pOrder: LPWSTR, +} +#[test] +fn bindgen_test_layout__PROVIDOR_INFO_2W() { + const UNINIT: ::std::mem::MaybeUninit<_PROVIDOR_INFO_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PROVIDOR_INFO_2W>(), + 8usize, + concat!("Size of: ", stringify!(_PROVIDOR_INFO_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_PROVIDOR_INFO_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_PROVIDOR_INFO_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pOrder) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PROVIDOR_INFO_2W), + "::", + stringify!(pOrder) + ) + ); +} +pub type PROVIDOR_INFO_2W = _PROVIDOR_INFO_2W; +pub type PPROVIDOR_INFO_2W = *mut _PROVIDOR_INFO_2W; +pub type LPPROVIDOR_INFO_2W = *mut _PROVIDOR_INFO_2W; +pub type PROVIDOR_INFO_2 = PROVIDOR_INFO_2A; +pub type PPROVIDOR_INFO_2 = PPROVIDOR_INFO_2A; +pub type LPPROVIDOR_INFO_2 = LPPROVIDOR_INFO_2A; +extern "C" { + pub fn AddPrintProvidorA(pName: LPSTR, Level: DWORD, pProvidorInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn AddPrintProvidorW(pName: LPWSTR, Level: DWORD, pProvidorInfo: LPBYTE) -> BOOL; +} +extern "C" { + pub fn DeletePrintProvidorA( + pName: LPSTR, + pEnvironment: LPSTR, + pPrintProvidorName: LPSTR, + ) -> BOOL; +} +extern "C" { + pub fn DeletePrintProvidorW( + pName: LPWSTR, + pEnvironment: LPWSTR, + pPrintProvidorName: LPWSTR, + ) -> BOOL; +} +extern "C" { + pub fn IsValidDevmodeA(pDevmode: PDEVMODEA, DevmodeSize: usize) -> BOOL; +} +extern "C" { + pub fn IsValidDevmodeW(pDevmode: PDEVMODEW, DevmodeSize: usize) -> BOOL; +} +pub const _PRINTER_OPTION_FLAGS_PRINTER_OPTION_NO_CACHE: _PRINTER_OPTION_FLAGS = 1; +pub const _PRINTER_OPTION_FLAGS_PRINTER_OPTION_CACHE: _PRINTER_OPTION_FLAGS = 2; +pub const _PRINTER_OPTION_FLAGS_PRINTER_OPTION_CLIENT_CHANGE: _PRINTER_OPTION_FLAGS = 4; +pub const _PRINTER_OPTION_FLAGS_PRINTER_OPTION_NO_CLIENT_DATA: _PRINTER_OPTION_FLAGS = 8; +pub type _PRINTER_OPTION_FLAGS = ::std::os::raw::c_int; +pub use self::_PRINTER_OPTION_FLAGS as PRINTER_OPTION_FLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_OPTIONSA { + pub cbSize: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_OPTIONSA() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_OPTIONSA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_OPTIONSA>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_OPTIONSA)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_OPTIONSA>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTER_OPTIONSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_OPTIONSA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_OPTIONSA), + "::", + stringify!(dwFlags) + ) + ); +} +pub type PRINTER_OPTIONSA = _PRINTER_OPTIONSA; +pub type PPRINTER_OPTIONSA = *mut _PRINTER_OPTIONSA; +pub type LPPRINTER_OPTIONSA = *mut _PRINTER_OPTIONSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_OPTIONSW { + pub cbSize: UINT, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__PRINTER_OPTIONSW() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_OPTIONSW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_OPTIONSW>(), + 8usize, + concat!("Size of: ", stringify!(_PRINTER_OPTIONSW)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_OPTIONSW>(), + 4usize, + concat!("Alignment of ", stringify!(_PRINTER_OPTIONSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_OPTIONSW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_OPTIONSW), + "::", + stringify!(dwFlags) + ) + ); +} +pub type PRINTER_OPTIONSW = _PRINTER_OPTIONSW; +pub type PPRINTER_OPTIONSW = *mut _PRINTER_OPTIONSW; +pub type LPPRINTER_OPTIONSW = *mut _PRINTER_OPTIONSW; +pub type PRINTER_OPTIONS = PRINTER_OPTIONSA; +pub type PPRINTER_OPTIONS = PPRINTER_OPTIONSA; +pub type LPPRINTER_OPTIONS = LPPRINTER_OPTIONSA; +extern "C" { + pub fn OpenPrinter2A( + pPrinterName: LPCSTR, + phPrinter: LPHANDLE, + pDefault: PPRINTER_DEFAULTSA, + pOptions: PPRINTER_OPTIONSA, + ) -> BOOL; +} +extern "C" { + pub fn OpenPrinter2W( + pPrinterName: LPCWSTR, + phPrinter: LPHANDLE, + pDefault: PPRINTER_DEFAULTSW, + pOptions: PPRINTER_OPTIONSW, + ) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_CONNECTION_INFO_1A { + pub dwFlags: DWORD, + pub pszDriverName: LPSTR, +} +#[test] +fn bindgen_test_layout__PRINTER_CONNECTION_INFO_1A() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_CONNECTION_INFO_1A> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_CONNECTION_INFO_1A>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTER_CONNECTION_INFO_1A)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_CONNECTION_INFO_1A>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_CONNECTION_INFO_1A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_CONNECTION_INFO_1A), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszDriverName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_CONNECTION_INFO_1A), + "::", + stringify!(pszDriverName) + ) + ); +} +pub type PRINTER_CONNECTION_INFO_1A = _PRINTER_CONNECTION_INFO_1A; +pub type PPRINTER_CONNECTION_INFO_1A = *mut _PRINTER_CONNECTION_INFO_1A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _PRINTER_CONNECTION_INFO_1W { + pub dwFlags: DWORD, + pub pszDriverName: LPWSTR, +} +#[test] +fn bindgen_test_layout__PRINTER_CONNECTION_INFO_1W() { + const UNINIT: ::std::mem::MaybeUninit<_PRINTER_CONNECTION_INFO_1W> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_PRINTER_CONNECTION_INFO_1W>(), + 16usize, + concat!("Size of: ", stringify!(_PRINTER_CONNECTION_INFO_1W)) + ); + assert_eq!( + ::std::mem::align_of::<_PRINTER_CONNECTION_INFO_1W>(), + 8usize, + concat!("Alignment of ", stringify!(_PRINTER_CONNECTION_INFO_1W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_CONNECTION_INFO_1W), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszDriverName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_PRINTER_CONNECTION_INFO_1W), + "::", + stringify!(pszDriverName) + ) + ); +} +pub type PRINTER_CONNECTION_INFO_1W = _PRINTER_CONNECTION_INFO_1W; +pub type PPRINTER_CONNECTION_INFO_1W = *mut _PRINTER_CONNECTION_INFO_1W; +pub type PRINTER_CONNECTION_INFO_1 = PRINTER_CONNECTION_INFO_1A; +pub type PPRINTER_CONNECTION_INFO_1 = PPRINTER_CONNECTION_INFO_1A; +extern "C" { + pub fn AddPrinterConnection2A( + hWnd: HWND, + pszName: LPCSTR, + dwLevel: DWORD, + pConnectionInfo: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn AddPrinterConnection2W( + hWnd: HWND, + pszName: LPCWSTR, + dwLevel: DWORD, + pConnectionInfo: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn InstallPrinterDriverFromPackageA( + pszServer: LPCSTR, + pszInfPath: LPCSTR, + pszDriverName: LPCSTR, + pszEnvironment: LPCSTR, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn InstallPrinterDriverFromPackageW( + pszServer: LPCWSTR, + pszInfPath: LPCWSTR, + pszDriverName: LPCWSTR, + pszEnvironment: LPCWSTR, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn UploadPrinterDriverPackageA( + pszServer: LPCSTR, + pszInfPath: LPCSTR, + pszEnvironment: LPCSTR, + dwFlags: DWORD, + hwnd: HWND, + pszDestInfPath: LPSTR, + pcchDestInfPath: PULONG, + ) -> HRESULT; +} +extern "C" { + pub fn UploadPrinterDriverPackageW( + pszServer: LPCWSTR, + pszInfPath: LPCWSTR, + pszEnvironment: LPCWSTR, + dwFlags: DWORD, + hwnd: HWND, + pszDestInfPath: LPWSTR, + pcchDestInfPath: PULONG, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CORE_PRINTER_DRIVERA { + pub CoreDriverGUID: GUID, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub szPackageID: [CHAR; 260usize], +} +#[test] +fn bindgen_test_layout__CORE_PRINTER_DRIVERA() { + const UNINIT: ::std::mem::MaybeUninit<_CORE_PRINTER_DRIVERA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CORE_PRINTER_DRIVERA>(), + 296usize, + concat!("Size of: ", stringify!(_CORE_PRINTER_DRIVERA)) + ); + assert_eq!( + ::std::mem::align_of::<_CORE_PRINTER_DRIVERA>(), + 8usize, + concat!("Alignment of ", stringify!(_CORE_PRINTER_DRIVERA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CoreDriverGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERA), + "::", + stringify!(CoreDriverGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERA), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERA), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPackageID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERA), + "::", + stringify!(szPackageID) + ) + ); +} +pub type CORE_PRINTER_DRIVERA = _CORE_PRINTER_DRIVERA; +pub type PCORE_PRINTER_DRIVERA = *mut _CORE_PRINTER_DRIVERA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CORE_PRINTER_DRIVERW { + pub CoreDriverGUID: GUID, + pub ftDriverDate: FILETIME, + pub dwlDriverVersion: DWORDLONG, + pub szPackageID: [WCHAR; 260usize], +} +#[test] +fn bindgen_test_layout__CORE_PRINTER_DRIVERW() { + const UNINIT: ::std::mem::MaybeUninit<_CORE_PRINTER_DRIVERW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CORE_PRINTER_DRIVERW>(), + 552usize, + concat!("Size of: ", stringify!(_CORE_PRINTER_DRIVERW)) + ); + assert_eq!( + ::std::mem::align_of::<_CORE_PRINTER_DRIVERW>(), + 8usize, + concat!("Alignment of ", stringify!(_CORE_PRINTER_DRIVERW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CoreDriverGUID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERW), + "::", + stringify!(CoreDriverGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ftDriverDate) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERW), + "::", + stringify!(ftDriverDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwlDriverVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERW), + "::", + stringify!(dwlDriverVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szPackageID) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CORE_PRINTER_DRIVERW), + "::", + stringify!(szPackageID) + ) + ); +} +pub type CORE_PRINTER_DRIVERW = _CORE_PRINTER_DRIVERW; +pub type PCORE_PRINTER_DRIVERW = *mut _CORE_PRINTER_DRIVERW; +pub type CORE_PRINTER_DRIVER = CORE_PRINTER_DRIVERA; +pub type PCORE_PRINTER_DRIVER = PCORE_PRINTER_DRIVERA; +extern "C" { + pub fn GetCorePrinterDriversA( + pszServer: LPCSTR, + pszEnvironment: LPCSTR, + pszzCoreDriverDependencies: LPCSTR, + cCorePrinterDrivers: DWORD, + pCorePrinterDrivers: PCORE_PRINTER_DRIVERA, + ) -> HRESULT; +} +extern "C" { + pub fn GetCorePrinterDriversW( + pszServer: LPCWSTR, + pszEnvironment: LPCWSTR, + pszzCoreDriverDependencies: LPCWSTR, + cCorePrinterDrivers: DWORD, + pCorePrinterDrivers: PCORE_PRINTER_DRIVERW, + ) -> HRESULT; +} +extern "C" { + pub fn CorePrinterDriverInstalledA( + pszServer: LPCSTR, + pszEnvironment: LPCSTR, + CoreDriverGUID: GUID, + ftDriverDate: FILETIME, + dwlDriverVersion: DWORDLONG, + pbDriverInstalled: *mut BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn CorePrinterDriverInstalledW( + pszServer: LPCWSTR, + pszEnvironment: LPCWSTR, + CoreDriverGUID: GUID, + ftDriverDate: FILETIME, + dwlDriverVersion: DWORDLONG, + pbDriverInstalled: *mut BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn GetPrinterDriverPackagePathA( + pszServer: LPCSTR, + pszEnvironment: LPCSTR, + pszLanguage: LPCSTR, + pszPackageID: LPCSTR, + pszDriverPackageCab: LPSTR, + cchDriverPackageCab: DWORD, + pcchRequiredSize: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn GetPrinterDriverPackagePathW( + pszServer: LPCWSTR, + pszEnvironment: LPCWSTR, + pszLanguage: LPCWSTR, + pszPackageID: LPCWSTR, + pszDriverPackageCab: LPWSTR, + cchDriverPackageCab: DWORD, + pcchRequiredSize: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn DeletePrinterDriverPackageA( + pszServer: LPCSTR, + pszInfPath: LPCSTR, + pszEnvironment: LPCSTR, + ) -> HRESULT; +} +extern "C" { + pub fn DeletePrinterDriverPackageW( + pszServer: LPCWSTR, + pszInfPath: LPCWSTR, + pszEnvironment: LPCWSTR, + ) -> HRESULT; +} +pub const EPrintPropertyType_kPropertyTypeString: EPrintPropertyType = 1; +pub const EPrintPropertyType_kPropertyTypeInt32: EPrintPropertyType = 2; +pub const EPrintPropertyType_kPropertyTypeInt64: EPrintPropertyType = 3; +pub const EPrintPropertyType_kPropertyTypeByte: EPrintPropertyType = 4; +pub const EPrintPropertyType_kPropertyTypeTime: EPrintPropertyType = 5; +pub const EPrintPropertyType_kPropertyTypeDevMode: EPrintPropertyType = 6; +pub const EPrintPropertyType_kPropertyTypeSD: EPrintPropertyType = 7; +pub const EPrintPropertyType_kPropertyTypeNotificationReply: EPrintPropertyType = 8; +pub const EPrintPropertyType_kPropertyTypeNotificationOptions: EPrintPropertyType = 9; +pub const EPrintPropertyType_kPropertyTypeBuffer: EPrintPropertyType = 10; +pub type EPrintPropertyType = ::std::os::raw::c_int; +pub const EPrintXPSJobProgress_kAddingDocumentSequence: EPrintXPSJobProgress = 0; +pub const EPrintXPSJobProgress_kDocumentSequenceAdded: EPrintXPSJobProgress = 1; +pub const EPrintXPSJobProgress_kAddingFixedDocument: EPrintXPSJobProgress = 2; +pub const EPrintXPSJobProgress_kFixedDocumentAdded: EPrintXPSJobProgress = 3; +pub const EPrintXPSJobProgress_kAddingFixedPage: EPrintXPSJobProgress = 4; +pub const EPrintXPSJobProgress_kFixedPageAdded: EPrintXPSJobProgress = 5; +pub const EPrintXPSJobProgress_kResourceAdded: EPrintXPSJobProgress = 6; +pub const EPrintXPSJobProgress_kFontAdded: EPrintXPSJobProgress = 7; +pub const EPrintXPSJobProgress_kImageAdded: EPrintXPSJobProgress = 8; +pub const EPrintXPSJobProgress_kXpsDocumentCommitted: EPrintXPSJobProgress = 9; +pub type EPrintXPSJobProgress = ::std::os::raw::c_int; +pub const EPrintXPSJobOperation_kJobProduction: EPrintXPSJobOperation = 1; +pub const EPrintXPSJobOperation_kJobConsumption: EPrintXPSJobOperation = 2; +pub type EPrintXPSJobOperation = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct PrintPropertyValue { + pub ePropertyType: EPrintPropertyType, + pub value: PrintPropertyValue__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union PrintPropertyValue__bindgen_ty_1 { + pub propertyByte: BYTE, + pub propertyString: PWSTR, + pub propertyInt32: LONG, + pub propertyInt64: LONGLONG, + pub propertyBlob: PrintPropertyValue__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PrintPropertyValue__bindgen_ty_1__bindgen_ty_1 { + pub cbBuf: DWORD, + pub pBuf: LPVOID, +} +#[test] +fn bindgen_test_layout_PrintPropertyValue__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(PrintPropertyValue__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(PrintPropertyValue__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuf) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cbBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pBuf) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pBuf) + ) + ); +} +#[test] +fn bindgen_test_layout_PrintPropertyValue__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PrintPropertyValue__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(PrintPropertyValue__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyByte) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyByte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyString) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyInt32) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyInt32) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyInt64) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyInt64) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyBlob) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue__bindgen_ty_1), + "::", + stringify!(propertyBlob) + ) + ); +} +#[test] +fn bindgen_test_layout_PrintPropertyValue() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(PrintPropertyValue)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PrintPropertyValue)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ePropertyType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue), + "::", + stringify!(ePropertyType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertyValue), + "::", + stringify!(value) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct PrintNamedProperty { + pub propertyName: *mut WCHAR, + pub propertyValue: PrintPropertyValue, +} +#[test] +fn bindgen_test_layout_PrintNamedProperty() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(PrintNamedProperty)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PrintNamedProperty)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintNamedProperty), + "::", + stringify!(propertyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertyValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PrintNamedProperty), + "::", + stringify!(propertyValue) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PrintPropertiesCollection { + pub numberOfProperties: ULONG, + pub propertiesCollection: *mut PrintNamedProperty, +} +#[test] +fn bindgen_test_layout_PrintPropertiesCollection() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(PrintPropertiesCollection)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(PrintPropertiesCollection)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).numberOfProperties) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertiesCollection), + "::", + stringify!(numberOfProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propertiesCollection) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(PrintPropertiesCollection), + "::", + stringify!(propertiesCollection) + ) + ); +} +extern "C" { + pub fn ReportJobProcessingProgress( + printerHandle: HANDLE, + jobId: ULONG, + jobOperation: EPrintXPSJobOperation, + jobProgress: EPrintXPSJobProgress, + ) -> HRESULT; +} +extern "C" { + pub fn GetPrinterDriver2A( + hWnd: HWND, + hPrinter: HANDLE, + pEnvironment: LPSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetPrinterDriver2W( + hWnd: HWND, + hPrinter: HANDLE, + pEnvironment: LPWSTR, + Level: DWORD, + pDriverInfo: LPBYTE, + cbBuf: DWORD, + pcbNeeded: LPDWORD, + ) -> BOOL; +} +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_APPLICATION: PRINT_EXECUTION_CONTEXT = 0; +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_SPOOLER_SERVICE: PRINT_EXECUTION_CONTEXT = + 1; +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_SPOOLER_ISOLATION_HOST: + PRINT_EXECUTION_CONTEXT = 2; +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_FILTER_PIPELINE: PRINT_EXECUTION_CONTEXT = + 3; +pub const PRINT_EXECUTION_CONTEXT_PRINT_EXECUTION_CONTEXT_WOW64: PRINT_EXECUTION_CONTEXT = 4; +pub type PRINT_EXECUTION_CONTEXT = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct PRINT_EXECUTION_DATA { + pub context: PRINT_EXECUTION_CONTEXT, + pub clientAppPID: DWORD, +} +#[test] +fn bindgen_test_layout_PRINT_EXECUTION_DATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(PRINT_EXECUTION_DATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(PRINT_EXECUTION_DATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(PRINT_EXECUTION_DATA), + "::", + stringify!(context) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clientAppPID) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(PRINT_EXECUTION_DATA), + "::", + stringify!(clientAppPID) + ) + ); +} +extern "C" { + pub fn GetPrintExecutionData(pData: *mut PRINT_EXECUTION_DATA) -> BOOL; +} +extern "C" { + pub fn GetJobNamedPropertyValue( + hPrinter: HANDLE, + JobId: DWORD, + pszName: PCWSTR, + pValue: *mut PrintPropertyValue, + ) -> DWORD; +} +extern "C" { + pub fn FreePrintPropertyValue(pValue: *mut PrintPropertyValue); +} +extern "C" { + pub fn FreePrintNamedPropertyArray( + cProperties: DWORD, + ppProperties: *mut *mut PrintNamedProperty, + ); +} +extern "C" { + pub fn SetJobNamedProperty( + hPrinter: HANDLE, + JobId: DWORD, + pProperty: *const PrintNamedProperty, + ) -> DWORD; +} +extern "C" { + pub fn DeleteJobNamedProperty(hPrinter: HANDLE, JobId: DWORD, pszName: PCWSTR) -> DWORD; +} +extern "C" { + pub fn EnumJobNamedProperties( + hPrinter: HANDLE, + JobId: DWORD, + pcProperties: *mut DWORD, + ppProperties: *mut *mut PrintNamedProperty, + ) -> DWORD; +} +extern "C" { + pub fn GetPrintOutputInfo( + hWnd: HWND, + pszPrinter: PCWSTR, + phFile: *mut HANDLE, + ppszOutputFile: *mut PWSTR, + ) -> HRESULT; +} +extern "C" { + pub fn _calloc_base(_Count: usize, _Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn calloc( + _Count: ::std::os::raw::c_ulonglong, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _callnewh(_Size: usize) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _expand( + _Block: *mut ::std::os::raw::c_void, + _Size: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _free_base(_Block: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn free(_Block: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn _malloc_base(_Size: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn malloc(_Size: ::std::os::raw::c_ulonglong) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _msize_base(_Block: *mut ::std::os::raw::c_void) -> usize; +} +extern "C" { + pub fn _msize(_Block: *mut ::std::os::raw::c_void) -> usize; +} +extern "C" { + pub fn _realloc_base( + _Block: *mut ::std::os::raw::c_void, + _Size: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn realloc( + _Block: *mut ::std::os::raw::c_void, + _Size: ::std::os::raw::c_ulonglong, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _recalloc_base( + _Block: *mut ::std::os::raw::c_void, + _Count: usize, + _Size: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _recalloc( + _Block: *mut ::std::os::raw::c_void, + _Count: usize, + _Size: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_free(_Block: *mut ::std::os::raw::c_void); +} +extern "C" { + pub fn _aligned_malloc(_Size: usize, _Alignment: usize) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_offset_malloc( + _Size: usize, + _Alignment: usize, + _Offset: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_msize( + _Block: *mut ::std::os::raw::c_void, + _Alignment: usize, + _Offset: usize, + ) -> usize; +} +extern "C" { + pub fn _aligned_offset_realloc( + _Block: *mut ::std::os::raw::c_void, + _Size: usize, + _Alignment: usize, + _Offset: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_offset_recalloc( + _Block: *mut ::std::os::raw::c_void, + _Count: usize, + _Size: usize, + _Alignment: usize, + _Offset: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_realloc( + _Block: *mut ::std::os::raw::c_void, + _Size: usize, + _Alignment: usize, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _aligned_recalloc( + _Block: *mut ::std::os::raw::c_void, + _Count: usize, + _Size: usize, + _Alignment: usize, + ) -> *mut ::std::os::raw::c_void; +} +pub type _CoreCrtSecureSearchSortCompareFunction = ::std::option::Option< + unsafe extern "C" fn( + arg1: *mut ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + arg3: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, +>; +pub type _CoreCrtNonSecureSearchSortCompareFunction = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const ::std::os::raw::c_void, + arg2: *const ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn bsearch_s( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: rsize_t, + _SizeOfElements: rsize_t, + _CompareFunction: _CoreCrtSecureSearchSortCompareFunction, + _Context: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn qsort_s( + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: rsize_t, + _SizeOfElements: rsize_t, + _CompareFunction: _CoreCrtSecureSearchSortCompareFunction, + _Context: *mut ::std::os::raw::c_void, + ); +} +extern "C" { + pub fn bsearch( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: usize, + _SizeOfElements: usize, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn qsort( + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: usize, + _SizeOfElements: usize, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ); +} +extern "C" { + pub fn _lfind_s( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: usize, + _CompareFunction: _CoreCrtSecureSearchSortCompareFunction, + _Context: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _lfind( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: ::std::os::raw::c_uint, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _lsearch_s( + _Key: *const ::std::os::raw::c_void, + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: usize, + _CompareFunction: _CoreCrtSecureSearchSortCompareFunction, + _Context: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _lsearch( + _Key: *const ::std::os::raw::c_void, + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: ::std::os::raw::c_uint, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn lfind( + _Key: *const ::std::os::raw::c_void, + _Base: *const ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: ::std::os::raw::c_uint, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn lsearch( + _Key: *const ::std::os::raw::c_void, + _Base: *mut ::std::os::raw::c_void, + _NumOfElements: *mut ::std::os::raw::c_uint, + _SizeOfElements: ::std::os::raw::c_uint, + _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn _itow_s( + _Value: ::std::os::raw::c_int, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _itow( + _Value: ::std::os::raw::c_int, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _ltow_s( + _Value: ::std::os::raw::c_long, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ltow( + _Value: ::std::os::raw::c_long, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _ultow_s( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ultow( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn wcstod(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64; +} +extern "C" { + pub fn _wcstod_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Locale: _locale_t, + ) -> f64; +} +extern "C" { + pub fn wcstol( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _wcstol_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn wcstoll( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wcstoll_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn wcstoul( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _wcstoul_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn wcstoull( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _wcstoull_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn wcstold(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64; +} +extern "C" { + pub fn _wcstold_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Locale: _locale_t, + ) -> f64; +} +extern "C" { + pub fn wcstof(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f32; +} +extern "C" { + pub fn _wcstof_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Locale: _locale_t, + ) -> f32; +} +extern "C" { + pub fn _wtof(_String: *const wchar_t) -> f64; +} +extern "C" { + pub fn _wtof_l(_String: *const wchar_t, _Locale: _locale_t) -> f64; +} +extern "C" { + pub fn _wtoi(_String: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wtoi_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wtol(_String: *const wchar_t) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _wtol_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _wtoll(_String: *const wchar_t) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wtoll_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _i64tow_s( + _Value: ::std::os::raw::c_longlong, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _i64tow( + _Value: ::std::os::raw::c_longlong, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _ui64tow_s( + _Value: ::std::os::raw::c_ulonglong, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ui64tow( + _Value: ::std::os::raw::c_ulonglong, + _Buffer: *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _wtoi64(_String: *const wchar_t) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wtoi64_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wcstoi64( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wcstoi64_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _wcstoui64( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _wcstoui64_l( + _String: *const wchar_t, + _EndPtr: *mut *mut wchar_t, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _wfullpath( + _Buffer: *mut wchar_t, + _Path: *const wchar_t, + _BufferCount: usize, + ) -> *mut wchar_t; +} +extern "C" { + pub fn _wmakepath_s( + _Buffer: *mut wchar_t, + _BufferCount: usize, + _Drive: *const wchar_t, + _Dir: *const wchar_t, + _Filename: *const wchar_t, + _Ext: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wmakepath( + _Buffer: *mut wchar_t, + _Drive: *const wchar_t, + _Dir: *const wchar_t, + _Filename: *const wchar_t, + _Ext: *const wchar_t, + ); +} +extern "C" { + pub fn _wperror(_ErrorMessage: *const wchar_t); +} +extern "C" { + pub fn _wsplitpath( + _FullPath: *const wchar_t, + _Drive: *mut wchar_t, + _Dir: *mut wchar_t, + _Filename: *mut wchar_t, + _Ext: *mut wchar_t, + ); +} +extern "C" { + pub fn _wsplitpath_s( + _FullPath: *const wchar_t, + _Drive: *mut wchar_t, + _DriveCount: usize, + _Dir: *mut wchar_t, + _DirCount: usize, + _Filename: *mut wchar_t, + _FilenameCount: usize, + _Ext: *mut wchar_t, + _ExtCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _wdupenv_s( + _Buffer: *mut *mut wchar_t, + _BufferCount: *mut usize, + _VarName: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wgetenv(_VarName: *const wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wgetenv_s( + _RequiredCount: *mut usize, + _Buffer: *mut wchar_t, + _BufferCount: usize, + _VarName: *const wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wputenv(_EnvString: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wputenv_s(_Name: *const wchar_t, _Value: *const wchar_t) -> errno_t; +} +extern "C" { + pub fn _wsearchenv_s( + _Filename: *const wchar_t, + _VarName: *const wchar_t, + _Buffer: *mut wchar_t, + _BufferCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _wsearchenv( + _Filename: *const wchar_t, + _VarName: *const wchar_t, + _ResultPath: *mut wchar_t, + ); +} +extern "C" { + pub fn _wsystem(_Command: *const wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _swab( + _Buf1: *mut ::std::os::raw::c_char, + _Buf2: *mut ::std::os::raw::c_char, + _SizeInBytes: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn exit(_Code: ::std::os::raw::c_int) -> !; +} +extern "C" { + pub fn _exit(_Code: ::std::os::raw::c_int) -> !; +} +extern "C" { + pub fn _Exit(_Code: ::std::os::raw::c_int) -> !; +} +extern "C" { + pub fn quick_exit(_Code: ::std::os::raw::c_int) -> !; +} +extern "C" { + pub fn abort() -> !; +} +extern "C" { + pub fn _set_abort_behavior( + _Flags: ::std::os::raw::c_uint, + _Mask: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_uint; +} +pub type _onexit_t = ::std::option::Option ::std::os::raw::c_int>; +extern "C" { + pub fn atexit(arg1: ::std::option::Option) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _onexit(_Func: _onexit_t) -> _onexit_t; +} +extern "C" { + pub fn at_quick_exit( + arg1: ::std::option::Option, + ) -> ::std::os::raw::c_int; +} +pub type _purecall_handler = ::std::option::Option; +pub type _invalid_parameter_handler = ::std::option::Option< + unsafe extern "C" fn( + arg1: *const wchar_t, + arg2: *const wchar_t, + arg3: *const wchar_t, + arg4: ::std::os::raw::c_uint, + arg5: usize, + ), +>; +extern "C" { + pub fn _set_purecall_handler(_Handler: _purecall_handler) -> _purecall_handler; +} +extern "C" { + pub fn _get_purecall_handler() -> _purecall_handler; +} +extern "C" { + pub fn _set_invalid_parameter_handler( + _Handler: _invalid_parameter_handler, + ) -> _invalid_parameter_handler; +} +extern "C" { + pub fn _get_invalid_parameter_handler() -> _invalid_parameter_handler; +} +extern "C" { + pub fn _set_thread_local_invalid_parameter_handler( + _Handler: _invalid_parameter_handler, + ) -> _invalid_parameter_handler; +} +extern "C" { + pub fn _get_thread_local_invalid_parameter_handler() -> _invalid_parameter_handler; +} +extern "C" { + pub fn _set_error_mode(_Mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn __sys_errlist() -> *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __sys_nerr() -> *mut ::std::os::raw::c_int; +} +extern "C" { + pub fn perror(_ErrMsg: *const ::std::os::raw::c_char); +} +extern "C" { + pub fn __p__pgmptr() -> *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __p__wpgmptr() -> *mut *mut wchar_t; +} +extern "C" { + pub fn __p__fmode() -> *mut ::std::os::raw::c_int; +} +extern "C" { + pub fn _get_pgmptr(_Value: *mut *mut ::std::os::raw::c_char) -> errno_t; +} +extern "C" { + pub fn _get_wpgmptr(_Value: *mut *mut wchar_t) -> errno_t; +} +extern "C" { + pub fn _set_fmode(_Mode: ::std::os::raw::c_int) -> errno_t; +} +extern "C" { + pub fn _get_fmode(_PMode: *mut ::std::os::raw::c_int) -> errno_t; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _div_t { + pub quot: ::std::os::raw::c_int, + pub rem: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout__div_t() { + const UNINIT: ::std::mem::MaybeUninit<_div_t> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_div_t>(), + 8usize, + concat!("Size of: ", stringify!(_div_t)) + ); + assert_eq!( + ::std::mem::align_of::<_div_t>(), + 4usize, + concat!("Alignment of ", stringify!(_div_t)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_div_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_div_t), + "::", + stringify!(rem) + ) + ); +} +pub type div_t = _div_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ldiv_t { + pub quot: ::std::os::raw::c_long, + pub rem: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout__ldiv_t() { + const UNINIT: ::std::mem::MaybeUninit<_ldiv_t> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ldiv_t>(), + 8usize, + concat!("Size of: ", stringify!(_ldiv_t)) + ); + assert_eq!( + ::std::mem::align_of::<_ldiv_t>(), + 4usize, + concat!("Alignment of ", stringify!(_ldiv_t)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ldiv_t), + "::", + stringify!(rem) + ) + ); +} +pub type ldiv_t = _ldiv_t; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _lldiv_t { + pub quot: ::std::os::raw::c_longlong, + pub rem: ::std::os::raw::c_longlong, +} +#[test] +fn bindgen_test_layout__lldiv_t() { + const UNINIT: ::std::mem::MaybeUninit<_lldiv_t> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_lldiv_t>(), + 16usize, + concat!("Size of: ", stringify!(_lldiv_t)) + ); + assert_eq!( + ::std::mem::align_of::<_lldiv_t>(), + 8usize, + concat!("Alignment of ", stringify!(_lldiv_t)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_lldiv_t), + "::", + stringify!(quot) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_lldiv_t), + "::", + stringify!(rem) + ) + ); +} +pub type lldiv_t = _lldiv_t; +extern "C" { + pub fn abs(_Number: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn labs(_Number: ::std::os::raw::c_long) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn llabs(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _abs64(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _byteswap_ushort(_Number: ::std::os::raw::c_ushort) -> ::std::os::raw::c_ushort; +} +extern "C" { + pub fn _byteswap_ulong(_Number: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _byteswap_uint64(_Number: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn div(_Numerator: ::std::os::raw::c_int, _Denominator: ::std::os::raw::c_int) -> div_t; +} +extern "C" { + pub fn ldiv(_Numerator: ::std::os::raw::c_long, _Denominator: ::std::os::raw::c_long) + -> ldiv_t; +} +extern "C" { + pub fn lldiv( + _Numerator: ::std::os::raw::c_longlong, + _Denominator: ::std::os::raw::c_longlong, + ) -> lldiv_t; +} +extern "C" { + pub fn _lrotl( + _Value: ::std::os::raw::c_ulong, + _Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _lrotr( + _Value: ::std::os::raw::c_ulong, + _Shift: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn srand(_Seed: ::std::os::raw::c_uint); +} +extern "C" { + pub fn rand() -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LDOUBLE { + pub ld: [::std::os::raw::c_uchar; 10usize], +} +#[test] +fn bindgen_test_layout__LDOUBLE() { + const UNINIT: ::std::mem::MaybeUninit<_LDOUBLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDOUBLE>(), + 10usize, + concat!("Size of: ", stringify!(_LDOUBLE)) + ); + assert_eq!( + ::std::mem::align_of::<_LDOUBLE>(), + 1usize, + concat!("Alignment of ", stringify!(_LDOUBLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ld) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDOUBLE), + "::", + stringify!(ld) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRT_DOUBLE { + pub x: f64, +} +#[test] +fn bindgen_test_layout__CRT_DOUBLE() { + const UNINIT: ::std::mem::MaybeUninit<_CRT_DOUBLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRT_DOUBLE>(), + 8usize, + concat!("Size of: ", stringify!(_CRT_DOUBLE)) + ); + assert_eq!( + ::std::mem::align_of::<_CRT_DOUBLE>(), + 8usize, + concat!("Alignment of ", stringify!(_CRT_DOUBLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRT_DOUBLE), + "::", + stringify!(x) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CRT_FLOAT { + pub f: f32, +} +#[test] +fn bindgen_test_layout__CRT_FLOAT() { + const UNINIT: ::std::mem::MaybeUninit<_CRT_FLOAT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CRT_FLOAT>(), + 4usize, + concat!("Size of: ", stringify!(_CRT_FLOAT)) + ); + assert_eq!( + ::std::mem::align_of::<_CRT_FLOAT>(), + 4usize, + concat!("Alignment of ", stringify!(_CRT_FLOAT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CRT_FLOAT), + "::", + stringify!(f) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LONGDOUBLE { + pub x: f64, +} +#[test] +fn bindgen_test_layout__LONGDOUBLE() { + const UNINIT: ::std::mem::MaybeUninit<_LONGDOUBLE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LONGDOUBLE>(), + 8usize, + concat!("Size of: ", stringify!(_LONGDOUBLE)) + ); + assert_eq!( + ::std::mem::align_of::<_LONGDOUBLE>(), + 8usize, + concat!("Alignment of ", stringify!(_LONGDOUBLE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LONGDOUBLE), + "::", + stringify!(x) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _LDBL12 { + pub ld12: [::std::os::raw::c_uchar; 12usize], +} +#[test] +fn bindgen_test_layout__LDBL12() { + const UNINIT: ::std::mem::MaybeUninit<_LDBL12> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_LDBL12>(), + 12usize, + concat!("Size of: ", stringify!(_LDBL12)) + ); + assert_eq!( + ::std::mem::align_of::<_LDBL12>(), + 1usize, + concat!("Alignment of ", stringify!(_LDBL12)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ld12) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_LDBL12), + "::", + stringify!(ld12) + ) + ); +} +extern "C" { + pub fn atof(_String: *const ::std::os::raw::c_char) -> f64; +} +extern "C" { + pub fn atoi(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn atol(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn atoll(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _atoi64(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _atof_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> f64; +} +extern "C" { + pub fn _atoi_l( + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atol_l( + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _atoll_l( + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _atoi64_l( + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _atoflt( + _Result: *mut _CRT_FLOAT, + _String: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atodbl( + _Result: *mut _CRT_DOUBLE, + _String: *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atoldbl( + _Result: *mut _LDOUBLE, + _String: *mut ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atoflt_l( + _Result: *mut _CRT_FLOAT, + _String: *const ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atodbl_l( + _Result: *mut _CRT_DOUBLE, + _String: *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _atoldbl_l( + _Result: *mut _LDOUBLE, + _String: *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn strtof( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + ) -> f32; +} +extern "C" { + pub fn _strtof_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> f32; +} +extern "C" { + pub fn strtod( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + ) -> f64; +} +extern "C" { + pub fn _strtod_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> f64; +} +extern "C" { + pub fn strtold( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + ) -> f64; +} +extern "C" { + pub fn _strtold_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Locale: _locale_t, + ) -> f64; +} +extern "C" { + pub fn strtol( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn _strtol_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_long; +} +extern "C" { + pub fn strtoll( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _strtoll_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn strtoul( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn _strtoul_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn strtoull( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strtoull_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strtoi64( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _strtoi64_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_longlong; +} +extern "C" { + pub fn _strtoui64( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _strtoui64_l( + _String: *const ::std::os::raw::c_char, + _EndPtr: *mut *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + _Locale: _locale_t, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + pub fn _itoa_s( + _Value: ::std::os::raw::c_int, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _itoa( + _Value: ::std::os::raw::c_int, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ltoa_s( + _Value: ::std::os::raw::c_long, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ltoa( + _Value: ::std::os::raw::c_long, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ultoa_s( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ultoa( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _i64toa_s( + _Value: ::std::os::raw::c_longlong, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _i64toa( + _Value: ::std::os::raw::c_longlong, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ui64toa_s( + _Value: ::std::os::raw::c_ulonglong, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Radix: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ui64toa( + _Value: ::std::os::raw::c_ulonglong, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ecvt_s( + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _ecvt( + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _fcvt_s( + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Value: f64, + _FractionalDigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _fcvt( + _Value: f64, + _FractionalDigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _gcvt_s( + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn _gcvt( + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _Buffer: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn mblen(_Ch: *const ::std::os::raw::c_char, _MaxCount: usize) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _mblen_l( + _Ch: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _mbstrlen(_String: *const ::std::os::raw::c_char) -> usize; +} +extern "C" { + pub fn _mbstrlen_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> usize; +} +extern "C" { + pub fn _mbstrnlen(_String: *const ::std::os::raw::c_char, _MaxCount: usize) -> usize; +} +extern "C" { + pub fn _mbstrnlen_l( + _String: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn mbtowc( + _DstCh: *mut wchar_t, + _SrcCh: *const ::std::os::raw::c_char, + _SrcSizeInBytes: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _mbtowc_l( + _DstCh: *mut wchar_t, + _SrcCh: *const ::std::os::raw::c_char, + _SrcSizeInBytes: usize, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn mbstowcs_s( + _PtNumOfCharConverted: *mut usize, + _DstBuf: *mut wchar_t, + _SizeInWords: usize, + _SrcBuf: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn mbstowcs( + _Dest: *mut wchar_t, + _Source: *const ::std::os::raw::c_char, + _MaxCount: usize, + ) -> usize; +} +extern "C" { + pub fn _mbstowcs_s_l( + _PtNumOfCharConverted: *mut usize, + _DstBuf: *mut wchar_t, + _SizeInWords: usize, + _SrcBuf: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn _mbstowcs_l( + _Dest: *mut wchar_t, + _Source: *const ::std::os::raw::c_char, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn wctomb(_MbCh: *mut ::std::os::raw::c_char, _WCh: wchar_t) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _wctomb_l( + _MbCh: *mut ::std::os::raw::c_char, + _WCh: wchar_t, + _Locale: _locale_t, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn wctomb_s( + _SizeConverted: *mut ::std::os::raw::c_int, + _MbCh: *mut ::std::os::raw::c_char, + _SizeInBytes: rsize_t, + _WCh: wchar_t, + ) -> errno_t; +} +extern "C" { + pub fn _wctomb_s_l( + _SizeConverted: *mut ::std::os::raw::c_int, + _MbCh: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _WCh: wchar_t, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn wcstombs_s( + _PtNumOfCharConverted: *mut usize, + _Dst: *mut ::std::os::raw::c_char, + _DstSizeInBytes: usize, + _Src: *const wchar_t, + _MaxCountInBytes: usize, + ) -> errno_t; +} +extern "C" { + pub fn wcstombs( + _Dest: *mut ::std::os::raw::c_char, + _Source: *const wchar_t, + _MaxCount: usize, + ) -> usize; +} +extern "C" { + pub fn _wcstombs_s_l( + _PtNumOfCharConverted: *mut usize, + _Dst: *mut ::std::os::raw::c_char, + _DstSizeInBytes: usize, + _Src: *const wchar_t, + _MaxCountInBytes: usize, + _Locale: _locale_t, + ) -> errno_t; +} +extern "C" { + pub fn _wcstombs_l( + _Dest: *mut ::std::os::raw::c_char, + _Source: *const wchar_t, + _MaxCount: usize, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn _fullpath( + _Buffer: *mut ::std::os::raw::c_char, + _Path: *const ::std::os::raw::c_char, + _BufferCount: usize, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _makepath_s( + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + _Drive: *const ::std::os::raw::c_char, + _Dir: *const ::std::os::raw::c_char, + _Filename: *const ::std::os::raw::c_char, + _Ext: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn _makepath( + _Buffer: *mut ::std::os::raw::c_char, + _Drive: *const ::std::os::raw::c_char, + _Dir: *const ::std::os::raw::c_char, + _Filename: *const ::std::os::raw::c_char, + _Ext: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn _splitpath( + _FullPath: *const ::std::os::raw::c_char, + _Drive: *mut ::std::os::raw::c_char, + _Dir: *mut ::std::os::raw::c_char, + _Filename: *mut ::std::os::raw::c_char, + _Ext: *mut ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn _splitpath_s( + _FullPath: *const ::std::os::raw::c_char, + _Drive: *mut ::std::os::raw::c_char, + _DriveCount: usize, + _Dir: *mut ::std::os::raw::c_char, + _DirCount: usize, + _Filename: *mut ::std::os::raw::c_char, + _FilenameCount: usize, + _Ext: *mut ::std::os::raw::c_char, + _ExtCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn getenv_s( + _RequiredCount: *mut usize, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: rsize_t, + _VarName: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn __p___argc() -> *mut ::std::os::raw::c_int; +} +extern "C" { + pub fn __p___argv() -> *mut *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __p___wargv() -> *mut *mut *mut wchar_t; +} +extern "C" { + pub fn __p__environ() -> *mut *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn __p__wenviron() -> *mut *mut *mut wchar_t; +} +extern "C" { + pub fn getenv(_VarName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _dupenv_s( + _Buffer: *mut *mut ::std::os::raw::c_char, + _BufferCount: *mut usize, + _VarName: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn system(_Command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _putenv_s( + _Name: *const ::std::os::raw::c_char, + _Value: *const ::std::os::raw::c_char, + ) -> errno_t; +} +extern "C" { + pub fn _searchenv_s( + _Filename: *const ::std::os::raw::c_char, + _VarName: *const ::std::os::raw::c_char, + _Buffer: *mut ::std::os::raw::c_char, + _BufferCount: usize, + ) -> errno_t; +} +extern "C" { + pub fn _searchenv( + _Filename: *const ::std::os::raw::c_char, + _VarName: *const ::std::os::raw::c_char, + _Buffer: *mut ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn _seterrormode(_Mode: ::std::os::raw::c_int); +} +extern "C" { + pub fn _beep(_Frequency: ::std::os::raw::c_uint, _Duration: ::std::os::raw::c_uint); +} +extern "C" { + pub fn _sleep(_Duration: ::std::os::raw::c_ulong); +} +extern "C" { + pub fn ecvt( + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn fcvt( + _Value: f64, + _FractionalDigitCount: ::std::os::raw::c_int, + _PtDec: *mut ::std::os::raw::c_int, + _PtSign: *mut ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn gcvt( + _Value: f64, + _DigitCount: ::std::os::raw::c_int, + _DstBuf: *mut ::std::os::raw::c_char, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn itoa( + _Value: ::std::os::raw::c_int, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn ltoa( + _Value: ::std::os::raw::c_long, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn swab( + _Buf1: *mut ::std::os::raw::c_char, + _Buf2: *mut ::std::os::raw::c_char, + _SizeInBytes: ::std::os::raw::c_int, + ); +} +extern "C" { + pub fn ultoa( + _Value: ::std::os::raw::c_ulong, + _Buffer: *mut ::std::os::raw::c_char, + _Radix: ::std::os::raw::c_int, + ) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn onexit(_Func: _onexit_t) -> _onexit_t; +} +pub const tagREGCLS_REGCLS_SINGLEUSE: tagREGCLS = 0; +pub const tagREGCLS_REGCLS_MULTIPLEUSE: tagREGCLS = 1; +pub const tagREGCLS_REGCLS_MULTI_SEPARATE: tagREGCLS = 2; +pub const tagREGCLS_REGCLS_SUSPENDED: tagREGCLS = 4; +pub const tagREGCLS_REGCLS_SURROGATE: tagREGCLS = 8; +pub const tagREGCLS_REGCLS_AGILE: tagREGCLS = 16; +pub type tagREGCLS = ::std::os::raw::c_int; +pub use self::tagREGCLS as REGCLS; +pub const tagCOINITBASE_COINITBASE_MULTITHREADED: tagCOINITBASE = 0; +pub type tagCOINITBASE = ::std::os::raw::c_int; +pub use self::tagCOINITBASE as COINITBASE; +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPUNKNOWN = *mut IUnknown; +extern "C" { + pub static IID_IUnknown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUnknownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IUnknownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(IUnknownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUnknownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUnknownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUnknownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUnknownVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUnknown { + pub lpVtbl: *mut IUnknownVtbl, +} +#[test] +fn bindgen_test_layout_IUnknown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUnknown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUnknown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUnknown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IUnknown_QueryInterface_Proxy( + This: *mut IUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IUnknown_QueryInterface_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IUnknown_AddRef_Proxy(This: *mut IUnknown) -> ULONG; +} +extern "C" { + pub fn IUnknown_AddRef_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IUnknown_Release_Proxy(This: *mut IUnknown) -> ULONG; +} +extern "C" { + pub fn IUnknown_Release_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_AsyncIUnknown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIUnknownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_QueryInterface: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIUnknown, riid: *const IID) -> HRESULT, + >, + pub Finish_QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIUnknown, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub Begin_AddRef: + ::std::option::Option HRESULT>, + pub Finish_AddRef: + ::std::option::Option ULONG>, + pub Begin_Release: + ::std::option::Option HRESULT>, + pub Finish_Release: + ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_AsyncIUnknownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(AsyncIUnknownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIUnknownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_QueryInterface) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Begin_QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_QueryInterface) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Finish_QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_AddRef) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Begin_AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_AddRef) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Finish_AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Release) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Begin_Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Release) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknownVtbl), + "::", + stringify!(Finish_Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIUnknown { + pub lpVtbl: *mut AsyncIUnknownVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIUnknown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIUnknown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIUnknown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIUnknown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0002_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0002_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPCLASSFACTORY = *mut IClassFactory; +extern "C" { + pub static IID_IClassFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClassFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClassFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateInstance: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClassFactory, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub LockServer: ::std::option::Option< + unsafe extern "C" fn(This: *mut IClassFactory, fLock: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IClassFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IClassFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClassFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateInstance) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(CreateInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockServer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IClassFactoryVtbl), + "::", + stringify!(LockServer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClassFactory { + pub lpVtbl: *mut IClassFactoryVtbl, +} +#[test] +fn bindgen_test_layout_IClassFactory() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IClassFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClassFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClassFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IClassFactory_RemoteCreateInstance_Proxy( + This: *mut IClassFactory, + riid: *const IID, + ppvObject: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_RemoteCreateInstance_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IClassFactory_RemoteLockServer_Proxy(This: *mut IClassFactory, fLock: BOOL) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_RemoteLockServer_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwnbase_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn IClassFactory_CreateInstance_Proxy( + This: *mut IClassFactory, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_CreateInstance_Stub( + This: *mut IClassFactory, + riid: *const IID, + ppvObject: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_LockServer_Proxy(This: *mut IClassFactory, fLock: BOOL) -> HRESULT; +} +extern "C" { + pub fn IClassFactory_LockServer_Stub(This: *mut IClassFactory, fLock: BOOL) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumContextProps { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IContext { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IObjContext { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _COSERVERINFO { + pub dwReserved1: DWORD, + pub pwszName: LPWSTR, + pub pAuthInfo: *mut COAUTHINFO, + pub dwReserved2: DWORD, +} +#[test] +fn bindgen_test_layout__COSERVERINFO() { + const UNINIT: ::std::mem::MaybeUninit<_COSERVERINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_COSERVERINFO>(), + 32usize, + concat!("Size of: ", stringify!(_COSERVERINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_COSERVERINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_COSERVERINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_COSERVERINFO), + "::", + stringify!(dwReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_COSERVERINFO), + "::", + stringify!(pwszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAuthInfo) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_COSERVERINFO), + "::", + stringify!(pAuthInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved2) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_COSERVERINFO), + "::", + stringify!(dwReserved2) + ) + ); +} +pub type COSERVERINFO = _COSERVERINFO; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPMARSHAL = *mut IMarshal; +extern "C" { + pub static IID_IMarshal: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshalVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetUnmarshalClass: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + pCid: *mut CLSID, + ) -> HRESULT, + >, + pub GetMarshalSizeMax: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + pSize: *mut DWORD, + ) -> HRESULT, + >, + pub MarshalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + pStm: *mut IStream, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + ) -> HRESULT, + >, + pub UnmarshalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal, + pStm: *mut IStream, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub ReleaseMarshalData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshal, pStm: *mut IStream) -> HRESULT, + >, + pub DisconnectObject: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshal, dwReserved: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMarshalVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IMarshalVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshalVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUnmarshalClass) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(GetUnmarshalClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMarshalSizeMax) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(GetMarshalSizeMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MarshalInterface) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(MarshalInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnmarshalInterface) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(UnmarshalInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMarshalData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(ReleaseMarshalData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisconnectObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMarshalVtbl), + "::", + stringify!(DisconnectObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshal { + pub lpVtbl: *mut IMarshalVtbl, +} +#[test] +fn bindgen_test_layout_IMarshal() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMarshal)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshal)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshal), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_INoMarshal: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct INoMarshalVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut INoMarshal, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_INoMarshalVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(INoMarshalVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(INoMarshalVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(INoMarshalVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(INoMarshalVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(INoMarshalVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct INoMarshal { + pub lpVtbl: *mut INoMarshalVtbl, +} +#[test] +fn bindgen_test_layout_INoMarshal() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(INoMarshal)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(INoMarshal)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(INoMarshal), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IAgileObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAgileObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAgileObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IAgileObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(IAgileObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAgileObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAgileObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAgileObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAgileObjectVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAgileObject { + pub lpVtbl: *mut IAgileObjectVtbl, +} +#[test] +fn bindgen_test_layout_IAgileObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAgileObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAgileObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAgileObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_UNCATEGORIZED: tagACTIVATIONTYPE = 0; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_MONIKER: tagACTIVATIONTYPE = 1; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_DATA: tagACTIVATIONTYPE = 2; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_STORAGE: tagACTIVATIONTYPE = 4; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_STREAM: tagACTIVATIONTYPE = 8; +pub const tagACTIVATIONTYPE_ACTIVATIONTYPE_FROM_FILE: tagACTIVATIONTYPE = 16; +pub type tagACTIVATIONTYPE = ::std::os::raw::c_int; +pub use self::tagACTIVATIONTYPE as ACTIVATIONTYPE; +extern "C" { + pub static IID_IActivationFilter: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IActivationFilterVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IActivationFilter, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub HandleActivation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IActivationFilter, + dwActivationType: DWORD, + rclsid: *const IID, + pReplacementClsId: *mut CLSID, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IActivationFilterVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IActivationFilterVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IActivationFilterVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilterVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilterVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilterVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleActivation) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilterVtbl), + "::", + stringify!(HandleActivation) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IActivationFilter { + pub lpVtbl: *mut IActivationFilterVtbl, +} +#[test] +fn bindgen_test_layout_IActivationFilter() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IActivationFilter)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IActivationFilter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IActivationFilter), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMARSHAL2 = *mut IMarshal2; +extern "C" { + pub static IID_IMarshal2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshal2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetUnmarshalClass: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + pCid: *mut CLSID, + ) -> HRESULT, + >, + pub GetMarshalSizeMax: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + pSize: *mut DWORD, + ) -> HRESULT, + >, + pub MarshalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + pStm: *mut IStream, + riid: *const IID, + pv: *mut ::std::os::raw::c_void, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + mshlflags: DWORD, + ) -> HRESULT, + >, + pub UnmarshalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshal2, + pStm: *mut IStream, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub ReleaseMarshalData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshal2, pStm: *mut IStream) -> HRESULT, + >, + pub DisconnectObject: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshal2, dwReserved: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMarshal2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IMarshal2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshal2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUnmarshalClass) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(GetUnmarshalClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMarshalSizeMax) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(GetMarshalSizeMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MarshalInterface) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(MarshalInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnmarshalInterface) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(UnmarshalInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMarshalData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(ReleaseMarshalData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DisconnectObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2Vtbl), + "::", + stringify!(DisconnectObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshal2 { + pub lpVtbl: *mut IMarshal2Vtbl, +} +#[test] +fn bindgen_test_layout_IMarshal2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMarshal2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshal2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshal2), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMALLOC = *mut IMalloc; +extern "C" { + pub static IID_IMalloc: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMallocVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMalloc, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Alloc: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMalloc, cb: SIZE_T) -> *mut ::std::os::raw::c_void, + >, + pub Realloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMalloc, + pv: *mut ::std::os::raw::c_void, + cb: SIZE_T, + ) -> *mut ::std::os::raw::c_void, + >, + pub Free: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMalloc, pv: *mut ::std::os::raw::c_void), + >, + pub GetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMalloc, pv: *mut ::std::os::raw::c_void) -> SIZE_T, + >, + pub DidAlloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMalloc, + pv: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + pub HeapMinimize: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IMallocVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IMallocVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMallocVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Alloc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(Alloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Realloc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(Realloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Free) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(Free) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(GetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DidAlloc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(DidAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HeapMinimize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMallocVtbl), + "::", + stringify!(HeapMinimize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMalloc { + pub lpVtbl: *mut IMallocVtbl, +} +#[test] +fn bindgen_test_layout_IMalloc() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMalloc)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMalloc)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMalloc), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPSTDMARSHALINFO = *mut IStdMarshalInfo; +extern "C" { + pub static IID_IStdMarshalInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStdMarshalInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStdMarshalInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassForHandler: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStdMarshalInfo, + dwDestContext: DWORD, + pvDestContext: *mut ::std::os::raw::c_void, + pClsid: *mut CLSID, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IStdMarshalInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IStdMarshalInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStdMarshalInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassForHandler) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfoVtbl), + "::", + stringify!(GetClassForHandler) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStdMarshalInfo { + pub lpVtbl: *mut IStdMarshalInfoVtbl, +} +#[test] +fn bindgen_test_layout_IStdMarshalInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IStdMarshalInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStdMarshalInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStdMarshalInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPEXTERNALCONNECTION = *mut IExternalConnection; +pub const tagEXTCONN_EXTCONN_STRONG: tagEXTCONN = 1; +pub const tagEXTCONN_EXTCONN_WEAK: tagEXTCONN = 2; +pub const tagEXTCONN_EXTCONN_CALLABLE: tagEXTCONN = 4; +pub type tagEXTCONN = ::std::os::raw::c_int; +pub use self::tagEXTCONN as EXTCONN; +extern "C" { + pub static IID_IExternalConnection: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IExternalConnectionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IExternalConnection, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub AddConnection: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IExternalConnection, + extconn: DWORD, + reserved: DWORD, + ) -> DWORD, + >, + pub ReleaseConnection: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IExternalConnection, + extconn: DWORD, + reserved: DWORD, + fLastReleaseCloses: BOOL, + ) -> DWORD, + >, +} +#[test] +fn bindgen_test_layout_IExternalConnectionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IExternalConnectionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IExternalConnectionVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddConnection) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(AddConnection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseConnection) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnectionVtbl), + "::", + stringify!(ReleaseConnection) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IExternalConnection { + pub lpVtbl: *mut IExternalConnectionVtbl, +} +#[test] +fn bindgen_test_layout_IExternalConnection() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IExternalConnection)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IExternalConnection)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IExternalConnection), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMULTIQI = *mut IMultiQI; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMULTI_QI { + pub pIID: *const IID, + pub pItf: *mut IUnknown, + pub hr: HRESULT, +} +#[test] +fn bindgen_test_layout_tagMULTI_QI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagMULTI_QI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMULTI_QI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIID) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMULTI_QI), + "::", + stringify!(pIID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pItf) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMULTI_QI), + "::", + stringify!(pItf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMULTI_QI), + "::", + stringify!(hr) + ) + ); +} +pub type MULTI_QI = tagMULTI_QI; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0008_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0008_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IMultiQI: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMultiQIVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMultiQI, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryMultipleInterfaces: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMultiQI, cMQIs: ULONG, pMQIs: *mut MULTI_QI) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMultiQIVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IMultiQIVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMultiQIVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMultiQIVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMultiQIVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMultiQIVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryMultipleInterfaces) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMultiQIVtbl), + "::", + stringify!(QueryMultipleInterfaces) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMultiQI { + pub lpVtbl: *mut IMultiQIVtbl, +} +#[test] +fn bindgen_test_layout_IMultiQI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMultiQI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMultiQI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMultiQI), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_AsyncIMultiQI: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIMultiQIVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIMultiQI, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_QueryMultipleInterfaces: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIMultiQI, + cMQIs: ULONG, + pMQIs: *mut MULTI_QI, + ) -> HRESULT, + >, + pub Finish_QueryMultipleInterfaces: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIMultiQI, pMQIs: *mut MULTI_QI) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_AsyncIMultiQIVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(AsyncIMultiQIVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIMultiQIVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).Begin_QueryMultipleInterfaces) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(Begin_QueryMultipleInterfaces) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).Finish_QueryMultipleInterfaces) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQIVtbl), + "::", + stringify!(Finish_QueryMultipleInterfaces) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIMultiQI { + pub lpVtbl: *mut AsyncIMultiQIVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIMultiQI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIMultiQI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIMultiQI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIMultiQI), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0009_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0009_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternalUnknown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternalUnknownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternalUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryInternalInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternalUnknown, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternalUnknownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IInternalUnknownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternalUnknownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknownVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInternalInterface) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknownVtbl), + "::", + stringify!(QueryInternalInterface) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternalUnknown { + pub lpVtbl: *mut IInternalUnknownVtbl, +} +#[test] +fn bindgen_test_layout_IInternalUnknown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternalUnknown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternalUnknown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternalUnknown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0010_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0010_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPENUMUNKNOWN = *mut IEnumUnknown; +extern "C" { + pub static IID_IEnumUnknown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumUnknownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumUnknown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumUnknown, + celt: ULONG, + rgelt: *mut *mut IUnknown, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumUnknown, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumUnknown, ppenum: *mut *mut IEnumUnknown) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumUnknownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumUnknownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumUnknownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknownVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumUnknown { + pub lpVtbl: *mut IEnumUnknownVtbl, +} +#[test] +fn bindgen_test_layout_IEnumUnknown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumUnknown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumUnknown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumUnknown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumUnknown_RemoteNext_Proxy( + This: *mut IEnumUnknown, + celt: ULONG, + rgelt: *mut *mut IUnknown, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumUnknown_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMSTRING = *mut IEnumString; +extern "C" { + pub static IID_IEnumString: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumStringVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumString, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumString, + celt: ULONG, + rgelt: *mut LPOLESTR, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: + ::std::option::Option HRESULT>, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumString, ppenum: *mut *mut IEnumString) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumStringVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumStringVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumStringVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumStringVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumString { + pub lpVtbl: *mut IEnumStringVtbl, +} +#[test] +fn bindgen_test_layout_IEnumString() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumString)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumString)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumString), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumString_RemoteNext_Proxy( + This: *mut IEnumString, + celt: ULONG, + rgelt: *mut LPOLESTR, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumString_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static IID_ISequentialStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISequentialStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISequentialStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISequentialStream, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Write: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISequentialStream, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISequentialStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ISequentialStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISequentialStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStreamVtbl), + "::", + stringify!(Write) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISequentialStream { + pub lpVtbl: *mut ISequentialStreamVtbl, +} +#[test] +fn bindgen_test_layout_ISequentialStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISequentialStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISequentialStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISequentialStream), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ISequentialStream_RemoteRead_Proxy( + This: *mut ISequentialStream, + pv: *mut byte, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_RemoteRead_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ISequentialStream_RemoteWrite_Proxy( + This: *mut ISequentialStream, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_RemoteWrite_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPSTREAM = *mut IStream; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagSTATSTG { + pub pwcsName: LPOLESTR, + pub type_: DWORD, + pub cbSize: ULARGE_INTEGER, + pub mtime: FILETIME, + pub ctime: FILETIME, + pub atime: FILETIME, + pub grfMode: DWORD, + pub grfLocksSupported: DWORD, + pub clsid: CLSID, + pub grfStateBits: DWORD, + pub reserved: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTATSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagSTATSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTATSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwcsName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(pwcsName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtime) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(mtime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ctime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(ctime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).atime) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(atime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfMode) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(grfMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfLocksSupported) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(grfLocksSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfStateBits) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(grfStateBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagSTATSTG), + "::", + stringify!(reserved) + ) + ); +} +pub type STATSTG = tagSTATSTG; +pub const tagSTGTY_STGTY_STORAGE: tagSTGTY = 1; +pub const tagSTGTY_STGTY_STREAM: tagSTGTY = 2; +pub const tagSTGTY_STGTY_LOCKBYTES: tagSTGTY = 3; +pub const tagSTGTY_STGTY_PROPERTY: tagSTGTY = 4; +pub type tagSTGTY = ::std::os::raw::c_int; +pub use self::tagSTGTY as STGTY; +pub const tagSTREAM_SEEK_STREAM_SEEK_SET: tagSTREAM_SEEK = 0; +pub const tagSTREAM_SEEK_STREAM_SEEK_CUR: tagSTREAM_SEEK = 1; +pub const tagSTREAM_SEEK_STREAM_SEEK_END: tagSTREAM_SEEK = 2; +pub type tagSTREAM_SEEK = ::std::os::raw::c_int; +pub use self::tagSTREAM_SEEK as STREAM_SEEK; +pub const tagLOCKTYPE_LOCK_WRITE: tagLOCKTYPE = 1; +pub const tagLOCKTYPE_LOCK_EXCLUSIVE: tagLOCKTYPE = 2; +pub const tagLOCKTYPE_LOCK_ONLYONCE: tagLOCKTYPE = 4; +pub type tagLOCKTYPE = ::std::os::raw::c_int; +pub use self::tagLOCKTYPE as LOCKTYPE; +extern "C" { + pub static IID_IStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Write: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub Seek: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub SetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStream, libNewSize: ULARGE_INTEGER) -> HRESULT, + >, + pub CopyTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub Commit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStream, grfCommitFlags: DWORD) -> HRESULT, + >, + pub Revert: ::std::option::Option HRESULT>, + pub LockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub UnlockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStream, + pstatstg: *mut STATSTG, + grfStatFlag: DWORD, + ) -> HRESULT, + >, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStream, ppstm: *mut *mut IStream) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(IStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seek) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Seek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(SetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(CopyTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Commit) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Commit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revert) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Revert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRegion) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(LockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRegion) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(UnlockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Stat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IStreamVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStream { + pub lpVtbl: *mut IStreamVtbl, +} +#[test] +fn bindgen_test_layout_IStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStream), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IStream_RemoteSeek_Proxy( + This: *mut IStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_RemoteSeek_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IStream_RemoteCopyTo_Proxy( + This: *mut IStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_RemoteCopyTo_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type RPCOLEDATAREP = ULONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRPCOLEMESSAGE { + pub reserved1: *mut ::std::os::raw::c_void, + pub dataRepresentation: RPCOLEDATAREP, + pub Buffer: *mut ::std::os::raw::c_void, + pub cbBuffer: ULONG, + pub iMethod: ULONG, + pub reserved2: [*mut ::std::os::raw::c_void; 5usize], + pub rpcFlags: ULONG, +} +#[test] +fn bindgen_test_layout_tagRPCOLEMESSAGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagRPCOLEMESSAGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagRPCOLEMESSAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dataRepresentation) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(dataRepresentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Buffer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(Buffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(cbBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMethod) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(iMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(reserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rpcFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagRPCOLEMESSAGE), + "::", + stringify!(rpcFlags) + ) + ); +} +pub type RPCOLEMESSAGE = tagRPCOLEMESSAGE; +pub type PRPCOLEMESSAGE = *mut RPCOLEMESSAGE; +extern "C" { + pub static IID_IRpcChannelBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + riid: *const IID, + ) -> HRESULT, + >, + pub SendReceive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + pStatus: *mut ULONG, + ) -> HRESULT, + >, + pub FreeBuffer: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcChannelBuffer, pMessage: *mut RPCOLEMESSAGE) -> HRESULT, + >, + pub GetDestCtx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsConnected: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IRpcChannelBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IRpcChannelBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(GetBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendReceive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(SendReceive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(FreeBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(GetDestCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsConnected) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBufferVtbl), + "::", + stringify!(IsConnected) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer { + pub lpVtbl: *mut IRpcChannelBufferVtbl, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0015_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0015_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IRpcChannelBuffer2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + pMessage: *mut RPCOLEMESSAGE, + riid: *const IID, + ) -> HRESULT, + >, + pub SendReceive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + pMessage: *mut RPCOLEMESSAGE, + pStatus: *mut ULONG, + ) -> HRESULT, + >, + pub FreeBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + pMessage: *mut RPCOLEMESSAGE, + ) -> HRESULT, + >, + pub GetDestCtx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer2, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsConnected: + ::std::option::Option HRESULT>, + pub GetProtocolVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcChannelBuffer2, pdwVersion: *mut DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(GetBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendReceive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(SendReceive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(FreeBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(GetDestCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsConnected) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(IsConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetProtocolVersion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2Vtbl), + "::", + stringify!(GetProtocolVersion) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer2 { + pub lpVtbl: *mut IRpcChannelBuffer2Vtbl, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IAsyncRpcChannelBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAsyncRpcChannelBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + riid: *const IID, + ) -> HRESULT, + >, + pub SendReceive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + pStatus: *mut ULONG, + ) -> HRESULT, + >, + pub FreeBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMessage: *mut RPCOLEMESSAGE, + ) -> HRESULT, + >, + pub GetDestCtx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsConnected: + ::std::option::Option HRESULT>, + pub GetProtocolVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAsyncRpcChannelBuffer, pdwVersion: *mut DWORD) -> HRESULT, + >, + pub Send: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMsg: *mut RPCOLEMESSAGE, + pSync: *mut ISynchronize, + pulStatus: *mut ULONG, + ) -> HRESULT, + >, + pub Receive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMsg: *mut RPCOLEMESSAGE, + pulStatus: *mut ULONG, + ) -> HRESULT, + >, + pub GetDestCtxEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncRpcChannelBuffer, + pMsg: *mut RPCOLEMESSAGE, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAsyncRpcChannelBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IAsyncRpcChannelBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAsyncRpcChannelBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(GetBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendReceive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(SendReceive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(FreeBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(GetDestCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsConnected) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(IsConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetProtocolVersion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(GetProtocolVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Send) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(Send) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Receive) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(Receive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtxEx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBufferVtbl), + "::", + stringify!(GetDestCtxEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAsyncRpcChannelBuffer { + pub lpVtbl: *mut IAsyncRpcChannelBufferVtbl, +} +#[test] +fn bindgen_test_layout_IAsyncRpcChannelBuffer() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAsyncRpcChannelBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAsyncRpcChannelBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAsyncRpcChannelBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IRpcChannelBuffer3: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer3Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMessage: *mut RPCOLEMESSAGE, + riid: *const IID, + ) -> HRESULT, + >, + pub SendReceive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMessage: *mut RPCOLEMESSAGE, + pStatus: *mut ULONG, + ) -> HRESULT, + >, + pub FreeBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMessage: *mut RPCOLEMESSAGE, + ) -> HRESULT, + >, + pub GetDestCtx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsConnected: + ::std::option::Option HRESULT>, + pub GetProtocolVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcChannelBuffer3, pdwVersion: *mut DWORD) -> HRESULT, + >, + pub Send: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + pulStatus: *mut ULONG, + ) -> HRESULT, + >, + pub Receive: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + ulSize: ULONG, + pulStatus: *mut ULONG, + ) -> HRESULT, + >, + pub Cancel: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcChannelBuffer3, pMsg: *mut RPCOLEMESSAGE) -> HRESULT, + >, + pub GetCallContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + riid: *const IID, + pInterface: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub GetDestCtxEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + pdwDestContext: *mut DWORD, + ppvDestContext: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub GetState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + pState: *mut DWORD, + ) -> HRESULT, + >, + pub RegisterAsync: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcChannelBuffer3, + pMsg: *mut RPCOLEMESSAGE, + pAsyncMgr: *mut IAsyncManager, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer3Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer3Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer3Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendReceive) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(SendReceive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeBuffer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(FreeBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtx) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetDestCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsConnected) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(IsConnected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetProtocolVersion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetProtocolVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Send) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(Send) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Receive) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(Receive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cancel) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(Cancel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCallContext) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetCallContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDestCtxEx) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetDestCtxEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetState) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(GetState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterAsync) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3Vtbl), + "::", + stringify!(RegisterAsync) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcChannelBuffer3 { + pub lpVtbl: *mut IRpcChannelBuffer3Vtbl, +} +#[test] +fn bindgen_test_layout_IRpcChannelBuffer3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcChannelBuffer3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcChannelBuffer3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcChannelBuffer3), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IRpcSyntaxNegotiate: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcSyntaxNegotiateVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcSyntaxNegotiate, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub NegotiateSyntax: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcSyntaxNegotiate, pMsg: *mut RPCOLEMESSAGE) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcSyntaxNegotiateVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IRpcSyntaxNegotiateVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcSyntaxNegotiateVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiateVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiateVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiateVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NegotiateSyntax) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiateVtbl), + "::", + stringify!(NegotiateSyntax) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcSyntaxNegotiate { + pub lpVtbl: *mut IRpcSyntaxNegotiateVtbl, +} +#[test] +fn bindgen_test_layout_IRpcSyntaxNegotiate() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcSyntaxNegotiate)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcSyntaxNegotiate)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcSyntaxNegotiate), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IRpcProxyBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcProxyBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcProxyBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Connect: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcProxyBuffer, + pRpcChannelBuffer: *mut IRpcChannelBuffer, + ) -> HRESULT, + >, + pub Disconnect: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IRpcProxyBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IRpcProxyBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcProxyBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Connect) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(Connect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Disconnect) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBufferVtbl), + "::", + stringify!(Disconnect) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcProxyBuffer { + pub lpVtbl: *mut IRpcProxyBufferVtbl, +} +#[test] +fn bindgen_test_layout_IRpcProxyBuffer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcProxyBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcProxyBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcProxyBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0020_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0020_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IRpcStubBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcStubBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcStubBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Connect: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcStubBuffer, pUnkServer: *mut IUnknown) -> HRESULT, + >, + pub Disconnect: ::std::option::Option, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcStubBuffer, + _prpcmsg: *mut RPCOLEMESSAGE, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + ) -> HRESULT, + >, + pub IsIIDSupported: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcStubBuffer, riid: *const IID) -> *mut IRpcStubBuffer, + >, + pub CountRefs: ::std::option::Option ULONG>, + pub DebugServerQueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcStubBuffer, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub DebugServerRelease: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcStubBuffer, pv: *mut ::std::os::raw::c_void), + >, +} +#[test] +fn bindgen_test_layout_IRpcStubBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IRpcStubBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcStubBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Connect) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(Connect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Disconnect) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(Disconnect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsIIDSupported) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(IsIIDSupported) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CountRefs) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(CountRefs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugServerQueryInterface) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(DebugServerQueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DebugServerRelease) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBufferVtbl), + "::", + stringify!(DebugServerRelease) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcStubBuffer { + pub lpVtbl: *mut IRpcStubBufferVtbl, +} +#[test] +fn bindgen_test_layout_IRpcStubBuffer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcStubBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcStubBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcStubBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IPSFactoryBuffer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPSFactoryBufferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPSFactoryBuffer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateProxy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPSFactoryBuffer, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppProxy: *mut *mut IRpcProxyBuffer, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub CreateStub: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPSFactoryBuffer, + riid: *const IID, + pUnkServer: *mut IUnknown, + ppStub: *mut *mut IRpcStubBuffer, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPSFactoryBufferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPSFactoryBufferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPSFactoryBufferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateProxy) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(CreateProxy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateStub) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBufferVtbl), + "::", + stringify!(CreateStub) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPSFactoryBuffer { + pub lpVtbl: *mut IPSFactoryBufferVtbl, +} +#[test] +fn bindgen_test_layout_IPSFactoryBuffer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPSFactoryBuffer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPSFactoryBuffer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPSFactoryBuffer), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SChannelHookCallInfo { + pub iid: IID, + pub cbSize: DWORD, + pub uCausality: GUID, + pub dwServerPid: DWORD, + pub iMethod: DWORD, + pub pObject: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_SChannelHookCallInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(SChannelHookCallInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(SChannelHookCallInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uCausality) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(uCausality) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServerPid) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(dwServerPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMethod) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(iMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pObject) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(SChannelHookCallInfo), + "::", + stringify!(pObject) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0022_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0022_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IChannelHook: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IChannelHookVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ClientGetSize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + pDataSize: *mut ULONG, + ), + >, + pub ClientFillBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + pDataSize: *mut ULONG, + pDataBuffer: *mut ::std::os::raw::c_void, + ), + >, + pub ClientNotify: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + cbDataSize: ULONG, + pDataBuffer: *mut ::std::os::raw::c_void, + lDataRep: DWORD, + hrFault: HRESULT, + ), + >, + pub ServerNotify: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + cbDataSize: ULONG, + pDataBuffer: *mut ::std::os::raw::c_void, + lDataRep: DWORD, + ), + >, + pub ServerGetSize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + hrFault: HRESULT, + pDataSize: *mut ULONG, + ), + >, + pub ServerFillBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IChannelHook, + uExtent: *const GUID, + riid: *const IID, + pDataSize: *mut ULONG, + pDataBuffer: *mut ::std::os::raw::c_void, + hrFault: HRESULT, + ), + >, +} +#[test] +fn bindgen_test_layout_IChannelHookVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IChannelHookVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IChannelHookVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientGetSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ClientGetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientFillBuffer) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ClientFillBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ClientNotify) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ClientNotify) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerNotify) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ServerNotify) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerGetSize) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ServerGetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServerFillBuffer) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IChannelHookVtbl), + "::", + stringify!(ServerFillBuffer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IChannelHook { + pub lpVtbl: *mut IChannelHookVtbl, +} +#[test] +fn bindgen_test_layout_IChannelHook() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IChannelHook)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IChannelHook)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IChannelHook), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0023_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0023_v0_0_s_ifspec: RPC_IF_HANDLE; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOLE_AUTHENTICATION_SERVICE { + pub dwAuthnSvc: DWORD, + pub dwAuthzSvc: DWORD, + pub pPrincipalName: *mut OLECHAR, + pub hr: HRESULT, +} +#[test] +fn bindgen_test_layout_tagSOLE_AUTHENTICATION_SERVICE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagSOLE_AUTHENTICATION_SERVICE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOLE_AUTHENTICATION_SERVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthnSvc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_SERVICE), + "::", + stringify!(dwAuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthzSvc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_SERVICE), + "::", + stringify!(dwAuthzSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pPrincipalName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_SERVICE), + "::", + stringify!(pPrincipalName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_SERVICE), + "::", + stringify!(hr) + ) + ); +} +pub type SOLE_AUTHENTICATION_SERVICE = tagSOLE_AUTHENTICATION_SERVICE; +pub type PSOLE_AUTHENTICATION_SERVICE = *mut SOLE_AUTHENTICATION_SERVICE; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_NONE: tagEOLE_AUTHENTICATION_CAPABILITIES = 0; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_MUTUAL_AUTH: + tagEOLE_AUTHENTICATION_CAPABILITIES = 1; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_STATIC_CLOAKING: + tagEOLE_AUTHENTICATION_CAPABILITIES = 32; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_DYNAMIC_CLOAKING: + tagEOLE_AUTHENTICATION_CAPABILITIES = 64; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_ANY_AUTHORITY: + tagEOLE_AUTHENTICATION_CAPABILITIES = 128; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_MAKE_FULLSIC: + tagEOLE_AUTHENTICATION_CAPABILITIES = 256; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_DEFAULT: tagEOLE_AUTHENTICATION_CAPABILITIES = + 2048; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_SECURE_REFS: + tagEOLE_AUTHENTICATION_CAPABILITIES = 2; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_ACCESS_CONTROL: + tagEOLE_AUTHENTICATION_CAPABILITIES = 4; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_APPID: tagEOLE_AUTHENTICATION_CAPABILITIES = 8; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_DYNAMIC: tagEOLE_AUTHENTICATION_CAPABILITIES = + 16; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_REQUIRE_FULLSIC: + tagEOLE_AUTHENTICATION_CAPABILITIES = 512; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_AUTO_IMPERSONATE: + tagEOLE_AUTHENTICATION_CAPABILITIES = 1024; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_DISABLE_AAA: + tagEOLE_AUTHENTICATION_CAPABILITIES = 4096; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_NO_CUSTOM_MARSHAL: + tagEOLE_AUTHENTICATION_CAPABILITIES = 8192; +pub const tagEOLE_AUTHENTICATION_CAPABILITIES_EOAC_RESERVED1: tagEOLE_AUTHENTICATION_CAPABILITIES = + 16384; +pub type tagEOLE_AUTHENTICATION_CAPABILITIES = ::std::os::raw::c_int; +pub use self::tagEOLE_AUTHENTICATION_CAPABILITIES as EOLE_AUTHENTICATION_CAPABILITIES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOLE_AUTHENTICATION_INFO { + pub dwAuthnSvc: DWORD, + pub dwAuthzSvc: DWORD, + pub pAuthInfo: *mut ::std::os::raw::c_void, +} +#[test] +fn bindgen_test_layout_tagSOLE_AUTHENTICATION_INFO() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagSOLE_AUTHENTICATION_INFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOLE_AUTHENTICATION_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthnSvc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_INFO), + "::", + stringify!(dwAuthnSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAuthzSvc) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_INFO), + "::", + stringify!(dwAuthzSvc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAuthInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_INFO), + "::", + stringify!(pAuthInfo) + ) + ); +} +pub type SOLE_AUTHENTICATION_INFO = tagSOLE_AUTHENTICATION_INFO; +pub type PSOLE_AUTHENTICATION_INFO = *mut tagSOLE_AUTHENTICATION_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSOLE_AUTHENTICATION_LIST { + pub cAuthInfo: DWORD, + pub aAuthInfo: *mut SOLE_AUTHENTICATION_INFO, +} +#[test] +fn bindgen_test_layout_tagSOLE_AUTHENTICATION_LIST() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagSOLE_AUTHENTICATION_LIST)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSOLE_AUTHENTICATION_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAuthInfo) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_LIST), + "::", + stringify!(cAuthInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aAuthInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSOLE_AUTHENTICATION_LIST), + "::", + stringify!(aAuthInfo) + ) + ); +} +pub type SOLE_AUTHENTICATION_LIST = tagSOLE_AUTHENTICATION_LIST; +pub type PSOLE_AUTHENTICATION_LIST = *mut tagSOLE_AUTHENTICATION_LIST; +extern "C" { + pub static IID_IClientSecurity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClientSecurityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClientSecurity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryBlanket: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClientSecurity, + pProxy: *mut IUnknown, + pAuthnSvc: *mut DWORD, + pAuthzSvc: *mut DWORD, + pServerPrincName: *mut *mut OLECHAR, + pAuthnLevel: *mut DWORD, + pImpLevel: *mut DWORD, + pAuthInfo: *mut *mut ::std::os::raw::c_void, + pCapabilites: *mut DWORD, + ) -> HRESULT, + >, + pub SetBlanket: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClientSecurity, + pProxy: *mut IUnknown, + dwAuthnSvc: DWORD, + dwAuthzSvc: DWORD, + pServerPrincName: *mut OLECHAR, + dwAuthnLevel: DWORD, + dwImpLevel: DWORD, + pAuthInfo: *mut ::std::os::raw::c_void, + dwCapabilities: DWORD, + ) -> HRESULT, + >, + pub CopyProxy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClientSecurity, + pProxy: *mut IUnknown, + ppCopy: *mut *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IClientSecurityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IClientSecurityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClientSecurityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryBlanket) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(QueryBlanket) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetBlanket) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(SetBlanket) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyProxy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurityVtbl), + "::", + stringify!(CopyProxy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClientSecurity { + pub lpVtbl: *mut IClientSecurityVtbl, +} +#[test] +fn bindgen_test_layout_IClientSecurity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IClientSecurity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClientSecurity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClientSecurity), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0024_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0024_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IServerSecurity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IServerSecurityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IServerSecurity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryBlanket: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IServerSecurity, + pAuthnSvc: *mut DWORD, + pAuthzSvc: *mut DWORD, + pServerPrincName: *mut *mut OLECHAR, + pAuthnLevel: *mut DWORD, + pImpLevel: *mut DWORD, + pPrivs: *mut *mut ::std::os::raw::c_void, + pCapabilities: *mut DWORD, + ) -> HRESULT, + >, + pub ImpersonateClient: + ::std::option::Option HRESULT>, + pub RevertToSelf: + ::std::option::Option HRESULT>, + pub IsImpersonating: + ::std::option::Option BOOL>, +} +#[test] +fn bindgen_test_layout_IServerSecurityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IServerSecurityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IServerSecurityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryBlanket) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(QueryBlanket) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ImpersonateClient) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(ImpersonateClient) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevertToSelf) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(RevertToSelf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsImpersonating) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurityVtbl), + "::", + stringify!(IsImpersonating) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IServerSecurity { + pub lpVtbl: *mut IServerSecurityVtbl, +} +#[test] +fn bindgen_test_layout_IServerSecurity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IServerSecurity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IServerSecurity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IServerSecurity), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagRPCOPT_PROPERTIES_COMBND_RPCTIMEOUT: tagRPCOPT_PROPERTIES = 1; +pub const tagRPCOPT_PROPERTIES_COMBND_SERVER_LOCALITY: tagRPCOPT_PROPERTIES = 2; +pub const tagRPCOPT_PROPERTIES_COMBND_RESERVED1: tagRPCOPT_PROPERTIES = 4; +pub const tagRPCOPT_PROPERTIES_COMBND_RESERVED2: tagRPCOPT_PROPERTIES = 5; +pub const tagRPCOPT_PROPERTIES_COMBND_RESERVED3: tagRPCOPT_PROPERTIES = 8; +pub const tagRPCOPT_PROPERTIES_COMBND_RESERVED4: tagRPCOPT_PROPERTIES = 16; +pub type tagRPCOPT_PROPERTIES = ::std::os::raw::c_int; +pub use self::tagRPCOPT_PROPERTIES as RPCOPT_PROPERTIES; +pub const tagRPCOPT_SERVER_LOCALITY_VALUES_SERVER_LOCALITY_PROCESS_LOCAL: + tagRPCOPT_SERVER_LOCALITY_VALUES = 0; +pub const tagRPCOPT_SERVER_LOCALITY_VALUES_SERVER_LOCALITY_MACHINE_LOCAL: + tagRPCOPT_SERVER_LOCALITY_VALUES = 1; +pub const tagRPCOPT_SERVER_LOCALITY_VALUES_SERVER_LOCALITY_REMOTE: + tagRPCOPT_SERVER_LOCALITY_VALUES = 2; +pub type tagRPCOPT_SERVER_LOCALITY_VALUES = ::std::os::raw::c_int; +pub use self::tagRPCOPT_SERVER_LOCALITY_VALUES as RPCOPT_SERVER_LOCALITY_VALUES; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0025_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0025_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IRpcOptions: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcOptionsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcOptions, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Set: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcOptions, + pPrx: *mut IUnknown, + dwProperty: RPCOPT_PROPERTIES, + dwValue: ULONG_PTR, + ) -> HRESULT, + >, + pub Query: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcOptions, + pPrx: *mut IUnknown, + dwProperty: RPCOPT_PROPERTIES, + pdwValue: *mut ULONG_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcOptionsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IRpcOptionsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcOptionsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Set) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(Set) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Query) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptionsVtbl), + "::", + stringify!(Query) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcOptions { + pub lpVtbl: *mut IRpcOptionsVtbl, +} +#[test] +fn bindgen_test_layout_IRpcOptions() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcOptions)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcOptions)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcOptions), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagGLOBALOPT_PROPERTIES_COMGLB_EXCEPTION_HANDLING: tagGLOBALOPT_PROPERTIES = 1; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_APPID: tagGLOBALOPT_PROPERTIES = 2; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_RPC_THREADPOOL_SETTING: tagGLOBALOPT_PROPERTIES = 3; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_RO_SETTINGS: tagGLOBALOPT_PROPERTIES = 4; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_UNMARSHALING_POLICY: tagGLOBALOPT_PROPERTIES = 5; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_PROPERTIES_RESERVED1: tagGLOBALOPT_PROPERTIES = 6; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_PROPERTIES_RESERVED2: tagGLOBALOPT_PROPERTIES = 7; +pub const tagGLOBALOPT_PROPERTIES_COMGLB_PROPERTIES_RESERVED3: tagGLOBALOPT_PROPERTIES = 8; +pub type tagGLOBALOPT_PROPERTIES = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_PROPERTIES as GLOBALOPT_PROPERTIES; +pub const tagGLOBALOPT_EH_VALUES_COMGLB_EXCEPTION_HANDLE: tagGLOBALOPT_EH_VALUES = 0; +pub const tagGLOBALOPT_EH_VALUES_COMGLB_EXCEPTION_DONOT_HANDLE_FATAL: tagGLOBALOPT_EH_VALUES = 1; +pub const tagGLOBALOPT_EH_VALUES_COMGLB_EXCEPTION_DONOT_HANDLE: tagGLOBALOPT_EH_VALUES = 1; +pub const tagGLOBALOPT_EH_VALUES_COMGLB_EXCEPTION_DONOT_HANDLE_ANY: tagGLOBALOPT_EH_VALUES = 2; +pub type tagGLOBALOPT_EH_VALUES = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_EH_VALUES as GLOBALOPT_EH_VALUES; +pub const tagGLOBALOPT_RPCTP_VALUES_COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL: + tagGLOBALOPT_RPCTP_VALUES = 0; +pub const tagGLOBALOPT_RPCTP_VALUES_COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL: + tagGLOBALOPT_RPCTP_VALUES = 1; +pub type tagGLOBALOPT_RPCTP_VALUES = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_RPCTP_VALUES as GLOBALOPT_RPCTP_VALUES; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES: tagGLOBALOPT_RO_FLAGS = + 1; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES: + tagGLOBALOPT_RO_FLAGS = 2; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES: + tagGLOBALOPT_RO_FLAGS = 4; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_FAST_RUNDOWN: tagGLOBALOPT_RO_FLAGS = 8; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED1: tagGLOBALOPT_RO_FLAGS = 16; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED2: tagGLOBALOPT_RO_FLAGS = 32; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED3: tagGLOBALOPT_RO_FLAGS = 64; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES: + tagGLOBALOPT_RO_FLAGS = 128; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED4: tagGLOBALOPT_RO_FLAGS = 256; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED5: tagGLOBALOPT_RO_FLAGS = 512; +pub const tagGLOBALOPT_RO_FLAGS_COMGLB_RESERVED6: tagGLOBALOPT_RO_FLAGS = 1024; +pub type tagGLOBALOPT_RO_FLAGS = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_RO_FLAGS as GLOBALOPT_RO_FLAGS; +pub const tagGLOBALOPT_UNMARSHALING_POLICY_VALUES_COMGLB_UNMARSHALING_POLICY_NORMAL: + tagGLOBALOPT_UNMARSHALING_POLICY_VALUES = 0; +pub const tagGLOBALOPT_UNMARSHALING_POLICY_VALUES_COMGLB_UNMARSHALING_POLICY_STRONG: + tagGLOBALOPT_UNMARSHALING_POLICY_VALUES = 1; +pub const tagGLOBALOPT_UNMARSHALING_POLICY_VALUES_COMGLB_UNMARSHALING_POLICY_HYBRID: + tagGLOBALOPT_UNMARSHALING_POLICY_VALUES = 2; +pub type tagGLOBALOPT_UNMARSHALING_POLICY_VALUES = ::std::os::raw::c_int; +pub use self::tagGLOBALOPT_UNMARSHALING_POLICY_VALUES as GLOBALOPT_UNMARSHALING_POLICY_VALUES; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0026_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0026_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IGlobalOptions: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGlobalOptionsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalOptions, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Set: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalOptions, + dwProperty: GLOBALOPT_PROPERTIES, + dwValue: ULONG_PTR, + ) -> HRESULT, + >, + pub Query: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalOptions, + dwProperty: GLOBALOPT_PROPERTIES, + pdwValue: *mut ULONG_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IGlobalOptionsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IGlobalOptionsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGlobalOptionsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Set) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(Set) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Query) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptionsVtbl), + "::", + stringify!(Query) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGlobalOptions { + pub lpVtbl: *mut IGlobalOptionsVtbl, +} +#[test] +fn bindgen_test_layout_IGlobalOptions() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IGlobalOptions)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGlobalOptions)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGlobalOptions), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0027_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0027_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPSURROGATE = *mut ISurrogate; +extern "C" { + pub static IID_ISurrogate: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISurrogateVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISurrogate, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub LoadDllServer: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISurrogate, Clsid: *const IID) -> HRESULT, + >, + pub FreeSurrogate: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ISurrogateVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ISurrogateVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISurrogateVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LoadDllServer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(LoadDllServer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FreeSurrogate) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateVtbl), + "::", + stringify!(FreeSurrogate) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISurrogate { + pub lpVtbl: *mut ISurrogateVtbl, +} +#[test] +fn bindgen_test_layout_ISurrogate() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISurrogate)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISurrogate)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISurrogate), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPGLOBALINTERFACETABLE = *mut IGlobalInterfaceTable; +extern "C" { + pub static IID_IGlobalInterfaceTable: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGlobalInterfaceTableVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalInterfaceTable, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub RegisterInterfaceInGlobal: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalInterfaceTable, + pUnk: *mut IUnknown, + riid: *const IID, + pdwCookie: *mut DWORD, + ) -> HRESULT, + >, + pub RevokeInterfaceFromGlobal: ::std::option::Option< + unsafe extern "C" fn(This: *mut IGlobalInterfaceTable, dwCookie: DWORD) -> HRESULT, + >, + pub GetInterfaceFromGlobal: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGlobalInterfaceTable, + dwCookie: DWORD, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IGlobalInterfaceTableVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IGlobalInterfaceTableVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGlobalInterfaceTableVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterInterfaceInGlobal) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(RegisterInterfaceInGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevokeInterfaceFromGlobal) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(RevokeInterfaceFromGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetInterfaceFromGlobal) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTableVtbl), + "::", + stringify!(GetInterfaceFromGlobal) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGlobalInterfaceTable { + pub lpVtbl: *mut IGlobalInterfaceTableVtbl, +} +#[test] +fn bindgen_test_layout_IGlobalInterfaceTable() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IGlobalInterfaceTable)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGlobalInterfaceTable)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGlobalInterfaceTable), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0029_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0029_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_ISynchronize: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronize, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Wait: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronize, + dwFlags: DWORD, + dwMilliseconds: DWORD, + ) -> HRESULT, + >, + pub Signal: ::std::option::Option HRESULT>, + pub Reset: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ISynchronizeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(ISynchronizeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Wait) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(Wait) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signal) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(Signal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeVtbl), + "::", + stringify!(Reset) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronize { + pub lpVtbl: *mut ISynchronizeVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronize() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronize)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronize)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronize), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISynchronizeHandle: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeHandleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeHandle, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetHandle: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISynchronizeHandle, ph: *mut HANDLE) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISynchronizeHandleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ISynchronizeHandleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeHandleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHandle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandleVtbl), + "::", + stringify!(GetHandle) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeHandle { + pub lpVtbl: *mut ISynchronizeHandleVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronizeHandle() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronizeHandle)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeHandle)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeHandle), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISynchronizeEvent: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeEventVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeEvent, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetHandle: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISynchronizeEvent, ph: *mut HANDLE) -> HRESULT, + >, + pub SetEventHandle: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISynchronizeEvent, ph: *mut HANDLE) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISynchronizeEventVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ISynchronizeEventVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeEventVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHandle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(GetHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetEventHandle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEventVtbl), + "::", + stringify!(SetEventHandle) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeEvent { + pub lpVtbl: *mut ISynchronizeEventVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronizeEvent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronizeEvent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeEvent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeEvent), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISynchronizeContainer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeContainerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeContainer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub AddSynchronize: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISynchronizeContainer, pSync: *mut ISynchronize) -> HRESULT, + >, + pub WaitMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeContainer, + dwFlags: DWORD, + dwTimeOut: DWORD, + ppSync: *mut *mut ISynchronize, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISynchronizeContainerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ISynchronizeContainerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeContainerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddSynchronize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(AddSynchronize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WaitMultiple) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainerVtbl), + "::", + stringify!(WaitMultiple) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeContainer { + pub lpVtbl: *mut ISynchronizeContainerVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronizeContainer() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronizeContainer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeContainer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeContainer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISynchronizeMutex: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeMutexVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeMutex, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Wait: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISynchronizeMutex, + dwFlags: DWORD, + dwMilliseconds: DWORD, + ) -> HRESULT, + >, + pub Signal: + ::std::option::Option HRESULT>, + pub Reset: ::std::option::Option HRESULT>, + pub ReleaseMutex: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ISynchronizeMutexVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(ISynchronizeMutexVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeMutexVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Wait) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(Wait) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Signal) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(Signal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMutex) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutexVtbl), + "::", + stringify!(ReleaseMutex) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISynchronizeMutex { + pub lpVtbl: *mut ISynchronizeMutexVtbl, +} +#[test] +fn bindgen_test_layout_ISynchronizeMutex() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISynchronizeMutex)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISynchronizeMutex)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISynchronizeMutex), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCANCELMETHODCALLS = *mut ICancelMethodCalls; +extern "C" { + pub static IID_ICancelMethodCalls: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICancelMethodCallsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICancelMethodCalls, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Cancel: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICancelMethodCalls, ulSeconds: ULONG) -> HRESULT, + >, + pub TestCancel: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ICancelMethodCallsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ICancelMethodCallsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICancelMethodCallsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cancel) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(Cancel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TestCancel) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCallsVtbl), + "::", + stringify!(TestCancel) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICancelMethodCalls { + pub lpVtbl: *mut ICancelMethodCallsVtbl, +} +#[test] +fn bindgen_test_layout_ICancelMethodCalls() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICancelMethodCalls)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICancelMethodCalls)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICancelMethodCalls), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagDCOM_CALL_STATE_DCOM_NONE: tagDCOM_CALL_STATE = 0; +pub const tagDCOM_CALL_STATE_DCOM_CALL_COMPLETE: tagDCOM_CALL_STATE = 1; +pub const tagDCOM_CALL_STATE_DCOM_CALL_CANCELED: tagDCOM_CALL_STATE = 2; +pub type tagDCOM_CALL_STATE = ::std::os::raw::c_int; +pub use self::tagDCOM_CALL_STATE as DCOM_CALL_STATE; +extern "C" { + pub static IID_IAsyncManager: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAsyncManagerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncManager, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CompleteCall: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAsyncManager, Result: HRESULT) -> HRESULT, + >, + pub GetCallContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAsyncManager, + riid: *const IID, + pInterface: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub GetState: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAsyncManager, pulStateFlags: *mut ULONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAsyncManagerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IAsyncManagerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAsyncManagerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompleteCall) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(CompleteCall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCallContext) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(GetCallContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetState) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManagerVtbl), + "::", + stringify!(GetState) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAsyncManager { + pub lpVtbl: *mut IAsyncManagerVtbl, +} +#[test] +fn bindgen_test_layout_IAsyncManager() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAsyncManager)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAsyncManager)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAsyncManager), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ICallFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICallFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICallFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateCall: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICallFactory, + riid: *const IID, + pCtrlUnk: *mut IUnknown, + riid2: *const IID, + ppv: *mut *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICallFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ICallFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICallFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICallFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICallFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICallFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateCall) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICallFactoryVtbl), + "::", + stringify!(CreateCall) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICallFactory { + pub lpVtbl: *mut ICallFactoryVtbl, +} +#[test] +fn bindgen_test_layout_ICallFactory() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICallFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICallFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICallFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IRpcHelper: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcHelperVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcHelper, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetDCOMProtocolVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRpcHelper, pComVersion: *mut DWORD) -> HRESULT, + >, + pub GetIIDFromOBJREF: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRpcHelper, + pObjRef: *mut ::std::os::raw::c_void, + piid: *mut *mut IID, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRpcHelperVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IRpcHelperVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcHelperVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDCOMProtocolVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(GetDCOMProtocolVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIIDFromOBJREF) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelperVtbl), + "::", + stringify!(GetIIDFromOBJREF) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRpcHelper { + pub lpVtbl: *mut IRpcHelperVtbl, +} +#[test] +fn bindgen_test_layout_IRpcHelper() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRpcHelper)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRpcHelper)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRpcHelper), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IReleaseMarshalBuffers: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IReleaseMarshalBuffersVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IReleaseMarshalBuffers, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub ReleaseMarshalBuffer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IReleaseMarshalBuffers, + pMsg: *mut RPCOLEMESSAGE, + dwFlags: DWORD, + pChnl: *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IReleaseMarshalBuffersVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IReleaseMarshalBuffersVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IReleaseMarshalBuffersVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffersVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffersVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffersVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseMarshalBuffer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffersVtbl), + "::", + stringify!(ReleaseMarshalBuffer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IReleaseMarshalBuffers { + pub lpVtbl: *mut IReleaseMarshalBuffersVtbl, +} +#[test] +fn bindgen_test_layout_IReleaseMarshalBuffers() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IReleaseMarshalBuffers)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IReleaseMarshalBuffers)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IReleaseMarshalBuffers), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IWaitMultiple: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWaitMultipleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWaitMultiple, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub WaitMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWaitMultiple, + timeout: DWORD, + pSync: *mut *mut ISynchronize, + ) -> HRESULT, + >, + pub AddSynchronize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IWaitMultiple, pSync: *mut ISynchronize) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWaitMultipleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IWaitMultipleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWaitMultipleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WaitMultiple) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(WaitMultiple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddSynchronize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultipleVtbl), + "::", + stringify!(AddSynchronize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWaitMultiple { + pub lpVtbl: *mut IWaitMultipleVtbl, +} +#[test] +fn bindgen_test_layout_IWaitMultiple() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWaitMultiple)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWaitMultiple)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWaitMultiple), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPADDRTRACKINGCONTROL = *mut IAddrTrackingControl; +extern "C" { + pub static IID_IAddrTrackingControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAddrTrackingControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAddrTrackingControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub EnableCOMDynamicAddrTracking: + ::std::option::Option HRESULT>, + pub DisableCOMDynamicAddrTracking: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IAddrTrackingControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IAddrTrackingControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAddrTrackingControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).EnableCOMDynamicAddrTracking) as usize - ptr as usize + }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(EnableCOMDynamicAddrTracking) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).DisableCOMDynamicAddrTracking) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControlVtbl), + "::", + stringify!(DisableCOMDynamicAddrTracking) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAddrTrackingControl { + pub lpVtbl: *mut IAddrTrackingControlVtbl, +} +#[test] +fn bindgen_test_layout_IAddrTrackingControl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAddrTrackingControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAddrTrackingControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAddrTrackingControl), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPADDREXCLUSIONCONTROL = *mut IAddrExclusionControl; +extern "C" { + pub static IID_IAddrExclusionControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAddrExclusionControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAddrExclusionControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetCurrentAddrExclusionList: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAddrExclusionControl, + riid: *const IID, + ppEnumerator: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub UpdateAddrExclusionList: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAddrExclusionControl, + pEnumerator: *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAddrExclusionControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IAddrExclusionControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAddrExclusionControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentAddrExclusionList) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(GetCurrentAddrExclusionList) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UpdateAddrExclusionList) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControlVtbl), + "::", + stringify!(UpdateAddrExclusionList) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAddrExclusionControl { + pub lpVtbl: *mut IAddrExclusionControlVtbl, +} +#[test] +fn bindgen_test_layout_IAddrExclusionControl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAddrExclusionControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAddrExclusionControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAddrExclusionControl), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IPipeByte: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeByteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeByte, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeByte, + buf: *mut BYTE, + cRequest: ULONG, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPipeByte, buf: *mut BYTE, cSent: ULONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPipeByteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPipeByteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeByteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Push) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPipeByteVtbl), + "::", + stringify!(Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeByte { + pub lpVtbl: *mut IPipeByteVtbl, +} +#[test] +fn bindgen_test_layout_IPipeByte() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPipeByte)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeByte)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeByte), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_AsyncIPipeByte: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeByteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeByte, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_Pull: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeByte, cRequest: ULONG) -> HRESULT, + >, + pub Finish_Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeByte, + buf: *mut BYTE, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Begin_Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeByte, buf: *mut BYTE, cSent: ULONG) -> HRESULT, + >, + pub Finish_Push: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_AsyncIPipeByteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(AsyncIPipeByteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeByteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Begin_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Pull) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Finish_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Push) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Begin_Push) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Push) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByteVtbl), + "::", + stringify!(Finish_Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeByte { + pub lpVtbl: *mut AsyncIPipeByteVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIPipeByte() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIPipeByte)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeByte)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeByte), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IPipeLong: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeLongVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeLong, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeLong, + buf: *mut LONG, + cRequest: ULONG, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPipeLong, buf: *mut LONG, cSent: ULONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPipeLongVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPipeLongVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeLongVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Push) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPipeLongVtbl), + "::", + stringify!(Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeLong { + pub lpVtbl: *mut IPipeLongVtbl, +} +#[test] +fn bindgen_test_layout_IPipeLong() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPipeLong)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeLong)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeLong), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_AsyncIPipeLong: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeLongVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeLong, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_Pull: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeLong, cRequest: ULONG) -> HRESULT, + >, + pub Finish_Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeLong, + buf: *mut LONG, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Begin_Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeLong, buf: *mut LONG, cSent: ULONG) -> HRESULT, + >, + pub Finish_Push: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_AsyncIPipeLongVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(AsyncIPipeLongVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeLongVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Begin_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Pull) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Finish_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Push) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Begin_Push) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Push) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLongVtbl), + "::", + stringify!(Finish_Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeLong { + pub lpVtbl: *mut AsyncIPipeLongVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIPipeLong() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIPipeLong)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeLong)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeLong), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IPipeDouble: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeDoubleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeDouble, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPipeDouble, + buf: *mut DOUBLE, + cRequest: ULONG, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Push: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPipeDouble, buf: *mut DOUBLE, cSent: ULONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPipeDoubleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPipeDoubleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeDoubleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Push) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPipeDoubleVtbl), + "::", + stringify!(Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPipeDouble { + pub lpVtbl: *mut IPipeDoubleVtbl, +} +#[test] +fn bindgen_test_layout_IPipeDouble() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPipeDouble)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPipeDouble)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPipeDouble), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_AsyncIPipeDouble: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeDoubleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeDouble, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_Pull: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIPipeDouble, cRequest: ULONG) -> HRESULT, + >, + pub Finish_Pull: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeDouble, + buf: *mut DOUBLE, + pcReturned: *mut ULONG, + ) -> HRESULT, + >, + pub Begin_Push: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIPipeDouble, + buf: *mut DOUBLE, + cSent: ULONG, + ) -> HRESULT, + >, + pub Finish_Push: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_AsyncIPipeDoubleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(AsyncIPipeDoubleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeDoubleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Pull) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Begin_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Pull) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Finish_Pull) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_Push) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Begin_Push) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_Push) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDoubleVtbl), + "::", + stringify!(Finish_Push) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIPipeDouble { + pub lpVtbl: *mut AsyncIPipeDoubleVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIPipeDouble() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIPipeDouble)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIPipeDouble)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIPipeDouble), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NONE: _APTTYPEQUALIFIER = 0; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_IMPLICIT_MTA: _APTTYPEQUALIFIER = 1; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NA_ON_MTA: _APTTYPEQUALIFIER = 2; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NA_ON_STA: _APTTYPEQUALIFIER = 3; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA: _APTTYPEQUALIFIER = 4; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_NA_ON_MAINSTA: _APTTYPEQUALIFIER = 5; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_APPLICATION_STA: _APTTYPEQUALIFIER = 6; +pub const _APTTYPEQUALIFIER_APTTYPEQUALIFIER_RESERVED_1: _APTTYPEQUALIFIER = 7; +pub type _APTTYPEQUALIFIER = ::std::os::raw::c_int; +pub use self::_APTTYPEQUALIFIER as APTTYPEQUALIFIER; +pub const _APTTYPE_APTTYPE_CURRENT: _APTTYPE = -1; +pub const _APTTYPE_APTTYPE_STA: _APTTYPE = 0; +pub const _APTTYPE_APTTYPE_MTA: _APTTYPE = 1; +pub const _APTTYPE_APTTYPE_NA: _APTTYPE = 2; +pub const _APTTYPE_APTTYPE_MAINSTA: _APTTYPE = 3; +pub type _APTTYPE = ::std::os::raw::c_int; +pub use self::_APTTYPE as APTTYPE; +pub const _THDTYPE_THDTYPE_BLOCKMESSAGES: _THDTYPE = 0; +pub const _THDTYPE_THDTYPE_PROCESSMESSAGES: _THDTYPE = 1; +pub type _THDTYPE = ::std::os::raw::c_int; +pub use self::_THDTYPE as THDTYPE; +pub type APARTMENTID = DWORD; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0048_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0048_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IComThreadingInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IComThreadingInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IComThreadingInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetCurrentApartmentType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IComThreadingInfo, pAptType: *mut APTTYPE) -> HRESULT, + >, + pub GetCurrentThreadType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IComThreadingInfo, pThreadType: *mut THDTYPE) -> HRESULT, + >, + pub GetCurrentLogicalThreadId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IComThreadingInfo, + pguidLogicalThreadId: *mut GUID, + ) -> HRESULT, + >, + pub SetCurrentLogicalThreadId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IComThreadingInfo, rguid: *const GUID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IComThreadingInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IComThreadingInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IComThreadingInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentApartmentType) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(GetCurrentApartmentType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentThreadType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(GetCurrentThreadType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentLogicalThreadId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(GetCurrentLogicalThreadId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCurrentLogicalThreadId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfoVtbl), + "::", + stringify!(SetCurrentLogicalThreadId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IComThreadingInfo { + pub lpVtbl: *mut IComThreadingInfoVtbl, +} +#[test] +fn bindgen_test_layout_IComThreadingInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IComThreadingInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IComThreadingInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IComThreadingInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IProcessInitControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProcessInitControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IProcessInitControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub ResetInitializerTimeout: ::std::option::Option< + unsafe extern "C" fn(This: *mut IProcessInitControl, dwSecondsRemaining: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IProcessInitControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IProcessInitControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProcessInitControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResetInitializerTimeout) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControlVtbl), + "::", + stringify!(ResetInitializerTimeout) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProcessInitControl { + pub lpVtbl: *mut IProcessInitControlVtbl, +} +#[test] +fn bindgen_test_layout_IProcessInitControl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IProcessInitControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProcessInitControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProcessInitControl), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IFastRundown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IFastRundownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IFastRundown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IFastRundownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(IFastRundownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IFastRundownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IFastRundownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IFastRundownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IFastRundownVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IFastRundown { + pub lpVtbl: *mut IFastRundownVtbl, +} +#[test] +fn bindgen_test_layout_IFastRundown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IFastRundown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IFastRundown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IFastRundown), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_SOURCE_IS_APP_CONTAINER: + CO_MARSHALING_CONTEXT_ATTRIBUTES = 0; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_1: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483648; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_2: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483647; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_3: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483646; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_4: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483645; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_5: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483644; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_6: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483643; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_7: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483642; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_8: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483641; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_9: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483640; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_10: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483639; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_11: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483638; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_12: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483637; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_13: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483636; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_14: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483635; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_15: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483634; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_16: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483633; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_17: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483632; +pub const CO_MARSHALING_CONTEXT_ATTRIBUTES_CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_18: + CO_MARSHALING_CONTEXT_ATTRIBUTES = -2147483631; +pub type CO_MARSHALING_CONTEXT_ATTRIBUTES = ::std::os::raw::c_int; +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0051_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0051_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IMarshalingStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshalingStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Write: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub Seek: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub SetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshalingStream, libNewSize: ULARGE_INTEGER) -> HRESULT, + >, + pub CopyTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub Commit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshalingStream, grfCommitFlags: DWORD) -> HRESULT, + >, + pub Revert: + ::std::option::Option HRESULT>, + pub LockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub UnlockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + pstatstg: *mut STATSTG, + grfStatFlag: DWORD, + ) -> HRESULT, + >, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMarshalingStream, ppstm: *mut *mut IStream) -> HRESULT, + >, + pub GetMarshalingContextAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMarshalingStream, + attribute: CO_MARSHALING_CONTEXT_ATTRIBUTES, + pAttributeValue: *mut ULONG_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMarshalingStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IMarshalingStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshalingStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Write) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seek) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Seek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(SetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(CopyTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Commit) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Commit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revert) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Revert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRegion) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(LockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRegion) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(UnlockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Stat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(Clone) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetMarshalingContextAttribute) as usize - ptr as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStreamVtbl), + "::", + stringify!(GetMarshalingContextAttribute) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMarshalingStream { + pub lpVtbl: *mut IMarshalingStreamVtbl, +} +#[test] +fn bindgen_test_layout_IMarshalingStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMarshalingStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMarshalingStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMarshalingStream), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0052_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0052_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IAgileReference: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAgileReferenceVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAgileReference, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Resolve: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAgileReference, + riid: *const IID, + ppvObjectReference: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAgileReferenceVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IAgileReferenceVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAgileReferenceVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAgileReferenceVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAgileReferenceVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAgileReferenceVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resolve) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAgileReferenceVtbl), + "::", + stringify!(Resolve) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAgileReference { + pub lpVtbl: *mut IAgileReferenceVtbl, +} +#[test] +fn bindgen_test_layout_IAgileReference() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAgileReference)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAgileReference)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAgileReference), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ICallbackWithNoReentrancyToApplicationSTA: GUID; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0053_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidlbase_0000_0053_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn IEnumUnknown_Next_Proxy( + This: *mut IEnumUnknown, + celt: ULONG, + rgelt: *mut *mut IUnknown, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumUnknown_Next_Stub( + This: *mut IEnumUnknown, + celt: ULONG, + rgelt: *mut *mut IUnknown, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumString_Next_Proxy( + This: *mut IEnumString, + celt: ULONG, + rgelt: *mut LPOLESTR, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumString_Next_Stub( + This: *mut IEnumString, + celt: ULONG, + rgelt: *mut LPOLESTR, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_Read_Proxy( + This: *mut ISequentialStream, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_Read_Stub( + This: *mut ISequentialStream, + pv: *mut byte, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_Write_Proxy( + This: *mut ISequentialStream, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ISequentialStream_Write_Stub( + This: *mut ISequentialStream, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_Seek_Proxy( + This: *mut IStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_Seek_Stub( + This: *mut IStream, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_CopyTo_Proxy( + This: *mut IStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn IStream_CopyTo_Stub( + This: *mut IStream, + pstm: *mut IStream, + cb: ULARGE_INTEGER, + pcbRead: *mut ULARGE_INTEGER, + pcbWritten: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub static GUID_NULL: IID; +} +extern "C" { + pub static CATID_MARSHALER: IID; +} +extern "C" { + pub static IID_IRpcChannel: IID; +} +extern "C" { + pub static IID_IRpcStub: IID; +} +extern "C" { + pub static IID_IStubManager: IID; +} +extern "C" { + pub static IID_IRpcProxy: IID; +} +extern "C" { + pub static IID_IProxyManager: IID; +} +extern "C" { + pub static IID_IPSFactory: IID; +} +extern "C" { + pub static IID_IInternalMoniker: IID; +} +extern "C" { + pub static IID_IDfReserved1: IID; +} +extern "C" { + pub static IID_IDfReserved2: IID; +} +extern "C" { + pub static IID_IDfReserved3: IID; +} +extern "C" { + pub static CLSID_StdMarshal: CLSID; +} +extern "C" { + pub static CLSID_AggStdMarshal: CLSID; +} +extern "C" { + pub static CLSID_StdAsyncActManager: CLSID; +} +extern "C" { + pub static IID_IStub: IID; +} +extern "C" { + pub static IID_IProxy: IID; +} +extern "C" { + pub static IID_IEnumGeneric: IID; +} +extern "C" { + pub static IID_IEnumHolder: IID; +} +extern "C" { + pub static IID_IEnumCallback: IID; +} +extern "C" { + pub static IID_IOleManager: IID; +} +extern "C" { + pub static IID_IOlePresObj: IID; +} +extern "C" { + pub static IID_IDebug: IID; +} +extern "C" { + pub static IID_IDebugStream: IID; +} +extern "C" { + pub static CLSID_PSGenObject: CLSID; +} +extern "C" { + pub static CLSID_PSClientSite: CLSID; +} +extern "C" { + pub static CLSID_PSClassObject: CLSID; +} +extern "C" { + pub static CLSID_PSInPlaceActive: CLSID; +} +extern "C" { + pub static CLSID_PSInPlaceFrame: CLSID; +} +extern "C" { + pub static CLSID_PSDragDrop: CLSID; +} +extern "C" { + pub static CLSID_PSBindCtx: CLSID; +} +extern "C" { + pub static CLSID_PSEnumerators: CLSID; +} +extern "C" { + pub static CLSID_StaticMetafile: CLSID; +} +extern "C" { + pub static CLSID_StaticDib: CLSID; +} +extern "C" { + pub static CID_CDfsVolume: CLSID; +} +extern "C" { + pub static CLSID_DCOMAccessControl: CLSID; +} +extern "C" { + pub static CLSID_GlobalOptions: CLSID; +} +extern "C" { + pub static CLSID_StdGlobalInterfaceTable: CLSID; +} +extern "C" { + pub static CLSID_ComBinding: CLSID; +} +extern "C" { + pub static CLSID_StdEvent: CLSID; +} +extern "C" { + pub static CLSID_ManualResetEvent: CLSID; +} +extern "C" { + pub static CLSID_SynchronizeContainer: CLSID; +} +extern "C" { + pub static CLSID_AddrControl: CLSID; +} +extern "C" { + pub static CLSID_ContextSwitcher: CLSID; +} +extern "C" { + pub static CLSID_CCDFormKrnl: CLSID; +} +extern "C" { + pub static CLSID_CCDPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDFormDialog: CLSID; +} +extern "C" { + pub static CLSID_CCDCommandButton: CLSID; +} +extern "C" { + pub static CLSID_CCDComboBox: CLSID; +} +extern "C" { + pub static CLSID_CCDTextBox: CLSID; +} +extern "C" { + pub static CLSID_CCDCheckBox: CLSID; +} +extern "C" { + pub static CLSID_CCDLabel: CLSID; +} +extern "C" { + pub static CLSID_CCDOptionButton: CLSID; +} +extern "C" { + pub static CLSID_CCDListBox: CLSID; +} +extern "C" { + pub static CLSID_CCDScrollBar: CLSID; +} +extern "C" { + pub static CLSID_CCDGroupBox: CLSID; +} +extern "C" { + pub static CLSID_CCDGeneralPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDGenericPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDFontPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDColorPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDLabelPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDCheckBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDTextBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDOptionButtonPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDListBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDCommandButtonPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDComboBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDScrollBarPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDGroupBoxPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CCDXObjectPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CStdPropertyFrame: CLSID; +} +extern "C" { + pub static CLSID_CFormPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CGridPropertyPage: CLSID; +} +extern "C" { + pub static CLSID_CWSJArticlePage: CLSID; +} +extern "C" { + pub static CLSID_CSystemPage: CLSID; +} +extern "C" { + pub static CLSID_IdentityUnmarshal: CLSID; +} +extern "C" { + pub static CLSID_InProcFreeMarshaler: CLSID; +} +extern "C" { + pub static CLSID_Picture_Metafile: CLSID; +} +extern "C" { + pub static CLSID_Picture_EnhMetafile: CLSID; +} +extern "C" { + pub static CLSID_Picture_Dib: CLSID; +} +extern "C" { + pub static GUID_TRISTATE: GUID; +} +extern "C" { + pub fn CoGetMalloc(dwMemContext: DWORD, ppMalloc: *mut LPMALLOC) -> HRESULT; +} +extern "C" { + pub fn CreateStreamOnHGlobal( + hGlobal: HGLOBAL, + fDeleteOnRelease: BOOL, + ppstm: *mut LPSTREAM, + ) -> HRESULT; +} +extern "C" { + pub fn GetHGlobalFromStream(pstm: LPSTREAM, phglobal: *mut HGLOBAL) -> HRESULT; +} +extern "C" { + pub fn CoUninitialize(); +} +extern "C" { + pub fn CoGetCurrentProcess() -> DWORD; +} +extern "C" { + pub fn CoInitializeEx(pvReserved: LPVOID, dwCoInit: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoGetCallerTID(lpdwTID: LPDWORD) -> HRESULT; +} +extern "C" { + pub fn CoGetCurrentLogicalThreadId(pguid: *mut GUID) -> HRESULT; +} +extern "C" { + pub fn CoGetContextToken(pToken: *mut ULONG_PTR) -> HRESULT; +} +extern "C" { + pub fn CoGetDefaultContext( + aptType: APTTYPE, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetApartmentType( + pAptType: *mut APTTYPE, + pAptQualifier: *mut APTTYPEQUALIFIER, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagServerInformation { + pub dwServerPid: DWORD, + pub dwServerTid: DWORD, + pub ui64ServerAddress: UINT64, +} +#[test] +fn bindgen_test_layout_tagServerInformation() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagServerInformation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagServerInformation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServerPid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagServerInformation), + "::", + stringify!(dwServerPid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServerTid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagServerInformation), + "::", + stringify!(dwServerTid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ui64ServerAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagServerInformation), + "::", + stringify!(ui64ServerAddress) + ) + ); +} +pub type ServerInformation = tagServerInformation; +pub type PServerInformation = *mut tagServerInformation; +extern "C" { + pub fn CoDecodeProxy( + dwClientPid: DWORD, + ui64ProxyAddress: UINT64, + pServerInformation: PServerInformation, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CO_MTA_USAGE_COOKIE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_CO_MTA_USAGE_COOKIE__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(CO_MTA_USAGE_COOKIE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(CO_MTA_USAGE_COOKIE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CO_MTA_USAGE_COOKIE__), + "::", + stringify!(unused) + ) + ); +} +pub type CO_MTA_USAGE_COOKIE = *mut CO_MTA_USAGE_COOKIE__; +extern "C" { + pub fn CoIncrementMTAUsage(pCookie: *mut CO_MTA_USAGE_COOKIE) -> HRESULT; +} +extern "C" { + pub fn CoDecrementMTAUsage(Cookie: CO_MTA_USAGE_COOKIE) -> HRESULT; +} +extern "C" { + pub fn CoAllowUnmarshalerCLSID(clsid: *const IID) -> HRESULT; +} +extern "C" { + pub fn CoGetObjectContext(riid: *const IID, ppv: *mut LPVOID) -> HRESULT; +} +extern "C" { + pub fn CoGetClassObject( + rclsid: *const IID, + dwClsContext: DWORD, + pvReserved: LPVOID, + riid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn CoRegisterClassObject( + rclsid: *const IID, + pUnk: LPUNKNOWN, + dwClsContext: DWORD, + flags: DWORD, + lpdwRegister: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoRevokeClassObject(dwRegister: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoResumeClassObjects() -> HRESULT; +} +extern "C" { + pub fn CoSuspendClassObjects() -> HRESULT; +} +extern "C" { + pub fn CoAddRefServerProcess() -> ULONG; +} +extern "C" { + pub fn CoReleaseServerProcess() -> ULONG; +} +extern "C" { + pub fn CoGetPSClsid(riid: *const IID, pClsid: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn CoRegisterPSClsid(riid: *const IID, rclsid: *const IID) -> HRESULT; +} +extern "C" { + pub fn CoRegisterSurrogate(pSurrogate: LPSURROGATE) -> HRESULT; +} +extern "C" { + pub fn CoGetMarshalSizeMax( + pulSize: *mut ULONG, + riid: *const IID, + pUnk: LPUNKNOWN, + dwDestContext: DWORD, + pvDestContext: LPVOID, + mshlflags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoMarshalInterface( + pStm: LPSTREAM, + riid: *const IID, + pUnk: LPUNKNOWN, + dwDestContext: DWORD, + pvDestContext: LPVOID, + mshlflags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoUnmarshalInterface(pStm: LPSTREAM, riid: *const IID, ppv: *mut LPVOID) -> HRESULT; +} +extern "C" { + pub fn CoMarshalHresult(pstm: LPSTREAM, hresult: HRESULT) -> HRESULT; +} +extern "C" { + pub fn CoUnmarshalHresult(pstm: LPSTREAM, phresult: *mut HRESULT) -> HRESULT; +} +extern "C" { + pub fn CoReleaseMarshalData(pStm: LPSTREAM) -> HRESULT; +} +extern "C" { + pub fn CoDisconnectObject(pUnk: LPUNKNOWN, dwReserved: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoLockObjectExternal(pUnk: LPUNKNOWN, fLock: BOOL, fLastUnlockReleases: BOOL) + -> HRESULT; +} +extern "C" { + pub fn CoGetStandardMarshal( + riid: *const IID, + pUnk: LPUNKNOWN, + dwDestContext: DWORD, + pvDestContext: LPVOID, + mshlflags: DWORD, + ppMarshal: *mut LPMARSHAL, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetStdMarshalEx( + pUnkOuter: LPUNKNOWN, + smexflags: DWORD, + ppUnkInner: *mut LPUNKNOWN, + ) -> HRESULT; +} +pub const tagSTDMSHLFLAGS_SMEXF_SERVER: tagSTDMSHLFLAGS = 1; +pub const tagSTDMSHLFLAGS_SMEXF_HANDLER: tagSTDMSHLFLAGS = 2; +pub type tagSTDMSHLFLAGS = ::std::os::raw::c_int; +pub use self::tagSTDMSHLFLAGS as STDMSHLFLAGS; +extern "C" { + pub fn CoIsHandlerConnected(pUnk: LPUNKNOWN) -> BOOL; +} +extern "C" { + pub fn CoMarshalInterThreadInterfaceInStream( + riid: *const IID, + pUnk: LPUNKNOWN, + ppStm: *mut LPSTREAM, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetInterfaceAndReleaseStream( + pStm: LPSTREAM, + iid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn CoCreateFreeThreadedMarshaler( + punkOuter: LPUNKNOWN, + ppunkMarshal: *mut LPUNKNOWN, + ) -> HRESULT; +} +extern "C" { + pub fn CoFreeUnusedLibraries(); +} +extern "C" { + pub fn CoFreeUnusedLibrariesEx(dwUnloadDelay: DWORD, dwReserved: DWORD); +} +extern "C" { + pub fn CoDisconnectContext(dwTimeout: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoInitializeSecurity( + pSecDesc: PSECURITY_DESCRIPTOR, + cAuthSvc: LONG, + asAuthSvc: *mut SOLE_AUTHENTICATION_SERVICE, + pReserved1: *mut ::std::os::raw::c_void, + dwAuthnLevel: DWORD, + dwImpLevel: DWORD, + pAuthList: *mut ::std::os::raw::c_void, + dwCapabilities: DWORD, + pReserved3: *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetCallContext( + riid: *const IID, + ppInterface: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn CoQueryProxyBlanket( + pProxy: *mut IUnknown, + pwAuthnSvc: *mut DWORD, + pAuthzSvc: *mut DWORD, + pServerPrincName: *mut LPOLESTR, + pAuthnLevel: *mut DWORD, + pImpLevel: *mut DWORD, + pAuthInfo: *mut RPC_AUTH_IDENTITY_HANDLE, + pCapabilites: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoSetProxyBlanket( + pProxy: *mut IUnknown, + dwAuthnSvc: DWORD, + dwAuthzSvc: DWORD, + pServerPrincName: *mut OLECHAR, + dwAuthnLevel: DWORD, + dwImpLevel: DWORD, + pAuthInfo: RPC_AUTH_IDENTITY_HANDLE, + dwCapabilities: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoCopyProxy(pProxy: *mut IUnknown, ppCopy: *mut *mut IUnknown) -> HRESULT; +} +extern "C" { + pub fn CoQueryClientBlanket( + pAuthnSvc: *mut DWORD, + pAuthzSvc: *mut DWORD, + pServerPrincName: *mut LPOLESTR, + pAuthnLevel: *mut DWORD, + pImpLevel: *mut DWORD, + pPrivs: *mut RPC_AUTHZ_HANDLE, + pCapabilities: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoImpersonateClient() -> HRESULT; +} +extern "C" { + pub fn CoRevertToSelf() -> HRESULT; +} +extern "C" { + pub fn CoQueryAuthenticationServices( + pcAuthSvc: *mut DWORD, + asAuthSvc: *mut *mut SOLE_AUTHENTICATION_SERVICE, + ) -> HRESULT; +} +extern "C" { + pub fn CoSwitchCallContext( + pNewObject: *mut IUnknown, + ppOldObject: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn CoCreateInstance( + rclsid: *const IID, + pUnkOuter: LPUNKNOWN, + dwClsContext: DWORD, + riid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn CoCreateInstanceEx( + Clsid: *const IID, + punkOuter: *mut IUnknown, + dwClsCtx: DWORD, + pServerInfo: *mut COSERVERINFO, + dwCount: DWORD, + pResults: *mut MULTI_QI, + ) -> HRESULT; +} +extern "C" { + pub fn CoCreateInstanceFromApp( + Clsid: *const IID, + punkOuter: *mut IUnknown, + dwClsCtx: DWORD, + reserved: PVOID, + dwCount: DWORD, + pResults: *mut MULTI_QI, + ) -> HRESULT; +} +extern "C" { + pub fn CoRegisterActivationFilter(pActivationFilter: *mut IActivationFilter) -> HRESULT; +} +extern "C" { + pub fn CoGetCancelObject( + dwThreadId: DWORD, + iid: *const IID, + ppUnk: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn CoSetCancelObject(pUnk: *mut IUnknown) -> HRESULT; +} +extern "C" { + pub fn CoCancelCall(dwThreadId: DWORD, ulTimeout: ULONG) -> HRESULT; +} +extern "C" { + pub fn CoTestCancel() -> HRESULT; +} +extern "C" { + pub fn CoEnableCallCancellation(pReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn CoDisableCallCancellation(pReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn StringFromCLSID(rclsid: *const IID, lplpsz: *mut LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn CLSIDFromString(lpsz: LPCOLESTR, pclsid: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn StringFromIID(rclsid: *const IID, lplpsz: *mut LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn IIDFromString(lpsz: LPCOLESTR, lpiid: LPIID) -> HRESULT; +} +extern "C" { + pub fn ProgIDFromCLSID(clsid: *const IID, lplpszProgID: *mut LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn CLSIDFromProgID(lpszProgID: LPCOLESTR, lpclsid: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn StringFromGUID2( + rguid: *const GUID, + lpsz: LPOLESTR, + cchMax: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn CoCreateGuid(pguid: *mut GUID) -> HRESULT; +} +pub type PROPVARIANT = tagPROPVARIANT; +extern "C" { + pub fn PropVariantCopy(pvarDest: *mut PROPVARIANT, pvarSrc: *const PROPVARIANT) -> HRESULT; +} +extern "C" { + pub fn PropVariantClear(pvar: *mut PROPVARIANT) -> HRESULT; +} +extern "C" { + pub fn FreePropVariantArray(cVariants: ULONG, rgvars: *mut PROPVARIANT) -> HRESULT; +} +extern "C" { + pub fn CoWaitForMultipleHandles( + dwFlags: DWORD, + dwTimeout: DWORD, + cHandles: ULONG, + pHandles: LPHANDLE, + lpdwindex: LPDWORD, + ) -> HRESULT; +} +pub const tagCOWAIT_FLAGS_COWAIT_DEFAULT: tagCOWAIT_FLAGS = 0; +pub const tagCOWAIT_FLAGS_COWAIT_WAITALL: tagCOWAIT_FLAGS = 1; +pub const tagCOWAIT_FLAGS_COWAIT_ALERTABLE: tagCOWAIT_FLAGS = 2; +pub const tagCOWAIT_FLAGS_COWAIT_INPUTAVAILABLE: tagCOWAIT_FLAGS = 4; +pub const tagCOWAIT_FLAGS_COWAIT_DISPATCH_CALLS: tagCOWAIT_FLAGS = 8; +pub const tagCOWAIT_FLAGS_COWAIT_DISPATCH_WINDOW_MESSAGES: tagCOWAIT_FLAGS = 16; +pub type tagCOWAIT_FLAGS = ::std::os::raw::c_int; +pub use self::tagCOWAIT_FLAGS as COWAIT_FLAGS; +pub const CWMO_FLAGS_CWMO_DEFAULT: CWMO_FLAGS = 0; +pub const CWMO_FLAGS_CWMO_DISPATCH_CALLS: CWMO_FLAGS = 1; +pub const CWMO_FLAGS_CWMO_DISPATCH_WINDOW_MESSAGES: CWMO_FLAGS = 2; +pub type CWMO_FLAGS = ::std::os::raw::c_int; +extern "C" { + pub fn CoWaitForMultipleObjects( + dwFlags: DWORD, + dwTimeout: DWORD, + cHandles: ULONG, + pHandles: *const HANDLE, + lpdwindex: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetTreatAsClass(clsidOld: *const IID, pClsidNew: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn CoInvalidateRemoteMachineBindings(pszMachineName: LPOLESTR) -> HRESULT; +} +pub const AgileReferenceOptions_AGILEREFERENCE_DEFAULT: AgileReferenceOptions = 0; +pub const AgileReferenceOptions_AGILEREFERENCE_DELAYEDMARSHAL: AgileReferenceOptions = 1; +pub type AgileReferenceOptions = ::std::os::raw::c_int; +extern "C" { + pub fn RoGetAgileReference( + options: AgileReferenceOptions, + riid: *const IID, + pUnk: *mut IUnknown, + ppAgileReference: *mut *mut IAgileReference, + ) -> HRESULT; +} +pub type LPFNGETCLASSOBJECT = ::std::option::Option< + unsafe extern "C" fn(arg1: *const IID, arg2: *const IID, arg3: *mut LPVOID) -> HRESULT, +>; +pub type LPFNCANUNLOADNOW = ::std::option::Option HRESULT>; +extern "C" { + pub fn DllGetClassObject(rclsid: *const IID, riid: *const IID, ppv: *mut LPVOID) -> HRESULT; +} +extern "C" { + pub fn DllCanUnloadNow() -> HRESULT; +} +extern "C" { + pub fn CoTaskMemAlloc(cb: SIZE_T) -> LPVOID; +} +extern "C" { + pub fn CoTaskMemRealloc(pv: LPVOID, cb: SIZE_T) -> LPVOID; +} +extern "C" { + pub fn CoTaskMemFree(pv: LPVOID); +} +extern "C" { + pub fn CoFileTimeNow(lpFileTime: *mut FILETIME) -> HRESULT; +} +extern "C" { + pub fn CLSIDFromProgIDEx(lpszProgID: LPCOLESTR, lpclsid: LPCLSID) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CO_DEVICE_CATALOG_COOKIE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_CO_DEVICE_CATALOG_COOKIE__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(CO_DEVICE_CATALOG_COOKIE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(CO_DEVICE_CATALOG_COOKIE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CO_DEVICE_CATALOG_COOKIE__), + "::", + stringify!(unused) + ) + ); +} +pub type CO_DEVICE_CATALOG_COOKIE = *mut CO_DEVICE_CATALOG_COOKIE__; +extern "C" { + pub fn CoRegisterDeviceCatalog( + deviceInstanceId: PCWSTR, + cookie: *mut CO_DEVICE_CATALOG_COOKIE, + ) -> HRESULT; +} +extern "C" { + pub fn CoRevokeDeviceCatalog(cookie: CO_DEVICE_CATALOG_COOKIE) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0002_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0002_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_unknwn_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0053_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0053_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPMALLOCSPY = *mut IMallocSpy; +extern "C" { + pub static IID_IMallocSpy: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMallocSpyVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub PreAlloc: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMallocSpy, cbRequest: SIZE_T) -> SIZE_T, + >, + pub PostAlloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pActual: *mut ::std::os::raw::c_void, + ) -> *mut ::std::os::raw::c_void, + >, + pub PreFree: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> *mut ::std::os::raw::c_void, + >, + pub PostFree: ::std::option::Option, + pub PreRealloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + cbRequest: SIZE_T, + ppNewRequest: *mut *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> SIZE_T, + >, + pub PostRealloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pActual: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> *mut ::std::os::raw::c_void, + >, + pub PreGetSize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> *mut ::std::os::raw::c_void, + >, + pub PostGetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMallocSpy, cbActual: SIZE_T, fSpyed: BOOL) -> SIZE_T, + >, + pub PreDidAlloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + ) -> *mut ::std::os::raw::c_void, + >, + pub PostDidAlloc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMallocSpy, + pRequest: *mut ::std::os::raw::c_void, + fSpyed: BOOL, + fActual: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int, + >, + pub PreHeapMinimize: ::std::option::Option, + pub PostHeapMinimize: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IMallocSpyVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IMallocSpyVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMallocSpyVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreAlloc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostAlloc) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreFree) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostFree) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreRealloc) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreRealloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostRealloc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostRealloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreGetSize) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreGetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostGetSize) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostGetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreDidAlloc) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreDidAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostDidAlloc) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostDidAlloc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreHeapMinimize) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PreHeapMinimize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostHeapMinimize) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpyVtbl), + "::", + stringify!(PostHeapMinimize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMallocSpy { + pub lpVtbl: *mut IMallocSpyVtbl, +} +#[test] +fn bindgen_test_layout_IMallocSpy() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMallocSpy)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMallocSpy)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMallocSpy), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0054_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0054_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBC = *mut IBindCtx; +pub type LPBINDCTX = *mut IBindCtx; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBIND_OPTS { + pub cbStruct: DWORD, + pub grfFlags: DWORD, + pub grfMode: DWORD, + pub dwTickCountDeadline: DWORD, +} +#[test] +fn bindgen_test_layout_tagBIND_OPTS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagBIND_OPTS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagBIND_OPTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS), + "::", + stringify!(grfMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTickCountDeadline) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS), + "::", + stringify!(dwTickCountDeadline) + ) + ); +} +pub type BIND_OPTS = tagBIND_OPTS; +pub type LPBIND_OPTS = *mut tagBIND_OPTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBIND_OPTS2 { + pub cbStruct: DWORD, + pub grfFlags: DWORD, + pub grfMode: DWORD, + pub dwTickCountDeadline: DWORD, + pub dwTrackFlags: DWORD, + pub dwClassContext: DWORD, + pub locale: LCID, + pub pServerInfo: *mut COSERVERINFO, +} +#[test] +fn bindgen_test_layout_tagBIND_OPTS2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagBIND_OPTS2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBIND_OPTS2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(grfMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTickCountDeadline) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(dwTickCountDeadline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTrackFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(dwTrackFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwClassContext) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(dwClassContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).locale) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(locale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS2), + "::", + stringify!(pServerInfo) + ) + ); +} +pub type BIND_OPTS2 = tagBIND_OPTS2; +pub type LPBIND_OPTS2 = *mut tagBIND_OPTS2; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagBIND_OPTS3 { + pub cbStruct: DWORD, + pub grfFlags: DWORD, + pub grfMode: DWORD, + pub dwTickCountDeadline: DWORD, + pub dwTrackFlags: DWORD, + pub dwClassContext: DWORD, + pub locale: LCID, + pub pServerInfo: *mut COSERVERINFO, + pub hwnd: HWND, +} +#[test] +fn bindgen_test_layout_tagBIND_OPTS3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(tagBIND_OPTS3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBIND_OPTS3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbStruct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(cbStruct) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(grfMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTickCountDeadline) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(dwTickCountDeadline) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTrackFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(dwTrackFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwClassContext) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(dwClassContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).locale) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(locale) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pServerInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(pServerInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwnd) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagBIND_OPTS3), + "::", + stringify!(hwnd) + ) + ); +} +pub type BIND_OPTS3 = tagBIND_OPTS3; +pub type LPBIND_OPTS3 = *mut tagBIND_OPTS3; +pub const tagBIND_FLAGS_BIND_MAYBOTHERUSER: tagBIND_FLAGS = 1; +pub const tagBIND_FLAGS_BIND_JUSTTESTEXISTENCE: tagBIND_FLAGS = 2; +pub type tagBIND_FLAGS = ::std::os::raw::c_int; +pub use self::tagBIND_FLAGS as BIND_FLAGS; +extern "C" { + pub static IID_IBindCtx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindCtxVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindCtx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub RegisterObjectBound: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, punk: *mut IUnknown) -> HRESULT, + >, + pub RevokeObjectBound: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, punk: *mut IUnknown) -> HRESULT, + >, + pub ReleaseBoundObjects: + ::std::option::Option HRESULT>, + pub SetBindOptions: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) -> HRESULT, + >, + pub GetBindOptions: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) -> HRESULT, + >, + pub GetRunningObjectTable: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pprot: *mut *mut IRunningObjectTable) -> HRESULT, + >, + pub RegisterObjectParam: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pszKey: LPOLESTR, punk: *mut IUnknown) -> HRESULT, + >, + pub GetObjectParam: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindCtx, + pszKey: LPOLESTR, + ppunk: *mut *mut IUnknown, + ) -> HRESULT, + >, + pub EnumObjectParam: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, ppenum: *mut *mut IEnumString) -> HRESULT, + >, + pub RevokeObjectParam: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindCtx, pszKey: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindCtxVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(IBindCtxVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindCtxVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterObjectBound) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(RegisterObjectBound) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevokeObjectBound) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(RevokeObjectBound) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseBoundObjects) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(ReleaseBoundObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetBindOptions) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(SetBindOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindOptions) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(GetBindOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRunningObjectTable) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(GetRunningObjectTable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterObjectParam) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(RegisterObjectParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetObjectParam) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(GetObjectParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumObjectParam) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(EnumObjectParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RevokeObjectParam) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IBindCtxVtbl), + "::", + stringify!(RevokeObjectParam) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindCtx { + pub lpVtbl: *mut IBindCtxVtbl, +} +#[test] +fn bindgen_test_layout_IBindCtx() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindCtx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindCtx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindCtx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBindCtx_RemoteSetBindOptions_Proxy( + This: *mut IBindCtx, + pbindopts: *mut BIND_OPTS2, + ) -> HRESULT; +} +extern "C" { + pub fn IBindCtx_RemoteSetBindOptions_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IBindCtx_RemoteGetBindOptions_Proxy( + This: *mut IBindCtx, + pbindopts: *mut BIND_OPTS2, + ) -> HRESULT; +} +extern "C" { + pub fn IBindCtx_RemoteGetBindOptions_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMMONIKER = *mut IEnumMoniker; +extern "C" { + pub static IID_IEnumMoniker: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumMonikerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumMoniker, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumMoniker, + celt: ULONG, + rgelt: *mut *mut IMoniker, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumMoniker, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumMoniker, ppenum: *mut *mut IEnumMoniker) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumMonikerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumMonikerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumMonikerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumMonikerVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumMoniker { + pub lpVtbl: *mut IEnumMonikerVtbl, +} +#[test] +fn bindgen_test_layout_IEnumMoniker() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumMoniker)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumMoniker)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumMoniker), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumMoniker_RemoteNext_Proxy( + This: *mut IEnumMoniker, + celt: ULONG, + rgelt: *mut *mut IMoniker, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumMoniker_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0056_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0056_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPRUNNABLEOBJECT = *mut IRunnableObject; +extern "C" { + pub static IID_IRunnableObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRunnableObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunnableObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetRunningClass: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRunnableObject, lpClsid: LPCLSID) -> HRESULT, + >, + pub Run: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRunnableObject, pbc: LPBINDCTX) -> HRESULT, + >, + pub IsRunning: ::std::option::Option BOOL>, + pub LockRunning: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunnableObject, + fLock: BOOL, + fLastUnlockCloses: BOOL, + ) -> HRESULT, + >, + pub SetContainedObject: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRunnableObject, fContained: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRunnableObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IRunnableObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRunnableObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRunningClass) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(GetRunningClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Run) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(Run) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsRunning) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(IsRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRunning) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(LockRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetContainedObject) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObjectVtbl), + "::", + stringify!(SetContainedObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRunnableObject { + pub lpVtbl: *mut IRunnableObjectVtbl, +} +#[test] +fn bindgen_test_layout_IRunnableObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRunnableObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRunnableObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRunnableObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IRunnableObject_RemoteIsRunning_Proxy(This: *mut IRunnableObject) -> HRESULT; +} +extern "C" { + pub fn IRunnableObject_RemoteIsRunning_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPRUNNINGOBJECTTABLE = *mut IRunningObjectTable; +extern "C" { + pub static IID_IRunningObjectTable: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRunningObjectTableVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Register: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + grfFlags: DWORD, + punkObject: *mut IUnknown, + pmkObjectName: *mut IMoniker, + pdwRegister: *mut DWORD, + ) -> HRESULT, + >, + pub Revoke: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRunningObjectTable, dwRegister: DWORD) -> HRESULT, + >, + pub IsRunning: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + pmkObjectName: *mut IMoniker, + ) -> HRESULT, + >, + pub GetObjectA: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + pmkObjectName: *mut IMoniker, + ppunkObject: *mut *mut IUnknown, + ) -> HRESULT, + >, + pub NoteChangeTime: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + dwRegister: DWORD, + pfiletime: *mut FILETIME, + ) -> HRESULT, + >, + pub GetTimeOfLastChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + pmkObjectName: *mut IMoniker, + pfiletime: *mut FILETIME, + ) -> HRESULT, + >, + pub EnumRunning: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRunningObjectTable, + ppenumMoniker: *mut *mut IEnumMoniker, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRunningObjectTableVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IRunningObjectTableVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRunningObjectTableVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Register) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(Register) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revoke) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(Revoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsRunning) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(IsRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetObjectA) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(GetObjectA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NoteChangeTime) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(NoteChangeTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTimeOfLastChange) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(GetTimeOfLastChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumRunning) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTableVtbl), + "::", + stringify!(EnumRunning) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRunningObjectTable { + pub lpVtbl: *mut IRunningObjectTableVtbl, +} +#[test] +fn bindgen_test_layout_IRunningObjectTable() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRunningObjectTable)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRunningObjectTable)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRunningObjectTable), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0058_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0058_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPPERSIST = *mut IPersist; +extern "C" { + pub static IID_IPersist: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersist, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersist, pClassID: *mut CLSID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPersistVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IPersistVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistVtbl), + "::", + stringify!(GetClassID) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersist { + pub lpVtbl: *mut IPersistVtbl, +} +#[test] +fn bindgen_test_layout_IPersist() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersist)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersist)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersist), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPERSISTSTREAM = *mut IPersistStream; +extern "C" { + pub static IID_IPersistStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStream, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub Load: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStream, pStm: *mut IStream) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistStream, + pStm: *mut IStream, + fClearDirty: BOOL, + ) -> HRESULT, + >, + pub GetSizeMax: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStream, pcbSize: *mut ULARGE_INTEGER) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPersistStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IPersistStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSizeMax) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPersistStreamVtbl), + "::", + stringify!(GetSizeMax) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistStream { + pub lpVtbl: *mut IPersistStreamVtbl, +} +#[test] +fn bindgen_test_layout_IPersistStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersistStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistStream), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMONIKER = *mut IMoniker; +pub const tagMKSYS_MKSYS_NONE: tagMKSYS = 0; +pub const tagMKSYS_MKSYS_GENERICCOMPOSITE: tagMKSYS = 1; +pub const tagMKSYS_MKSYS_FILEMONIKER: tagMKSYS = 2; +pub const tagMKSYS_MKSYS_ANTIMONIKER: tagMKSYS = 3; +pub const tagMKSYS_MKSYS_ITEMMONIKER: tagMKSYS = 4; +pub const tagMKSYS_MKSYS_POINTERMONIKER: tagMKSYS = 5; +pub const tagMKSYS_MKSYS_CLASSMONIKER: tagMKSYS = 7; +pub const tagMKSYS_MKSYS_OBJREFMONIKER: tagMKSYS = 8; +pub const tagMKSYS_MKSYS_SESSIONMONIKER: tagMKSYS = 9; +pub const tagMKSYS_MKSYS_LUAMONIKER: tagMKSYS = 10; +pub type tagMKSYS = ::std::os::raw::c_int; +pub use self::tagMKSYS as MKSYS; +pub const tagMKREDUCE_MKRREDUCE_ONE: tagMKREDUCE = 196608; +pub const tagMKREDUCE_MKRREDUCE_TOUSER: tagMKREDUCE = 131072; +pub const tagMKREDUCE_MKRREDUCE_THROUGHUSER: tagMKREDUCE = 65536; +pub const tagMKREDUCE_MKRREDUCE_ALL: tagMKREDUCE = 0; +pub type tagMKREDUCE = ::std::os::raw::c_int; +pub use self::tagMKREDUCE as MKRREDUCE; +extern "C" { + pub static IID_IMoniker: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMonikerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub Load: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pStm: *mut IStream) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pStm: *mut IStream, fClearDirty: BOOL) -> HRESULT, + >, + pub GetSizeMax: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pcbSize: *mut ULARGE_INTEGER) -> HRESULT, + >, + pub BindToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riidResult: *const IID, + ppvResult: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub BindToStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub Reduce: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + dwReduceHowFar: DWORD, + ppmkToLeft: *mut *mut IMoniker, + ppmkReduced: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub ComposeWith: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pmkRight: *mut IMoniker, + fOnlyIfNotGeneric: BOOL, + ppmkComposite: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub Enum: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + fForward: BOOL, + ppenumMoniker: *mut *mut IEnumMoniker, + ) -> HRESULT, + >, + pub IsEqual: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pmkOtherMoniker: *mut IMoniker) -> HRESULT, + >, + pub Hash: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pdwHash: *mut DWORD) -> HRESULT, + >, + pub IsRunning: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + pmkNewlyRunning: *mut IMoniker, + ) -> HRESULT, + >, + pub GetTimeOfLastChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + pFileTime: *mut FILETIME, + ) -> HRESULT, + >, + pub Inverse: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, ppmk: *mut *mut IMoniker) -> HRESULT, + >, + pub CommonPrefixWith: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pmkOther: *mut IMoniker, + ppmkPrefix: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub RelativePathTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pmkOther: *mut IMoniker, + ppmkRelPath: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub GetDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + ppszDisplayName: *mut LPOLESTR, + ) -> HRESULT, + >, + pub ParseDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + pszDisplayName: LPOLESTR, + pchEaten: *mut ULONG, + ppmkOut: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub IsSystemMoniker: ::std::option::Option< + unsafe extern "C" fn(This: *mut IMoniker, pdwMksys: *mut DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMonikerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 184usize, + concat!("Size of: ", stringify!(IMonikerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMonikerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSizeMax) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(GetSizeMax) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindToObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(BindToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindToStorage) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(BindToStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reduce) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Reduce) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ComposeWith) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(ComposeWith) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enum) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Enum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsEqual) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(IsEqual) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Hash) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Hash) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsRunning) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(IsRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTimeOfLastChange) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(GetTimeOfLastChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Inverse) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(Inverse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommonPrefixWith) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(CommonPrefixWith) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RelativePathTo) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(RelativePathTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDisplayName) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(GetDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseDisplayName) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(ParseDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsSystemMoniker) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IMonikerVtbl), + "::", + stringify!(IsSystemMoniker) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMoniker { + pub lpVtbl: *mut IMonikerVtbl, +} +#[test] +fn bindgen_test_layout_IMoniker() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMoniker)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMoniker)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMoniker), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IMoniker_RemoteBindToObject_Proxy( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riidResult: *const IID, + ppvResult: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_RemoteBindToObject_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IMoniker_RemoteBindToStorage_Proxy( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_RemoteBindToStorage_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0061_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0061_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IROTData: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IROTDataVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IROTData, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetComparisonData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IROTData, + pbData: *mut byte, + cbMax: ULONG, + pcbData: *mut ULONG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IROTDataVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IROTDataVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IROTDataVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IROTDataVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IROTDataVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IROTDataVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetComparisonData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IROTDataVtbl), + "::", + stringify!(GetComparisonData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IROTData { + pub lpVtbl: *mut IROTDataVtbl, +} +#[test] +fn bindgen_test_layout_IROTData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IROTData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IROTData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IROTData), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0062_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0062_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPENUMSTATSTG = *mut IEnumSTATSTG; +extern "C" { + pub static IID_IEnumSTATSTG: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATSTGVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATSTG, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATSTG, + celt: ULONG, + rgelt: *mut STATSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATSTG, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATSTG, ppenum: *mut *mut IEnumSTATSTG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumSTATSTGVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumSTATSTGVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATSTGVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTGVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATSTG { + pub lpVtbl: *mut IEnumSTATSTGVtbl, +} +#[test] +fn bindgen_test_layout_IEnumSTATSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumSTATSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATSTG), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumSTATSTG_RemoteNext_Proxy( + This: *mut IEnumSTATSTG, + celt: ULONG, + rgelt: *mut STATSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATSTG_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPSTORAGE = *mut IStorage; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemSNB { + pub ulCntStr: ULONG, + pub ulCntChar: ULONG, + pub rgString: [OLECHAR; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemSNB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(tagRemSNB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemSNB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulCntStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemSNB), + "::", + stringify!(ulCntStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulCntChar) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemSNB), + "::", + stringify!(ulCntChar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgString) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemSNB), + "::", + stringify!(rgString) + ) + ); +} +pub type RemSNB = tagRemSNB; +pub type wireSNB = *mut RemSNB; +pub type SNB = *mut LPOLESTR; +extern "C" { + pub static IID_IStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateStream: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + grfMode: DWORD, + reserved1: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT, + >, + pub OpenStream: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + reserved1: *mut ::std::os::raw::c_void, + grfMode: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT, + >, + pub CreateStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + grfMode: DWORD, + reserved1: DWORD, + reserved2: DWORD, + ppstg: *mut *mut IStorage, + ) -> HRESULT, + >, + pub OpenStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + pstgPriority: *mut IStorage, + grfMode: DWORD, + snbExclude: SNB, + reserved: DWORD, + ppstg: *mut *mut IStorage, + ) -> HRESULT, + >, + pub CopyTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + ciidExclude: DWORD, + rgiidExclude: *const IID, + snbExclude: SNB, + pstgDest: *mut IStorage, + ) -> HRESULT, + >, + pub MoveElementTo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + pstgDest: *mut IStorage, + pwcsNewName: *const OLECHAR, + grfFlags: DWORD, + ) -> HRESULT, + >, + pub Commit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStorage, grfCommitFlags: DWORD) -> HRESULT, + >, + pub Revert: ::std::option::Option HRESULT>, + pub EnumElements: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + reserved1: DWORD, + reserved2: *mut ::std::os::raw::c_void, + reserved3: DWORD, + ppenum: *mut *mut IEnumSTATSTG, + ) -> HRESULT, + >, + pub DestroyElement: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStorage, pwcsName: *const OLECHAR) -> HRESULT, + >, + pub RenameElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsOldName: *const OLECHAR, + pwcsNewName: *const OLECHAR, + ) -> HRESULT, + >, + pub SetElementTimes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pwcsName: *const OLECHAR, + pctime: *const FILETIME, + patime: *const FILETIME, + pmtime: *const FILETIME, + ) -> HRESULT, + >, + pub SetClass: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStorage, clsid: *const IID) -> HRESULT, + >, + pub SetStateBits: ::std::option::Option< + unsafe extern "C" fn(This: *mut IStorage, grfStateBits: DWORD, grfMask: DWORD) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IStorage, + pstatstg: *mut STATSTG, + grfStatFlag: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 144usize, + concat!("Size of: ", stringify!(IStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateStream) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(CreateStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpenStream) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(OpenStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateStorage) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(CreateStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpenStorage) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(OpenStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTo) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(CopyTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MoveElementTo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(MoveElementTo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Commit) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(Commit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revert) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(Revert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumElements) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(EnumElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestroyElement) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(DestroyElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RenameElement) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(RenameElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetElementTimes) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(SetElementTimes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetClass) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(SetClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetStateBits) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(SetStateBits) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IStorageVtbl), + "::", + stringify!(Stat) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IStorage { + pub lpVtbl: *mut IStorageVtbl, +} +#[test] +fn bindgen_test_layout_IStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IStorage_RemoteOpenStream_Proxy( + This: *mut IStorage, + pwcsName: *const OLECHAR, + cbReserved1: ULONG, + reserved1: *mut byte, + grfMode: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_RemoteOpenStream_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IStorage_RemoteCopyTo_Proxy( + This: *mut IStorage, + ciidExclude: DWORD, + rgiidExclude: *const IID, + snbExclude: SNB, + pstgDest: *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_RemoteCopyTo_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IStorage_RemoteEnumElements_Proxy( + This: *mut IStorage, + reserved1: DWORD, + cbReserved2: ULONG, + reserved2: *mut byte, + reserved3: DWORD, + ppenum: *mut *mut IEnumSTATSTG, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_RemoteEnumElements_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0064_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0064_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPPERSISTFILE = *mut IPersistFile; +extern "C" { + pub static IID_IPersistFile: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistFileVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistFile, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistFile, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub Load: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistFile, + pszFileName: LPCOLESTR, + dwMode: DWORD, + ) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistFile, + pszFileName: LPCOLESTR, + fRemember: BOOL, + ) -> HRESULT, + >, + pub SaveCompleted: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistFile, pszFileName: LPCOLESTR) -> HRESULT, + >, + pub GetCurFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistFile, ppszFileName: *mut LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPersistFileVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IPersistFileVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistFileVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveCompleted) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(SaveCompleted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurFile) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IPersistFileVtbl), + "::", + stringify!(GetCurFile) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistFile { + pub lpVtbl: *mut IPersistFileVtbl, +} +#[test] +fn bindgen_test_layout_IPersistFile() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersistFile)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistFile)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistFile), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPERSISTSTORAGE = *mut IPersistStorage; +extern "C" { + pub static IID_IPersistStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStorage, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub InitNew: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStorage, pStg: *mut IStorage) -> HRESULT, + >, + pub Load: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStorage, pStg: *mut IStorage) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistStorage, + pStgSave: *mut IStorage, + fSameAsLoad: BOOL, + ) -> HRESULT, + >, + pub SaveCompleted: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistStorage, pStgNew: *mut IStorage) -> HRESULT, + >, + pub HandsOffStorage: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IPersistStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IPersistStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitNew) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(InitNew) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveCompleted) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(SaveCompleted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandsOffStorage) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorageVtbl), + "::", + stringify!(HandsOffStorage) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistStorage { + pub lpVtbl: *mut IPersistStorageVtbl, +} +#[test] +fn bindgen_test_layout_IPersistStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersistStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0066_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0066_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPLOCKBYTES = *mut ILockBytes; +extern "C" { + pub static IID_ILockBytes: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ILockBytesVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ReadAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub WriteAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub Flush: ::std::option::Option HRESULT>, + pub SetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut ILockBytes, cb: ULARGE_INTEGER) -> HRESULT, + >, + pub LockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub UnlockRegion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + libOffset: ULARGE_INTEGER, + cb: ULARGE_INTEGER, + dwLockType: DWORD, + ) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILockBytes, + pstatstg: *mut STATSTG, + grfStatFlag: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ILockBytesVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(ILockBytesVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ILockBytesVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadAt) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(ReadAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteAt) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(WriteAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flush) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(Flush) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(SetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRegion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(LockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRegion) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(UnlockRegion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ILockBytesVtbl), + "::", + stringify!(Stat) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ILockBytes { + pub lpVtbl: *mut ILockBytesVtbl, +} +#[test] +fn bindgen_test_layout_ILockBytes() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ILockBytes)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ILockBytes)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ILockBytes), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ILockBytes_RemoteReadAt_Proxy( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *mut byte, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_RemoteReadAt_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ILockBytes_RemoteWriteAt_Proxy( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_RemoteWriteAt_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMFORMATETC = *mut IEnumFORMATETC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDVTARGETDEVICE { + pub tdSize: DWORD, + pub tdDriverNameOffset: WORD, + pub tdDeviceNameOffset: WORD, + pub tdPortNameOffset: WORD, + pub tdExtDevmodeOffset: WORD, + pub tdData: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagDVTARGETDEVICE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagDVTARGETDEVICE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagDVTARGETDEVICE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdDriverNameOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdDriverNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdDeviceNameOffset) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdDeviceNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdPortNameOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdPortNameOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdExtDevmodeOffset) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdExtDevmodeOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdData) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagDVTARGETDEVICE), + "::", + stringify!(tdData) + ) + ); +} +pub type DVTARGETDEVICE = tagDVTARGETDEVICE; +pub type LPCLIPFORMAT = *mut CLIPFORMAT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFORMATETC { + pub cfFormat: CLIPFORMAT, + pub ptd: *mut DVTARGETDEVICE, + pub dwAspect: DWORD, + pub lindex: LONG, + pub tymed: DWORD, +} +#[test] +fn bindgen_test_layout_tagFORMATETC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagFORMATETC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagFORMATETC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptd) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(ptd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAspect) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(dwAspect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lindex) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(lindex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagFORMATETC), + "::", + stringify!(tymed) + ) + ); +} +pub type FORMATETC = tagFORMATETC; +pub type LPFORMATETC = *mut tagFORMATETC; +extern "C" { + pub static IID_IEnumFORMATETC: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumFORMATETCVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumFORMATETC, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumFORMATETC, + celt: ULONG, + rgelt: *mut FORMATETC, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumFORMATETC, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumFORMATETC, + ppenum: *mut *mut IEnumFORMATETC, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumFORMATETCVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumFORMATETCVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumFORMATETCVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETCVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumFORMATETC { + pub lpVtbl: *mut IEnumFORMATETCVtbl, +} +#[test] +fn bindgen_test_layout_IEnumFORMATETC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumFORMATETC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumFORMATETC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumFORMATETC), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumFORMATETC_RemoteNext_Proxy( + This: *mut IEnumFORMATETC, + celt: ULONG, + rgelt: *mut FORMATETC, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumFORMATETC_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMSTATDATA = *mut IEnumSTATDATA; +pub const tagADVF_ADVF_NODATA: tagADVF = 1; +pub const tagADVF_ADVF_PRIMEFIRST: tagADVF = 2; +pub const tagADVF_ADVF_ONLYONCE: tagADVF = 4; +pub const tagADVF_ADVF_DATAONSTOP: tagADVF = 64; +pub const tagADVF_ADVFCACHE_NOHANDLER: tagADVF = 8; +pub const tagADVF_ADVFCACHE_FORCEBUILTIN: tagADVF = 16; +pub const tagADVF_ADVFCACHE_ONSAVE: tagADVF = 32; +pub type tagADVF = ::std::os::raw::c_int; +pub use self::tagADVF as ADVF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTATDATA { + pub formatetc: FORMATETC, + pub advf: DWORD, + pub pAdvSink: *mut IAdviseSink, + pub dwConnection: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTATDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(tagSTATDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTATDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatetc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTATDATA), + "::", + stringify!(formatetc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).advf) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSTATDATA), + "::", + stringify!(advf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pAdvSink) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagSTATDATA), + "::", + stringify!(pAdvSink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwConnection) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagSTATDATA), + "::", + stringify!(dwConnection) + ) + ); +} +pub type STATDATA = tagSTATDATA; +pub type LPSTATDATA = *mut STATDATA; +extern "C" { + pub static IID_IEnumSTATDATA: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATDATAVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATDATA, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATDATA, + celt: ULONG, + rgelt: *mut STATDATA, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATDATA, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATDATA, ppenum: *mut *mut IEnumSTATDATA) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumSTATDATAVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumSTATDATAVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATDATAVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATAVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATDATA { + pub lpVtbl: *mut IEnumSTATDATAVtbl, +} +#[test] +fn bindgen_test_layout_IEnumSTATDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumSTATDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATDATA), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumSTATDATA_RemoteNext_Proxy( + This: *mut IEnumSTATDATA, + celt: ULONG, + rgelt: *mut STATDATA, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATDATA_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPROOTSTORAGE = *mut IRootStorage; +extern "C" { + pub static IID_IRootStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRootStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRootStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SwitchToFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRootStorage, pszFile: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRootStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IRootStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRootStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRootStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRootStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRootStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SwitchToFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRootStorageVtbl), + "::", + stringify!(SwitchToFile) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRootStorage { + pub lpVtbl: *mut IRootStorageVtbl, +} +#[test] +fn bindgen_test_layout_IRootStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRootStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRootStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRootStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPADVISESINK = *mut IAdviseSink; +pub const tagTYMED_TYMED_HGLOBAL: tagTYMED = 1; +pub const tagTYMED_TYMED_FILE: tagTYMED = 2; +pub const tagTYMED_TYMED_ISTREAM: tagTYMED = 4; +pub const tagTYMED_TYMED_ISTORAGE: tagTYMED = 8; +pub const tagTYMED_TYMED_GDI: tagTYMED = 16; +pub const tagTYMED_TYMED_MFPICT: tagTYMED = 32; +pub const tagTYMED_TYMED_ENHMF: tagTYMED = 64; +pub const tagTYMED_TYMED_NULL: tagTYMED = 0; +pub type tagTYMED = ::std::os::raw::c_int; +pub use self::tagTYMED as TYMED; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemSTGMEDIUM { + pub tymed: DWORD, + pub dwHandleType: DWORD, + pub pData: ULONG, + pub pUnkForRelease: ULONG, + pub cbData: ULONG, + pub data: [byte; 1usize], +} +#[test] +fn bindgen_test_layout_tagRemSTGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagRemSTGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemSTGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(tymed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHandleType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(dwHandleType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(pData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnkForRelease) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(pUnkForRelease) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRemSTGMEDIUM), + "::", + stringify!(data) + ) + ); +} +pub type RemSTGMEDIUM = tagRemSTGMEDIUM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagSTGMEDIUM { + pub tymed: DWORD, + pub __bindgen_anon_1: tagSTGMEDIUM__bindgen_ty_1, + pub pUnkForRelease: *mut IUnknown, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagSTGMEDIUM__bindgen_ty_1 { + pub hBitmap: HBITMAP, + pub hMetaFilePict: HMETAFILEPICT, + pub hEnhMetaFile: HENHMETAFILE, + pub hGlobal: HGLOBAL, + pub lpszFileName: LPOLESTR, + pub pstm: *mut IStream, + pub pstg: *mut IStorage, +} +#[test] +fn bindgen_test_layout_tagSTGMEDIUM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSTGMEDIUM__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTGMEDIUM__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hBitmap) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(hBitmap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMetaFilePict) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(hMetaFilePict) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hEnhMetaFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(hEnhMetaFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hGlobal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(hGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszFileName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(lpszFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pstm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(pstm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pstg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM__bindgen_ty_1), + "::", + stringify!(pstg) + ) + ); +} +#[test] +fn bindgen_test_layout_tagSTGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagSTGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM), + "::", + stringify!(tymed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnkForRelease) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSTGMEDIUM), + "::", + stringify!(pUnkForRelease) + ) + ); +} +pub type uSTGMEDIUM = tagSTGMEDIUM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _GDI_OBJECT { + pub ObjectType: DWORD, + pub u: _GDI_OBJECT___MIDL_IAdviseSink_0002, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _GDI_OBJECT___MIDL_IAdviseSink_0002 { + pub hBitmap: wireHBITMAP, + pub hPalette: wireHPALETTE, + pub hGeneric: wireHGLOBAL, +} +#[test] +fn bindgen_test_layout__GDI_OBJECT___MIDL_IAdviseSink_0002() { + const UNINIT: ::std::mem::MaybeUninit<_GDI_OBJECT___MIDL_IAdviseSink_0002> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GDI_OBJECT___MIDL_IAdviseSink_0002>(), + 8usize, + concat!("Size of: ", stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002)) + ); + assert_eq!( + ::std::mem::align_of::<_GDI_OBJECT___MIDL_IAdviseSink_0002>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hBitmap) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002), + "::", + stringify!(hBitmap) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPalette) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002), + "::", + stringify!(hPalette) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hGeneric) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT___MIDL_IAdviseSink_0002), + "::", + stringify!(hGeneric) + ) + ); +} +#[test] +fn bindgen_test_layout__GDI_OBJECT() { + const UNINIT: ::std::mem::MaybeUninit<_GDI_OBJECT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_GDI_OBJECT>(), + 16usize, + concat!("Size of: ", stringify!(_GDI_OBJECT)) + ); + assert_eq!( + ::std::mem::align_of::<_GDI_OBJECT>(), + 8usize, + concat!("Alignment of ", stringify!(_GDI_OBJECT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_GDI_OBJECT), + "::", + stringify!(u) + ) + ); +} +pub type GDI_OBJECT = _GDI_OBJECT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _userSTGMEDIUM { + pub __bindgen_padding_0: [u64; 2usize], + pub pUnkForRelease: *mut IUnknown, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _userSTGMEDIUM__STGMEDIUM_UNION { + pub tymed: DWORD, + pub u: _userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003 { + pub hMetaFilePict: wireHMETAFILEPICT, + pub hHEnhMetaFile: wireHENHMETAFILE, + pub hGdiHandle: *mut GDI_OBJECT, + pub hGlobal: wireHGLOBAL, + pub lpszFileName: LPOLESTR, + pub pstm: *mut BYTE_BLOB, + pub pstg: *mut BYTE_BLOB, +} +#[test] +fn bindgen_test_layout__userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003() { + const UNINIT: ::std::mem::MaybeUninit<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>(), + 8usize, + concat!( + "Size of: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003) + ) + ); + assert_eq!( + ::std::mem::align_of::<_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hMetaFilePict) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(hMetaFilePict) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hHEnhMetaFile) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(hHEnhMetaFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hGdiHandle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(hGdiHandle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hGlobal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(hGlobal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszFileName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(lpszFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pstm) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(pstm) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pstg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION___MIDL_IAdviseSink_0003), + "::", + stringify!(pstg) + ) + ); +} +#[test] +fn bindgen_test_layout__userSTGMEDIUM__STGMEDIUM_UNION() { + const UNINIT: ::std::mem::MaybeUninit<_userSTGMEDIUM__STGMEDIUM_UNION> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userSTGMEDIUM__STGMEDIUM_UNION>(), + 16usize, + concat!("Size of: ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION)) + ); + assert_eq!( + ::std::mem::align_of::<_userSTGMEDIUM__STGMEDIUM_UNION>(), + 8usize, + concat!("Alignment of ", stringify!(_userSTGMEDIUM__STGMEDIUM_UNION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION), + "::", + stringify!(tymed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM__STGMEDIUM_UNION), + "::", + stringify!(u) + ) + ); +} +#[test] +fn bindgen_test_layout__userSTGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_userSTGMEDIUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userSTGMEDIUM>(), + 24usize, + concat!("Size of: ", stringify!(_userSTGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_userSTGMEDIUM>(), + 8usize, + concat!("Alignment of ", stringify!(_userSTGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnkForRelease) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_userSTGMEDIUM), + "::", + stringify!(pUnkForRelease) + ) + ); +} +pub type userSTGMEDIUM = _userSTGMEDIUM; +pub type wireSTGMEDIUM = *mut userSTGMEDIUM; +pub type STGMEDIUM = uSTGMEDIUM; +pub type wireASYNC_STGMEDIUM = *mut userSTGMEDIUM; +pub type ASYNC_STGMEDIUM = STGMEDIUM; +pub type LPSTGMEDIUM = *mut STGMEDIUM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _userFLAG_STGMEDIUM { + pub ContextFlags: LONG, + pub fPassOwnership: LONG, + pub Stgmed: userSTGMEDIUM, +} +#[test] +fn bindgen_test_layout__userFLAG_STGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_userFLAG_STGMEDIUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_userFLAG_STGMEDIUM>(), + 32usize, + concat!("Size of: ", stringify!(_userFLAG_STGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_userFLAG_STGMEDIUM>(), + 8usize, + concat!("Alignment of ", stringify!(_userFLAG_STGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_userFLAG_STGMEDIUM), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPassOwnership) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_userFLAG_STGMEDIUM), + "::", + stringify!(fPassOwnership) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stgmed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_userFLAG_STGMEDIUM), + "::", + stringify!(Stgmed) + ) + ); +} +pub type userFLAG_STGMEDIUM = _userFLAG_STGMEDIUM; +pub type wireFLAG_STGMEDIUM = *mut userFLAG_STGMEDIUM; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _FLAG_STGMEDIUM { + pub ContextFlags: LONG, + pub fPassOwnership: LONG, + pub Stgmed: STGMEDIUM, +} +#[test] +fn bindgen_test_layout__FLAG_STGMEDIUM() { + const UNINIT: ::std::mem::MaybeUninit<_FLAG_STGMEDIUM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_FLAG_STGMEDIUM>(), + 32usize, + concat!("Size of: ", stringify!(_FLAG_STGMEDIUM)) + ); + assert_eq!( + ::std::mem::align_of::<_FLAG_STGMEDIUM>(), + 8usize, + concat!("Alignment of ", stringify!(_FLAG_STGMEDIUM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_FLAG_STGMEDIUM), + "::", + stringify!(ContextFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fPassOwnership) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_FLAG_STGMEDIUM), + "::", + stringify!(fPassOwnership) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stgmed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_FLAG_STGMEDIUM), + "::", + stringify!(Stgmed) + ) + ); +} +pub type FLAG_STGMEDIUM = _FLAG_STGMEDIUM; +extern "C" { + pub static IID_IAdviseSink: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAdviseSinkVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAdviseSink, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub OnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ), + >, + pub OnViewChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAdviseSink, dwAspect: DWORD, lindex: LONG), + >, + pub OnRename: + ::std::option::Option, + pub OnSave: ::std::option::Option, + pub OnClose: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IAdviseSinkVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IAdviseSinkVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAdviseSinkVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDataChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnViewChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnRename) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnSave) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnClose) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSinkVtbl), + "::", + stringify!(OnClose) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAdviseSink { + pub lpVtbl: *mut IAdviseSinkVtbl, +} +#[test] +fn bindgen_test_layout_IAdviseSink() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAdviseSink)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAdviseSink)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnDataChange_Proxy( + This: *mut IAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut ASYNC_STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnDataChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnViewChange_Proxy( + This: *mut IAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnViewChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnRename_Proxy(This: *mut IAdviseSink, pmk: *mut IMoniker) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnRename_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnSave_Proxy(This: *mut IAdviseSink) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnSave_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IAdviseSink_RemoteOnClose_Proxy(This: *mut IAdviseSink) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_RemoteOnClose_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static IID_AsyncIAdviseSink: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIAdviseSinkVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIAdviseSink, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_OnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ), + >, + pub Finish_OnDataChange: + ::std::option::Option, + pub Begin_OnViewChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink, dwAspect: DWORD, lindex: LONG), + >, + pub Finish_OnViewChange: + ::std::option::Option, + pub Begin_OnRename: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink, pmk: *mut IMoniker), + >, + pub Finish_OnRename: ::std::option::Option, + pub Begin_OnSave: ::std::option::Option, + pub Finish_OnSave: ::std::option::Option, + pub Begin_OnClose: ::std::option::Option, + pub Finish_OnClose: ::std::option::Option, +} +#[test] +fn bindgen_test_layout_AsyncIAdviseSinkVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(AsyncIAdviseSinkVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIAdviseSinkVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnDataChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnDataChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnViewChange) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnViewChange) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnRename) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnRename) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnSave) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnSave) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnClose) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Begin_OnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnClose) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSinkVtbl), + "::", + stringify!(Finish_OnClose) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIAdviseSink { + pub lpVtbl: *mut AsyncIAdviseSinkVtbl, +} +#[test] +fn bindgen_test_layout_AsyncIAdviseSink() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIAdviseSink)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIAdviseSink)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy( + This: *mut AsyncIAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut ASYNC_STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy(This: *mut AsyncIAdviseSink) + -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy( + This: *mut AsyncIAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy(This: *mut AsyncIAdviseSink) + -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnRename_Proxy( + This: *mut AsyncIAdviseSink, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnRename_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnRename_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnRename_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnSave_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnSave_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnSave_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnSave_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnClose_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_RemoteOnClose_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnClose_Proxy(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_RemoteOnClose_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0071_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0071_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPADVISESINK2 = *mut IAdviseSink2; +extern "C" { + pub static IID_IAdviseSink2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAdviseSink2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAdviseSink2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub OnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAdviseSink2, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ), + >, + pub OnViewChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut IAdviseSink2, dwAspect: DWORD, lindex: LONG), + >, + pub OnRename: + ::std::option::Option, + pub OnSave: ::std::option::Option, + pub OnClose: ::std::option::Option, + pub OnLinkSrcChange: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_IAdviseSink2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IAdviseSink2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAdviseSink2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDataChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnViewChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnRename) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnSave) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnClose) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnLinkSrcChange) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2Vtbl), + "::", + stringify!(OnLinkSrcChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAdviseSink2 { + pub lpVtbl: *mut IAdviseSink2Vtbl, +} +#[test] +fn bindgen_test_layout_IAdviseSink2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAdviseSink2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAdviseSink2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAdviseSink2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IAdviseSink2_RemoteOnLinkSrcChange_Proxy( + This: *mut IAdviseSink2, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink2_RemoteOnLinkSrcChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static IID_AsyncIAdviseSink2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIAdviseSink2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIAdviseSink2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Begin_OnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut AsyncIAdviseSink2, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ), + >, + pub Finish_OnDataChange: + ::std::option::Option, + pub Begin_OnViewChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink2, dwAspect: DWORD, lindex: LONG), + >, + pub Finish_OnViewChange: + ::std::option::Option, + pub Begin_OnRename: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink2, pmk: *mut IMoniker), + >, + pub Finish_OnRename: ::std::option::Option, + pub Begin_OnSave: ::std::option::Option, + pub Finish_OnSave: ::std::option::Option, + pub Begin_OnClose: ::std::option::Option, + pub Finish_OnClose: ::std::option::Option, + pub Begin_OnLinkSrcChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut AsyncIAdviseSink2, pmk: *mut IMoniker), + >, + pub Finish_OnLinkSrcChange: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_AsyncIAdviseSink2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(AsyncIAdviseSink2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIAdviseSink2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnDataChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnDataChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnDataChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnViewChange) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnViewChange) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnViewChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnRename) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnRename) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnSave) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnSave) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnClose) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnClose) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnClose) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Begin_OnLinkSrcChange) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Begin_OnLinkSrcChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Finish_OnLinkSrcChange) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2Vtbl), + "::", + stringify!(Finish_OnLinkSrcChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct AsyncIAdviseSink2 { + pub lpVtbl: *mut AsyncIAdviseSink2Vtbl, +} +#[test] +fn bindgen_test_layout_AsyncIAdviseSink2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(AsyncIAdviseSink2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(AsyncIAdviseSink2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(AsyncIAdviseSink2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy( + This: *mut AsyncIAdviseSink2, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy( + This: *mut AsyncIAdviseSink2, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0072_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0072_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPDATAOBJECT = *mut IDataObject; +pub const tagDATADIR_DATADIR_GET: tagDATADIR = 1; +pub const tagDATADIR_DATADIR_SET: tagDATADIR = 2; +pub type tagDATADIR = ::std::os::raw::c_int; +pub use self::tagDATADIR as DATADIR; +extern "C" { + pub static IID_IDataObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatetcIn: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + ) -> HRESULT, + >, + pub GetDataHere: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + ) -> HRESULT, + >, + pub QueryGetData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDataObject, pformatetc: *mut FORMATETC) -> HRESULT, + >, + pub GetCanonicalFormatEtc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatectIn: *mut FORMATETC, + pformatetcOut: *mut FORMATETC, + ) -> HRESULT, + >, + pub SetData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT, + >, + pub EnumFormatEtc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + dwDirection: DWORD, + ppenumFormatEtc: *mut *mut IEnumFORMATETC, + ) -> HRESULT, + >, + pub DAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + advf: DWORD, + pAdvSink: *mut IAdviseSink, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub DUnadvise: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDataObject, dwConnection: DWORD) -> HRESULT, + >, + pub EnumDAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataObject, + ppenumAdvise: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDataObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IDataObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetData) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(GetData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDataHere) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(GetDataHere) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryGetData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(QueryGetData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCanonicalFormatEtc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(GetCanonicalFormatEtc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(SetData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumFormatEtc) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(EnumFormatEtc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DAdvise) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(DAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DUnadvise) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(DUnadvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumDAdvise) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IDataObjectVtbl), + "::", + stringify!(EnumDAdvise) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataObject { + pub lpVtbl: *mut IDataObjectVtbl, +} +#[test] +fn bindgen_test_layout_IDataObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDataObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IDataObject_RemoteGetData_Proxy( + This: *mut IDataObject, + pformatetcIn: *mut FORMATETC, + pRemoteMedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_RemoteGetData_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IDataObject_RemoteGetDataHere_Proxy( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pRemoteMedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_RemoteGetDataHere_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IDataObject_RemoteSetData_Proxy( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut FLAG_STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_RemoteSetData_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0073_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0073_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPDATAADVISEHOLDER = *mut IDataAdviseHolder; +extern "C" { + pub static IID_IDataAdviseHolder: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataAdviseHolderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataAdviseHolder, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Advise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataAdviseHolder, + pDataObject: *mut IDataObject, + pFetc: *mut FORMATETC, + advf: DWORD, + pAdvise: *mut IAdviseSink, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Unadvise: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDataAdviseHolder, dwConnection: DWORD) -> HRESULT, + >, + pub EnumAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataAdviseHolder, + ppenumAdvise: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub SendOnDataChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataAdviseHolder, + pDataObject: *mut IDataObject, + dwReserved: DWORD, + advf: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDataAdviseHolderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IDataAdviseHolderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataAdviseHolderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Advise) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(Advise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unadvise) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(Unadvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumAdvise) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(EnumAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendOnDataChange) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolderVtbl), + "::", + stringify!(SendOnDataChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataAdviseHolder { + pub lpVtbl: *mut IDataAdviseHolderVtbl, +} +#[test] +fn bindgen_test_layout_IDataAdviseHolder() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDataAdviseHolder)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataAdviseHolder)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataAdviseHolder), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPMESSAGEFILTER = *mut IMessageFilter; +pub const tagCALLTYPE_CALLTYPE_TOPLEVEL: tagCALLTYPE = 1; +pub const tagCALLTYPE_CALLTYPE_NESTED: tagCALLTYPE = 2; +pub const tagCALLTYPE_CALLTYPE_ASYNC: tagCALLTYPE = 3; +pub const tagCALLTYPE_CALLTYPE_TOPLEVEL_CALLPENDING: tagCALLTYPE = 4; +pub const tagCALLTYPE_CALLTYPE_ASYNC_CALLPENDING: tagCALLTYPE = 5; +pub type tagCALLTYPE = ::std::os::raw::c_int; +pub use self::tagCALLTYPE as CALLTYPE; +pub const tagSERVERCALL_SERVERCALL_ISHANDLED: tagSERVERCALL = 0; +pub const tagSERVERCALL_SERVERCALL_REJECTED: tagSERVERCALL = 1; +pub const tagSERVERCALL_SERVERCALL_RETRYLATER: tagSERVERCALL = 2; +pub type tagSERVERCALL = ::std::os::raw::c_int; +pub use self::tagSERVERCALL as SERVERCALL; +pub const tagPENDINGTYPE_PENDINGTYPE_TOPLEVEL: tagPENDINGTYPE = 1; +pub const tagPENDINGTYPE_PENDINGTYPE_NESTED: tagPENDINGTYPE = 2; +pub type tagPENDINGTYPE = ::std::os::raw::c_int; +pub use self::tagPENDINGTYPE as PENDINGTYPE; +pub const tagPENDINGMSG_PENDINGMSG_CANCELCALL: tagPENDINGMSG = 0; +pub const tagPENDINGMSG_PENDINGMSG_WAITNOPROCESS: tagPENDINGMSG = 1; +pub const tagPENDINGMSG_PENDINGMSG_WAITDEFPROCESS: tagPENDINGMSG = 2; +pub type tagPENDINGMSG = ::std::os::raw::c_int; +pub use self::tagPENDINGMSG as PENDINGMSG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINTERFACEINFO { + pub pUnk: *mut IUnknown, + pub iid: IID, + pub wMethod: WORD, +} +#[test] +fn bindgen_test_layout_tagINTERFACEINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagINTERFACEINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagINTERFACEINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEINFO), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEINFO), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMethod) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEINFO), + "::", + stringify!(wMethod) + ) + ); +} +pub type INTERFACEINFO = tagINTERFACEINFO; +pub type LPINTERFACEINFO = *mut tagINTERFACEINFO; +extern "C" { + pub static IID_IMessageFilter: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMessageFilterVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMessageFilter, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub HandleInComingCall: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMessageFilter, + dwCallType: DWORD, + htaskCaller: HTASK, + dwTickCount: DWORD, + lpInterfaceInfo: LPINTERFACEINFO, + ) -> DWORD, + >, + pub RetryRejectedCall: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMessageFilter, + htaskCallee: HTASK, + dwTickCount: DWORD, + dwRejectType: DWORD, + ) -> DWORD, + >, + pub MessagePending: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMessageFilter, + htaskCallee: HTASK, + dwTickCount: DWORD, + dwPendingType: DWORD, + ) -> DWORD, + >, +} +#[test] +fn bindgen_test_layout_IMessageFilterVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IMessageFilterVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMessageFilterVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleInComingCall) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(HandleInComingCall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RetryRejectedCall) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(RetryRejectedCall) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MessagePending) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilterVtbl), + "::", + stringify!(MessagePending) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMessageFilter { + pub lpVtbl: *mut IMessageFilterVtbl, +} +#[test] +fn bindgen_test_layout_IMessageFilter() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMessageFilter)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMessageFilter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMessageFilter), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static FMTID_SummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_DocSummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_UserDefinedProperties: FMTID; +} +extern "C" { + pub static FMTID_DiscardableInformation: FMTID; +} +extern "C" { + pub static FMTID_ImageSummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_AudioSummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_VideoSummaryInformation: FMTID; +} +extern "C" { + pub static FMTID_MediaFileSummaryInformation: FMTID; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0075_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0075_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IClassActivator: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClassActivatorVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClassActivator, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IClassActivator, + rclsid: *const IID, + dwClassContext: DWORD, + locale: LCID, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IClassActivatorVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IClassActivatorVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClassActivatorVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClassActivatorVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IClassActivatorVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IClassActivatorVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassObject) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IClassActivatorVtbl), + "::", + stringify!(GetClassObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IClassActivator { + pub lpVtbl: *mut IClassActivatorVtbl, +} +#[test] +fn bindgen_test_layout_IClassActivator() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IClassActivator)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IClassActivator)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IClassActivator), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0076_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0076_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IFillLockBytes: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IFillLockBytesVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IFillLockBytes, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub FillAppend: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IFillLockBytes, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub FillAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IFillLockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub SetFillSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IFillLockBytes, ulSize: ULARGE_INTEGER) -> HRESULT, + >, + pub Terminate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IFillLockBytes, bCanceled: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IFillLockBytesVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IFillLockBytesVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IFillLockBytesVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FillAppend) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(FillAppend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FillAt) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(FillAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFillSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(SetFillSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Terminate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytesVtbl), + "::", + stringify!(Terminate) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IFillLockBytes { + pub lpVtbl: *mut IFillLockBytesVtbl, +} +#[test] +fn bindgen_test_layout_IFillLockBytes() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IFillLockBytes)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IFillLockBytes)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IFillLockBytes), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IFillLockBytes_RemoteFillAppend_Proxy( + This: *mut IFillLockBytes, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_RemoteFillAppend_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IFillLockBytes_RemoteFillAt_Proxy( + This: *mut IFillLockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_RemoteFillAt_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0077_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0077_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IProgressNotify: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProgressNotifyVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IProgressNotify, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub OnProgress: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IProgressNotify, + dwProgressCurrent: DWORD, + dwProgressMaximum: DWORD, + fAccurate: BOOL, + fOwner: BOOL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IProgressNotifyVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IProgressNotifyVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProgressNotifyVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotifyVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotifyVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotifyVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnProgress) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotifyVtbl), + "::", + stringify!(OnProgress) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProgressNotify { + pub lpVtbl: *mut IProgressNotifyVtbl, +} +#[test] +fn bindgen_test_layout_IProgressNotify() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IProgressNotify)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProgressNotify)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProgressNotify), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0078_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0078_v0_0_s_ifspec: RPC_IF_HANDLE; +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagStorageLayout { + pub LayoutType: DWORD, + pub pwcsElementName: *mut OLECHAR, + pub cOffset: LARGE_INTEGER, + pub cBytes: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_tagStorageLayout() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagStorageLayout)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagStorageLayout)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LayoutType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagStorageLayout), + "::", + stringify!(LayoutType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwcsElementName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagStorageLayout), + "::", + stringify!(pwcsElementName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cOffset) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagStorageLayout), + "::", + stringify!(cOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBytes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagStorageLayout), + "::", + stringify!(cBytes) + ) + ); +} +pub type StorageLayout = tagStorageLayout; +extern "C" { + pub static IID_ILayoutStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ILayoutStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILayoutStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub LayoutScript: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ILayoutStorage, + pStorageLayout: *mut StorageLayout, + nEntries: DWORD, + glfInterleavedFlag: DWORD, + ) -> HRESULT, + >, + pub BeginMonitor: + ::std::option::Option HRESULT>, + pub EndMonitor: + ::std::option::Option HRESULT>, + pub ReLayoutDocfile: ::std::option::Option< + unsafe extern "C" fn(This: *mut ILayoutStorage, pwcsNewDfName: *mut OLECHAR) -> HRESULT, + >, + pub ReLayoutDocfileOnILockBytes: ::std::option::Option< + unsafe extern "C" fn(This: *mut ILayoutStorage, pILockBytes: *mut ILockBytes) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ILayoutStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(ILayoutStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ILayoutStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LayoutScript) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(LayoutScript) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginMonitor) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(BeginMonitor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndMonitor) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(EndMonitor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReLayoutDocfile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(ReLayoutDocfile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReLayoutDocfileOnILockBytes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorageVtbl), + "::", + stringify!(ReLayoutDocfileOnILockBytes) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ILayoutStorage { + pub lpVtbl: *mut ILayoutStorageVtbl, +} +#[test] +fn bindgen_test_layout_ILayoutStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ILayoutStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ILayoutStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ILayoutStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0079_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0079_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IBlockingLock: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBlockingLockVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBlockingLock, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Lock: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBlockingLock, dwTimeout: DWORD) -> HRESULT, + >, + pub Unlock: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IBlockingLockVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IBlockingLockVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBlockingLockVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Lock) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(Lock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unlock) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLockVtbl), + "::", + stringify!(Unlock) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBlockingLock { + pub lpVtbl: *mut IBlockingLockVtbl, +} +#[test] +fn bindgen_test_layout_IBlockingLock() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBlockingLock)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBlockingLock)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBlockingLock), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ITimeAndNoticeControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITimeAndNoticeControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITimeAndNoticeControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SuppressChanges: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITimeAndNoticeControl, res1: DWORD, res2: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITimeAndNoticeControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ITimeAndNoticeControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITimeAndNoticeControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SuppressChanges) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControlVtbl), + "::", + stringify!(SuppressChanges) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITimeAndNoticeControl { + pub lpVtbl: *mut ITimeAndNoticeControlVtbl, +} +#[test] +fn bindgen_test_layout_ITimeAndNoticeControl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITimeAndNoticeControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITimeAndNoticeControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITimeAndNoticeControl), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IOplockStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOplockStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOplockStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateStorageEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOplockStorage, + pwcsName: LPCWSTR, + grfMode: DWORD, + stgfmt: DWORD, + grfAttrs: DWORD, + riid: *const IID, + ppstgOpen: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub OpenStorageEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOplockStorage, + pwcsName: LPCWSTR, + grfMode: DWORD, + stgfmt: DWORD, + grfAttrs: DWORD, + riid: *const IID, + ppstgOpen: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOplockStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IOplockStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOplockStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateStorageEx) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(CreateStorageEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OpenStorageEx) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorageVtbl), + "::", + stringify!(OpenStorageEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOplockStorage { + pub lpVtbl: *mut IOplockStorageVtbl, +} +#[test] +fn bindgen_test_layout_IOplockStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOplockStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOplockStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOplockStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0082_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0082_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IDirectWriterLock: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDirectWriterLockVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDirectWriterLock, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub WaitForWriteAccess: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDirectWriterLock, dwTimeout: DWORD) -> HRESULT, + >, + pub ReleaseWriteAccess: + ::std::option::Option HRESULT>, + pub HaveWriteAccess: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IDirectWriterLockVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IDirectWriterLockVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDirectWriterLockVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WaitForWriteAccess) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(WaitForWriteAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseWriteAccess) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(ReleaseWriteAccess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HaveWriteAccess) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLockVtbl), + "::", + stringify!(HaveWriteAccess) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDirectWriterLock { + pub lpVtbl: *mut IDirectWriterLockVtbl, +} +#[test] +fn bindgen_test_layout_IDirectWriterLock() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDirectWriterLock)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDirectWriterLock)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDirectWriterLock), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0083_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0083_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IUrlMon: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUrlMonVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUrlMon, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub AsyncGetClassBits: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUrlMon, + rclsid: *const IID, + pszTYPE: LPCWSTR, + pszExt: LPCWSTR, + dwFileVersionMS: DWORD, + dwFileVersionLS: DWORD, + pszCodeBase: LPCWSTR, + pbc: *mut IBindCtx, + dwClassContext: DWORD, + riid: *const IID, + flags: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUrlMonVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IUrlMonVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUrlMonVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUrlMonVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUrlMonVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUrlMonVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AsyncGetClassBits) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUrlMonVtbl), + "::", + stringify!(AsyncGetClassBits) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUrlMon { + pub lpVtbl: *mut IUrlMonVtbl, +} +#[test] +fn bindgen_test_layout_IUrlMon() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUrlMon)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUrlMon)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUrlMon), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IForegroundTransfer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IForegroundTransferVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IForegroundTransfer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub AllowForegroundTransfer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IForegroundTransfer, + lpvReserved: *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IForegroundTransferVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IForegroundTransferVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IForegroundTransferVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransferVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransferVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransferVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AllowForegroundTransfer) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransferVtbl), + "::", + stringify!(AllowForegroundTransfer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IForegroundTransfer { + pub lpVtbl: *mut IForegroundTransferVtbl, +} +#[test] +fn bindgen_test_layout_IForegroundTransfer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IForegroundTransfer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IForegroundTransfer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IForegroundTransfer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IThumbnailExtractor: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IThumbnailExtractorVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IThumbnailExtractor, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub ExtractThumbnail: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IThumbnailExtractor, + pStg: *mut IStorage, + ulLength: ULONG, + ulHeight: ULONG, + pulOutputLength: *mut ULONG, + pulOutputHeight: *mut ULONG, + phOutputBitmap: *mut HBITMAP, + ) -> HRESULT, + >, + pub OnFileUpdated: ::std::option::Option< + unsafe extern "C" fn(This: *mut IThumbnailExtractor, pStg: *mut IStorage) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IThumbnailExtractorVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IThumbnailExtractorVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IThumbnailExtractorVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExtractThumbnail) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(ExtractThumbnail) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnFileUpdated) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractorVtbl), + "::", + stringify!(OnFileUpdated) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IThumbnailExtractor { + pub lpVtbl: *mut IThumbnailExtractorVtbl, +} +#[test] +fn bindgen_test_layout_IThumbnailExtractor() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IThumbnailExtractor)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IThumbnailExtractor)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IThumbnailExtractor), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IDummyHICONIncluder: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDummyHICONIncluderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDummyHICONIncluder, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Dummy: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDummyHICONIncluder, h1: HICON, h2: HDC) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDummyHICONIncluderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IDummyHICONIncluderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDummyHICONIncluderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Dummy) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluderVtbl), + "::", + stringify!(Dummy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDummyHICONIncluder { + pub lpVtbl: *mut IDummyHICONIncluderVtbl, +} +#[test] +fn bindgen_test_layout_IDummyHICONIncluder() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDummyHICONIncluder)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDummyHICONIncluder)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDummyHICONIncluder), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagApplicationType_ServerApplication: tagApplicationType = 0; +pub const tagApplicationType_LibraryApplication: tagApplicationType = 1; +pub type tagApplicationType = ::std::os::raw::c_int; +pub use self::tagApplicationType as ApplicationType; +pub const tagShutdownType_IdleShutdown: tagShutdownType = 0; +pub const tagShutdownType_ForcedShutdown: tagShutdownType = 1; +pub type tagShutdownType = ::std::os::raw::c_int; +pub use self::tagShutdownType as ShutdownType; +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0087_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0087_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IProcessLock: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProcessLockVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IProcessLock, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub AddRefOnProcess: + ::std::option::Option ULONG>, + pub ReleaseRefOnProcess: + ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IProcessLockVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IProcessLockVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProcessLockVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRefOnProcess) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(AddRefOnProcess) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseRefOnProcess) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IProcessLockVtbl), + "::", + stringify!(ReleaseRefOnProcess) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IProcessLock { + pub lpVtbl: *mut IProcessLockVtbl, +} +#[test] +fn bindgen_test_layout_IProcessLock() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IProcessLock)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IProcessLock)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IProcessLock), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ISurrogateService: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISurrogateServiceVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISurrogateService, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Init: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISurrogateService, + rguidProcessID: *const GUID, + pProcessLock: *mut IProcessLock, + pfApplicationAware: *mut BOOL, + ) -> HRESULT, + >, + pub ApplicationLaunch: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISurrogateService, + rguidApplID: *const GUID, + appType: ApplicationType, + ) -> HRESULT, + >, + pub ApplicationFree: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISurrogateService, rguidApplID: *const GUID) -> HRESULT, + >, + pub CatalogRefresh: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISurrogateService, ulReserved: ULONG) -> HRESULT, + >, + pub ProcessShutdown: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISurrogateService, shutdownType: ShutdownType) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISurrogateServiceVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(ISurrogateServiceVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISurrogateServiceVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Init) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(Init) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApplicationLaunch) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(ApplicationLaunch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ApplicationFree) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(ApplicationFree) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CatalogRefresh) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(CatalogRefresh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessShutdown) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateServiceVtbl), + "::", + stringify!(ProcessShutdown) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISurrogateService { + pub lpVtbl: *mut ISurrogateServiceVtbl, +} +#[test] +fn bindgen_test_layout_ISurrogateService() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISurrogateService)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISurrogateService)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISurrogateService), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0089_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0089_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPINITIALIZESPY = *mut IInitializeSpy; +extern "C" { + pub static IID_IInitializeSpy: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInitializeSpyVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInitializeSpy, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub PreInitialize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInitializeSpy, + dwCoInit: DWORD, + dwCurThreadAptRefs: DWORD, + ) -> HRESULT, + >, + pub PostInitialize: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInitializeSpy, + hrCoInit: HRESULT, + dwCoInit: DWORD, + dwNewThreadAptRefs: DWORD, + ) -> HRESULT, + >, + pub PreUninitialize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInitializeSpy, dwCurThreadAptRefs: DWORD) -> HRESULT, + >, + pub PostUninitialize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInitializeSpy, dwNewThreadAptRefs: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInitializeSpyVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IInitializeSpyVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInitializeSpyVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreInitialize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(PreInitialize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostInitialize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(PostInitialize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PreUninitialize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(PreUninitialize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PostUninitialize) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpyVtbl), + "::", + stringify!(PostUninitialize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInitializeSpy { + pub lpVtbl: *mut IInitializeSpyVtbl, +} +#[test] +fn bindgen_test_layout_IInitializeSpy() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInitializeSpy)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInitializeSpy)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInitializeSpy), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0090_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0090_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IApartmentShutdown: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IApartmentShutdownVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IApartmentShutdown, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub OnUninitialize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IApartmentShutdown, ui64ApartmentIdentifier: UINT64), + >, +} +#[test] +fn bindgen_test_layout_IApartmentShutdownVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IApartmentShutdownVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IApartmentShutdownVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdownVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdownVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdownVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnUninitialize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdownVtbl), + "::", + stringify!(OnUninitialize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IApartmentShutdown { + pub lpVtbl: *mut IApartmentShutdownVtbl, +} +#[test] +fn bindgen_test_layout_IApartmentShutdown() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IApartmentShutdown)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IApartmentShutdown)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IApartmentShutdown), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0091_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_objidl_0000_0091_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut ASYNC_STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ASYNC_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ASYNC_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut ASYNC_STGMEDIUM); +} +extern "C" { + pub fn CLIPFORMAT_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut CLIPFORMAT, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn CLIPFORMAT_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLIPFORMAT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLIPFORMAT_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLIPFORMAT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLIPFORMAT_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut CLIPFORMAT); +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut FLAG_STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut FLAG_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut FLAG_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut FLAG_STGMEDIUM); +} +extern "C" { + pub fn HBITMAP_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HBITMAP, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HBITMAP_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HBITMAP, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HBITMAP_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HBITMAP, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HBITMAP_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HBITMAP); +} +extern "C" { + pub fn HDC_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HDC, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HDC_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HDC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HDC_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HDC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HDC_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HDC); +} +extern "C" { + pub fn HICON_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HICON, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HICON_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HICON, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HICON_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HICON, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HICON_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HICON); +} +extern "C" { + pub fn SNB_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut SNB, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn SNB_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut SNB, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn SNB_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut SNB, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn SNB_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut SNB); +} +extern "C" { + pub fn STGMEDIUM_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn STGMEDIUM_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn STGMEDIUM_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn STGMEDIUM_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut STGMEDIUM); +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut ASYNC_STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ASYNC_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut ASYNC_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn ASYNC_STGMEDIUM_UserFree64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ASYNC_STGMEDIUM, + ); +} +extern "C" { + pub fn CLIPFORMAT_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut CLIPFORMAT, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn CLIPFORMAT_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLIPFORMAT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLIPFORMAT_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLIPFORMAT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLIPFORMAT_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut CLIPFORMAT); +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut FLAG_STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut FLAG_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut FLAG_STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn FLAG_STGMEDIUM_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut FLAG_STGMEDIUM); +} +extern "C" { + pub fn HBITMAP_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HBITMAP, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HBITMAP_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HBITMAP, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HBITMAP_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HBITMAP, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HBITMAP_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HBITMAP); +} +extern "C" { + pub fn HDC_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HDC, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HDC_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HDC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HDC_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HDC, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HDC_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HDC); +} +extern "C" { + pub fn HICON_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HICON, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HICON_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HICON, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HICON_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HICON, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HICON_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HICON); +} +extern "C" { + pub fn SNB_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut SNB, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn SNB_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut SNB, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn SNB_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut SNB, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn SNB_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut SNB); +} +extern "C" { + pub fn STGMEDIUM_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut STGMEDIUM, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn STGMEDIUM_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn STGMEDIUM_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut STGMEDIUM, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn STGMEDIUM_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut STGMEDIUM); +} +extern "C" { + pub fn IBindCtx_SetBindOptions_Proxy(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) + -> HRESULT; +} +extern "C" { + pub fn IBindCtx_SetBindOptions_Stub(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS2) + -> HRESULT; +} +extern "C" { + pub fn IBindCtx_GetBindOptions_Proxy(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS) + -> HRESULT; +} +extern "C" { + pub fn IBindCtx_GetBindOptions_Stub(This: *mut IBindCtx, pbindopts: *mut BIND_OPTS2) + -> HRESULT; +} +extern "C" { + pub fn IEnumMoniker_Next_Proxy( + This: *mut IEnumMoniker, + celt: ULONG, + rgelt: *mut *mut IMoniker, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumMoniker_Next_Stub( + This: *mut IEnumMoniker, + celt: ULONG, + rgelt: *mut *mut IMoniker, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IRunnableObject_IsRunning_Proxy(This: *mut IRunnableObject) -> BOOL; +} +extern "C" { + pub fn IRunnableObject_IsRunning_Stub(This: *mut IRunnableObject) -> HRESULT; +} +extern "C" { + pub fn IMoniker_BindToObject_Proxy( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riidResult: *const IID, + ppvResult: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_BindToObject_Stub( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riidResult: *const IID, + ppvResult: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_BindToStorage_Proxy( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IMoniker_BindToStorage_Stub( + This: *mut IMoniker, + pbc: *mut IBindCtx, + pmkToLeft: *mut IMoniker, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATSTG_Next_Proxy( + This: *mut IEnumSTATSTG, + celt: ULONG, + rgelt: *mut STATSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATSTG_Next_Stub( + This: *mut IEnumSTATSTG, + celt: ULONG, + rgelt: *mut STATSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_OpenStream_Proxy( + This: *mut IStorage, + pwcsName: *const OLECHAR, + reserved1: *mut ::std::os::raw::c_void, + grfMode: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_OpenStream_Stub( + This: *mut IStorage, + pwcsName: *const OLECHAR, + cbReserved1: ULONG, + reserved1: *mut byte, + grfMode: DWORD, + reserved2: DWORD, + ppstm: *mut *mut IStream, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_CopyTo_Proxy( + This: *mut IStorage, + ciidExclude: DWORD, + rgiidExclude: *const IID, + snbExclude: SNB, + pstgDest: *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_CopyTo_Stub( + This: *mut IStorage, + ciidExclude: DWORD, + rgiidExclude: *const IID, + snbExclude: SNB, + pstgDest: *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_EnumElements_Proxy( + This: *mut IStorage, + reserved1: DWORD, + reserved2: *mut ::std::os::raw::c_void, + reserved3: DWORD, + ppenum: *mut *mut IEnumSTATSTG, + ) -> HRESULT; +} +extern "C" { + pub fn IStorage_EnumElements_Stub( + This: *mut IStorage, + reserved1: DWORD, + cbReserved2: ULONG, + reserved2: *mut byte, + reserved3: DWORD, + ppenum: *mut *mut IEnumSTATSTG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_ReadAt_Proxy( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_ReadAt_Stub( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *mut byte, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_WriteAt_Proxy( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ILockBytes_WriteAt_Stub( + This: *mut ILockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumFORMATETC_Next_Proxy( + This: *mut IEnumFORMATETC, + celt: ULONG, + rgelt: *mut FORMATETC, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumFORMATETC_Next_Stub( + This: *mut IEnumFORMATETC, + celt: ULONG, + rgelt: *mut FORMATETC, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATDATA_Next_Proxy( + This: *mut IEnumSTATDATA, + celt: ULONG, + rgelt: *mut STATDATA, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATDATA_Next_Stub( + This: *mut IEnumSTATDATA, + celt: ULONG, + rgelt: *mut STATDATA, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnDataChange_Proxy( + This: *mut IAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ); +} +extern "C" { + pub fn IAdviseSink_OnDataChange_Stub( + This: *mut IAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut ASYNC_STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnViewChange_Proxy(This: *mut IAdviseSink, dwAspect: DWORD, lindex: LONG); +} +extern "C" { + pub fn IAdviseSink_OnViewChange_Stub( + This: *mut IAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnRename_Proxy(This: *mut IAdviseSink, pmk: *mut IMoniker); +} +extern "C" { + pub fn IAdviseSink_OnRename_Stub(This: *mut IAdviseSink, pmk: *mut IMoniker) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnSave_Proxy(This: *mut IAdviseSink); +} +extern "C" { + pub fn IAdviseSink_OnSave_Stub(This: *mut IAdviseSink) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink_OnClose_Proxy(This: *mut IAdviseSink); +} +extern "C" { + pub fn IAdviseSink_OnClose_Stub(This: *mut IAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnDataChange_Proxy( + This: *mut AsyncIAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut STGMEDIUM, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnDataChange_Stub( + This: *mut AsyncIAdviseSink, + pFormatetc: *mut FORMATETC, + pStgmed: *mut ASYNC_STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnDataChange_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnDataChange_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnViewChange_Proxy( + This: *mut AsyncIAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnViewChange_Stub( + This: *mut AsyncIAdviseSink, + dwAspect: DWORD, + lindex: LONG, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnViewChange_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnViewChange_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnRename_Proxy(This: *mut AsyncIAdviseSink, pmk: *mut IMoniker); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnRename_Stub( + This: *mut AsyncIAdviseSink, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnRename_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnRename_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnSave_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnSave_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnSave_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnSave_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnClose_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Begin_OnClose_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnClose_Proxy(This: *mut AsyncIAdviseSink); +} +extern "C" { + pub fn AsyncIAdviseSink_Finish_OnClose_Stub(This: *mut AsyncIAdviseSink) -> HRESULT; +} +extern "C" { + pub fn IAdviseSink2_OnLinkSrcChange_Proxy(This: *mut IAdviseSink2, pmk: *mut IMoniker); +} +extern "C" { + pub fn IAdviseSink2_OnLinkSrcChange_Stub( + This: *mut IAdviseSink2, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy( + This: *mut AsyncIAdviseSink2, + pmk: *mut IMoniker, + ); +} +extern "C" { + pub fn AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub( + This: *mut AsyncIAdviseSink2, + pmk: *mut IMoniker, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy(This: *mut AsyncIAdviseSink2); +} +extern "C" { + pub fn AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub(This: *mut AsyncIAdviseSink2) -> HRESULT; +} +extern "C" { + pub fn IDataObject_GetData_Proxy( + This: *mut IDataObject, + pformatetcIn: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_GetData_Stub( + This: *mut IDataObject, + pformatetcIn: *mut FORMATETC, + pRemoteMedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_GetDataHere_Proxy( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_GetDataHere_Stub( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pRemoteMedium: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_SetData_Proxy( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IDataObject_SetData_Stub( + This: *mut IDataObject, + pformatetc: *mut FORMATETC, + pmedium: *mut FLAG_STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_FillAppend_Proxy( + This: *mut IFillLockBytes, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_FillAppend_Stub( + This: *mut IFillLockBytes, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_FillAt_Proxy( + This: *mut IFillLockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const ::std::os::raw::c_void, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IFillLockBytes_FillAt_Stub( + This: *mut IFillLockBytes, + ulOffset: ULARGE_INTEGER, + pv: *const byte, + cb: ULONG, + pcbWritten: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type CURRENCY = CY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSAFEARRAYBOUND { + pub cElements: ULONG, + pub lLbound: LONG, +} +#[test] +fn bindgen_test_layout_tagSAFEARRAYBOUND() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSAFEARRAYBOUND)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSAFEARRAYBOUND)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElements) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAYBOUND), + "::", + stringify!(cElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lLbound) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAYBOUND), + "::", + stringify!(lLbound) + ) + ); +} +pub type SAFEARRAYBOUND = tagSAFEARRAYBOUND; +pub type LPSAFEARRAYBOUND = *mut tagSAFEARRAYBOUND; +pub type wireVARIANT = *mut _wireVARIANT; +pub type wireBRECORD = *mut _wireBRECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_BSTR { + pub Size: ULONG, + pub aBstr: *mut wireBSTR, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_BSTR() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_BSTR> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_BSTR>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_BSTR)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_BSTR>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_BSTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_BSTR), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aBstr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_BSTR), + "::", + stringify!(aBstr) + ) + ); +} +pub type SAFEARR_BSTR = _wireSAFEARR_BSTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_UNKNOWN { + pub Size: ULONG, + pub apUnknown: *mut *mut IUnknown, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_UNKNOWN() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_UNKNOWN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_UNKNOWN>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_UNKNOWN)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_UNKNOWN>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_UNKNOWN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_UNKNOWN), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apUnknown) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_UNKNOWN), + "::", + stringify!(apUnknown) + ) + ); +} +pub type SAFEARR_UNKNOWN = _wireSAFEARR_UNKNOWN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_DISPATCH { + pub Size: ULONG, + pub apDispatch: *mut *mut IDispatch, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_DISPATCH() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_DISPATCH> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_DISPATCH>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_DISPATCH)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_DISPATCH>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_DISPATCH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_DISPATCH), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apDispatch) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_DISPATCH), + "::", + stringify!(apDispatch) + ) + ); +} +pub type SAFEARR_DISPATCH = _wireSAFEARR_DISPATCH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_VARIANT { + pub Size: ULONG, + pub aVariant: *mut wireVARIANT, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_VARIANT() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_VARIANT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_VARIANT>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_VARIANT)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_VARIANT>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_VARIANT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_VARIANT), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aVariant) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_VARIANT), + "::", + stringify!(aVariant) + ) + ); +} +pub type SAFEARR_VARIANT = _wireSAFEARR_VARIANT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_BRECORD { + pub Size: ULONG, + pub aRecord: *mut wireBRECORD, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_BRECORD() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_BRECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_BRECORD>(), + 16usize, + concat!("Size of: ", stringify!(_wireSAFEARR_BRECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_BRECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_BRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_BRECORD), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).aRecord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_BRECORD), + "::", + stringify!(aRecord) + ) + ); +} +pub type SAFEARR_BRECORD = _wireSAFEARR_BRECORD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireSAFEARR_HAVEIID { + pub Size: ULONG, + pub apUnknown: *mut *mut IUnknown, + pub iid: IID, +} +#[test] +fn bindgen_test_layout__wireSAFEARR_HAVEIID() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARR_HAVEIID> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARR_HAVEIID>(), + 32usize, + concat!("Size of: ", stringify!(_wireSAFEARR_HAVEIID)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARR_HAVEIID>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARR_HAVEIID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_HAVEIID), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).apUnknown) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_HAVEIID), + "::", + stringify!(apUnknown) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARR_HAVEIID), + "::", + stringify!(iid) + ) + ); +} +pub type SAFEARR_HAVEIID = _wireSAFEARR_HAVEIID; +pub const tagSF_TYPE_SF_ERROR: tagSF_TYPE = 10; +pub const tagSF_TYPE_SF_I1: tagSF_TYPE = 16; +pub const tagSF_TYPE_SF_I2: tagSF_TYPE = 2; +pub const tagSF_TYPE_SF_I4: tagSF_TYPE = 3; +pub const tagSF_TYPE_SF_I8: tagSF_TYPE = 20; +pub const tagSF_TYPE_SF_BSTR: tagSF_TYPE = 8; +pub const tagSF_TYPE_SF_UNKNOWN: tagSF_TYPE = 13; +pub const tagSF_TYPE_SF_DISPATCH: tagSF_TYPE = 9; +pub const tagSF_TYPE_SF_VARIANT: tagSF_TYPE = 12; +pub const tagSF_TYPE_SF_RECORD: tagSF_TYPE = 36; +pub const tagSF_TYPE_SF_HAVEIID: tagSF_TYPE = 32781; +pub type tagSF_TYPE = ::std::os::raw::c_int; +pub use self::tagSF_TYPE as SF_TYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _wireSAFEARRAY_UNION { + pub sfType: ULONG, + pub u: _wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001 { + pub BstrStr: SAFEARR_BSTR, + pub UnknownStr: SAFEARR_UNKNOWN, + pub DispatchStr: SAFEARR_DISPATCH, + pub VariantStr: SAFEARR_VARIANT, + pub RecordStr: SAFEARR_BRECORD, + pub HaveIidStr: SAFEARR_HAVEIID, + pub ByteStr: BYTE_SIZEDARR, + pub WordStr: WORD_SIZEDARR, + pub LongStr: DWORD_SIZEDARR, + pub HyperStr: HYPER_SIZEDARR, +} +#[test] +fn bindgen_test_layout__wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>(), + 32usize, + concat!( + "Size of: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001) + ) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BstrStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(BstrStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnknownStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(UnknownStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DispatchStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(DispatchStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).VariantStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(VariantStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(RecordStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HaveIidStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(HaveIidStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ByteStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(ByteStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WordStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(WordStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LongStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(LongStr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HyperStr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION___MIDL_IOleAutomationTypes_0001), + "::", + stringify!(HyperStr) + ) + ); +} +#[test] +fn bindgen_test_layout__wireSAFEARRAY_UNION() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARRAY_UNION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARRAY_UNION>(), + 40usize, + concat!("Size of: ", stringify!(_wireSAFEARRAY_UNION)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARRAY_UNION>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARRAY_UNION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sfType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION), + "::", + stringify!(sfType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY_UNION), + "::", + stringify!(u) + ) + ); +} +pub type SAFEARRAYUNION = _wireSAFEARRAY_UNION; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _wireSAFEARRAY { + pub cDims: USHORT, + pub fFeatures: USHORT, + pub cbElements: ULONG, + pub cLocks: ULONG, + pub uArrayStructs: SAFEARRAYUNION, + pub rgsabound: [SAFEARRAYBOUND; 1usize], +} +#[test] +fn bindgen_test_layout__wireSAFEARRAY() { + const UNINIT: ::std::mem::MaybeUninit<_wireSAFEARRAY> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireSAFEARRAY>(), + 64usize, + concat!("Size of: ", stringify!(_wireSAFEARRAY)) + ); + assert_eq!( + ::std::mem::align_of::<_wireSAFEARRAY>(), + 8usize, + concat!("Alignment of ", stringify!(_wireSAFEARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDims) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(cDims) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFeatures) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(fFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbElements) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(cbElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLocks) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(cLocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uArrayStructs) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(uArrayStructs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgsabound) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_wireSAFEARRAY), + "::", + stringify!(rgsabound) + ) + ); +} +pub type wireSAFEARRAY = *mut _wireSAFEARRAY; +pub type wirePSAFEARRAY = *mut wireSAFEARRAY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSAFEARRAY { + pub cDims: USHORT, + pub fFeatures: USHORT, + pub cbElements: ULONG, + pub cLocks: ULONG, + pub pvData: PVOID, + pub rgsabound: [SAFEARRAYBOUND; 1usize], +} +#[test] +fn bindgen_test_layout_tagSAFEARRAY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagSAFEARRAY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSAFEARRAY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDims) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(cDims) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFeatures) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(fFeatures) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbElements) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(cbElements) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLocks) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(cLocks) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(pvData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgsabound) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagSAFEARRAY), + "::", + stringify!(rgsabound) + ) + ); +} +pub type SAFEARRAY = tagSAFEARRAY; +pub type LPSAFEARRAY = *mut SAFEARRAY; +pub type VARIANT = tagVARIANT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagVARIANT { + pub __bindgen_anon_1: tagVARIANT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagVARIANT__bindgen_ty_1 { + pub __bindgen_anon_1: tagVARIANT__bindgen_ty_1__bindgen_ty_1, + pub decVal: DECIMAL, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagVARIANT__bindgen_ty_1__bindgen_ty_1 { + pub vt: VARTYPE, + pub wReserved1: WORD, + pub wReserved2: WORD, + pub wReserved3: WORD, + pub __bindgen_anon_1: tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub llVal: LONGLONG, + pub lVal: LONG, + pub bVal: BYTE, + pub iVal: SHORT, + pub fltVal: FLOAT, + pub dblVal: DOUBLE, + pub boolVal: VARIANT_BOOL, + pub __OBSOLETE__VARIANT_BOOL: VARIANT_BOOL, + pub scode: SCODE, + pub cyVal: CY, + pub date: DATE, + pub bstrVal: BSTR, + pub punkVal: *mut IUnknown, + pub pdispVal: *mut IDispatch, + pub parray: *mut SAFEARRAY, + pub pbVal: *mut BYTE, + pub piVal: *mut SHORT, + pub plVal: *mut LONG, + pub pllVal: *mut LONGLONG, + pub pfltVal: *mut FLOAT, + pub pdblVal: *mut DOUBLE, + pub pboolVal: *mut VARIANT_BOOL, + pub __OBSOLETE__VARIANT_PBOOL: *mut VARIANT_BOOL, + pub pscode: *mut SCODE, + pub pcyVal: *mut CY, + pub pdate: *mut DATE, + pub pbstrVal: *mut BSTR, + pub ppunkVal: *mut *mut IUnknown, + pub ppdispVal: *mut *mut IDispatch, + pub pparray: *mut *mut SAFEARRAY, + pub pvarVal: *mut VARIANT, + pub byref: PVOID, + pub cVal: CHAR, + pub uiVal: USHORT, + pub ulVal: ULONG, + pub ullVal: ULONGLONG, + pub intVal: INT, + pub uintVal: UINT, + pub pdecVal: *mut DECIMAL, + pub pcVal: *mut CHAR, + pub puiVal: *mut USHORT, + pub pulVal: *mut ULONG, + pub pullVal: *mut ULONGLONG, + pub pintVal: *mut INT, + pub puintVal: *mut UINT, + pub __bindgen_anon_1: tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub pvRecord: PVOID, + pub pRecInfo: *mut IRecordInfo, +} +#[test] +fn bindgen_test_layout_tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::( + ), + 8usize, + concat!( + "Alignment of ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvRecord) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pvRecord) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRecInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pRecInfo) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).llVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(llVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(iVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(fltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).boolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(boolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__OBSOLETE__VARIANT_BOOL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(__OBSOLETE__VARIANT_BOOL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(scode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).date) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).punkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(punkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).parray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(parray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pbVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).piVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(piVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).plVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(plVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pllVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pllVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pfltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pboolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pboolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__OBSOLETE__VARIANT_PBOOL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(__OBSOLETE__VARIANT_PBOOL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pscode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pscode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pcyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pbstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppunkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ppunkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ppdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pparray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pparray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvarVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pvarVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).byref) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(byref) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ullVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).intVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(intVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdecVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdecVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pcVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pullVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pullVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puintVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARIANT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(vt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved3) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved3) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARIANT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagVARIANT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVARIANT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).decVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARIANT__bindgen_ty_1), + "::", + stringify!(decVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARIANT() { + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVARIANT)) + ); +} +pub type LPVARIANT = *mut VARIANT; +pub type VARIANTARG = VARIANT; +pub type LPVARIANTARG = *mut VARIANT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _wireBRECORD { + pub fFlags: ULONG, + pub clSize: ULONG, + pub pRecInfo: *mut IRecordInfo, + pub pRecord: *mut byte, +} +#[test] +fn bindgen_test_layout__wireBRECORD() { + const UNINIT: ::std::mem::MaybeUninit<_wireBRECORD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireBRECORD>(), + 24usize, + concat!("Size of: ", stringify!(_wireBRECORD)) + ); + assert_eq!( + ::std::mem::align_of::<_wireBRECORD>(), + 8usize, + concat!("Alignment of ", stringify!(_wireBRECORD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireBRECORD), + "::", + stringify!(fFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_wireBRECORD), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRecInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireBRECORD), + "::", + stringify!(pRecInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pRecord) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_wireBRECORD), + "::", + stringify!(pRecord) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _wireVARIANT { + pub clSize: DWORD, + pub rpcReserved: DWORD, + pub vt: USHORT, + pub wReserved1: USHORT, + pub wReserved2: USHORT, + pub wReserved3: USHORT, + pub __bindgen_anon_1: _wireVARIANT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _wireVARIANT__bindgen_ty_1 { + pub llVal: LONGLONG, + pub lVal: LONG, + pub bVal: BYTE, + pub iVal: SHORT, + pub fltVal: FLOAT, + pub dblVal: DOUBLE, + pub boolVal: VARIANT_BOOL, + pub scode: SCODE, + pub cyVal: CY, + pub date: DATE, + pub bstrVal: wireBSTR, + pub punkVal: *mut IUnknown, + pub pdispVal: *mut IDispatch, + pub parray: wirePSAFEARRAY, + pub brecVal: wireBRECORD, + pub pbVal: *mut BYTE, + pub piVal: *mut SHORT, + pub plVal: *mut LONG, + pub pllVal: *mut LONGLONG, + pub pfltVal: *mut FLOAT, + pub pdblVal: *mut DOUBLE, + pub pboolVal: *mut VARIANT_BOOL, + pub pscode: *mut SCODE, + pub pcyVal: *mut CY, + pub pdate: *mut DATE, + pub pbstrVal: *mut wireBSTR, + pub ppunkVal: *mut *mut IUnknown, + pub ppdispVal: *mut *mut IDispatch, + pub pparray: *mut wirePSAFEARRAY, + pub pvarVal: *mut wireVARIANT, + pub cVal: CHAR, + pub uiVal: USHORT, + pub ulVal: ULONG, + pub ullVal: ULONGLONG, + pub intVal: INT, + pub uintVal: UINT, + pub decVal: DECIMAL, + pub pdecVal: *mut DECIMAL, + pub pcVal: *mut CHAR, + pub puiVal: *mut USHORT, + pub pulVal: *mut ULONG, + pub pullVal: *mut ULONGLONG, + pub pintVal: *mut INT, + pub puintVal: *mut UINT, +} +#[test] +fn bindgen_test_layout__wireVARIANT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_wireVARIANT__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireVARIANT__bindgen_ty_1>(), + 16usize, + concat!("Size of: ", stringify!(_wireVARIANT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_wireVARIANT__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_wireVARIANT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).llVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(llVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(lVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(bVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(iVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(fltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(dblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).boolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(boolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(scode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(cyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).date) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(bstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).punkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(punkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).parray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(parray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).brecVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(brecVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pbVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).piVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(piVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).plVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(plVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pllVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pllVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pfltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pdblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pboolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pboolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pscode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pscode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pcyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pbstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppunkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(ppunkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(ppdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pparray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pparray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvarVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pvarVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(cVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(uiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(ulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ullVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(ullVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).intVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(intVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(uintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).decVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(decVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdecVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pdecVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pcVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(puiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pullVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pullVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(pintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT__bindgen_ty_1), + "::", + stringify!(puintVal) + ) + ); +} +#[test] +fn bindgen_test_layout__wireVARIANT() { + const UNINIT: ::std::mem::MaybeUninit<_wireVARIANT> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_wireVARIANT>(), + 32usize, + concat!("Size of: ", stringify!(_wireVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::<_wireVARIANT>(), + 8usize, + concat!("Alignment of ", stringify!(_wireVARIANT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(clSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rpcReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(rpcReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(vt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved2) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(wReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved3) as usize - ptr as usize }, + 14usize, + concat!( + "Offset of field: ", + stringify!(_wireVARIANT), + "::", + stringify!(wReserved3) + ) + ); +} +pub type DISPID = LONG; +pub type MEMBERID = DISPID; +pub type HREFTYPE = DWORD; +pub const tagTYPEKIND_TKIND_ENUM: tagTYPEKIND = 0; +pub const tagTYPEKIND_TKIND_RECORD: tagTYPEKIND = 1; +pub const tagTYPEKIND_TKIND_MODULE: tagTYPEKIND = 2; +pub const tagTYPEKIND_TKIND_INTERFACE: tagTYPEKIND = 3; +pub const tagTYPEKIND_TKIND_DISPATCH: tagTYPEKIND = 4; +pub const tagTYPEKIND_TKIND_COCLASS: tagTYPEKIND = 5; +pub const tagTYPEKIND_TKIND_ALIAS: tagTYPEKIND = 6; +pub const tagTYPEKIND_TKIND_UNION: tagTYPEKIND = 7; +pub const tagTYPEKIND_TKIND_MAX: tagTYPEKIND = 8; +pub type tagTYPEKIND = ::std::os::raw::c_int; +pub use self::tagTYPEKIND as TYPEKIND; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagTYPEDESC { + pub __bindgen_anon_1: tagTYPEDESC__bindgen_ty_1, + pub vt: VARTYPE, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagTYPEDESC__bindgen_ty_1 { + pub lptdesc: *mut tagTYPEDESC, + pub lpadesc: *mut tagARRAYDESC, + pub hreftype: HREFTYPE, +} +#[test] +fn bindgen_test_layout_tagTYPEDESC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagTYPEDESC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTYPEDESC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lptdesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEDESC__bindgen_ty_1), + "::", + stringify!(lptdesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpadesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEDESC__bindgen_ty_1), + "::", + stringify!(lpadesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hreftype) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEDESC__bindgen_ty_1), + "::", + stringify!(hreftype) + ) + ); +} +#[test] +fn bindgen_test_layout_tagTYPEDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagTYPEDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTYPEDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEDESC), + "::", + stringify!(vt) + ) + ); +} +pub type TYPEDESC = tagTYPEDESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagARRAYDESC { + pub tdescElem: TYPEDESC, + pub cDims: USHORT, + pub rgbounds: [SAFEARRAYBOUND; 1usize], +} +#[test] +fn bindgen_test_layout_tagARRAYDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagARRAYDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagARRAYDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdescElem) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagARRAYDESC), + "::", + stringify!(tdescElem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDims) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagARRAYDESC), + "::", + stringify!(cDims) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbounds) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagARRAYDESC), + "::", + stringify!(rgbounds) + ) + ); +} +pub type ARRAYDESC = tagARRAYDESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPARAMDESCEX { + pub cBytes: ULONG, + pub varDefaultValue: VARIANTARG, +} +#[test] +fn bindgen_test_layout_tagPARAMDESCEX() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagPARAMDESCEX)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPARAMDESCEX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cBytes) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDESCEX), + "::", + stringify!(cBytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).varDefaultValue) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDESCEX), + "::", + stringify!(varDefaultValue) + ) + ); +} +pub type PARAMDESCEX = tagPARAMDESCEX; +pub type LPPARAMDESCEX = *mut tagPARAMDESCEX; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPARAMDESC { + pub pparamdescex: LPPARAMDESCEX, + pub wParamFlags: USHORT, +} +#[test] +fn bindgen_test_layout_tagPARAMDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagPARAMDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPARAMDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pparamdescex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDESC), + "::", + stringify!(pparamdescex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wParamFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDESC), + "::", + stringify!(wParamFlags) + ) + ); +} +pub type PARAMDESC = tagPARAMDESC; +pub type LPPARAMDESC = *mut tagPARAMDESC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagIDLDESC { + pub dwReserved: ULONG_PTR, + pub wIDLFlags: USHORT, +} +#[test] +fn bindgen_test_layout_tagIDLDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagIDLDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagIDLDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagIDLDESC), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wIDLFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagIDLDESC), + "::", + stringify!(wIDLFlags) + ) + ); +} +pub type IDLDESC = tagIDLDESC; +pub type LPIDLDESC = *mut tagIDLDESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagELEMDESC { + pub tdesc: TYPEDESC, + pub __bindgen_anon_1: tagELEMDESC__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagELEMDESC__bindgen_ty_1 { + pub idldesc: IDLDESC, + pub paramdesc: PARAMDESC, +} +#[test] +fn bindgen_test_layout_tagELEMDESC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagELEMDESC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagELEMDESC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idldesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagELEMDESC__bindgen_ty_1), + "::", + stringify!(idldesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paramdesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagELEMDESC__bindgen_ty_1), + "::", + stringify!(paramdesc) + ) + ); +} +#[test] +fn bindgen_test_layout_tagELEMDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagELEMDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagELEMDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagELEMDESC), + "::", + stringify!(tdesc) + ) + ); +} +pub type ELEMDESC = tagELEMDESC; +pub type LPELEMDESC = *mut tagELEMDESC; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagTYPEATTR { + pub guid: GUID, + pub lcid: LCID, + pub dwReserved: DWORD, + pub memidConstructor: MEMBERID, + pub memidDestructor: MEMBERID, + pub lpstrSchema: LPOLESTR, + pub cbSizeInstance: ULONG, + pub typekind: TYPEKIND, + pub cFuncs: WORD, + pub cVars: WORD, + pub cImplTypes: WORD, + pub cbSizeVft: WORD, + pub cbAlignment: WORD, + pub wTypeFlags: WORD, + pub wMajorVerNum: WORD, + pub wMinorVerNum: WORD, + pub tdescAlias: TYPEDESC, + pub idldescType: IDLDESC, +} +#[test] +fn bindgen_test_layout_tagTYPEATTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(tagTYPEATTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagTYPEATTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(lcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).memidConstructor) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(memidConstructor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).memidDestructor) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(memidDestructor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrSchema) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(lpstrSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSizeInstance) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cbSizeInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).typekind) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(typekind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cFuncs) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cFuncs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVars) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cVars) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cImplTypes) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cImplTypes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSizeVft) as usize - ptr as usize }, + 54usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cbSizeVft) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbAlignment) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(cbAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wTypeFlags) as usize - ptr as usize }, + 58usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(wTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMajorVerNum) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(wMajorVerNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMinorVerNum) as usize - ptr as usize }, + 62usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(wMinorVerNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tdescAlias) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(tdescAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).idldescType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagTYPEATTR), + "::", + stringify!(idldescType) + ) + ); +} +pub type TYPEATTR = tagTYPEATTR; +pub type LPTYPEATTR = *mut tagTYPEATTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDISPPARAMS { + pub rgvarg: *mut VARIANTARG, + pub rgdispidNamedArgs: *mut DISPID, + pub cArgs: UINT, + pub cNamedArgs: UINT, +} +#[test] +fn bindgen_test_layout_tagDISPPARAMS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagDISPPARAMS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagDISPPARAMS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgvarg) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDISPPARAMS), + "::", + stringify!(rgvarg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgdispidNamedArgs) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagDISPPARAMS), + "::", + stringify!(rgdispidNamedArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cArgs) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagDISPPARAMS), + "::", + stringify!(cArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cNamedArgs) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagDISPPARAMS), + "::", + stringify!(cNamedArgs) + ) + ); +} +pub type DISPPARAMS = tagDISPPARAMS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagEXCEPINFO { + pub wCode: WORD, + pub wReserved: WORD, + pub bstrSource: BSTR, + pub bstrDescription: BSTR, + pub bstrHelpFile: BSTR, + pub dwHelpContext: DWORD, + pub pvReserved: PVOID, + pub pfnDeferredFillIn: + ::std::option::Option HRESULT>, + pub scode: SCODE, +} +#[test] +fn bindgen_test_layout_tagEXCEPINFO() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagEXCEPINFO)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagEXCEPINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wCode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(wCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(wReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrSource) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(bstrSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrDescription) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(bstrDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrHelpFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(bstrHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwHelpContext) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(dwHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvReserved) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(pvReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnDeferredFillIn) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(pfnDeferredFillIn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scode) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagEXCEPINFO), + "::", + stringify!(scode) + ) + ); +} +pub type EXCEPINFO = tagEXCEPINFO; +pub type LPEXCEPINFO = *mut tagEXCEPINFO; +pub const tagCALLCONV_CC_FASTCALL: tagCALLCONV = 0; +pub const tagCALLCONV_CC_CDECL: tagCALLCONV = 1; +pub const tagCALLCONV_CC_MSCPASCAL: tagCALLCONV = 2; +pub const tagCALLCONV_CC_PASCAL: tagCALLCONV = 2; +pub const tagCALLCONV_CC_MACPASCAL: tagCALLCONV = 3; +pub const tagCALLCONV_CC_STDCALL: tagCALLCONV = 4; +pub const tagCALLCONV_CC_FPFASTCALL: tagCALLCONV = 5; +pub const tagCALLCONV_CC_SYSCALL: tagCALLCONV = 6; +pub const tagCALLCONV_CC_MPWCDECL: tagCALLCONV = 7; +pub const tagCALLCONV_CC_MPWPASCAL: tagCALLCONV = 8; +pub const tagCALLCONV_CC_MAX: tagCALLCONV = 9; +pub type tagCALLCONV = ::std::os::raw::c_int; +pub use self::tagCALLCONV as CALLCONV; +pub const tagFUNCKIND_FUNC_VIRTUAL: tagFUNCKIND = 0; +pub const tagFUNCKIND_FUNC_PUREVIRTUAL: tagFUNCKIND = 1; +pub const tagFUNCKIND_FUNC_NONVIRTUAL: tagFUNCKIND = 2; +pub const tagFUNCKIND_FUNC_STATIC: tagFUNCKIND = 3; +pub const tagFUNCKIND_FUNC_DISPATCH: tagFUNCKIND = 4; +pub type tagFUNCKIND = ::std::os::raw::c_int; +pub use self::tagFUNCKIND as FUNCKIND; +pub const tagINVOKEKIND_INVOKE_FUNC: tagINVOKEKIND = 1; +pub const tagINVOKEKIND_INVOKE_PROPERTYGET: tagINVOKEKIND = 2; +pub const tagINVOKEKIND_INVOKE_PROPERTYPUT: tagINVOKEKIND = 4; +pub const tagINVOKEKIND_INVOKE_PROPERTYPUTREF: tagINVOKEKIND = 8; +pub type tagINVOKEKIND = ::std::os::raw::c_int; +pub use self::tagINVOKEKIND as INVOKEKIND; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagFUNCDESC { + pub memid: MEMBERID, + pub lprgscode: *mut SCODE, + pub lprgelemdescParam: *mut ELEMDESC, + pub funckind: FUNCKIND, + pub invkind: INVOKEKIND, + pub callconv: CALLCONV, + pub cParams: SHORT, + pub cParamsOpt: SHORT, + pub oVft: SHORT, + pub cScodes: SHORT, + pub elemdescFunc: ELEMDESC, + pub wFuncFlags: WORD, +} +#[test] +fn bindgen_test_layout_tagFUNCDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(tagFUNCDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagFUNCDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).memid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(memid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lprgscode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(lprgscode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lprgelemdescParam) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(lprgelemdescParam) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).funckind) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(funckind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).invkind) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(invkind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).callconv) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(callconv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cParams) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(cParams) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cParamsOpt) as usize - ptr as usize }, + 38usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(cParamsOpt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).oVft) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(oVft) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cScodes) as usize - ptr as usize }, + 42usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(cScodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elemdescFunc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(elemdescFunc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFuncFlags) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagFUNCDESC), + "::", + stringify!(wFuncFlags) + ) + ); +} +pub type FUNCDESC = tagFUNCDESC; +pub type LPFUNCDESC = *mut tagFUNCDESC; +pub const tagVARKIND_VAR_PERINSTANCE: tagVARKIND = 0; +pub const tagVARKIND_VAR_STATIC: tagVARKIND = 1; +pub const tagVARKIND_VAR_CONST: tagVARKIND = 2; +pub const tagVARKIND_VAR_DISPATCH: tagVARKIND = 3; +pub type tagVARKIND = ::std::os::raw::c_int; +pub use self::tagVARKIND as VARKIND; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagVARDESC { + pub memid: MEMBERID, + pub lpstrSchema: LPOLESTR, + pub __bindgen_anon_1: tagVARDESC__bindgen_ty_1, + pub elemdescVar: ELEMDESC, + pub wVarFlags: WORD, + pub varkind: VARKIND, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagVARDESC__bindgen_ty_1 { + pub oInst: ULONG, + pub lpvarValue: *mut VARIANT, +} +#[test] +fn bindgen_test_layout_tagVARDESC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagVARDESC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVARDESC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).oInst) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC__bindgen_ty_1), + "::", + stringify!(oInst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpvarValue) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC__bindgen_ty_1), + "::", + stringify!(lpvarValue) + ) + ); +} +#[test] +fn bindgen_test_layout_tagVARDESC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagVARDESC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVARDESC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).memid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(memid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrSchema) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(lpstrSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).elemdescVar) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(elemdescVar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVarFlags) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(wVarFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).varkind) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagVARDESC), + "::", + stringify!(varkind) + ) + ); +} +pub type VARDESC = tagVARDESC; +pub type LPVARDESC = *mut tagVARDESC; +pub const tagTYPEFLAGS_TYPEFLAG_FAPPOBJECT: tagTYPEFLAGS = 1; +pub const tagTYPEFLAGS_TYPEFLAG_FCANCREATE: tagTYPEFLAGS = 2; +pub const tagTYPEFLAGS_TYPEFLAG_FLICENSED: tagTYPEFLAGS = 4; +pub const tagTYPEFLAGS_TYPEFLAG_FPREDECLID: tagTYPEFLAGS = 8; +pub const tagTYPEFLAGS_TYPEFLAG_FHIDDEN: tagTYPEFLAGS = 16; +pub const tagTYPEFLAGS_TYPEFLAG_FCONTROL: tagTYPEFLAGS = 32; +pub const tagTYPEFLAGS_TYPEFLAG_FDUAL: tagTYPEFLAGS = 64; +pub const tagTYPEFLAGS_TYPEFLAG_FNONEXTENSIBLE: tagTYPEFLAGS = 128; +pub const tagTYPEFLAGS_TYPEFLAG_FOLEAUTOMATION: tagTYPEFLAGS = 256; +pub const tagTYPEFLAGS_TYPEFLAG_FRESTRICTED: tagTYPEFLAGS = 512; +pub const tagTYPEFLAGS_TYPEFLAG_FAGGREGATABLE: tagTYPEFLAGS = 1024; +pub const tagTYPEFLAGS_TYPEFLAG_FREPLACEABLE: tagTYPEFLAGS = 2048; +pub const tagTYPEFLAGS_TYPEFLAG_FDISPATCHABLE: tagTYPEFLAGS = 4096; +pub const tagTYPEFLAGS_TYPEFLAG_FREVERSEBIND: tagTYPEFLAGS = 8192; +pub const tagTYPEFLAGS_TYPEFLAG_FPROXY: tagTYPEFLAGS = 16384; +pub type tagTYPEFLAGS = ::std::os::raw::c_int; +pub use self::tagTYPEFLAGS as TYPEFLAGS; +pub const tagFUNCFLAGS_FUNCFLAG_FRESTRICTED: tagFUNCFLAGS = 1; +pub const tagFUNCFLAGS_FUNCFLAG_FSOURCE: tagFUNCFLAGS = 2; +pub const tagFUNCFLAGS_FUNCFLAG_FBINDABLE: tagFUNCFLAGS = 4; +pub const tagFUNCFLAGS_FUNCFLAG_FREQUESTEDIT: tagFUNCFLAGS = 8; +pub const tagFUNCFLAGS_FUNCFLAG_FDISPLAYBIND: tagFUNCFLAGS = 16; +pub const tagFUNCFLAGS_FUNCFLAG_FDEFAULTBIND: tagFUNCFLAGS = 32; +pub const tagFUNCFLAGS_FUNCFLAG_FHIDDEN: tagFUNCFLAGS = 64; +pub const tagFUNCFLAGS_FUNCFLAG_FUSESGETLASTERROR: tagFUNCFLAGS = 128; +pub const tagFUNCFLAGS_FUNCFLAG_FDEFAULTCOLLELEM: tagFUNCFLAGS = 256; +pub const tagFUNCFLAGS_FUNCFLAG_FUIDEFAULT: tagFUNCFLAGS = 512; +pub const tagFUNCFLAGS_FUNCFLAG_FNONBROWSABLE: tagFUNCFLAGS = 1024; +pub const tagFUNCFLAGS_FUNCFLAG_FREPLACEABLE: tagFUNCFLAGS = 2048; +pub const tagFUNCFLAGS_FUNCFLAG_FIMMEDIATEBIND: tagFUNCFLAGS = 4096; +pub type tagFUNCFLAGS = ::std::os::raw::c_int; +pub use self::tagFUNCFLAGS as FUNCFLAGS; +pub const tagVARFLAGS_VARFLAG_FREADONLY: tagVARFLAGS = 1; +pub const tagVARFLAGS_VARFLAG_FSOURCE: tagVARFLAGS = 2; +pub const tagVARFLAGS_VARFLAG_FBINDABLE: tagVARFLAGS = 4; +pub const tagVARFLAGS_VARFLAG_FREQUESTEDIT: tagVARFLAGS = 8; +pub const tagVARFLAGS_VARFLAG_FDISPLAYBIND: tagVARFLAGS = 16; +pub const tagVARFLAGS_VARFLAG_FDEFAULTBIND: tagVARFLAGS = 32; +pub const tagVARFLAGS_VARFLAG_FHIDDEN: tagVARFLAGS = 64; +pub const tagVARFLAGS_VARFLAG_FRESTRICTED: tagVARFLAGS = 128; +pub const tagVARFLAGS_VARFLAG_FDEFAULTCOLLELEM: tagVARFLAGS = 256; +pub const tagVARFLAGS_VARFLAG_FUIDEFAULT: tagVARFLAGS = 512; +pub const tagVARFLAGS_VARFLAG_FNONBROWSABLE: tagVARFLAGS = 1024; +pub const tagVARFLAGS_VARFLAG_FREPLACEABLE: tagVARFLAGS = 2048; +pub const tagVARFLAGS_VARFLAG_FIMMEDIATEBIND: tagVARFLAGS = 4096; +pub type tagVARFLAGS = ::std::os::raw::c_int; +pub use self::tagVARFLAGS as VARFLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCLEANLOCALSTORAGE { + pub pInterface: *mut IUnknown, + pub pStorage: PVOID, + pub flags: DWORD, +} +#[test] +fn bindgen_test_layout_tagCLEANLOCALSTORAGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagCLEANLOCALSTORAGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCLEANLOCALSTORAGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCLEANLOCALSTORAGE), + "::", + stringify!(pInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStorage) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCLEANLOCALSTORAGE), + "::", + stringify!(pStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCLEANLOCALSTORAGE), + "::", + stringify!(flags) + ) + ); +} +pub type CLEANLOCALSTORAGE = tagCLEANLOCALSTORAGE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagCUSTDATAITEM { + pub guid: GUID, + pub varValue: VARIANTARG, +} +#[test] +fn bindgen_test_layout_tagCUSTDATAITEM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagCUSTDATAITEM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCUSTDATAITEM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCUSTDATAITEM), + "::", + stringify!(guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).varValue) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCUSTDATAITEM), + "::", + stringify!(varValue) + ) + ); +} +pub type CUSTDATAITEM = tagCUSTDATAITEM; +pub type LPCUSTDATAITEM = *mut tagCUSTDATAITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCUSTDATA { + pub cCustData: DWORD, + pub prgCustData: LPCUSTDATAITEM, +} +#[test] +fn bindgen_test_layout_tagCUSTDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCUSTDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCUSTDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cCustData) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCUSTDATA), + "::", + stringify!(cCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).prgCustData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCUSTDATA), + "::", + stringify!(prgCustData) + ) + ); +} +pub type CUSTDATA = tagCUSTDATA; +pub type LPCUSTDATA = *mut tagCUSTDATA; +extern "C" { + pub static mut IOleAutomationTypes_v1_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut IOleAutomationTypes_v1_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPCREATETYPEINFO = *mut ICreateTypeInfo; +extern "C" { + pub static IID_ICreateTypeInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, guid: *const GUID) -> HRESULT, + >, + pub SetTypeFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, uTypeFlags: UINT) -> HRESULT, + >, + pub SetDocString: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, pStrDoc: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, dwHelpContext: DWORD) -> HRESULT, + >, + pub SetVersion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + ) -> HRESULT, + >, + pub AddRefTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + pTInfo: *mut ITypeInfo, + phRefType: *mut HREFTYPE, + ) -> HRESULT, + >, + pub AddFuncDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + pFuncDesc: *mut FUNCDESC, + ) -> HRESULT, + >, + pub AddImplType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + hRefType: HREFTYPE, + ) -> HRESULT, + >, + pub SetImplTypeFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + implTypeFlags: INT, + ) -> HRESULT, + >, + pub SetAlignment: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, cbAlignment: WORD) -> HRESULT, + >, + pub SetSchema: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, pStrSchema: LPOLESTR) -> HRESULT, + >, + pub AddVarDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + pVarDesc: *mut VARDESC, + ) -> HRESULT, + >, + pub SetFuncAndParamNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + rgszNames: *mut LPOLESTR, + cNames: UINT, + ) -> HRESULT, + >, + pub SetVarName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, index: UINT, szName: LPOLESTR) -> HRESULT, + >, + pub SetTypeDescAlias: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, pTDescAlias: *mut TYPEDESC) -> HRESULT, + >, + pub DefineFuncAsDllEntry: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + szDllName: LPOLESTR, + szProcName: LPOLESTR, + ) -> HRESULT, + >, + pub SetFuncDocString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + szDocString: LPOLESTR, + ) -> HRESULT, + >, + pub SetVarDocString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + szDocString: LPOLESTR, + ) -> HRESULT, + >, + pub SetFuncHelpContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + dwHelpContext: DWORD, + ) -> HRESULT, + >, + pub SetVarHelpContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo, + index: UINT, + dwHelpContext: DWORD, + ) -> HRESULT, + >, + pub SetMops: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, index: UINT, bstrMops: BSTR) -> HRESULT, + >, + pub SetTypeIdldesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo, pIdlDesc: *mut IDLDESC) -> HRESULT, + >, + pub LayOut: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ICreateTypeInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 208usize, + concat!("Size of: ", stringify!(ICreateTypeInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGuid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDocString) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRefTypeInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddRefTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddFuncDesc) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddImplType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetImplTypeFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetImplTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAlignment) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSchema) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddVarDesc) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(AddVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncAndParamNames) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetFuncAndParamNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetVarName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeDescAlias) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetTypeDescAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefineFuncAsDllEntry) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(DefineFuncAsDllEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncDocString) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetFuncDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarDocString) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetVarDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncHelpContext) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetFuncHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarHelpContext) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetVarHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetMops) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetMops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeIdldesc) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(SetTypeIdldesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LayOut) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfoVtbl), + "::", + stringify!(LayOut) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeInfo { + pub lpVtbl: *mut ICreateTypeInfoVtbl, +} +#[test] +fn bindgen_test_layout_ICreateTypeInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateTypeInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCREATETYPEINFO2 = *mut ICreateTypeInfo2; +extern "C" { + pub static IID_ICreateTypeInfo2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeInfo2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, guid: *const GUID) -> HRESULT, + >, + pub SetTypeFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, uTypeFlags: UINT) -> HRESULT, + >, + pub SetDocString: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, pStrDoc: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, dwHelpContext: DWORD) -> HRESULT, + >, + pub SetVersion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + ) -> HRESULT, + >, + pub AddRefTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + pTInfo: *mut ITypeInfo, + phRefType: *mut HREFTYPE, + ) -> HRESULT, + >, + pub AddFuncDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + pFuncDesc: *mut FUNCDESC, + ) -> HRESULT, + >, + pub AddImplType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + hRefType: HREFTYPE, + ) -> HRESULT, + >, + pub SetImplTypeFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + implTypeFlags: INT, + ) -> HRESULT, + >, + pub SetAlignment: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, cbAlignment: WORD) -> HRESULT, + >, + pub SetSchema: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, pStrSchema: LPOLESTR) -> HRESULT, + >, + pub AddVarDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + pVarDesc: *mut VARDESC, + ) -> HRESULT, + >, + pub SetFuncAndParamNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + rgszNames: *mut LPOLESTR, + cNames: UINT, + ) -> HRESULT, + >, + pub SetVarName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT, szName: LPOLESTR) -> HRESULT, + >, + pub SetTypeDescAlias: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, pTDescAlias: *mut TYPEDESC) -> HRESULT, + >, + pub DefineFuncAsDllEntry: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + szDllName: LPOLESTR, + szProcName: LPOLESTR, + ) -> HRESULT, + >, + pub SetFuncDocString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + szDocString: LPOLESTR, + ) -> HRESULT, + >, + pub SetVarDocString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + szDocString: LPOLESTR, + ) -> HRESULT, + >, + pub SetFuncHelpContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + dwHelpContext: DWORD, + ) -> HRESULT, + >, + pub SetVarHelpContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + dwHelpContext: DWORD, + ) -> HRESULT, + >, + pub SetMops: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT, bstrMops: BSTR) -> HRESULT, + >, + pub SetTypeIdldesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, pIdlDesc: *mut IDLDESC) -> HRESULT, + >, + pub LayOut: ::std::option::Option HRESULT>, + pub DeleteFuncDesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT) -> HRESULT, + >, + pub DeleteFuncDescByMemId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + memid: MEMBERID, + invKind: INVOKEKIND, + ) -> HRESULT, + >, + pub DeleteVarDesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT) -> HRESULT, + >, + pub DeleteVarDescByMemId: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, memid: MEMBERID) -> HRESULT, + >, + pub DeleteImplType: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, index: UINT) -> HRESULT, + >, + pub SetCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetFuncCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetParamCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + indexFunc: UINT, + indexParam: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetVarCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetImplTypeCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetHelpStringContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, dwHelpStringContext: ULONG) -> HRESULT, + >, + pub SetFuncHelpStringContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + dwHelpStringContext: ULONG, + ) -> HRESULT, + >, + pub SetVarHelpStringContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeInfo2, + index: UINT, + dwHelpStringContext: ULONG, + ) -> HRESULT, + >, + pub Invalidate: + ::std::option::Option HRESULT>, + pub SetName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeInfo2, szName: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICreateTypeInfo2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 328usize, + concat!("Size of: ", stringify!(ICreateTypeInfo2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeInfo2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGuid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDocString) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVersion) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRefTypeInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddRefTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddFuncDesc) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddImplType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetImplTypeFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetImplTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAlignment) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetAlignment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSchema) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetSchema) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddVarDesc) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(AddVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncAndParamNames) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncAndParamNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeDescAlias) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetTypeDescAlias) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DefineFuncAsDllEntry) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DefineFuncAsDllEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncDocString) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarDocString) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncHelpContext) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarHelpContext) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetMops) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetMops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTypeIdldesc) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetTypeIdldesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LayOut) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(LayOut) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteFuncDesc) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteFuncDescByMemId) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteFuncDescByMemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteVarDesc) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteVarDescByMemId) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteVarDescByMemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteImplType) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(DeleteImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCustData) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncCustData) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetParamCustData) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetParamCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarCustData) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetImplTypeCustData) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetImplTypeCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpStringContext) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetHelpStringContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFuncHelpStringContext) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetFuncHelpStringContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVarHelpStringContext) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetVarHelpStringContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invalidate) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(Invalidate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetName) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2Vtbl), + "::", + stringify!(SetName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeInfo2 { + pub lpVtbl: *mut ICreateTypeInfo2Vtbl, +} +#[test] +fn bindgen_test_layout_ICreateTypeInfo2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateTypeInfo2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeInfo2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeInfo2), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCREATETYPELIB = *mut ICreateTypeLib; +extern "C" { + pub static IID_ICreateTypeLib: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeLibVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib, + szName: LPOLESTR, + tkind: TYPEKIND, + ppCTInfo: *mut *mut ICreateTypeInfo, + ) -> HRESULT, + >, + pub SetName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, szName: LPOLESTR) -> HRESULT, + >, + pub SetVersion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + ) -> HRESULT, + >, + pub SetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, guid: *const GUID) -> HRESULT, + >, + pub SetDocString: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, szDoc: LPOLESTR) -> HRESULT, + >, + pub SetHelpFileName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, szHelpFileName: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, dwHelpContext: DWORD) -> HRESULT, + >, + pub SetLcid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, lcid: LCID) -> HRESULT, + >, + pub SetLibFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib, uLibFlags: UINT) -> HRESULT, + >, + pub SaveAllChanges: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_ICreateTypeLibVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(ICreateTypeLibVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeLibVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateTypeInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(CreateTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDocString) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpFileName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetHelpFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetLcid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetLcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetLibFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SetLibFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveAllChanges) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLibVtbl), + "::", + stringify!(SaveAllChanges) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeLib { + pub lpVtbl: *mut ICreateTypeLibVtbl, +} +#[test] +fn bindgen_test_layout_ICreateTypeLib() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateTypeLib)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeLib)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCREATETYPELIB2 = *mut ICreateTypeLib2; +extern "C" { + pub static IID_ICreateTypeLib2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeLib2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib2, + szName: LPOLESTR, + tkind: TYPEKIND, + ppCTInfo: *mut *mut ICreateTypeInfo, + ) -> HRESULT, + >, + pub SetName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szName: LPOLESTR) -> HRESULT, + >, + pub SetVersion: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib2, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + ) -> HRESULT, + >, + pub SetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, guid: *const GUID) -> HRESULT, + >, + pub SetDocString: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szDoc: LPOLESTR) -> HRESULT, + >, + pub SetHelpFileName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szHelpFileName: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, dwHelpContext: DWORD) -> HRESULT, + >, + pub SetLcid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, lcid: LCID) -> HRESULT, + >, + pub SetLibFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, uLibFlags: UINT) -> HRESULT, + >, + pub SaveAllChanges: + ::std::option::Option HRESULT>, + pub DeleteTypeInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szName: LPOLESTR) -> HRESULT, + >, + pub SetCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateTypeLib2, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub SetHelpStringContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, dwHelpStringContext: ULONG) -> HRESULT, + >, + pub SetHelpStringDll: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateTypeLib2, szFileName: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICreateTypeLib2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(ICreateTypeLib2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeLib2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateTypeInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(CreateTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetVersion) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDocString) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetDocString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpFileName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetHelpFileName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetHelpContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetLcid) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetLcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetLibFlags) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetLibFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveAllChanges) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SaveAllChanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteTypeInfo) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(DeleteTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpStringContext) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetHelpStringContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpStringDll) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2Vtbl), + "::", + stringify!(SetHelpStringDll) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateTypeLib2 { + pub lpVtbl: *mut ICreateTypeLib2Vtbl, +} +#[test] +fn bindgen_test_layout_ICreateTypeLib2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateTypeLib2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateTypeLib2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateTypeLib2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0005_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0005_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPDISPATCH = *mut IDispatch; +extern "C" { + pub static IID_IDispatch: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDispatchVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDispatch, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDispatch, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDispatch, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDispatch, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDispatch, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDispatchVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IDispatchVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDispatchVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IDispatchVtbl), + "::", + stringify!(Invoke) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDispatch { + pub lpVtbl: *mut IDispatchVtbl, +} +#[test] +fn bindgen_test_layout_IDispatch() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDispatch)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDispatch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDispatch), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IDispatch_RemoteInvoke_Proxy( + This: *mut IDispatch, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + dwFlags: DWORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + pArgErr: *mut UINT, + cVarRef: UINT, + rgVarRefIdx: *mut UINT, + rgVarRef: *mut VARIANTARG, + ) -> HRESULT; +} +extern "C" { + pub fn IDispatch_RemoteInvoke_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMVARIANT = *mut IEnumVARIANT; +extern "C" { + pub static IID_IEnumVARIANT: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumVARIANTVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumVARIANT, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumVARIANT, + celt: ULONG, + rgVar: *mut VARIANT, + pCeltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumVARIANT, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumVARIANT, ppEnum: *mut *mut IEnumVARIANT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumVARIANTVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumVARIANTVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumVARIANTVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANTVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumVARIANT { + pub lpVtbl: *mut IEnumVARIANTVtbl, +} +#[test] +fn bindgen_test_layout_IEnumVARIANT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumVARIANT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumVARIANT), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumVARIANT_RemoteNext_Proxy( + This: *mut IEnumVARIANT, + celt: ULONG, + rgVar: *mut VARIANT, + pCeltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumVARIANT_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPTYPECOMP = *mut ITypeComp; +pub const tagDESCKIND_DESCKIND_NONE: tagDESCKIND = 0; +pub const tagDESCKIND_DESCKIND_FUNCDESC: tagDESCKIND = 1; +pub const tagDESCKIND_DESCKIND_VARDESC: tagDESCKIND = 2; +pub const tagDESCKIND_DESCKIND_TYPECOMP: tagDESCKIND = 3; +pub const tagDESCKIND_DESCKIND_IMPLICITAPPOBJ: tagDESCKIND = 4; +pub const tagDESCKIND_DESCKIND_MAX: tagDESCKIND = 5; +pub type tagDESCKIND = ::std::os::raw::c_int; +pub use self::tagDESCKIND as DESCKIND; +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagBINDPTR { + pub lpfuncdesc: *mut FUNCDESC, + pub lpvardesc: *mut VARDESC, + pub lptcomp: *mut ITypeComp, +} +#[test] +fn bindgen_test_layout_tagBINDPTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagBINDPTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagBINDPTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfuncdesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBINDPTR), + "::", + stringify!(lpfuncdesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpvardesc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBINDPTR), + "::", + stringify!(lpvardesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lptcomp) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagBINDPTR), + "::", + stringify!(lptcomp) + ) + ); +} +pub type BINDPTR = tagBINDPTR; +pub type LPBINDPTR = *mut tagBINDPTR; +extern "C" { + pub static IID_ITypeComp: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeCompVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeComp, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Bind: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + wFlags: WORD, + ppTInfo: *mut *mut ITypeInfo, + pDescKind: *mut DESCKIND, + pBindPtr: *mut BINDPTR, + ) -> HRESULT, + >, + pub BindType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + ppTComp: *mut *mut ITypeComp, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeCompVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ITypeCompVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeCompVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Bind) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(Bind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeCompVtbl), + "::", + stringify!(BindType) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeComp { + pub lpVtbl: *mut ITypeCompVtbl, +} +#[test] +fn bindgen_test_layout_ITypeComp() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeComp)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeComp)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeComp), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeComp_RemoteBind_Proxy( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + wFlags: WORD, + ppTInfo: *mut *mut ITypeInfo, + pDescKind: *mut DESCKIND, + ppFuncDesc: *mut LPFUNCDESC, + ppVarDesc: *mut LPVARDESC, + ppTypeComp: *mut *mut ITypeComp, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_RemoteBind_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeComp_RemoteBindType_Proxy( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_RemoteBindType_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0008_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0008_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPTYPEINFO = *mut ITypeInfo; +extern "C" { + pub static IID_ITypeInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo, ppTypeAttr: *mut *mut TYPEATTR) -> HRESULT, + >, + pub GetTypeComp: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo, ppTComp: *mut *mut ITypeComp) -> HRESULT, + >, + pub GetFuncDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + index: UINT, + ppFuncDesc: *mut *mut FUNCDESC, + ) -> HRESULT, + >, + pub GetVarDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + index: UINT, + ppVarDesc: *mut *mut VARDESC, + ) -> HRESULT, + >, + pub GetNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT, + >, + pub GetRefTypeOfImplType: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo, index: UINT, pRefType: *mut HREFTYPE) -> HRESULT, + >, + pub GetImplTypeFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + index: UINT, + pImplTypeFlags: *mut INT, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + rgszNames: *mut LPOLESTR, + cNames: UINT, + pMemId: *mut MEMBERID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + pvInstance: PVOID, + memid: MEMBERID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub GetDocumentation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT, + >, + pub GetDllEntry: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT, + >, + pub GetRefTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + hRefType: HREFTYPE, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub AddressOfMember: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + ppv: *mut PVOID, + ) -> HRESULT, + >, + pub CreateInstance: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObj: *mut PVOID, + ) -> HRESULT, + >, + pub GetMops: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + memid: MEMBERID, + pBstrMops: *mut BSTR, + ) -> HRESULT, + >, + pub GetContainingTypeLib: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT, + >, + pub ReleaseTypeAttr: + ::std::option::Option, + pub ReleaseFuncDesc: + ::std::option::Option, + pub ReleaseVarDesc: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_ITypeInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 176usize, + concat!("Size of: ", stringify!(ITypeInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeAttr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetTypeAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeComp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetTypeComp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFuncDesc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVarDesc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetNames) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRefTypeOfImplType) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetRefTypeOfImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetImplTypeFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetImplTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetDocumentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDllEntry) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetDllEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRefTypeInfo) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetRefTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfMember) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(AddressOfMember) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateInstance) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(CreateInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMops) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetMops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetContainingTypeLib) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(GetContainingTypeLib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseTypeAttr) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(ReleaseTypeAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseFuncDesc) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(ReleaseFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseVarDesc) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfoVtbl), + "::", + stringify!(ReleaseVarDesc) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeInfo { + pub lpVtbl: *mut ITypeInfoVtbl, +} +#[test] +fn bindgen_test_layout_ITypeInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetTypeAttr_Proxy( + This: *mut ITypeInfo, + ppTypeAttr: *mut LPTYPEATTR, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetTypeAttr_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetFuncDesc_Proxy( + This: *mut ITypeInfo, + index: UINT, + ppFuncDesc: *mut LPFUNCDESC, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetFuncDesc_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetVarDesc_Proxy( + This: *mut ITypeInfo, + index: UINT, + ppVarDesc: *mut LPVARDESC, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetVarDesc_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetNames_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetNames_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalGetIDsOfNames_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalGetIDsOfNames_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalInvoke_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalInvoke_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetDocumentation_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + refPtrFlags: DWORD, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetDocumentation_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetDllEntry_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + refPtrFlags: DWORD, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetDllEntry_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalAddressOfMember_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalAddressOfMember_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteCreateInstance_Proxy( + This: *mut ITypeInfo, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteCreateInstance_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_RemoteGetContainingTypeLib_Proxy( + This: *mut ITypeInfo, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_RemoteGetContainingTypeLib_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalReleaseTypeAttr_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalReleaseTypeAttr_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalReleaseFuncDesc_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalReleaseFuncDesc_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeInfo_LocalReleaseVarDesc_Proxy(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_LocalReleaseVarDesc_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPTYPEINFO2 = *mut ITypeInfo2; +extern "C" { + pub static IID_ITypeInfo2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeInfo2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, ppTypeAttr: *mut *mut TYPEATTR) -> HRESULT, + >, + pub GetTypeComp: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, ppTComp: *mut *mut ITypeComp) -> HRESULT, + >, + pub GetFuncDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + ppFuncDesc: *mut *mut FUNCDESC, + ) -> HRESULT, + >, + pub GetVarDesc: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + ppVarDesc: *mut *mut VARDESC, + ) -> HRESULT, + >, + pub GetNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT, + >, + pub GetRefTypeOfImplType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pRefType: *mut HREFTYPE, + ) -> HRESULT, + >, + pub GetImplTypeFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pImplTypeFlags: *mut INT, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + rgszNames: *mut LPOLESTR, + cNames: UINT, + pMemId: *mut MEMBERID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + pvInstance: PVOID, + memid: MEMBERID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub GetDocumentation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT, + >, + pub GetDllEntry: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + invKind: INVOKEKIND, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT, + >, + pub GetRefTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + hRefType: HREFTYPE, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub AddressOfMember: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + invKind: INVOKEKIND, + ppv: *mut PVOID, + ) -> HRESULT, + >, + pub CreateInstance: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObj: *mut PVOID, + ) -> HRESULT, + >, + pub GetMops: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + pBstrMops: *mut BSTR, + ) -> HRESULT, + >, + pub GetContainingTypeLib: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT, + >, + pub ReleaseTypeAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pTypeAttr: *mut TYPEATTR), + >, + pub ReleaseFuncDesc: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pFuncDesc: *mut FUNCDESC), + >, + pub ReleaseVarDesc: + ::std::option::Option, + pub GetTypeKind: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pTypeKind: *mut TYPEKIND) -> HRESULT, + >, + pub GetTypeFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pTypeFlags: *mut ULONG) -> HRESULT, + >, + pub GetFuncIndexOfMemId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + invKind: INVOKEKIND, + pFuncIndex: *mut UINT, + ) -> HRESULT, + >, + pub GetVarIndexOfMemId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + pVarIndex: *mut UINT, + ) -> HRESULT, + >, + pub GetCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetFuncCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetParamCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + indexFunc: UINT, + indexParam: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetVarCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetImplTypeCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetDocumentation2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + memid: MEMBERID, + lcid: LCID, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT, + >, + pub GetAllCustData: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeInfo2, pCustData: *mut CUSTDATA) -> HRESULT, + >, + pub GetAllFuncCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pCustData: *mut CUSTDATA, + ) -> HRESULT, + >, + pub GetAllParamCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + indexFunc: UINT, + indexParam: UINT, + pCustData: *mut CUSTDATA, + ) -> HRESULT, + >, + pub GetAllVarCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pCustData: *mut CUSTDATA, + ) -> HRESULT, + >, + pub GetAllImplTypeCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeInfo2, + index: UINT, + pCustData: *mut CUSTDATA, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeInfo2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 296usize, + concat!("Size of: ", stringify!(ITypeInfo2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeInfo2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeAttr) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetTypeAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeComp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetTypeComp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFuncDesc) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVarDesc) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetNames) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRefTypeOfImplType) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetRefTypeOfImplType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetImplTypeFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetImplTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetDocumentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDllEntry) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetDllEntry) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRefTypeInfo) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetRefTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressOfMember) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(AddressOfMember) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateInstance) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(CreateInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMops) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetMops) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetContainingTypeLib) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetContainingTypeLib) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseTypeAttr) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(ReleaseTypeAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseFuncDesc) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(ReleaseFuncDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseVarDesc) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(ReleaseVarDesc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeKind) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetTypeKind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeFlags) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetTypeFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFuncIndexOfMemId) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetFuncIndexOfMemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVarIndexOfMemId) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetVarIndexOfMemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCustData) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFuncCustData) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetFuncCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetParamCustData) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetParamCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVarCustData) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetVarCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetImplTypeCustData) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetImplTypeCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation2) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetDocumentation2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllCustData) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllFuncCustData) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllFuncCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllParamCustData) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllParamCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllVarCustData) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllVarCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllImplTypeCustData) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2Vtbl), + "::", + stringify!(GetAllImplTypeCustData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeInfo2 { + pub lpVtbl: *mut ITypeInfo2Vtbl, +} +#[test] +fn bindgen_test_layout_ITypeInfo2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeInfo2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeInfo2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeInfo2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeInfo2_RemoteGetDocumentation2_Proxy( + This: *mut ITypeInfo2, + memid: MEMBERID, + lcid: LCID, + refPtrFlags: DWORD, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo2_RemoteGetDocumentation2_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0010_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0010_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const tagSYSKIND_SYS_WIN16: tagSYSKIND = 0; +pub const tagSYSKIND_SYS_WIN32: tagSYSKIND = 1; +pub const tagSYSKIND_SYS_MAC: tagSYSKIND = 2; +pub const tagSYSKIND_SYS_WIN64: tagSYSKIND = 3; +pub type tagSYSKIND = ::std::os::raw::c_int; +pub use self::tagSYSKIND as SYSKIND; +pub const tagLIBFLAGS_LIBFLAG_FRESTRICTED: tagLIBFLAGS = 1; +pub const tagLIBFLAGS_LIBFLAG_FCONTROL: tagLIBFLAGS = 2; +pub const tagLIBFLAGS_LIBFLAG_FHIDDEN: tagLIBFLAGS = 4; +pub const tagLIBFLAGS_LIBFLAG_FHASDISKIMAGE: tagLIBFLAGS = 8; +pub type tagLIBFLAGS = ::std::os::raw::c_int; +pub use self::tagLIBFLAGS as LIBFLAGS; +pub type LPTYPELIB = *mut ITypeLib; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagTLIBATTR { + pub guid: GUID, + pub lcid: LCID, + pub syskind: SYSKIND, + pub wMajorVerNum: WORD, + pub wMinorVerNum: WORD, + pub wLibFlags: WORD, +} +#[test] +fn bindgen_test_layout_tagTLIBATTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagTLIBATTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagTLIBATTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(guid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lcid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(lcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).syskind) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(syskind) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMajorVerNum) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(wMajorVerNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wMinorVerNum) as usize - ptr as usize }, + 26usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(wMinorVerNum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wLibFlags) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagTLIBATTR), + "::", + stringify!(wLibFlags) + ) + ); +} +pub type TLIBATTR = tagTLIBATTR; +pub type LPTLIBATTR = *mut tagTLIBATTR; +extern "C" { + pub static IID_ITypeLib: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option UINT>, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + index: UINT, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetTypeInfoType: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib, index: UINT, pTKind: *mut TYPEKIND) -> HRESULT, + >, + pub GetTypeInfoOfGuid: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + guid: *const GUID, + ppTinfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetLibAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib, ppTLibAttr: *mut *mut TLIBATTR) -> HRESULT, + >, + pub GetTypeComp: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib, ppTComp: *mut *mut ITypeComp) -> HRESULT, + >, + pub GetDocumentation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + index: INT, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT, + >, + pub IsName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + ) -> HRESULT, + >, + pub FindName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + ) -> HRESULT, + >, + pub ReleaseTLibAttr: + ::std::option::Option, +} +#[test] +fn bindgen_test_layout_ITypeLibVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(ITypeLibVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoType) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoOfGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeInfoOfGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetLibAttr) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetLibAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeComp) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetTypeComp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(GetDocumentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsName) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(IsName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FindName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(FindName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseTLibAttr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibVtbl), + "::", + stringify!(ReleaseTLibAttr) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLib { + pub lpVtbl: *mut ITypeLibVtbl, +} +#[test] +fn bindgen_test_layout_ITypeLib() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeLib)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLib)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeLib_RemoteGetTypeInfoCount_Proxy( + This: *mut ITypeLib, + pcTInfo: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteGetTypeInfoCount_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_RemoteGetLibAttr_Proxy( + This: *mut ITypeLib, + ppTLibAttr: *mut LPTLIBATTR, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteGetLibAttr_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_RemoteGetDocumentation_Proxy( + This: *mut ITypeLib, + index: INT, + refPtrFlags: DWORD, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteGetDocumentation_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_RemoteIsName_Proxy( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + pBstrLibName: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteIsName_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_RemoteFindName_Proxy( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + pBstrLibName: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_RemoteFindName_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib_LocalReleaseTLibAttr_Proxy(This: *mut ITypeLib) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_LocalReleaseTLibAttr_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0011_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0011_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPTYPELIB2 = *mut ITypeLib2; +extern "C" { + pub static IID_ITypeLib2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLib2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option UINT>, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + index: UINT, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetTypeInfoType: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib2, index: UINT, pTKind: *mut TYPEKIND) -> HRESULT, + >, + pub GetTypeInfoOfGuid: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + guid: *const GUID, + ppTinfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetLibAttr: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib2, ppTLibAttr: *mut *mut TLIBATTR) -> HRESULT, + >, + pub GetTypeComp: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib2, ppTComp: *mut *mut ITypeComp) -> HRESULT, + >, + pub GetDocumentation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + index: INT, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT, + >, + pub IsName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + ) -> HRESULT, + >, + pub FindName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + ) -> HRESULT, + >, + pub ReleaseTLibAttr: + ::std::option::Option, + pub GetCustData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + guid: *const GUID, + pVarVal: *mut VARIANT, + ) -> HRESULT, + >, + pub GetLibStatistics: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + pcUniqueNames: *mut ULONG, + pcchUniqueNames: *mut ULONG, + ) -> HRESULT, + >, + pub GetDocumentation2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLib2, + index: INT, + lcid: LCID, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT, + >, + pub GetAllCustData: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLib2, pCustData: *mut CUSTDATA) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeLib2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(ITypeLib2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLib2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoType) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeInfoType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoOfGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeInfoOfGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetLibAttr) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetLibAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeComp) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetTypeComp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetDocumentation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsName) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(IsName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FindName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(FindName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReleaseTLibAttr) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(ReleaseTLibAttr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCustData) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetLibStatistics) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetLibStatistics) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDocumentation2) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetDocumentation2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAllCustData) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2Vtbl), + "::", + stringify!(GetAllCustData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLib2 { + pub lpVtbl: *mut ITypeLib2Vtbl, +} +#[test] +fn bindgen_test_layout_ITypeLib2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeLib2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLib2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLib2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn ITypeLib2_RemoteGetLibStatistics_Proxy( + This: *mut ITypeLib2, + pcUniqueNames: *mut ULONG, + pcchUniqueNames: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_RemoteGetLibStatistics_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn ITypeLib2_RemoteGetDocumentation2_Proxy( + This: *mut ITypeLib2, + index: INT, + lcid: LCID, + refPtrFlags: DWORD, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_RemoteGetDocumentation2_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPTYPECHANGEEVENTS = *mut ITypeChangeEvents; +pub const tagCHANGEKIND_CHANGEKIND_ADDMEMBER: tagCHANGEKIND = 0; +pub const tagCHANGEKIND_CHANGEKIND_DELETEMEMBER: tagCHANGEKIND = 1; +pub const tagCHANGEKIND_CHANGEKIND_SETNAMES: tagCHANGEKIND = 2; +pub const tagCHANGEKIND_CHANGEKIND_SETDOCUMENTATION: tagCHANGEKIND = 3; +pub const tagCHANGEKIND_CHANGEKIND_GENERAL: tagCHANGEKIND = 4; +pub const tagCHANGEKIND_CHANGEKIND_INVALIDATE: tagCHANGEKIND = 5; +pub const tagCHANGEKIND_CHANGEKIND_CHANGEFAILED: tagCHANGEKIND = 6; +pub const tagCHANGEKIND_CHANGEKIND_MAX: tagCHANGEKIND = 7; +pub type tagCHANGEKIND = ::std::os::raw::c_int; +pub use self::tagCHANGEKIND as CHANGEKIND; +extern "C" { + pub static IID_ITypeChangeEvents: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeChangeEventsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeChangeEvents, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub RequestTypeChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeChangeEvents, + changeKind: CHANGEKIND, + pTInfoBefore: *mut ITypeInfo, + pStrName: LPOLESTR, + pfCancel: *mut INT, + ) -> HRESULT, + >, + pub AfterTypeChange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeChangeEvents, + changeKind: CHANGEKIND, + pTInfoAfter: *mut ITypeInfo, + pStrName: LPOLESTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeChangeEventsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ITypeChangeEventsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeChangeEventsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestTypeChange) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(RequestTypeChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AfterTypeChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEventsVtbl), + "::", + stringify!(AfterTypeChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeChangeEvents { + pub lpVtbl: *mut ITypeChangeEventsVtbl, +} +#[test] +fn bindgen_test_layout_ITypeChangeEvents() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeChangeEvents)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeChangeEvents)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeChangeEvents), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPERRORINFO = *mut IErrorInfo; +extern "C" { + pub static IID_IErrorInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IErrorInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IErrorInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetGUID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pGUID: *mut GUID) -> HRESULT, + >, + pub GetSource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pBstrSource: *mut BSTR) -> HRESULT, + >, + pub GetDescription: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pBstrDescription: *mut BSTR) -> HRESULT, + >, + pub GetHelpFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pBstrHelpFile: *mut BSTR) -> HRESULT, + >, + pub GetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut IErrorInfo, pdwHelpContext: *mut DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IErrorInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IErrorInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IErrorInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGUID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSource) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDescription) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHelpContext) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfoVtbl), + "::", + stringify!(GetHelpContext) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IErrorInfo { + pub lpVtbl: *mut IErrorInfoVtbl, +} +#[test] +fn bindgen_test_layout_IErrorInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IErrorInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IErrorInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IErrorInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPCREATEERRORINFO = *mut ICreateErrorInfo; +extern "C" { + pub static IID_ICreateErrorInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateErrorInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICreateErrorInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetGUID: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, rguid: *const GUID) -> HRESULT, + >, + pub SetSource: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, szSource: LPOLESTR) -> HRESULT, + >, + pub SetDescription: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, szDescription: LPOLESTR) -> HRESULT, + >, + pub SetHelpFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, szHelpFile: LPOLESTR) -> HRESULT, + >, + pub SetHelpContext: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICreateErrorInfo, dwHelpContext: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICreateErrorInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(ICreateErrorInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateErrorInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetGUID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetGUID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSource) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDescription) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetHelpFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHelpContext) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfoVtbl), + "::", + stringify!(SetHelpContext) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICreateErrorInfo { + pub lpVtbl: *mut ICreateErrorInfoVtbl, +} +#[test] +fn bindgen_test_layout_ICreateErrorInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICreateErrorInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICreateErrorInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICreateErrorInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPSUPPORTERRORINFO = *mut ISupportErrorInfo; +extern "C" { + pub static IID_ISupportErrorInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISupportErrorInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISupportErrorInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub InterfaceSupportsErrorInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut ISupportErrorInfo, riid: *const IID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISupportErrorInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ISupportErrorInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISupportErrorInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InterfaceSupportsErrorInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfoVtbl), + "::", + stringify!(InterfaceSupportsErrorInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISupportErrorInfo { + pub lpVtbl: *mut ISupportErrorInfoVtbl, +} +#[test] +fn bindgen_test_layout_ISupportErrorInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISupportErrorInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISupportErrorInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISupportErrorInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ITypeFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateFromTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeFactory, + pTypeInfo: *mut ITypeInfo, + riid: *const IID, + ppv: *mut *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ITypeFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateFromTypeInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactoryVtbl), + "::", + stringify!(CreateFromTypeInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeFactory { + pub lpVtbl: *mut ITypeFactoryVtbl, +} +#[test] +fn bindgen_test_layout_ITypeFactory() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ITypeMarshal: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeMarshalVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeMarshal, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Size: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeMarshal, + pvType: PVOID, + dwDestContext: DWORD, + pvDestContext: PVOID, + pSize: *mut ULONG, + ) -> HRESULT, + >, + pub Marshal: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeMarshal, + pvType: PVOID, + dwDestContext: DWORD, + pvDestContext: PVOID, + cbBufferLength: ULONG, + pBuffer: *mut BYTE, + pcbWritten: *mut ULONG, + ) -> HRESULT, + >, + pub Unmarshal: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeMarshal, + pvType: PVOID, + dwFlags: DWORD, + cbBufferLength: ULONG, + pBuffer: *mut BYTE, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Free: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeMarshal, pvType: PVOID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeMarshalVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(ITypeMarshalVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeMarshalVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Size) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Marshal) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Marshal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unmarshal) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Unmarshal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Free) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshalVtbl), + "::", + stringify!(Free) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeMarshal { + pub lpVtbl: *mut ITypeMarshalVtbl, +} +#[test] +fn bindgen_test_layout_ITypeMarshal() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeMarshal)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeMarshal)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeMarshal), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPRECORDINFO = *mut IRecordInfo; +extern "C" { + pub static IID_IRecordInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRecordInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub RecordInit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pvNew: PVOID) -> HRESULT, + >, + pub RecordClear: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pvExisting: PVOID) -> HRESULT, + >, + pub RecordCopy: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pvExisting: PVOID, pvNew: PVOID) -> HRESULT, + >, + pub GetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pguid: *mut GUID) -> HRESULT, + >, + pub GetName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pbstrName: *mut BSTR) -> HRESULT, + >, + pub GetSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pcbSize: *mut ULONG) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, ppTypeInfo: *mut *mut ITypeInfo) -> HRESULT, + >, + pub GetField: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + pvData: PVOID, + szFieldName: LPCOLESTR, + pvarField: *mut VARIANT, + ) -> HRESULT, + >, + pub GetFieldNoCopy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + pvData: PVOID, + szFieldName: LPCOLESTR, + pvarField: *mut VARIANT, + ppvDataCArray: *mut PVOID, + ) -> HRESULT, + >, + pub PutField: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + wFlags: ULONG, + pvData: PVOID, + szFieldName: LPCOLESTR, + pvarField: *mut VARIANT, + ) -> HRESULT, + >, + pub PutFieldNoCopy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + wFlags: ULONG, + pvData: PVOID, + szFieldName: LPCOLESTR, + pvarField: *mut VARIANT, + ) -> HRESULT, + >, + pub GetFieldNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + pcNames: *mut ULONG, + rgBstrNames: *mut BSTR, + ) -> HRESULT, + >, + pub IsMatchingType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pRecordInfo: *mut IRecordInfo) -> BOOL, + >, + pub RecordCreate: ::std::option::Option PVOID>, + pub RecordCreateCopy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IRecordInfo, + pvSource: PVOID, + ppvDest: *mut PVOID, + ) -> HRESULT, + >, + pub RecordDestroy: ::std::option::Option< + unsafe extern "C" fn(This: *mut IRecordInfo, pvRecord: PVOID) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IRecordInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(IRecordInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRecordInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordInit) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordInit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordClear) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordClear) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordCopy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGuid) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetField) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetField) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFieldNoCopy) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetFieldNoCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PutField) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(PutField) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PutFieldNoCopy) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(PutFieldNoCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFieldNames) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(GetFieldNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsMatchingType) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(IsMatchingType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordCreate) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordCreate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordCreateCopy) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordCreateCopy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RecordDestroy) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfoVtbl), + "::", + stringify!(RecordDestroy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IRecordInfo { + pub lpVtbl: *mut IRecordInfoVtbl, +} +#[test] +fn bindgen_test_layout_IRecordInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IRecordInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IRecordInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IRecordInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPERRORLOG = *mut IErrorLog; +extern "C" { + pub static IID_IErrorLog: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IErrorLogVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IErrorLog, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub AddError: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IErrorLog, + pszPropName: LPCOLESTR, + pExcepInfo: *mut EXCEPINFO, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IErrorLogVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IErrorLogVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IErrorLogVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IErrorLogVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IErrorLogVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IErrorLogVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddError) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IErrorLogVtbl), + "::", + stringify!(AddError) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IErrorLog { + pub lpVtbl: *mut IErrorLogVtbl, +} +#[test] +fn bindgen_test_layout_IErrorLog() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IErrorLog)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IErrorLog)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IErrorLog), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPROPERTYBAG = *mut IPropertyBag; +extern "C" { + pub static IID_IPropertyBag: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertyBagVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyBag, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + pErrorLog: *mut IErrorLog, + ) -> HRESULT, + >, + pub Write: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPropertyBagVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IPropertyBagVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertyBagVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Write) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBagVtbl), + "::", + stringify!(Write) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertyBag { + pub lpVtbl: *mut IPropertyBagVtbl, +} +#[test] +fn bindgen_test_layout_IPropertyBag() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPropertyBag)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertyBag)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertyBag), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IPropertyBag_RemoteRead_Proxy( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + pErrorLog: *mut IErrorLog, + varType: DWORD, + pUnkObj: *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IPropertyBag_RemoteRead_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static IID_ITypeLibRegistrationReader: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibRegistrationReaderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLibRegistrationReader, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub EnumTypeLibRegistrations: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLibRegistrationReader, + ppEnumUnknown: *mut *mut IEnumUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeLibRegistrationReaderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(ITypeLibRegistrationReaderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibRegistrationReaderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReaderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReaderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReaderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumTypeLibRegistrations) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReaderVtbl), + "::", + stringify!(EnumTypeLibRegistrations) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibRegistrationReader { + pub lpVtbl: *mut ITypeLibRegistrationReaderVtbl, +} +#[test] +fn bindgen_test_layout_ITypeLibRegistrationReader() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeLibRegistrationReader)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibRegistrationReader)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationReader), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_ITypeLibRegistration: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibRegistrationVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ITypeLibRegistration, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetGuid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pGuid: *mut GUID) -> HRESULT, + >, + pub GetVersion: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pVersion: *mut BSTR) -> HRESULT, + >, + pub GetLcid: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pLcid: *mut LCID) -> HRESULT, + >, + pub GetWin32Path: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pWin32Path: *mut BSTR) -> HRESULT, + >, + pub GetWin64Path: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pWin64Path: *mut BSTR) -> HRESULT, + >, + pub GetDisplayName: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pDisplayName: *mut BSTR) -> HRESULT, + >, + pub GetFlags: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pFlags: *mut DWORD) -> HRESULT, + >, + pub GetHelpDir: ::std::option::Option< + unsafe extern "C" fn(This: *mut ITypeLibRegistration, pHelpDir: *mut BSTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ITypeLibRegistrationVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(ITypeLibRegistrationVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibRegistrationVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetGuid) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetGuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetVersion) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetLcid) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetLcid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWin32Path) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetWin32Path) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWin64Path) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetWin64Path) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDisplayName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFlags) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHelpDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistrationVtbl), + "::", + stringify!(GetHelpDir) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ITypeLibRegistration { + pub lpVtbl: *mut ITypeLibRegistrationVtbl, +} +#[test] +fn bindgen_test_layout_ITypeLibRegistration() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ITypeLibRegistration)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ITypeLibRegistration)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ITypeLibRegistration), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_TypeLibRegistrationReader: CLSID; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0023_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oaidl_0000_0023_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn BSTR_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut BSTR, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn BSTR_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut BSTR, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn BSTR_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut BSTR, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn BSTR_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut BSTR); +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut CLEANLOCALSTORAGE, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLEANLOCALSTORAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLEANLOCALSTORAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserFree( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut CLEANLOCALSTORAGE, + ); +} +extern "C" { + pub fn VARIANT_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut VARIANT, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn VARIANT_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut VARIANT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn VARIANT_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut VARIANT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn VARIANT_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut VARIANT); +} +extern "C" { + pub fn BSTR_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut BSTR, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn BSTR_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut BSTR, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn BSTR_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut BSTR, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn BSTR_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut BSTR); +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut CLEANLOCALSTORAGE, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLEANLOCALSTORAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut CLEANLOCALSTORAGE, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn CLEANLOCALSTORAGE_UserFree64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut CLEANLOCALSTORAGE, + ); +} +extern "C" { + pub fn VARIANT_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut VARIANT, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn VARIANT_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut VARIANT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn VARIANT_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut VARIANT, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn VARIANT_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut VARIANT); +} +extern "C" { + pub fn IDispatch_Invoke_Proxy( + This: *mut IDispatch, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn IDispatch_Invoke_Stub( + This: *mut IDispatch, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + dwFlags: DWORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + pArgErr: *mut UINT, + cVarRef: UINT, + rgVarRefIdx: *mut UINT, + rgVarRef: *mut VARIANTARG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumVARIANT_Next_Proxy( + This: *mut IEnumVARIANT, + celt: ULONG, + rgVar: *mut VARIANT, + pCeltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumVARIANT_Next_Stub( + This: *mut IEnumVARIANT, + celt: ULONG, + rgVar: *mut VARIANT, + pCeltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_Bind_Proxy( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + wFlags: WORD, + ppTInfo: *mut *mut ITypeInfo, + pDescKind: *mut DESCKIND, + pBindPtr: *mut BINDPTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_Bind_Stub( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + wFlags: WORD, + ppTInfo: *mut *mut ITypeInfo, + pDescKind: *mut DESCKIND, + ppFuncDesc: *mut LPFUNCDESC, + ppVarDesc: *mut LPVARDESC, + ppTypeComp: *mut *mut ITypeComp, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_BindType_Proxy( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + ppTComp: *mut *mut ITypeComp, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeComp_BindType_Stub( + This: *mut ITypeComp, + szName: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetTypeAttr_Proxy( + This: *mut ITypeInfo, + ppTypeAttr: *mut *mut TYPEATTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetTypeAttr_Stub( + This: *mut ITypeInfo, + ppTypeAttr: *mut LPTYPEATTR, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetFuncDesc_Proxy( + This: *mut ITypeInfo, + index: UINT, + ppFuncDesc: *mut *mut FUNCDESC, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetFuncDesc_Stub( + This: *mut ITypeInfo, + index: UINT, + ppFuncDesc: *mut LPFUNCDESC, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetVarDesc_Proxy( + This: *mut ITypeInfo, + index: UINT, + ppVarDesc: *mut *mut VARDESC, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetVarDesc_Stub( + This: *mut ITypeInfo, + index: UINT, + ppVarDesc: *mut LPVARDESC, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetNames_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetNames_Stub( + This: *mut ITypeInfo, + memid: MEMBERID, + rgBstrNames: *mut BSTR, + cMaxNames: UINT, + pcNames: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetIDsOfNames_Proxy( + This: *mut ITypeInfo, + rgszNames: *mut LPOLESTR, + cNames: UINT, + pMemId: *mut MEMBERID, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetIDsOfNames_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_Invoke_Proxy( + This: *mut ITypeInfo, + pvInstance: PVOID, + memid: MEMBERID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_Invoke_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetDocumentation_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetDocumentation_Stub( + This: *mut ITypeInfo, + memid: MEMBERID, + refPtrFlags: DWORD, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetDllEntry_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetDllEntry_Stub( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + refPtrFlags: DWORD, + pBstrDllName: *mut BSTR, + pBstrName: *mut BSTR, + pwOrdinal: *mut WORD, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_AddressOfMember_Proxy( + This: *mut ITypeInfo, + memid: MEMBERID, + invKind: INVOKEKIND, + ppv: *mut PVOID, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_AddressOfMember_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_CreateInstance_Proxy( + This: *mut ITypeInfo, + pUnkOuter: *mut IUnknown, + riid: *const IID, + ppvObj: *mut PVOID, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_CreateInstance_Stub( + This: *mut ITypeInfo, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetContainingTypeLib_Proxy( + This: *mut ITypeInfo, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_GetContainingTypeLib_Stub( + This: *mut ITypeInfo, + ppTLib: *mut *mut ITypeLib, + pIndex: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_ReleaseTypeAttr_Proxy(This: *mut ITypeInfo, pTypeAttr: *mut TYPEATTR); +} +extern "C" { + pub fn ITypeInfo_ReleaseTypeAttr_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_ReleaseFuncDesc_Proxy(This: *mut ITypeInfo, pFuncDesc: *mut FUNCDESC); +} +extern "C" { + pub fn ITypeInfo_ReleaseFuncDesc_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo_ReleaseVarDesc_Proxy(This: *mut ITypeInfo, pVarDesc: *mut VARDESC); +} +extern "C" { + pub fn ITypeInfo_ReleaseVarDesc_Stub(This: *mut ITypeInfo) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo2_GetDocumentation2_Proxy( + This: *mut ITypeInfo2, + memid: MEMBERID, + lcid: LCID, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeInfo2_GetDocumentation2_Stub( + This: *mut ITypeInfo2, + memid: MEMBERID, + lcid: LCID, + refPtrFlags: DWORD, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetTypeInfoCount_Proxy(This: *mut ITypeLib) -> UINT; +} +extern "C" { + pub fn ITypeLib_GetTypeInfoCount_Stub(This: *mut ITypeLib, pcTInfo: *mut UINT) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetLibAttr_Proxy( + This: *mut ITypeLib, + ppTLibAttr: *mut *mut TLIBATTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetLibAttr_Stub( + This: *mut ITypeLib, + ppTLibAttr: *mut LPTLIBATTR, + pDummy: *mut CLEANLOCALSTORAGE, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetDocumentation_Proxy( + This: *mut ITypeLib, + index: INT, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_GetDocumentation_Stub( + This: *mut ITypeLib, + index: INT, + refPtrFlags: DWORD, + pBstrName: *mut BSTR, + pBstrDocString: *mut BSTR, + pdwHelpContext: *mut DWORD, + pBstrHelpFile: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_IsName_Proxy( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_IsName_Stub( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + pfName: *mut BOOL, + pBstrLibName: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_FindName_Proxy( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_FindName_Stub( + This: *mut ITypeLib, + szNameBuf: LPOLESTR, + lHashVal: ULONG, + ppTInfo: *mut *mut ITypeInfo, + rgMemId: *mut MEMBERID, + pcFound: *mut USHORT, + pBstrLibName: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib_ReleaseTLibAttr_Proxy(This: *mut ITypeLib, pTLibAttr: *mut TLIBATTR); +} +extern "C" { + pub fn ITypeLib_ReleaseTLibAttr_Stub(This: *mut ITypeLib) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_GetLibStatistics_Proxy( + This: *mut ITypeLib2, + pcUniqueNames: *mut ULONG, + pcchUniqueNames: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_GetLibStatistics_Stub( + This: *mut ITypeLib2, + pcUniqueNames: *mut ULONG, + pcchUniqueNames: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_GetDocumentation2_Proxy( + This: *mut ITypeLib2, + index: INT, + lcid: LCID, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn ITypeLib2_GetDocumentation2_Stub( + This: *mut ITypeLib2, + index: INT, + lcid: LCID, + refPtrFlags: DWORD, + pbstrHelpString: *mut BSTR, + pdwHelpStringContext: *mut DWORD, + pbstrHelpStringDll: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn IPropertyBag_Read_Proxy( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + pErrorLog: *mut IErrorLog, + ) -> HRESULT; +} +extern "C" { + pub fn IPropertyBag_Read_Stub( + This: *mut IPropertyBag, + pszPropName: LPCOLESTR, + pVar: *mut VARIANT, + pErrorLog: *mut IErrorLog, + varType: DWORD, + pUnkObj: *mut IUnknown, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagVersionedStream { + pub guidVersion: GUID, + pub pStream: *mut IStream, +} +#[test] +fn bindgen_test_layout_tagVersionedStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagVersionedStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagVersionedStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).guidVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagVersionedStream), + "::", + stringify!(guidVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStream) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagVersionedStream), + "::", + stringify!(pStream) + ) + ); +} +pub type VERSIONEDSTREAM = tagVersionedStream; +pub type LPVERSIONEDSTREAM = *mut tagVersionedStream; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAC { + pub cElems: ULONG, + pub pElems: *mut CHAR, +} +#[test] +fn bindgen_test_layout_tagCAC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAC), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAC), + "::", + stringify!(pElems) + ) + ); +} +pub type CAC = tagCAC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAUB { + pub cElems: ULONG, + pub pElems: *mut UCHAR, +} +#[test] +fn bindgen_test_layout_tagCAUB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAUB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAUB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAUB), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAUB), + "::", + stringify!(pElems) + ) + ); +} +pub type CAUB = tagCAUB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAI { + pub cElems: ULONG, + pub pElems: *mut SHORT, +} +#[test] +fn bindgen_test_layout_tagCAI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAI), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAI), + "::", + stringify!(pElems) + ) + ); +} +pub type CAI = tagCAI; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAUI { + pub cElems: ULONG, + pub pElems: *mut USHORT, +} +#[test] +fn bindgen_test_layout_tagCAUI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAUI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAUI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAUI), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAUI), + "::", + stringify!(pElems) + ) + ); +} +pub type CAUI = tagCAUI; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAL { + pub cElems: ULONG, + pub pElems: *mut LONG, +} +#[test] +fn bindgen_test_layout_tagCAL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAL), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAL), + "::", + stringify!(pElems) + ) + ); +} +pub type CAL = tagCAL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAUL { + pub cElems: ULONG, + pub pElems: *mut ULONG, +} +#[test] +fn bindgen_test_layout_tagCAUL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAUL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAUL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAUL), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAUL), + "::", + stringify!(pElems) + ) + ); +} +pub type CAUL = tagCAUL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAFLT { + pub cElems: ULONG, + pub pElems: *mut FLOAT, +} +#[test] +fn bindgen_test_layout_tagCAFLT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAFLT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAFLT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAFLT), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAFLT), + "::", + stringify!(pElems) + ) + ); +} +pub type CAFLT = tagCAFLT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCADBL { + pub cElems: ULONG, + pub pElems: *mut DOUBLE, +} +#[test] +fn bindgen_test_layout_tagCADBL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCADBL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCADBL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCADBL), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCADBL), + "::", + stringify!(pElems) + ) + ); +} +pub type CADBL = tagCADBL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCACY { + pub cElems: ULONG, + pub pElems: *mut CY, +} +#[test] +fn bindgen_test_layout_tagCACY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCACY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCACY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCACY), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCACY), + "::", + stringify!(pElems) + ) + ); +} +pub type CACY = tagCACY; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCADATE { + pub cElems: ULONG, + pub pElems: *mut DATE, +} +#[test] +fn bindgen_test_layout_tagCADATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCADATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCADATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCADATE), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCADATE), + "::", + stringify!(pElems) + ) + ); +} +pub type CADATE = tagCADATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCABSTR { + pub cElems: ULONG, + pub pElems: *mut BSTR, +} +#[test] +fn bindgen_test_layout_tagCABSTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCABSTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCABSTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCABSTR), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCABSTR), + "::", + stringify!(pElems) + ) + ); +} +pub type CABSTR = tagCABSTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCABSTRBLOB { + pub cElems: ULONG, + pub pElems: *mut BSTRBLOB, +} +#[test] +fn bindgen_test_layout_tagCABSTRBLOB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCABSTRBLOB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCABSTRBLOB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCABSTRBLOB), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCABSTRBLOB), + "::", + stringify!(pElems) + ) + ); +} +pub type CABSTRBLOB = tagCABSTRBLOB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCABOOL { + pub cElems: ULONG, + pub pElems: *mut VARIANT_BOOL, +} +#[test] +fn bindgen_test_layout_tagCABOOL() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCABOOL)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCABOOL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCABOOL), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCABOOL), + "::", + stringify!(pElems) + ) + ); +} +pub type CABOOL = tagCABOOL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCASCODE { + pub cElems: ULONG, + pub pElems: *mut SCODE, +} +#[test] +fn bindgen_test_layout_tagCASCODE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCASCODE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCASCODE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCASCODE), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCASCODE), + "::", + stringify!(pElems) + ) + ); +} +pub type CASCODE = tagCASCODE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAPROPVARIANT { + pub cElems: ULONG, + pub pElems: *mut PROPVARIANT, +} +#[test] +fn bindgen_test_layout_tagCAPROPVARIANT() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAPROPVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAPROPVARIANT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAPROPVARIANT), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAPROPVARIANT), + "::", + stringify!(pElems) + ) + ); +} +pub type CAPROPVARIANT = tagCAPROPVARIANT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAH { + pub cElems: ULONG, + pub pElems: *mut LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_tagCAH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAH), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAH), + "::", + stringify!(pElems) + ) + ); +} +pub type CAH = tagCAH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAUH { + pub cElems: ULONG, + pub pElems: *mut ULARGE_INTEGER, +} +#[test] +fn bindgen_test_layout_tagCAUH() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAUH)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAUH)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAUH), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAUH), + "::", + stringify!(pElems) + ) + ); +} +pub type CAUH = tagCAUH; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCALPSTR { + pub cElems: ULONG, + pub pElems: *mut LPSTR, +} +#[test] +fn bindgen_test_layout_tagCALPSTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCALPSTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCALPSTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCALPSTR), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCALPSTR), + "::", + stringify!(pElems) + ) + ); +} +pub type CALPSTR = tagCALPSTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCALPWSTR { + pub cElems: ULONG, + pub pElems: *mut LPWSTR, +} +#[test] +fn bindgen_test_layout_tagCALPWSTR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCALPWSTR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCALPWSTR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCALPWSTR), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCALPWSTR), + "::", + stringify!(pElems) + ) + ); +} +pub type CALPWSTR = tagCALPWSTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCAFILETIME { + pub cElems: ULONG, + pub pElems: *mut FILETIME, +} +#[test] +fn bindgen_test_layout_tagCAFILETIME() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCAFILETIME)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCAFILETIME)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCAFILETIME), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCAFILETIME), + "::", + stringify!(pElems) + ) + ); +} +pub type CAFILETIME = tagCAFILETIME; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCACLIPDATA { + pub cElems: ULONG, + pub pElems: *mut CLIPDATA, +} +#[test] +fn bindgen_test_layout_tagCACLIPDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCACLIPDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCACLIPDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCACLIPDATA), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCACLIPDATA), + "::", + stringify!(pElems) + ) + ); +} +pub type CACLIPDATA = tagCACLIPDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCACLSID { + pub cElems: ULONG, + pub pElems: *mut CLSID, +} +#[test] +fn bindgen_test_layout_tagCACLSID() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagCACLSID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCACLSID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cElems) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCACLSID), + "::", + stringify!(cElems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pElems) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCACLSID), + "::", + stringify!(pElems) + ) + ); +} +pub type CACLSID = tagCACLSID; +pub type PROPVAR_PAD1 = WORD; +pub type PROPVAR_PAD2 = WORD; +pub type PROPVAR_PAD3 = WORD; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPROPVARIANT { + pub __bindgen_anon_1: tagPROPVARIANT__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagPROPVARIANT__bindgen_ty_1 { + pub __bindgen_anon_1: tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1, + pub decVal: DECIMAL, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1 { + pub vt: VARTYPE, + pub wReserved1: PROPVAR_PAD1, + pub wReserved2: PROPVAR_PAD2, + pub wReserved3: PROPVAR_PAD3, + pub __bindgen_anon_1: tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 { + pub cVal: CHAR, + pub bVal: UCHAR, + pub iVal: SHORT, + pub uiVal: USHORT, + pub lVal: LONG, + pub ulVal: ULONG, + pub intVal: INT, + pub uintVal: UINT, + pub hVal: LARGE_INTEGER, + pub uhVal: ULARGE_INTEGER, + pub fltVal: FLOAT, + pub dblVal: DOUBLE, + pub boolVal: VARIANT_BOOL, + pub __OBSOLETE__VARIANT_BOOL: VARIANT_BOOL, + pub scode: SCODE, + pub cyVal: CY, + pub date: DATE, + pub filetime: FILETIME, + pub puuid: *mut CLSID, + pub pclipdata: *mut CLIPDATA, + pub bstrVal: BSTR, + pub bstrblobVal: BSTRBLOB, + pub blob: BLOB, + pub pszVal: LPSTR, + pub pwszVal: LPWSTR, + pub punkVal: *mut IUnknown, + pub pdispVal: *mut IDispatch, + pub pStream: *mut IStream, + pub pStorage: *mut IStorage, + pub pVersionedStream: LPVERSIONEDSTREAM, + pub parray: LPSAFEARRAY, + pub cac: CAC, + pub caub: CAUB, + pub cai: CAI, + pub caui: CAUI, + pub cal: CAL, + pub caul: CAUL, + pub cah: CAH, + pub cauh: CAUH, + pub caflt: CAFLT, + pub cadbl: CADBL, + pub cabool: CABOOL, + pub cascode: CASCODE, + pub cacy: CACY, + pub cadate: CADATE, + pub cafiletime: CAFILETIME, + pub cauuid: CACLSID, + pub caclipdata: CACLIPDATA, + pub cabstr: CABSTR, + pub cabstrblob: CABSTRBLOB, + pub calpstr: CALPSTR, + pub calpwstr: CALPWSTR, + pub capropvar: CAPROPVARIANT, + pub pcVal: *mut CHAR, + pub pbVal: *mut UCHAR, + pub piVal: *mut SHORT, + pub puiVal: *mut USHORT, + pub plVal: *mut LONG, + pub pulVal: *mut ULONG, + pub pintVal: *mut INT, + pub puintVal: *mut UINT, + pub pfltVal: *mut FLOAT, + pub pdblVal: *mut DOUBLE, + pub pboolVal: *mut VARIANT_BOOL, + pub pdecVal: *mut DECIMAL, + pub pscode: *mut SCODE, + pub pcyVal: *mut CY, + pub pdate: *mut DATE, + pub pbstrVal: *mut BSTR, + pub ppunkVal: *mut *mut IUnknown, + pub ppdispVal: *mut *mut IDispatch, + pub pparray: *mut LPSAFEARRAY, + pub pvarVal: *mut PROPVARIANT, +} +#[test] +fn bindgen_test_layout_tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!( + "Size of: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(iVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(lVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).intVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(intVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uhVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uhVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(fltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(dblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).boolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(boolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__OBSOLETE__VARIANT_BOOL) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(__OBSOLETE__VARIANT_BOOL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(scode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).date) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(date) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).filetime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(filetime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pclipdata) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pclipdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bstrblobVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(bstrblobVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).blob) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(blob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pszVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwszVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pwszVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).punkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(punkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStream) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pStorage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pVersionedStream) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pVersionedStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).parray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(parray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cac) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cac) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caub) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caub) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cai) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cai) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caui) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caui) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caul) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caul) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cah) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cah) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cauh) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cauh) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caflt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caflt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cadbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cadbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cabool) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cabool) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cascode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cascode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cacy) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cacy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cadate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cadate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cafiletime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cafiletime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cauuid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cauuid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).caclipdata) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(caclipdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cabstr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cabstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cabstrblob) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(cabstrblob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).calpstr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(calpstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).calpwstr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(calpwstr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).capropvar) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(capropvar) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pcVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pbVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).piVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(piVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puiVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puiVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).plVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(plVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pulVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pulVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).puintVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(puintVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfltVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pfltVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdblVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdblVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pboolVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pboolVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdecVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdecVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pscode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pscode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pcyVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pcyVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pdate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pdate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pbstrVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pbstrVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppunkVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ppunkVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppdispVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(ppdispVal) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pparray) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pparray) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvarVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(pvarVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!( + "Size of: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(vt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved1) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReserved3) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(wReserved3) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPROPVARIANT__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagPROPVARIANT__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPROPVARIANT__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).decVal) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPVARIANT__bindgen_ty_1), + "::", + stringify!(decVal) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPROPVARIANT() { + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagPROPVARIANT)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPROPVARIANT)) + ); +} +pub type LPPROPVARIANT = *mut tagPROPVARIANT; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct tagPROPSPEC { + pub ulKind: ULONG, + pub __bindgen_anon_1: tagPROPSPEC__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union tagPROPSPEC__bindgen_ty_1 { + pub propid: PROPID, + pub lpwstr: LPOLESTR, +} +#[test] +fn bindgen_test_layout_tagPROPSPEC__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPROPSPEC__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPROPSPEC__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPSPEC__bindgen_ty_1), + "::", + stringify!(propid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpwstr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPSPEC__bindgen_ty_1), + "::", + stringify!(lpwstr) + ) + ); +} +#[test] +fn bindgen_test_layout_tagPROPSPEC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagPROPSPEC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPROPSPEC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulKind) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPROPSPEC), + "::", + stringify!(ulKind) + ) + ); +} +pub type PROPSPEC = tagPROPSPEC; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTATPROPSTG { + pub lpwstrName: LPOLESTR, + pub propid: PROPID, + pub vt: VARTYPE, +} +#[test] +fn bindgen_test_layout_tagSTATPROPSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagSTATPROPSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTATPROPSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpwstrName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSTG), + "::", + stringify!(lpwstrName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).propid) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSTG), + "::", + stringify!(propid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSTG), + "::", + stringify!(vt) + ) + ); +} +pub type STATPROPSTG = tagSTATPROPSTG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTATPROPSETSTG { + pub fmtid: FMTID, + pub clsid: CLSID, + pub grfFlags: DWORD, + pub mtime: FILETIME, + pub ctime: FILETIME, + pub atime: FILETIME, + pub dwOSVersion: DWORD, +} +#[test] +fn bindgen_test_layout_tagSTATPROPSETSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(tagSTATPROPSETSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTATPROPSETSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fmtid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(fmtid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).mtime) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(mtime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ctime) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(ctime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).atime) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(atime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOSVersion) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagSTATPROPSETSTG), + "::", + stringify!(dwOSVersion) + ) + ); +} +pub type STATPROPSETSTG = tagSTATPROPSETSTG; +extern "C" { + pub static mut __MIDL_itf_propidlbase_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_propidlbase_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IPropertyStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertyStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ReadMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpspec: ULONG, + rgpspec: *const PROPSPEC, + rgpropvar: *mut PROPVARIANT, + ) -> HRESULT, + >, + pub WriteMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpspec: ULONG, + rgpspec: *const PROPSPEC, + rgpropvar: *const PROPVARIANT, + propidNameFirst: PROPID, + ) -> HRESULT, + >, + pub DeleteMultiple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpspec: ULONG, + rgpspec: *const PROPSPEC, + ) -> HRESULT, + >, + pub ReadPropertyNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpropid: ULONG, + rgpropid: *const PROPID, + rglpwstrName: *mut LPOLESTR, + ) -> HRESULT, + >, + pub WritePropertyNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpropid: ULONG, + rgpropid: *const PROPID, + rglpwstrName: *const LPOLESTR, + ) -> HRESULT, + >, + pub DeletePropertyNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + cpropid: ULONG, + rgpropid: *const PROPID, + ) -> HRESULT, + >, + pub Commit: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPropertyStorage, grfCommitFlags: DWORD) -> HRESULT, + >, + pub Revert: ::std::option::Option HRESULT>, + pub Enum: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + ppenum: *mut *mut IEnumSTATPROPSTG, + ) -> HRESULT, + >, + pub SetTimes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + pctime: *const FILETIME, + patime: *const FILETIME, + pmtime: *const FILETIME, + ) -> HRESULT, + >, + pub SetClass: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPropertyStorage, clsid: *const IID) -> HRESULT, + >, + pub Stat: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertyStorage, + pstatpsstg: *mut STATPROPSETSTG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPropertyStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IPropertyStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertyStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadMultiple) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(ReadMultiple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WriteMultiple) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(WriteMultiple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeleteMultiple) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(DeleteMultiple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReadPropertyNames) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(ReadPropertyNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WritePropertyNames) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(WritePropertyNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeletePropertyNames) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(DeletePropertyNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Commit) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Commit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Revert) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Revert) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Enum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetTimes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(SetTimes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetClass) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(SetClass) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Stat) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorageVtbl), + "::", + stringify!(Stat) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertyStorage { + pub lpVtbl: *mut IPropertyStorageVtbl, +} +#[test] +fn bindgen_test_layout_IPropertyStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPropertyStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertyStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertyStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPROPERTYSETSTORAGE = *mut IPropertySetStorage; +extern "C" { + pub static IID_IPropertySetStorage: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertySetStorageVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertySetStorage, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Create: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertySetStorage, + rfmtid: *const IID, + pclsid: *const CLSID, + grfFlags: DWORD, + grfMode: DWORD, + ppprstg: *mut *mut IPropertyStorage, + ) -> HRESULT, + >, + pub Open: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertySetStorage, + rfmtid: *const IID, + grfMode: DWORD, + ppprstg: *mut *mut IPropertyStorage, + ) -> HRESULT, + >, + pub Delete: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPropertySetStorage, rfmtid: *const IID) -> HRESULT, + >, + pub Enum: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPropertySetStorage, + ppenum: *mut *mut IEnumSTATPROPSETSTG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPropertySetStorageVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IPropertySetStorageVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertySetStorageVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Create) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Create) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Open) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Open) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Delete) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Delete) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Enum) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorageVtbl), + "::", + stringify!(Enum) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPropertySetStorage { + pub lpVtbl: *mut IPropertySetStorageVtbl, +} +#[test] +fn bindgen_test_layout_IPropertySetStorage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPropertySetStorage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPropertySetStorage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPropertySetStorage), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPENUMSTATPROPSTG = *mut IEnumSTATPROPSTG; +extern "C" { + pub static IID_IEnumSTATPROPSTG: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATPROPSTGVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSTG, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSTG, + celt: ULONG, + rgelt: *mut STATPROPSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATPROPSTG, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSTG, + ppenum: *mut *mut IEnumSTATPROPSTG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumSTATPROPSTGVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumSTATPROPSTGVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATPROPSTGVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTGVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATPROPSTG { + pub lpVtbl: *mut IEnumSTATPROPSTGVtbl, +} +#[test] +fn bindgen_test_layout_IEnumSTATPROPSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumSTATPROPSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATPROPSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSTG), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumSTATPROPSTG_RemoteNext_Proxy( + This: *mut IEnumSTATPROPSTG, + celt: ULONG, + rgelt: *mut STATPROPSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSTG_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPENUMSTATPROPSETSTG = *mut IEnumSTATPROPSETSTG; +extern "C" { + pub static IID_IEnumSTATPROPSETSTG: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATPROPSETSTGVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSETSTG, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSETSTG, + celt: ULONG, + rgelt: *mut STATPROPSETSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumSTATPROPSETSTG, celt: ULONG) -> HRESULT, + >, + pub Reset: + ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumSTATPROPSETSTG, + ppenum: *mut *mut IEnumSTATPROPSETSTG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumSTATPROPSETSTGVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumSTATPROPSETSTGVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATPROPSETSTGVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTGVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumSTATPROPSETSTG { + pub lpVtbl: *mut IEnumSTATPROPSETSTGVtbl, +} +#[test] +fn bindgen_test_layout_IEnumSTATPROPSETSTG() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumSTATPROPSETSTG)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumSTATPROPSETSTG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumSTATPROPSETSTG), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumSTATPROPSETSTG_RemoteNext_Proxy( + This: *mut IEnumSTATPROPSETSTG, + celt: ULONG, + rgelt: *mut STATPROPSETSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSETSTG_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPPROPERTYSTORAGE = *mut IPropertyStorage; +extern "C" { + pub static mut __MIDL_itf_propidlbase_0000_0004_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_propidlbase_0000_0004_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn LPSAFEARRAY_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut LPSAFEARRAY, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn LPSAFEARRAY_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut LPSAFEARRAY, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn LPSAFEARRAY_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut LPSAFEARRAY, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn LPSAFEARRAY_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut LPSAFEARRAY); +} +extern "C" { + pub fn LPSAFEARRAY_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut LPSAFEARRAY, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn LPSAFEARRAY_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut LPSAFEARRAY, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn LPSAFEARRAY_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut LPSAFEARRAY, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn LPSAFEARRAY_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut LPSAFEARRAY); +} +extern "C" { + pub fn IEnumSTATPROPSTG_Next_Proxy( + This: *mut IEnumSTATPROPSTG, + celt: ULONG, + rgelt: *mut STATPROPSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSTG_Next_Stub( + This: *mut IEnumSTATPROPSTG, + celt: ULONG, + rgelt: *mut STATPROPSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSETSTG_Next_Proxy( + This: *mut IEnumSTATPROPSETSTG, + celt: ULONG, + rgelt: *mut STATPROPSETSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumSTATPROPSETSTG_Next_Stub( + This: *mut IEnumSTATPROPSETSTG, + celt: ULONG, + rgelt: *mut STATPROPSETSTG, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +pub type STGFMT = DWORD; +extern "C" { + pub fn StgCreateDocfile( + pwcsName: *const WCHAR, + grfMode: DWORD, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgCreateDocfileOnILockBytes( + plkbyt: *mut ILockBytes, + grfMode: DWORD, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenStorage( + pwcsName: *const WCHAR, + pstgPriority: *mut IStorage, + grfMode: DWORD, + snbExclude: SNB, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenStorageOnILockBytes( + plkbyt: *mut ILockBytes, + pstgPriority: *mut IStorage, + grfMode: DWORD, + snbExclude: SNB, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgIsStorageFile(pwcsName: *const WCHAR) -> HRESULT; +} +extern "C" { + pub fn StgIsStorageILockBytes(plkbyt: *mut ILockBytes) -> HRESULT; +} +extern "C" { + pub fn StgSetTimes( + lpszName: *const WCHAR, + pctime: *const FILETIME, + patime: *const FILETIME, + pmtime: *const FILETIME, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTGOPTIONS { + pub usVersion: USHORT, + pub reserved: USHORT, + pub ulSectorSize: ULONG, + pub pwcsTemplateFile: *const WCHAR, +} +#[test] +fn bindgen_test_layout_tagSTGOPTIONS() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagSTGOPTIONS)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagSTGOPTIONS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTGOPTIONS), + "::", + stringify!(usVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagSTGOPTIONS), + "::", + stringify!(reserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulSectorSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSTGOPTIONS), + "::", + stringify!(ulSectorSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pwcsTemplateFile) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagSTGOPTIONS), + "::", + stringify!(pwcsTemplateFile) + ) + ); +} +pub type STGOPTIONS = tagSTGOPTIONS; +extern "C" { + pub fn StgCreateStorageEx( + pwcsName: *const WCHAR, + grfMode: DWORD, + stgfmt: DWORD, + grfAttrs: DWORD, + pStgOptions: *mut STGOPTIONS, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + riid: *const IID, + ppObjectOpen: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenStorageEx( + pwcsName: *const WCHAR, + grfMode: DWORD, + stgfmt: DWORD, + grfAttrs: DWORD, + pStgOptions: *mut STGOPTIONS, + pSecurityDescriptor: PSECURITY_DESCRIPTOR, + riid: *const IID, + ppObjectOpen: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn StgCreatePropStg( + pUnk: *mut IUnknown, + fmtid: *const IID, + pclsid: *const CLSID, + grfFlags: DWORD, + dwReserved: DWORD, + ppPropStg: *mut *mut IPropertyStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenPropStg( + pUnk: *mut IUnknown, + fmtid: *const IID, + grfFlags: DWORD, + dwReserved: DWORD, + ppPropStg: *mut *mut IPropertyStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgCreatePropSetStg( + pStorage: *mut IStorage, + dwReserved: DWORD, + ppPropSetStg: *mut *mut IPropertySetStorage, + ) -> HRESULT; +} +extern "C" { + pub fn FmtIdToPropStgName(pfmtid: *const FMTID, oszName: LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn PropStgNameToFmtId(oszName: LPOLESTR, pfmtid: *mut FMTID) -> HRESULT; +} +extern "C" { + pub fn ReadClassStg(pStg: LPSTORAGE, pclsid: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn WriteClassStg(pStg: LPSTORAGE, rclsid: *const IID) -> HRESULT; +} +extern "C" { + pub fn ReadClassStm(pStm: LPSTREAM, pclsid: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn WriteClassStm(pStm: LPSTREAM, rclsid: *const IID) -> HRESULT; +} +extern "C" { + pub fn GetHGlobalFromILockBytes(plkbyt: LPLOCKBYTES, phglobal: *mut HGLOBAL) -> HRESULT; +} +extern "C" { + pub fn CreateILockBytesOnHGlobal( + hGlobal: HGLOBAL, + fDeleteOnRelease: BOOL, + pplkbyt: *mut LPLOCKBYTES, + ) -> HRESULT; +} +extern "C" { + pub fn GetConvertStg(pStg: LPSTORAGE) -> HRESULT; +} +pub const tagCOINIT_COINIT_APARTMENTTHREADED: tagCOINIT = 2; +pub const tagCOINIT_COINIT_MULTITHREADED: tagCOINIT = 0; +pub const tagCOINIT_COINIT_DISABLE_OLE1DDE: tagCOINIT = 4; +pub const tagCOINIT_COINIT_SPEED_OVER_MEMORY: tagCOINIT = 8; +pub type tagCOINIT = ::std::os::raw::c_int; +pub use self::tagCOINIT as COINIT; +extern "C" { + pub fn CoBuildVersion() -> DWORD; +} +extern "C" { + pub fn CoInitialize(pvReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn CoRegisterMallocSpy(pMallocSpy: LPMALLOCSPY) -> HRESULT; +} +extern "C" { + pub fn CoRevokeMallocSpy() -> HRESULT; +} +extern "C" { + pub fn CoCreateStandardMalloc(memctx: DWORD, ppMalloc: *mut *mut IMalloc) -> HRESULT; +} +extern "C" { + pub fn CoRegisterInitializeSpy( + pSpy: *mut IInitializeSpy, + puliCookie: *mut ULARGE_INTEGER, + ) -> HRESULT; +} +extern "C" { + pub fn CoRevokeInitializeSpy(uliCookie: ULARGE_INTEGER) -> HRESULT; +} +pub const tagCOMSD_SD_LAUNCHPERMISSIONS: tagCOMSD = 0; +pub const tagCOMSD_SD_ACCESSPERMISSIONS: tagCOMSD = 1; +pub const tagCOMSD_SD_LAUNCHRESTRICTIONS: tagCOMSD = 2; +pub const tagCOMSD_SD_ACCESSRESTRICTIONS: tagCOMSD = 3; +pub type tagCOMSD = ::std::os::raw::c_int; +pub use self::tagCOMSD as COMSD; +extern "C" { + pub fn CoGetSystemSecurityPermissions( + comSDType: COMSD, + ppSD: *mut PSECURITY_DESCRIPTOR, + ) -> HRESULT; +} +extern "C" { + pub fn CoLoadLibrary(lpszLibName: LPOLESTR, bAutoFree: BOOL) -> HINSTANCE; +} +extern "C" { + pub fn CoFreeLibrary(hInst: HINSTANCE); +} +extern "C" { + pub fn CoFreeAllLibraries(); +} +extern "C" { + pub fn CoGetInstanceFromFile( + pServerInfo: *mut COSERVERINFO, + pClsid: *mut CLSID, + punkOuter: *mut IUnknown, + dwClsCtx: DWORD, + grfMode: DWORD, + pwszName: *mut OLECHAR, + dwCount: DWORD, + pResults: *mut MULTI_QI, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetInstanceFromIStorage( + pServerInfo: *mut COSERVERINFO, + pClsid: *mut CLSID, + punkOuter: *mut IUnknown, + dwClsCtx: DWORD, + pstg: *mut IStorage, + dwCount: DWORD, + pResults: *mut MULTI_QI, + ) -> HRESULT; +} +extern "C" { + pub fn CoAllowSetForegroundWindow(pUnk: *mut IUnknown, lpvReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn DcomChannelSetHResult( + pvReserved: LPVOID, + pulReserved: *mut ULONG, + appsHR: HRESULT, + ) -> HRESULT; +} +extern "C" { + pub fn CoIsOle1Class(rclsid: *const IID) -> BOOL; +} +extern "C" { + pub fn CoFileTimeToDosDateTime( + lpFileTime: *mut FILETIME, + lpDosDate: LPWORD, + lpDosTime: LPWORD, + ) -> BOOL; +} +extern "C" { + pub fn CoDosDateTimeToFileTime( + nDosDate: WORD, + nDosTime: WORD, + lpFileTime: *mut FILETIME, + ) -> BOOL; +} +extern "C" { + pub fn CoRegisterMessageFilter( + lpMessageFilter: LPMESSAGEFILTER, + lplpMessageFilter: *mut LPMESSAGEFILTER, + ) -> HRESULT; +} +extern "C" { + pub fn CoRegisterChannelHook( + ExtensionUuid: *const GUID, + pChannelHook: *mut IChannelHook, + ) -> HRESULT; +} +extern "C" { + pub fn CoTreatAsClass(clsidOld: *const IID, clsidNew: *const IID) -> HRESULT; +} +extern "C" { + pub fn CreateDataAdviseHolder(ppDAHolder: *mut LPDATAADVISEHOLDER) -> HRESULT; +} +extern "C" { + pub fn CreateDataCache( + pUnkOuter: LPUNKNOWN, + rclsid: *const IID, + iid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenAsyncDocfileOnIFillLockBytes( + pflb: *mut IFillLockBytes, + grfMode: DWORD, + asyncFlags: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn StgGetIFillLockBytesOnILockBytes( + pilb: *mut ILockBytes, + ppflb: *mut *mut IFillLockBytes, + ) -> HRESULT; +} +extern "C" { + pub fn StgGetIFillLockBytesOnFile( + pwcsName: *const OLECHAR, + ppflb: *mut *mut IFillLockBytes, + ) -> HRESULT; +} +extern "C" { + pub fn StgOpenLayoutDocfile( + pwcsDfName: *const OLECHAR, + grfMode: DWORD, + reserved: DWORD, + ppstgOpen: *mut *mut IStorage, + ) -> HRESULT; +} +extern "C" { + pub fn CoInstall( + pbc: *mut IBindCtx, + dwFlags: DWORD, + pClassSpec: *mut uCLSSPEC, + pQuery: *mut QUERYCONTEXT, + pszCodeBase: LPWSTR, + ) -> HRESULT; +} +extern "C" { + pub fn BindMoniker( + pmk: LPMONIKER, + grfOpt: DWORD, + iidResult: *const IID, + ppvResult: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn CoGetObject( + pszName: LPCWSTR, + pBindOptions: *mut BIND_OPTS, + riid: *const IID, + ppv: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn MkParseDisplayName( + pbc: LPBC, + szUserName: LPCOLESTR, + pchEaten: *mut ULONG, + ppmk: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn MonikerRelativePathTo( + pmkSrc: LPMONIKER, + pmkDest: LPMONIKER, + ppmkRelPath: *mut LPMONIKER, + dwReserved: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn MonikerCommonPrefixWith( + pmkThis: LPMONIKER, + pmkOther: LPMONIKER, + ppmkCommon: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn CreateBindCtx(reserved: DWORD, ppbc: *mut LPBC) -> HRESULT; +} +extern "C" { + pub fn CreateGenericComposite( + pmkFirst: LPMONIKER, + pmkRest: LPMONIKER, + ppmkComposite: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn GetClassFile(szFilename: LPCOLESTR, pclsid: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn CreateClassMoniker(rclsid: *const IID, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreateFileMoniker(lpszPathName: LPCOLESTR, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreateItemMoniker( + lpszDelim: LPCOLESTR, + lpszItem: LPCOLESTR, + ppmk: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn CreateAntiMoniker(ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreatePointerMoniker(punk: LPUNKNOWN, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreateObjrefMoniker(punk: LPUNKNOWN, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn GetRunningObjectTable(reserved: DWORD, pprot: *mut LPRUNNINGOBJECTTABLE) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPOLEADVISEHOLDER = *mut IOleAdviseHolder; +extern "C" { + pub static IID_IOleAdviseHolder: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleAdviseHolderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleAdviseHolder, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Advise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleAdviseHolder, + pAdvise: *mut IAdviseSink, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Unadvise: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleAdviseHolder, dwConnection: DWORD) -> HRESULT, + >, + pub EnumAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleAdviseHolder, + ppenumAdvise: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub SendOnRename: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleAdviseHolder, pmk: *mut IMoniker) -> HRESULT, + >, + pub SendOnSave: + ::std::option::Option HRESULT>, + pub SendOnClose: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IOleAdviseHolderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleAdviseHolderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleAdviseHolderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Advise) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(Advise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unadvise) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(Unadvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumAdvise) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(EnumAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendOnRename) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(SendOnRename) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendOnSave) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(SendOnSave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendOnClose) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolderVtbl), + "::", + stringify!(SendOnClose) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleAdviseHolder { + pub lpVtbl: *mut IOleAdviseHolderVtbl, +} +#[test] +fn bindgen_test_layout_IOleAdviseHolder() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleAdviseHolder)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleAdviseHolder)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleAdviseHolder), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPOLECACHE = *mut IOleCache; +extern "C" { + pub static IID_IOleCache: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCacheVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Cache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache, + pformatetc: *mut FORMATETC, + advf: DWORD, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Uncache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache, dwConnection: DWORD) -> HRESULT, + >, + pub EnumCache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache, + ppenumSTATDATA: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub InitCache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache, pDataObject: *mut IDataObject) -> HRESULT, + >, + pub SetData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleCacheVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IOleCacheVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCacheVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uncache) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(Uncache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumCache) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(EnumCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitCache) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(InitCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheVtbl), + "::", + stringify!(SetData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCache { + pub lpVtbl: *mut IOleCacheVtbl, +} +#[test] +fn bindgen_test_layout_IOleCache() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleCache)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCache)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCache), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLECACHE2 = *mut IOleCache2; +pub const tagDISCARDCACHE_DISCARDCACHE_SAVEIFDIRTY: tagDISCARDCACHE = 0; +pub const tagDISCARDCACHE_DISCARDCACHE_NOSAVE: tagDISCARDCACHE = 1; +pub type tagDISCARDCACHE = ::std::os::raw::c_int; +pub use self::tagDISCARDCACHE as DISCARDCACHE; +extern "C" { + pub static IID_IOleCache2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCache2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Cache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + pformatetc: *mut FORMATETC, + advf: DWORD, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Uncache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache2, dwConnection: DWORD) -> HRESULT, + >, + pub EnumCache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + ppenumSTATDATA: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub InitCache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache2, pDataObject: *mut IDataObject) -> HRESULT, + >, + pub SetData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + pformatetc: *mut FORMATETC, + pmedium: *mut STGMEDIUM, + fRelease: BOOL, + ) -> HRESULT, + >, + pub UpdateCache: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCache2, + pDataObject: LPDATAOBJECT, + grfUpdf: DWORD, + pReserved: LPVOID, + ) -> HRESULT, + >, + pub DiscardCache: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCache2, dwDiscardOptions: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleCache2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IOleCache2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCache2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Cache) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(Cache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Uncache) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(Uncache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumCache) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(EnumCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitCache) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(InitCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(SetData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UpdateCache) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(UpdateCache) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiscardCache) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2Vtbl), + "::", + stringify!(DiscardCache) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCache2 { + pub lpVtbl: *mut IOleCache2Vtbl, +} +#[test] +fn bindgen_test_layout_IOleCache2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleCache2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCache2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCache2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IOleCache2_RemoteUpdateCache_Proxy( + This: *mut IOleCache2, + pDataObject: LPDATAOBJECT, + grfUpdf: DWORD, + pReserved: LONG_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn IOleCache2_RemoteUpdateCache_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPOLECACHECONTROL = *mut IOleCacheControl; +extern "C" { + pub static IID_IOleCacheControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCacheControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleCacheControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub OnRun: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleCacheControl, pDataObject: LPDATAOBJECT) -> HRESULT, + >, + pub OnStop: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IOleCacheControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IOleCacheControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCacheControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnRun) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(OnRun) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStop) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControlVtbl), + "::", + stringify!(OnStop) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleCacheControl { + pub lpVtbl: *mut IOleCacheControlVtbl, +} +#[test] +fn bindgen_test_layout_IOleCacheControl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleCacheControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleCacheControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleCacheControl), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPPARSEDISPLAYNAME = *mut IParseDisplayName; +extern "C" { + pub static IID_IParseDisplayName: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IParseDisplayNameVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IParseDisplayName, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ParseDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IParseDisplayName, + pbc: *mut IBindCtx, + pszDisplayName: LPOLESTR, + pchEaten: *mut ULONG, + ppmkOut: *mut *mut IMoniker, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IParseDisplayNameVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IParseDisplayNameVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IParseDisplayNameVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayNameVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayNameVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayNameVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseDisplayName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayNameVtbl), + "::", + stringify!(ParseDisplayName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IParseDisplayName { + pub lpVtbl: *mut IParseDisplayNameVtbl, +} +#[test] +fn bindgen_test_layout_IParseDisplayName() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IParseDisplayName)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IParseDisplayName)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IParseDisplayName), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLECONTAINER = *mut IOleContainer; +extern "C" { + pub static IID_IOleContainer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleContainerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleContainer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ParseDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleContainer, + pbc: *mut IBindCtx, + pszDisplayName: LPOLESTR, + pchEaten: *mut ULONG, + ppmkOut: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub EnumObjects: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleContainer, + grfFlags: DWORD, + ppenum: *mut *mut IEnumUnknown, + ) -> HRESULT, + >, + pub LockContainer: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleContainer, fLock: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleContainerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IOleContainerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleContainerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseDisplayName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(ParseDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumObjects) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(EnumObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockContainer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleContainerVtbl), + "::", + stringify!(LockContainer) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleContainer { + pub lpVtbl: *mut IOleContainerVtbl, +} +#[test] +fn bindgen_test_layout_IOleContainer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleContainer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleContainer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleContainer), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLECLIENTSITE = *mut IOleClientSite; +extern "C" { + pub static IID_IOleClientSite: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleClientSiteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleClientSite, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SaveObject: + ::std::option::Option HRESULT>, + pub GetMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleClientSite, + dwAssign: DWORD, + dwWhichMoniker: DWORD, + ppmk: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub GetContainer: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleClientSite, + ppContainer: *mut *mut IOleContainer, + ) -> HRESULT, + >, + pub ShowObject: + ::std::option::Option HRESULT>, + pub OnShowWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleClientSite, fShow: BOOL) -> HRESULT, + >, + pub RequestNewObjectLayout: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IOleClientSiteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleClientSiteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleClientSiteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveObject) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(SaveObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMoniker) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(GetMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetContainer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(GetContainer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShowObject) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(ShowObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnShowWindow) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(OnShowWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestNewObjectLayout) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSiteVtbl), + "::", + stringify!(RequestNewObjectLayout) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleClientSite { + pub lpVtbl: *mut IOleClientSiteVtbl, +} +#[test] +fn bindgen_test_layout_IOleClientSite() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleClientSite)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleClientSite)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleClientSite), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEOBJECT = *mut IOleObject; +pub const tagOLEGETMONIKER_OLEGETMONIKER_ONLYIFTHERE: tagOLEGETMONIKER = 1; +pub const tagOLEGETMONIKER_OLEGETMONIKER_FORCEASSIGN: tagOLEGETMONIKER = 2; +pub const tagOLEGETMONIKER_OLEGETMONIKER_UNASSIGN: tagOLEGETMONIKER = 3; +pub const tagOLEGETMONIKER_OLEGETMONIKER_TEMPFORUSER: tagOLEGETMONIKER = 4; +pub type tagOLEGETMONIKER = ::std::os::raw::c_int; +pub use self::tagOLEGETMONIKER as OLEGETMONIKER; +pub const tagOLEWHICHMK_OLEWHICHMK_CONTAINER: tagOLEWHICHMK = 1; +pub const tagOLEWHICHMK_OLEWHICHMK_OBJREL: tagOLEWHICHMK = 2; +pub const tagOLEWHICHMK_OLEWHICHMK_OBJFULL: tagOLEWHICHMK = 3; +pub type tagOLEWHICHMK = ::std::os::raw::c_int; +pub use self::tagOLEWHICHMK as OLEWHICHMK; +pub const tagUSERCLASSTYPE_USERCLASSTYPE_FULL: tagUSERCLASSTYPE = 1; +pub const tagUSERCLASSTYPE_USERCLASSTYPE_SHORT: tagUSERCLASSTYPE = 2; +pub const tagUSERCLASSTYPE_USERCLASSTYPE_APPNAME: tagUSERCLASSTYPE = 3; +pub type tagUSERCLASSTYPE = ::std::os::raw::c_int; +pub use self::tagUSERCLASSTYPE as USERCLASSTYPE; +pub const tagOLEMISC_OLEMISC_RECOMPOSEONRESIZE: tagOLEMISC = 1; +pub const tagOLEMISC_OLEMISC_ONLYICONIC: tagOLEMISC = 2; +pub const tagOLEMISC_OLEMISC_INSERTNOTREPLACE: tagOLEMISC = 4; +pub const tagOLEMISC_OLEMISC_STATIC: tagOLEMISC = 8; +pub const tagOLEMISC_OLEMISC_CANTLINKINSIDE: tagOLEMISC = 16; +pub const tagOLEMISC_OLEMISC_CANLINKBYOLE1: tagOLEMISC = 32; +pub const tagOLEMISC_OLEMISC_ISLINKOBJECT: tagOLEMISC = 64; +pub const tagOLEMISC_OLEMISC_INSIDEOUT: tagOLEMISC = 128; +pub const tagOLEMISC_OLEMISC_ACTIVATEWHENVISIBLE: tagOLEMISC = 256; +pub const tagOLEMISC_OLEMISC_RENDERINGISDEVICEINDEPENDENT: tagOLEMISC = 512; +pub const tagOLEMISC_OLEMISC_INVISIBLEATRUNTIME: tagOLEMISC = 1024; +pub const tagOLEMISC_OLEMISC_ALWAYSRUN: tagOLEMISC = 2048; +pub const tagOLEMISC_OLEMISC_ACTSLIKEBUTTON: tagOLEMISC = 4096; +pub const tagOLEMISC_OLEMISC_ACTSLIKELABEL: tagOLEMISC = 8192; +pub const tagOLEMISC_OLEMISC_NOUIACTIVATE: tagOLEMISC = 16384; +pub const tagOLEMISC_OLEMISC_ALIGNABLE: tagOLEMISC = 32768; +pub const tagOLEMISC_OLEMISC_SIMPLEFRAME: tagOLEMISC = 65536; +pub const tagOLEMISC_OLEMISC_SETCLIENTSITEFIRST: tagOLEMISC = 131072; +pub const tagOLEMISC_OLEMISC_IMEMODE: tagOLEMISC = 262144; +pub const tagOLEMISC_OLEMISC_IGNOREACTIVATEWHENVISIBLE: tagOLEMISC = 524288; +pub const tagOLEMISC_OLEMISC_WANTSTOMENUMERGE: tagOLEMISC = 1048576; +pub const tagOLEMISC_OLEMISC_SUPPORTSMULTILEVELUNDO: tagOLEMISC = 2097152; +pub type tagOLEMISC = ::std::os::raw::c_int; +pub use self::tagOLEMISC as OLEMISC; +pub const tagOLECLOSE_OLECLOSE_SAVEIFDIRTY: tagOLECLOSE = 0; +pub const tagOLECLOSE_OLECLOSE_NOSAVE: tagOLECLOSE = 1; +pub const tagOLECLOSE_OLECLOSE_PROMPTSAVE: tagOLECLOSE = 2; +pub type tagOLECLOSE = ::std::os::raw::c_int; +pub use self::tagOLECLOSE as OLECLOSE; +extern "C" { + pub static IID_IOleObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetClientSite: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, pClientSite: *mut IOleClientSite) -> HRESULT, + >, + pub GetClientSite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + ppClientSite: *mut *mut IOleClientSite, + ) -> HRESULT, + >, + pub SetHostNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + szContainerApp: LPCOLESTR, + szContainerObj: LPCOLESTR, + ) -> HRESULT, + >, + pub Close: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, dwSaveOption: DWORD) -> HRESULT, + >, + pub SetMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwWhichMoniker: DWORD, + pmk: *mut IMoniker, + ) -> HRESULT, + >, + pub GetMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwAssign: DWORD, + dwWhichMoniker: DWORD, + ppmk: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub InitFromData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + pDataObject: *mut IDataObject, + fCreation: BOOL, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub GetClipboardData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwReserved: DWORD, + ppDataObject: *mut *mut IDataObject, + ) -> HRESULT, + >, + pub DoVerb: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + iVerb: LONG, + lpmsg: LPMSG, + pActiveSite: *mut IOleClientSite, + lindex: LONG, + hwndParent: HWND, + lprcPosRect: LPCRECT, + ) -> HRESULT, + >, + pub EnumVerbs: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + ppEnumOleVerb: *mut *mut IEnumOLEVERB, + ) -> HRESULT, + >, + pub Update: ::std::option::Option HRESULT>, + pub IsUpToDate: ::std::option::Option HRESULT>, + pub GetUserClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, pClsid: *mut CLSID) -> HRESULT, + >, + pub GetUserType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwFormOfType: DWORD, + pszUserType: *mut LPOLESTR, + ) -> HRESULT, + >, + pub SetExtent: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwDrawAspect: DWORD, + psizel: *mut SIZEL, + ) -> HRESULT, + >, + pub GetExtent: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwDrawAspect: DWORD, + psizel: *mut SIZEL, + ) -> HRESULT, + >, + pub Advise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + pAdvSink: *mut IAdviseSink, + pdwConnection: *mut DWORD, + ) -> HRESULT, + >, + pub Unadvise: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, dwConnection: DWORD) -> HRESULT, + >, + pub EnumAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + ppenumAdvise: *mut *mut IEnumSTATDATA, + ) -> HRESULT, + >, + pub GetMiscStatus: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleObject, + dwAspect: DWORD, + pdwStatus: *mut DWORD, + ) -> HRESULT, + >, + pub SetColorScheme: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleObject, pLogpal: *mut LOGPALETTE) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 192usize, + concat!("Size of: ", stringify!(IOleObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetClientSite) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetClientSite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClientSite) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetClientSite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHostNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetHostNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Close) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Close) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetMoniker) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMoniker) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitFromData) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(InitFromData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClipboardData) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetClipboardData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DoVerb) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(DoVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumVerbs) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(EnumVerbs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Update) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Update) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsUpToDate) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(IsUpToDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserClassID) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetUserClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserType) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetUserType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetExtent) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetExtent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetExtent) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetExtent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Advise) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Advise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unadvise) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(Unadvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumAdvise) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(EnumAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetMiscStatus) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(GetMiscStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetColorScheme) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IOleObjectVtbl), + "::", + stringify!(SetColorScheme) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleObject { + pub lpVtbl: *mut IOleObjectVtbl, +} +#[test] +fn bindgen_test_layout_IOleObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleObject), + "::", + stringify!(lpVtbl) + ) + ); +} +pub const tagOLERENDER_OLERENDER_NONE: tagOLERENDER = 0; +pub const tagOLERENDER_OLERENDER_DRAW: tagOLERENDER = 1; +pub const tagOLERENDER_OLERENDER_FORMAT: tagOLERENDER = 2; +pub const tagOLERENDER_OLERENDER_ASIS: tagOLERENDER = 3; +pub type tagOLERENDER = ::std::os::raw::c_int; +pub use self::tagOLERENDER as OLERENDER; +pub type LPOLERENDER = *mut OLERENDER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOBJECTDESCRIPTOR { + pub cbSize: ULONG, + pub clsid: CLSID, + pub dwDrawAspect: DWORD, + pub sizel: SIZEL, + pub pointl: POINTL, + pub dwStatus: DWORD, + pub dwFullUserTypeName: DWORD, + pub dwSrcOfCopy: DWORD, +} +#[test] +fn bindgen_test_layout_tagOBJECTDESCRIPTOR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 52usize, + concat!("Size of: ", stringify!(tagOBJECTDESCRIPTOR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagOBJECTDESCRIPTOR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDrawAspect) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(dwDrawAspect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sizel) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(sizel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pointl) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(pointl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStatus) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(dwStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFullUserTypeName) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(dwFullUserTypeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSrcOfCopy) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOBJECTDESCRIPTOR), + "::", + stringify!(dwSrcOfCopy) + ) + ); +} +pub type OBJECTDESCRIPTOR = tagOBJECTDESCRIPTOR; +pub type POBJECTDESCRIPTOR = *mut tagOBJECTDESCRIPTOR; +pub type LPOBJECTDESCRIPTOR = *mut tagOBJECTDESCRIPTOR; +pub type LINKSRCDESCRIPTOR = tagOBJECTDESCRIPTOR; +pub type PLINKSRCDESCRIPTOR = *mut tagOBJECTDESCRIPTOR; +pub type LPLINKSRCDESCRIPTOR = *mut tagOBJECTDESCRIPTOR; +extern "C" { + pub static mut IOLETypes_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut IOLETypes_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPOLEWINDOW = *mut IOleWindow; +extern "C" { + pub static IID_IOleWindow: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleWindowVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleWindow, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleWindow, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleWindow, fEnterMode: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleWindowVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IOleWindowVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleWindowVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleWindowVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleWindow { + pub lpVtbl: *mut IOleWindowVtbl, +} +#[test] +fn bindgen_test_layout_IOleWindow() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleWindow)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleWindow)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleWindow), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLELINK = *mut IOleLink; +pub const tagOLEUPDATE_OLEUPDATE_ALWAYS: tagOLEUPDATE = 1; +pub const tagOLEUPDATE_OLEUPDATE_ONCALL: tagOLEUPDATE = 3; +pub type tagOLEUPDATE = ::std::os::raw::c_int; +pub use self::tagOLEUPDATE as OLEUPDATE; +pub type LPOLEUPDATE = *mut OLEUPDATE; +pub type POLEUPDATE = *mut OLEUPDATE; +pub const tagOLELINKBIND_OLELINKBIND_EVENIFCLASSDIFF: tagOLELINKBIND = 1; +pub type tagOLELINKBIND = ::std::os::raw::c_int; +pub use self::tagOLELINKBIND as OLELINKBIND; +extern "C" { + pub static IID_IOleLink: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleLinkVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleLink, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetUpdateOptions: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, dwUpdateOpt: DWORD) -> HRESULT, + >, + pub GetUpdateOptions: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, pdwUpdateOpt: *mut DWORD) -> HRESULT, + >, + pub SetSourceMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleLink, + pmk: *mut IMoniker, + rclsid: *const IID, + ) -> HRESULT, + >, + pub GetSourceMoniker: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, ppmk: *mut *mut IMoniker) -> HRESULT, + >, + pub SetSourceDisplayName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, pszStatusText: LPCOLESTR) -> HRESULT, + >, + pub GetSourceDisplayName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, ppszDisplayName: *mut LPOLESTR) -> HRESULT, + >, + pub BindToSource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, bindflags: DWORD, pbc: *mut IBindCtx) -> HRESULT, + >, + pub BindIfRunning: ::std::option::Option HRESULT>, + pub GetBoundSource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, ppunk: *mut *mut IUnknown) -> HRESULT, + >, + pub UnbindSource: ::std::option::Option HRESULT>, + pub Update: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleLink, pbc: *mut IBindCtx) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleLinkVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(IOleLinkVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleLinkVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetUpdateOptions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(SetUpdateOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUpdateOptions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(GetUpdateOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSourceMoniker) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(SetSourceMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSourceMoniker) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(GetSourceMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSourceDisplayName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(SetSourceDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSourceDisplayName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(GetSourceDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindToSource) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(BindToSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BindIfRunning) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(BindIfRunning) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBoundSource) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(GetBoundSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnbindSource) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(UnbindSource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Update) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IOleLinkVtbl), + "::", + stringify!(Update) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleLink { + pub lpVtbl: *mut IOleLinkVtbl, +} +#[test] +fn bindgen_test_layout_IOleLink() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleLink)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleLink)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleLink), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEITEMCONTAINER = *mut IOleItemContainer; +pub const tagBINDSPEED_BINDSPEED_INDEFINITE: tagBINDSPEED = 1; +pub const tagBINDSPEED_BINDSPEED_MODERATE: tagBINDSPEED = 2; +pub const tagBINDSPEED_BINDSPEED_IMMEDIATE: tagBINDSPEED = 3; +pub type tagBINDSPEED = ::std::os::raw::c_int; +pub use self::tagBINDSPEED as BINDSPEED; +pub const tagOLECONTF_OLECONTF_EMBEDDINGS: tagOLECONTF = 1; +pub const tagOLECONTF_OLECONTF_LINKS: tagOLECONTF = 2; +pub const tagOLECONTF_OLECONTF_OTHERS: tagOLECONTF = 4; +pub const tagOLECONTF_OLECONTF_ONLYUSER: tagOLECONTF = 8; +pub const tagOLECONTF_OLECONTF_ONLYIFRUNNING: tagOLECONTF = 16; +pub type tagOLECONTF = ::std::os::raw::c_int; +pub use self::tagOLECONTF as OLECONTF; +extern "C" { + pub static IID_IOleItemContainer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleItemContainerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ParseDisplayName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + pbc: *mut IBindCtx, + pszDisplayName: LPOLESTR, + pchEaten: *mut ULONG, + ppmkOut: *mut *mut IMoniker, + ) -> HRESULT, + >, + pub EnumObjects: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + grfFlags: DWORD, + ppenum: *mut *mut IEnumUnknown, + ) -> HRESULT, + >, + pub LockContainer: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleItemContainer, fLock: BOOL) -> HRESULT, + >, + pub GetObjectA: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + pszItem: LPOLESTR, + dwSpeedNeeded: DWORD, + pbc: *mut IBindCtx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub GetObjectStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleItemContainer, + pszItem: LPOLESTR, + pbc: *mut IBindCtx, + riid: *const IID, + ppvStorage: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub IsRunning: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleItemContainer, pszItem: LPOLESTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleItemContainerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleItemContainerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleItemContainerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseDisplayName) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(ParseDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnumObjects) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(EnumObjects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockContainer) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(LockContainer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetObjectA) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(GetObjectA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetObjectStorage) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(GetObjectStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsRunning) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainerVtbl), + "::", + stringify!(IsRunning) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleItemContainer { + pub lpVtbl: *mut IOleItemContainerVtbl, +} +#[test] +fn bindgen_test_layout_IOleItemContainer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleItemContainer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleItemContainer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleItemContainer), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEINPLACEUIWINDOW = *mut IOleInPlaceUIWindow; +pub type BORDERWIDTHS = RECT; +pub type LPBORDERWIDTHS = LPRECT; +pub type LPCBORDERWIDTHS = LPCRECT; +extern "C" { + pub static IID_IOleInPlaceUIWindow: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceUIWindowVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceUIWindow, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceUIWindow, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceUIWindow, fEnterMode: BOOL) -> HRESULT, + >, + pub GetBorder: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceUIWindow, lprectBorder: LPRECT) -> HRESULT, + >, + pub RequestBorderSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceUIWindow, + pborderwidths: LPCBORDERWIDTHS, + ) -> HRESULT, + >, + pub SetBorderSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceUIWindow, + pborderwidths: LPCBORDERWIDTHS, + ) -> HRESULT, + >, + pub SetActiveObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceUIWindow, + pActiveObject: *mut IOleInPlaceActiveObject, + pszObjName: LPCOLESTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleInPlaceUIWindowVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleInPlaceUIWindowVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceUIWindowVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBorder) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(GetBorder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestBorderSpace) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(RequestBorderSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetBorderSpace) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(SetBorderSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetActiveObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindowVtbl), + "::", + stringify!(SetActiveObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceUIWindow { + pub lpVtbl: *mut IOleInPlaceUIWindowVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceUIWindow() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceUIWindow)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceUIWindow)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceUIWindow), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEINPLACEACTIVEOBJECT = *mut IOleInPlaceActiveObject; +extern "C" { + pub static IID_IOleInPlaceActiveObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceActiveObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceActiveObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, fEnterMode: BOOL) -> HRESULT, + >, + pub TranslateAcceleratorA: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, lpmsg: LPMSG) -> HRESULT, + >, + pub OnFrameWindowActivate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, fActivate: BOOL) -> HRESULT, + >, + pub OnDocWindowActivate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, fActivate: BOOL) -> HRESULT, + >, + pub ResizeBorder: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceActiveObject, + prcBorder: LPCRECT, + pUIWindow: *mut IOleInPlaceUIWindow, + fFrameWindow: BOOL, + ) -> HRESULT, + >, + pub EnableModeless: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceActiveObject, fEnable: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleInPlaceActiveObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IOleInPlaceActiveObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceActiveObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TranslateAcceleratorA) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(TranslateAcceleratorA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnFrameWindowActivate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(OnFrameWindowActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDocWindowActivate) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(OnDocWindowActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ResizeBorder) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(ResizeBorder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableModeless) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObjectVtbl), + "::", + stringify!(EnableModeless) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceActiveObject { + pub lpVtbl: *mut IOleInPlaceActiveObjectVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceActiveObject() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceActiveObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceActiveObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceActiveObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy( + This: *mut IOleInPlaceActiveObject, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IOleInPlaceActiveObject_RemoteResizeBorder_Proxy( + This: *mut IOleInPlaceActiveObject, + prcBorder: LPCRECT, + riid: *const IID, + pUIWindow: *mut IOleInPlaceUIWindow, + fFrameWindow: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_RemoteResizeBorder_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPOLEINPLACEFRAME = *mut IOleInPlaceFrame; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOIFI { + pub cb: UINT, + pub fMDIApp: BOOL, + pub hwndFrame: HWND, + pub haccel: HACCEL, + pub cAccelEntries: UINT, +} +#[test] +fn bindgen_test_layout_tagOIFI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagOIFI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOIFI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(cb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fMDIApp) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(fMDIApp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndFrame) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(hwndFrame) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).haccel) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(haccel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cAccelEntries) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOIFI), + "::", + stringify!(cAccelEntries) + ) + ); +} +pub type OLEINPLACEFRAMEINFO = tagOIFI; +pub type LPOLEINPLACEFRAMEINFO = *mut tagOIFI; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOleMenuGroupWidths { + pub width: [LONG; 6usize], +} +#[test] +fn bindgen_test_layout_tagOleMenuGroupWidths() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagOleMenuGroupWidths)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagOleMenuGroupWidths)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOleMenuGroupWidths), + "::", + stringify!(width) + ) + ); +} +pub type OLEMENUGROUPWIDTHS = tagOleMenuGroupWidths; +pub type LPOLEMENUGROUPWIDTHS = *mut tagOleMenuGroupWidths; +pub type HOLEMENU = HGLOBAL; +extern "C" { + pub static IID_IOleInPlaceFrame: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceFrameVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, fEnterMode: BOOL) -> HRESULT, + >, + pub GetBorder: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, lprectBorder: LPRECT) -> HRESULT, + >, + pub RequestBorderSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + pborderwidths: LPCBORDERWIDTHS, + ) -> HRESULT, + >, + pub SetBorderSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + pborderwidths: LPCBORDERWIDTHS, + ) -> HRESULT, + >, + pub SetActiveObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + pActiveObject: *mut IOleInPlaceActiveObject, + pszObjName: LPCOLESTR, + ) -> HRESULT, + >, + pub InsertMenus: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + hmenuShared: HMENU, + lpMenuWidths: LPOLEMENUGROUPWIDTHS, + ) -> HRESULT, + >, + pub SetMenu: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceFrame, + hmenuShared: HMENU, + holemenu: HOLEMENU, + hwndActiveObject: HWND, + ) -> HRESULT, + >, + pub RemoveMenus: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, hmenuShared: HMENU) -> HRESULT, + >, + pub SetStatusText: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, pszStatusText: LPCOLESTR) -> HRESULT, + >, + pub EnableModeless: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, fEnable: BOOL) -> HRESULT, + >, + pub TranslateAcceleratorA: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceFrame, lpmsg: LPMSG, wID: WORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleInPlaceFrameVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IOleInPlaceFrameVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceFrameVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBorder) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(GetBorder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RequestBorderSpace) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(RequestBorderSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetBorderSpace) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(SetBorderSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetActiveObject) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(SetActiveObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InsertMenus) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(InsertMenus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetMenu) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(SetMenu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoveMenus) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(RemoveMenus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetStatusText) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(SetStatusText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableModeless) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(EnableModeless) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TranslateAcceleratorA) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrameVtbl), + "::", + stringify!(TranslateAcceleratorA) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceFrame { + pub lpVtbl: *mut IOleInPlaceFrameVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceFrame() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceFrame)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceFrame)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceFrame), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEINPLACEOBJECT = *mut IOleInPlaceObject; +extern "C" { + pub static IID_IOleInPlaceObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceObject, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceObject, fEnterMode: BOOL) -> HRESULT, + >, + pub InPlaceDeactivate: + ::std::option::Option HRESULT>, + pub UIDeactivate: + ::std::option::Option HRESULT>, + pub SetObjectRects: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceObject, + lprcPosRect: LPCRECT, + lprcClipRect: LPCRECT, + ) -> HRESULT, + >, + pub ReactivateAndUndo: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IOleInPlaceObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IOleInPlaceObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InPlaceDeactivate) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(InPlaceDeactivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UIDeactivate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(UIDeactivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetObjectRects) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(SetObjectRects) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReactivateAndUndo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObjectVtbl), + "::", + stringify!(ReactivateAndUndo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceObject { + pub lpVtbl: *mut IOleInPlaceObjectVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceObject), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPOLEINPLACESITE = *mut IOleInPlaceSite; +extern "C" { + pub static IID_IOleInPlaceSite: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceSiteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceSite, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, phwnd: *mut HWND) -> HRESULT, + >, + pub ContextSensitiveHelp: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, fEnterMode: BOOL) -> HRESULT, + >, + pub CanInPlaceActivate: + ::std::option::Option HRESULT>, + pub OnInPlaceActivate: + ::std::option::Option HRESULT>, + pub OnUIActivate: + ::std::option::Option HRESULT>, + pub GetWindowContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IOleInPlaceSite, + ppFrame: *mut *mut IOleInPlaceFrame, + ppDoc: *mut *mut IOleInPlaceUIWindow, + lprcPosRect: LPRECT, + lprcClipRect: LPRECT, + lpFrameInfo: LPOLEINPLACEFRAMEINFO, + ) -> HRESULT, + >, + pub Scroll: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, scrollExtant: SIZE) -> HRESULT, + >, + pub OnUIDeactivate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, fUndoable: BOOL) -> HRESULT, + >, + pub OnInPlaceDeactivate: + ::std::option::Option HRESULT>, + pub DiscardUndoState: + ::std::option::Option HRESULT>, + pub DeactivateAndUndo: + ::std::option::Option HRESULT>, + pub OnPosRectChange: ::std::option::Option< + unsafe extern "C" fn(This: *mut IOleInPlaceSite, lprcPosRect: LPCRECT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IOleInPlaceSiteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IOleInPlaceSiteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceSiteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ContextSensitiveHelp) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(ContextSensitiveHelp) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CanInPlaceActivate) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(CanInPlaceActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnInPlaceActivate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnInPlaceActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnUIActivate) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnUIActivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindowContext) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(GetWindowContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Scroll) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(Scroll) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnUIDeactivate) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnUIDeactivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnInPlaceDeactivate) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnInPlaceDeactivate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DiscardUndoState) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(DiscardUndoState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DeactivateAndUndo) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(DeactivateAndUndo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnPosRectChange) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSiteVtbl), + "::", + stringify!(OnPosRectChange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IOleInPlaceSite { + pub lpVtbl: *mut IOleInPlaceSiteVtbl, +} +#[test] +fn bindgen_test_layout_IOleInPlaceSite() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IOleInPlaceSite)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IOleInPlaceSite)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IOleInPlaceSite), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IContinue: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IContinueVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IContinue, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub FContinue: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IContinueVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IContinueVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IContinueVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IContinueVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IContinueVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IContinueVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FContinue) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IContinueVtbl), + "::", + stringify!(FContinue) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IContinue { + pub lpVtbl: *mut IContinueVtbl, +} +#[test] +fn bindgen_test_layout_IContinue() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IContinue)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IContinue)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IContinue), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPVIEWOBJECT = *mut IViewObject; +extern "C" { + pub static IID_IViewObject: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IViewObjectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Draw: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pfnContinue: ::std::option::Option BOOL>, + dwContinue: ULONG_PTR, + ) -> HRESULT, + >, + pub GetColorSet: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: HDC, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT, + >, + pub Freeze: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + pdwFreeze: *mut DWORD, + ) -> HRESULT, + >, + pub Unfreeze: ::std::option::Option< + unsafe extern "C" fn(This: *mut IViewObject, dwFreeze: DWORD) -> HRESULT, + >, + pub SetAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + aspects: DWORD, + advf: DWORD, + pAdvSink: *mut IAdviseSink, + ) -> HRESULT, + >, + pub GetAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IViewObjectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IViewObjectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IViewObjectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Draw) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(Draw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetColorSet) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(GetColorSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Freeze) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(Freeze) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unfreeze) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(Unfreeze) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAdvise) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(SetAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAdvise) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IViewObjectVtbl), + "::", + stringify!(GetAdvise) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IViewObject { + pub lpVtbl: *mut IViewObjectVtbl, +} +#[test] +fn bindgen_test_layout_IViewObject() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IViewObject)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IViewObject)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IViewObject), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IViewObject_RemoteDraw_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pContinue: *mut IContinue, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_RemoteDraw_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IViewObject_RemoteGetColorSet_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: ULONG_PTR, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_RemoteGetColorSet_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IViewObject_RemoteFreeze_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + pdwFreeze: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_RemoteFreeze_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IViewObject_RemoteGetAdvise_Proxy( + This: *mut IViewObject, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_RemoteGetAdvise_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +pub type LPVIEWOBJECT2 = *mut IViewObject2; +extern "C" { + pub static IID_IViewObject2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IViewObject2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Draw: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pfnContinue: ::std::option::Option BOOL>, + dwContinue: ULONG_PTR, + ) -> HRESULT, + >, + pub GetColorSet: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: HDC, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT, + >, + pub Freeze: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + pdwFreeze: *mut DWORD, + ) -> HRESULT, + >, + pub Unfreeze: ::std::option::Option< + unsafe extern "C" fn(This: *mut IViewObject2, dwFreeze: DWORD) -> HRESULT, + >, + pub SetAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + aspects: DWORD, + advf: DWORD, + pAdvSink: *mut IAdviseSink, + ) -> HRESULT, + >, + pub GetAdvise: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT, + >, + pub GetExtent: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IViewObject2, + dwDrawAspect: DWORD, + lindex: LONG, + ptd: *mut DVTARGETDEVICE, + lpsizel: LPSIZEL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IViewObject2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IViewObject2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IViewObject2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Draw) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(Draw) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetColorSet) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(GetColorSet) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Freeze) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(Freeze) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Unfreeze) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(Unfreeze) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAdvise) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(SetAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAdvise) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(GetAdvise) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetExtent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2Vtbl), + "::", + stringify!(GetExtent) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IViewObject2 { + pub lpVtbl: *mut IViewObject2Vtbl, +} +#[test] +fn bindgen_test_layout_IViewObject2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IViewObject2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IViewObject2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IViewObject2), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPDROPSOURCE = *mut IDropSource; +extern "C" { + pub static IID_IDropSource: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropSourceVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropSource, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryContinueDrag: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropSource, + fEscapePressed: BOOL, + grfKeyState: DWORD, + ) -> HRESULT, + >, + pub GiveFeedback: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDropSource, dwEffect: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDropSourceVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IDropSourceVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropSourceVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryContinueDrag) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(QueryContinueDrag) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GiveFeedback) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceVtbl), + "::", + stringify!(GiveFeedback) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropSource { + pub lpVtbl: *mut IDropSourceVtbl, +} +#[test] +fn bindgen_test_layout_IDropSource() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDropSource)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropSource)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropSource), + "::", + stringify!(lpVtbl) + ) + ); +} +pub type LPDROPTARGET = *mut IDropTarget; +extern "C" { + pub static IID_IDropTarget: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropTargetVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropTarget, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub DragEnter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropTarget, + pDataObj: *mut IDataObject, + grfKeyState: DWORD, + pt: POINTL, + pdwEffect: *mut DWORD, + ) -> HRESULT, + >, + pub DragOver: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropTarget, + grfKeyState: DWORD, + pt: POINTL, + pdwEffect: *mut DWORD, + ) -> HRESULT, + >, + pub DragLeave: ::std::option::Option HRESULT>, + pub Drop: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropTarget, + pDataObj: *mut IDataObject, + grfKeyState: DWORD, + pt: POINTL, + pdwEffect: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDropTargetVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IDropTargetVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropTargetVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragEnter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(DragEnter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragOver) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(DragOver) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragLeave) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(DragLeave) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Drop) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IDropTargetVtbl), + "::", + stringify!(Drop) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropTarget { + pub lpVtbl: *mut IDropTargetVtbl, +} +#[test] +fn bindgen_test_layout_IDropTarget() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDropTarget)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropTarget)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropTarget), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IDropSourceNotify: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropSourceNotifyVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDropSourceNotify, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub DragEnterTarget: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDropSourceNotify, hwndTarget: HWND) -> HRESULT, + >, + pub DragLeaveTarget: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IDropSourceNotifyVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IDropSourceNotifyVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropSourceNotifyVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragEnterTarget) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(DragEnterTarget) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DragLeaveTarget) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotifyVtbl), + "::", + stringify!(DragLeaveTarget) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDropSourceNotify { + pub lpVtbl: *mut IDropSourceNotifyVtbl, +} +#[test] +fn bindgen_test_layout_IDropSourceNotify() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDropSourceNotify)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDropSourceNotify)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDropSourceNotify), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IEnterpriseDropTarget: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnterpriseDropTargetVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnterpriseDropTarget, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetDropSourceEnterpriseId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnterpriseDropTarget, identity: LPCWSTR) -> HRESULT, + >, + pub IsEvaluatingEdpPolicy: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnterpriseDropTarget, value: *mut BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnterpriseDropTargetVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IEnterpriseDropTargetVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnterpriseDropTargetVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDropSourceEnterpriseId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(SetDropSourceEnterpriseId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsEvaluatingEdpPolicy) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTargetVtbl), + "::", + stringify!(IsEvaluatingEdpPolicy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnterpriseDropTarget { + pub lpVtbl: *mut IEnterpriseDropTargetVtbl, +} +#[test] +fn bindgen_test_layout_IEnterpriseDropTarget() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnterpriseDropTarget)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnterpriseDropTarget)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnterpriseDropTarget), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0024_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0024_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPENUMOLEVERB = *mut IEnumOLEVERB; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOLEVERB { + pub lVerb: LONG, + pub lpszVerbName: LPOLESTR, + pub fuFlags: DWORD, + pub grfAttribs: DWORD, +} +#[test] +fn bindgen_test_layout_tagOLEVERB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(tagOLEVERB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOLEVERB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lVerb) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOLEVERB), + "::", + stringify!(lVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszVerbName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOLEVERB), + "::", + stringify!(lpszVerbName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fuFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOLEVERB), + "::", + stringify!(fuFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfAttribs) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagOLEVERB), + "::", + stringify!(grfAttribs) + ) + ); +} +pub type OLEVERB = tagOLEVERB; +pub type LPOLEVERB = *mut tagOLEVERB; +pub const tagOLEVERBATTRIB_OLEVERBATTRIB_NEVERDIRTIES: tagOLEVERBATTRIB = 1; +pub const tagOLEVERBATTRIB_OLEVERBATTRIB_ONCONTAINERMENU: tagOLEVERBATTRIB = 2; +pub type tagOLEVERBATTRIB = ::std::os::raw::c_int; +pub use self::tagOLEVERBATTRIB as OLEVERBATTRIB; +extern "C" { + pub static IID_IEnumOLEVERB: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumOLEVERBVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumOLEVERB, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Next: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEnumOLEVERB, + celt: ULONG, + rgelt: LPOLEVERB, + pceltFetched: *mut ULONG, + ) -> HRESULT, + >, + pub Skip: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumOLEVERB, celt: ULONG) -> HRESULT, + >, + pub Reset: ::std::option::Option HRESULT>, + pub Clone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IEnumOLEVERB, ppenum: *mut *mut IEnumOLEVERB) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEnumOLEVERBVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IEnumOLEVERBVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumOLEVERBVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Next) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Skip) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Skip) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reset) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Clone) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERBVtbl), + "::", + stringify!(Clone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEnumOLEVERB { + pub lpVtbl: *mut IEnumOLEVERBVtbl, +} +#[test] +fn bindgen_test_layout_IEnumOLEVERB() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEnumOLEVERB)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEnumOLEVERB)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEnumOLEVERB), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IEnumOLEVERB_RemoteNext_Proxy( + This: *mut IEnumOLEVERB, + celt: ULONG, + rgelt: LPOLEVERB, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumOLEVERB_RemoteNext_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0025_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_oleidl_0000_0025_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn HACCEL_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HACCEL, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HACCEL_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HACCEL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HACCEL_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HACCEL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HACCEL_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HACCEL); +} +extern "C" { + pub fn HGLOBAL_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HGLOBAL, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HGLOBAL_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HGLOBAL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HGLOBAL_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HGLOBAL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HGLOBAL_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HGLOBAL); +} +extern "C" { + pub fn HMENU_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HMENU, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HMENU_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HMENU, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HMENU_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HMENU, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HMENU_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HMENU); +} +extern "C" { + pub fn HWND_UserSize( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HWND, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HWND_UserMarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HWND, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HWND_UserUnmarshal( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HWND, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HWND_UserFree(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HWND); +} +extern "C" { + pub fn HACCEL_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HACCEL, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HACCEL_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HACCEL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HACCEL_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HACCEL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HACCEL_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HACCEL); +} +extern "C" { + pub fn HGLOBAL_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HGLOBAL, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HGLOBAL_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HGLOBAL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HGLOBAL_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HGLOBAL, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HGLOBAL_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HGLOBAL); +} +extern "C" { + pub fn HMENU_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HMENU, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HMENU_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HMENU, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HMENU_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HMENU, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HMENU_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HMENU); +} +extern "C" { + pub fn HWND_UserSize64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: ::std::os::raw::c_ulong, + arg3: *mut HWND, + ) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn HWND_UserMarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HWND, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HWND_UserUnmarshal64( + arg1: *mut ::std::os::raw::c_ulong, + arg2: *mut ::std::os::raw::c_uchar, + arg3: *mut HWND, + ) -> *mut ::std::os::raw::c_uchar; +} +extern "C" { + pub fn HWND_UserFree64(arg1: *mut ::std::os::raw::c_ulong, arg2: *mut HWND); +} +extern "C" { + pub fn IOleCache2_UpdateCache_Proxy( + This: *mut IOleCache2, + pDataObject: LPDATAOBJECT, + grfUpdf: DWORD, + pReserved: LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn IOleCache2_UpdateCache_Stub( + This: *mut IOleCache2, + pDataObject: LPDATAOBJECT, + grfUpdf: DWORD, + pReserved: LONG_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_TranslateAccelerator_Proxy( + This: *mut IOleInPlaceActiveObject, + lpmsg: LPMSG, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_TranslateAccelerator_Stub( + This: *mut IOleInPlaceActiveObject, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_ResizeBorder_Proxy( + This: *mut IOleInPlaceActiveObject, + prcBorder: LPCRECT, + pUIWindow: *mut IOleInPlaceUIWindow, + fFrameWindow: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IOleInPlaceActiveObject_ResizeBorder_Stub( + This: *mut IOleInPlaceActiveObject, + prcBorder: LPCRECT, + riid: *const IID, + pUIWindow: *mut IOleInPlaceUIWindow, + fFrameWindow: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_Draw_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pfnContinue: ::std::option::Option BOOL>, + dwContinue: ULONG_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_Draw_Stub( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + ptd: *mut DVTARGETDEVICE, + hdcTargetDev: HDC, + hdcDraw: HDC, + lprcBounds: LPCRECTL, + lprcWBounds: LPCRECTL, + pContinue: *mut IContinue, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_GetColorSet_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: HDC, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_GetColorSet_Stub( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + ptd: *mut DVTARGETDEVICE, + hicTargetDev: ULONG_PTR, + ppColorSet: *mut *mut LOGPALETTE, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_Freeze_Proxy( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: *mut ::std::os::raw::c_void, + pdwFreeze: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_Freeze_Stub( + This: *mut IViewObject, + dwDrawAspect: DWORD, + lindex: LONG, + pvAspect: ULONG_PTR, + pdwFreeze: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_GetAdvise_Proxy( + This: *mut IViewObject, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT; +} +extern "C" { + pub fn IViewObject_GetAdvise_Stub( + This: *mut IViewObject, + pAspects: *mut DWORD, + pAdvf: *mut DWORD, + ppAdvSink: *mut *mut IAdviseSink, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumOLEVERB_Next_Proxy( + This: *mut IEnumOLEVERB, + celt: ULONG, + rgelt: LPOLEVERB, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn IEnumOLEVERB_Next_Stub( + This: *mut IEnumOLEVERB, + celt: ULONG, + rgelt: LPOLEVERB, + pceltFetched: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_servprov_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_servprov_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPSERVICEPROVIDER = *mut IServiceProvider; +extern "C" { + pub static IID_IServiceProvider: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IServiceProviderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IServiceProvider, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryService: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IServiceProvider, + guidService: *const GUID, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IServiceProviderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IServiceProviderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IServiceProviderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IServiceProviderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IServiceProviderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IServiceProviderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryService) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IServiceProviderVtbl), + "::", + stringify!(QueryService) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IServiceProvider { + pub lpVtbl: *mut IServiceProviderVtbl, +} +#[test] +fn bindgen_test_layout_IServiceProvider() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IServiceProvider)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IServiceProvider)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IServiceProvider), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IServiceProvider_RemoteQueryService_Proxy( + This: *mut IServiceProvider, + guidService: *const GUID, + riid: *const IID, + ppvObject: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IServiceProvider_RemoteQueryService_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_servprov_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_servprov_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn IServiceProvider_QueryService_Proxy( + This: *mut IServiceProvider, + guidService: *const GUID, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IServiceProvider_QueryService_Stub( + This: *mut IServiceProvider, + guidService: *const GUID, + riid: *const IID, + ppvObject: *mut *mut IUnknown, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DOMDocument { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct DOMFreeThreadedDocument { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLHTTPRequest { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLDSOControl { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLDocument { + _unused: [u8; 0], +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _xml_error { + pub _nLine: ::std::os::raw::c_uint, + pub _pchBuf: BSTR, + pub _cchBuf: ::std::os::raw::c_uint, + pub _ich: ::std::os::raw::c_uint, + pub _pszFound: BSTR, + pub _pszExpected: BSTR, + pub _reserved1: DWORD, + pub _reserved2: DWORD, +} +#[test] +fn bindgen_test_layout__xml_error() { + const UNINIT: ::std::mem::MaybeUninit<_xml_error> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_xml_error>(), + 48usize, + concat!("Size of: ", stringify!(_xml_error)) + ); + assert_eq!( + ::std::mem::align_of::<_xml_error>(), + 8usize, + concat!("Alignment of ", stringify!(_xml_error)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._nLine) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_nLine) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._pchBuf) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_pchBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._cchBuf) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_cchBuf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._ich) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_ich) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._pszFound) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_pszFound) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._pszExpected) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_pszExpected) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._reserved1) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_reserved1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr)._reserved2) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_xml_error), + "::", + stringify!(_reserved2) + ) + ); +} +pub type XML_ERROR = _xml_error; +extern "C" { + pub static mut __MIDL_itf_msxml_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_msxml_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const tagDOMNodeType_NODE_INVALID: tagDOMNodeType = 0; +pub const tagDOMNodeType_NODE_ELEMENT: tagDOMNodeType = 1; +pub const tagDOMNodeType_NODE_ATTRIBUTE: tagDOMNodeType = 2; +pub const tagDOMNodeType_NODE_TEXT: tagDOMNodeType = 3; +pub const tagDOMNodeType_NODE_CDATA_SECTION: tagDOMNodeType = 4; +pub const tagDOMNodeType_NODE_ENTITY_REFERENCE: tagDOMNodeType = 5; +pub const tagDOMNodeType_NODE_ENTITY: tagDOMNodeType = 6; +pub const tagDOMNodeType_NODE_PROCESSING_INSTRUCTION: tagDOMNodeType = 7; +pub const tagDOMNodeType_NODE_COMMENT: tagDOMNodeType = 8; +pub const tagDOMNodeType_NODE_DOCUMENT: tagDOMNodeType = 9; +pub const tagDOMNodeType_NODE_DOCUMENT_TYPE: tagDOMNodeType = 10; +pub const tagDOMNodeType_NODE_DOCUMENT_FRAGMENT: tagDOMNodeType = 11; +pub const tagDOMNodeType_NODE_NOTATION: tagDOMNodeType = 12; +pub type tagDOMNodeType = ::std::os::raw::c_int; +pub use self::tagDOMNodeType as DOMNodeType; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_ELEMENT: tagXMLEMEM_TYPE = 0; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_TEXT: tagXMLEMEM_TYPE = 1; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_COMMENT: tagXMLEMEM_TYPE = 2; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_DOCUMENT: tagXMLEMEM_TYPE = 3; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_DTD: tagXMLEMEM_TYPE = 4; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_PI: tagXMLEMEM_TYPE = 5; +pub const tagXMLEMEM_TYPE_XMLELEMTYPE_OTHER: tagXMLEMEM_TYPE = 6; +pub type tagXMLEMEM_TYPE = ::std::os::raw::c_int; +pub use self::tagXMLEMEM_TYPE as XMLELEM_TYPE; +extern "C" { + pub static LIBID_MSXML: IID; +} +extern "C" { + pub static IID_IXMLDOMImplementation: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMImplementationVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMImplementation, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub hasFeature: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMImplementation, + feature: BSTR, + version: BSTR, + hasFeature: *mut VARIANT_BOOL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMImplementationVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 64usize, + concat!("Size of: ", stringify!(IXMLDOMImplementationVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMImplementationVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasFeature) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementationVtbl), + "::", + stringify!(hasFeature) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMImplementation { + pub lpVtbl: *mut IXMLDOMImplementationVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMImplementation() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMImplementation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMImplementation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMImplementation), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMNode: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNodeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, firstChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, lastChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, nextSibling: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, text: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNode, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNode, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMNodeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 344usize, + concat!("Size of: ", stringify!(IXMLDOMNodeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNodeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNode { + pub lpVtbl: *mut IXMLDOMNodeVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMNode() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMNode)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNode)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNode), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMDocumentFragment: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentFragmentVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + type_: *mut DOMNodeType, + ) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + typedValue: *mut VARIANT, + ) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + dataTypeName: *mut VARIANT, + ) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + namespaceURI: *mut BSTR, + ) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + prefixString: *mut BSTR, + ) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentFragment, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentFragment, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentFragmentVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 344usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentFragmentVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentFragmentVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragmentVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentFragment { + pub lpVtbl: *mut IXMLDOMDocumentFragmentVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentFragment() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentFragment)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentFragment)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentFragment), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMDocument: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_doctype: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + documentType: *mut *mut IXMLDOMDocumentType, + ) -> HRESULT, + >, + pub get_implementation: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + impl_: *mut *mut IXMLDOMImplementation, + ) -> HRESULT, + >, + pub get_documentElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + DOMElement: *mut *mut IXMLDOMElement, + ) -> HRESULT, + >, + pub putref_documentElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + DOMElement: *mut IXMLDOMElement, + ) -> HRESULT, + >, + pub createElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + tagName: BSTR, + element: *mut *mut IXMLDOMElement, + ) -> HRESULT, + >, + pub createDocumentFragment: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + docFrag: *mut *mut IXMLDOMDocumentFragment, + ) -> HRESULT, + >, + pub createTextNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + data: BSTR, + text: *mut *mut IXMLDOMText, + ) -> HRESULT, + >, + pub createComment: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + data: BSTR, + comment: *mut *mut IXMLDOMComment, + ) -> HRESULT, + >, + pub createCDATASection: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + data: BSTR, + cdata: *mut *mut IXMLDOMCDATASection, + ) -> HRESULT, + >, + pub createProcessingInstruction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + target: BSTR, + data: BSTR, + pi: *mut *mut IXMLDOMProcessingInstruction, + ) -> HRESULT, + >, + pub createAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + name: BSTR, + attribute: *mut *mut IXMLDOMAttribute, + ) -> HRESULT, + >, + pub createEntityReference: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + name: BSTR, + entityRef: *mut *mut IXMLDOMEntityReference, + ) -> HRESULT, + >, + pub getElementsByTagName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + tagName: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub createNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + Type: VARIANT, + name: BSTR, + namespaceURI: BSTR, + node: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub nodeFromID: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + idString: BSTR, + node: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub load: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + xmlSource: VARIANT, + isSuccessful: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + value: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_parseError: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + errorObj: *mut *mut IXMLDOMParseError, + ) -> HRESULT, + >, + pub get_url: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, urlString: *mut BSTR) -> HRESULT, + >, + pub get_async: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isAsync: *mut VARIANT_BOOL) -> HRESULT, + >, + pub put_async: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isAsync: VARIANT_BOOL) -> HRESULT, + >, + pub abort: ::std::option::Option HRESULT>, + pub loadXML: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + bstrXML: BSTR, + isSuccessful: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub save: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, destination: VARIANT) -> HRESULT, + >, + pub get_validateOnParse: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + isValidating: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub put_validateOnParse: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isValidating: VARIANT_BOOL) -> HRESULT, + >, + pub get_resolveExternals: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isResolving: *mut VARIANT_BOOL) -> HRESULT, + >, + pub put_resolveExternals: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isResolving: VARIANT_BOOL) -> HRESULT, + >, + pub get_preserveWhiteSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocument, + isPreserving: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub put_preserveWhiteSpace: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, isPreserving: VARIANT_BOOL) -> HRESULT, + >, + pub put_onreadystatechange: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, readystatechangeSink: VARIANT) -> HRESULT, + >, + pub put_ondataavailable: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, ondataavailableSink: VARIANT) -> HRESULT, + >, + pub put_ontransformnode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocument, ontransformnodeSink: VARIANT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 608usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_doctype) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_doctype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_implementation) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_implementation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_documentElement) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_documentElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).putref_documentElement) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(putref_documentElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createElement) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createDocumentFragment) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createDocumentFragment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createTextNode) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createTextNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createComment) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createCDATASection) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createCDATASection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createProcessingInstruction) as usize - ptr as usize }, + 416usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createProcessingInstruction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createAttribute) as usize - ptr as usize }, + 424usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createEntityReference) as usize - ptr as usize }, + 432usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createEntityReference) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getElementsByTagName) as usize - ptr as usize }, + 440usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(getElementsByTagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createNode) as usize - ptr as usize }, + 448usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(createNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nodeFromID) as usize - ptr as usize }, + 456usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(nodeFromID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).load) as usize - ptr as usize }, + 464usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 472usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_readyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parseError) as usize - ptr as usize }, + 480usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_parseError) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_url) as usize - ptr as usize }, + 488usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_url) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_async) as usize - ptr as usize }, + 496usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_async) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_async) as usize - ptr as usize }, + 504usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_async) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abort) as usize - ptr as usize }, + 512usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).loadXML) as usize - ptr as usize }, + 520usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(loadXML) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).save) as usize - ptr as usize }, + 528usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_validateOnParse) as usize - ptr as usize }, + 536usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_validateOnParse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_validateOnParse) as usize - ptr as usize }, + 544usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_validateOnParse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_resolveExternals) as usize - ptr as usize }, + 552usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_resolveExternals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_resolveExternals) as usize - ptr as usize }, + 560usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_resolveExternals) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_preserveWhiteSpace) as usize - ptr as usize }, + 568usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(get_preserveWhiteSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_preserveWhiteSpace) as usize - ptr as usize }, + 576usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_preserveWhiteSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_onreadystatechange) as usize - ptr as usize }, + 584usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_onreadystatechange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_ondataavailable) as usize - ptr as usize }, + 592usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_ondataavailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_ontransformnode) as usize - ptr as usize }, + 600usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentVtbl), + "::", + stringify!(put_ontransformnode) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocument { + pub lpVtbl: *mut IXMLDOMDocumentVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocument() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMDocument)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocument)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocument), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMNodeList: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNodeListVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNodeList, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_item: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + index: ::std::os::raw::c_long, + listItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + listLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub nextNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNodeList, + nextItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub reset: ::std::option::Option HRESULT>, + pub get__newEnum: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNodeList, ppUnk: *mut *mut IUnknown) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMNodeListVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IXMLDOMNodeListVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNodeListVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_item) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(get_item) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nextNode) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(nextNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reset) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get__newEnum) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeListVtbl), + "::", + stringify!(get__newEnum) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNodeList { + pub lpVtbl: *mut IXMLDOMNodeListVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMNodeList() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMNodeList)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNodeList)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNodeList), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMNamedNodeMap: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNamedNodeMapVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNamedNodeMap, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub getNamedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + name: BSTR, + namedItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub setNamedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + newItem: *mut IXMLDOMNode, + nameItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeNamedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + name: BSTR, + namedItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_item: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + index: ::std::os::raw::c_long, + listItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + listLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub getQualifiedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + baseName: BSTR, + namespaceURI: BSTR, + qualifiedItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeQualifiedItem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + baseName: BSTR, + namespaceURI: BSTR, + qualifiedItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub nextNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNamedNodeMap, + nextItem: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub reset: + ::std::option::Option HRESULT>, + pub get__newEnum: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNamedNodeMap, ppUnk: *mut *mut IUnknown) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMNamedNodeMapVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(IXMLDOMNamedNodeMapVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNamedNodeMapVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getNamedItem) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(getNamedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setNamedItem) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(setNamedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeNamedItem) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(removeNamedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_item) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(get_item) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getQualifiedItem) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(getQualifiedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeQualifiedItem) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(removeQualifiedItem) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nextNode) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(nextNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).reset) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(reset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get__newEnum) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMapVtbl), + "::", + stringify!(get__newEnum) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNamedNodeMap { + pub lpVtbl: *mut IXMLDOMNamedNodeMapVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMNamedNodeMap() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMNamedNodeMap)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNamedNodeMap)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNamedNodeMap), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMCharacterData: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCharacterDataVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + dataTypeName: *mut VARIANT, + ) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, data: *mut BSTR) -> HRESULT, + >, + pub put_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, data: BSTR) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + dataLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub substringData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: *mut BSTR, + ) -> HRESULT, + >, + pub appendData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCharacterData, data: BSTR) -> HRESULT, + >, + pub insertData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + offset: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub deleteData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub replaceData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCharacterData, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMCharacterDataVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 408usize, + concat!("Size of: ", stringify!(IXMLDOMCharacterDataVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCharacterDataVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(put_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).substringData) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(substringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendData) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(appendData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertData) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(insertData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deleteData) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(deleteData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceData) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterDataVtbl), + "::", + stringify!(replaceData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCharacterData { + pub lpVtbl: *mut IXMLDOMCharacterDataVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMCharacterData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMCharacterData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCharacterData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCharacterData), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMAttribute: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMAttributeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMAttribute, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_name: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, attributeName: *mut BSTR) -> HRESULT, + >, + pub get_value: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, attributeValue: *mut VARIANT) -> HRESULT, + >, + pub put_value: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMAttribute, attributeValue: VARIANT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMAttributeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 368usize, + concat!("Size of: ", stringify!(IXMLDOMAttributeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMAttributeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_value) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(get_value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_value) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttributeVtbl), + "::", + stringify!(put_value) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMAttribute { + pub lpVtbl: *mut IXMLDOMAttributeVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMAttribute() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMAttribute)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMAttribute)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMAttribute), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMElement: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMElementVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_tagName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, tagName: *mut BSTR) -> HRESULT, + >, + pub getAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, name: BSTR, value: *mut VARIANT) -> HRESULT, + >, + pub setAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, name: BSTR, value: VARIANT) -> HRESULT, + >, + pub removeAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMElement, name: BSTR) -> HRESULT, + >, + pub getAttributeNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + name: BSTR, + attributeNode: *mut *mut IXMLDOMAttribute, + ) -> HRESULT, + >, + pub setAttributeNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + DOMAttribute: *mut IXMLDOMAttribute, + attributeNode: *mut *mut IXMLDOMAttribute, + ) -> HRESULT, + >, + pub removeAttributeNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + DOMAttribute: *mut IXMLDOMAttribute, + attributeNode: *mut *mut IXMLDOMAttribute, + ) -> HRESULT, + >, + pub getElementsByTagName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMElement, + tagName: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub normalize: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IXMLDOMElementVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(IXMLDOMElementVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMElementVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_tagName) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(get_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAttribute) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(getAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setAttribute) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(setAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeAttribute) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(removeAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAttributeNode) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(getAttributeNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setAttributeNode) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(setAttributeNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeAttributeNode) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(removeAttributeNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getElementsByTagName) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(getElementsByTagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).normalize) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElementVtbl), + "::", + stringify!(normalize) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMElement { + pub lpVtbl: *mut IXMLDOMElementVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMElement() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMElement)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMElement)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMElement), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMText: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMTextVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, firstChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, lastChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, nextSibling: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, text: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMText, data: *mut BSTR) -> HRESULT, + >, + pub put_data: + ::std::option::Option HRESULT>, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + dataLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub substringData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: *mut BSTR, + ) -> HRESULT, + >, + pub appendData: + ::std::option::Option HRESULT>, + pub insertData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub deleteData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub replaceData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub splitText: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMText, + offset: ::std::os::raw::c_long, + rightHandTextNode: *mut *mut IXMLDOMText, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMTextVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(IXMLDOMTextVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMTextVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(put_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).substringData) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(substringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendData) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(appendData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertData) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(insertData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deleteData) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(deleteData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceData) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(replaceData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).splitText) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMTextVtbl), + "::", + stringify!(splitText) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMText { + pub lpVtbl: *mut IXMLDOMTextVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMText() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMText)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMText)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMText), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMComment: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCommentVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, data: *mut BSTR) -> HRESULT, + >, + pub put_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, data: BSTR) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + dataLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub substringData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: *mut BSTR, + ) -> HRESULT, + >, + pub appendData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMComment, data: BSTR) -> HRESULT, + >, + pub insertData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + offset: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub deleteData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub replaceData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMComment, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMCommentVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 408usize, + concat!("Size of: ", stringify!(IXMLDOMCommentVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCommentVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(put_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).substringData) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(substringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendData) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(appendData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertData) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(insertData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deleteData) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(deleteData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceData) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCommentVtbl), + "::", + stringify!(replaceData) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMComment { + pub lpVtbl: *mut IXMLDOMCommentVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMComment() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMComment)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMComment)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMComment), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMProcessingInstruction: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMProcessingInstructionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction) -> ULONG, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction) -> ULONG, + >, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + pctinfo: *mut UINT, + ) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + value: *mut VARIANT, + ) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + type_: *mut DOMNodeType, + ) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + nodeType: *mut BSTR, + ) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + typedValue: *mut VARIANT, + ) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + typedValue: VARIANT, + ) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + dataTypeName: *mut VARIANT, + ) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + dataTypeName: BSTR, + ) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + namespaceURI: *mut BSTR, + ) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + prefixString: *mut BSTR, + ) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + nameString: *mut BSTR, + ) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMProcessingInstruction, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_target: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, name: *mut BSTR) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, value: *mut BSTR) -> HRESULT, + >, + pub put_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMProcessingInstruction, value: BSTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMProcessingInstructionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 368usize, + concat!("Size of: ", stringify!(IXMLDOMProcessingInstructionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(IXMLDOMProcessingInstructionVtbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_target) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_target) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstructionVtbl), + "::", + stringify!(put_data) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMProcessingInstruction { + pub lpVtbl: *mut IXMLDOMProcessingInstructionVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMProcessingInstruction() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMProcessingInstruction)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMProcessingInstruction)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMProcessingInstruction), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMCDATASection: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCDATASectionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, data: *mut BSTR) -> HRESULT, + >, + pub put_data: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, data: BSTR) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + dataLength: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub substringData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: *mut BSTR, + ) -> HRESULT, + >, + pub appendData: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMCDATASection, data: BSTR) -> HRESULT, + >, + pub insertData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub deleteData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub replaceData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + count: ::std::os::raw::c_long, + data: BSTR, + ) -> HRESULT, + >, + pub splitText: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMCDATASection, + offset: ::std::os::raw::c_long, + rightHandTextNode: *mut *mut IXMLDOMText, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMCDATASectionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(IXMLDOMCDATASectionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCDATASectionVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_data) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_data) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(put_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).substringData) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(substringData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendData) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(appendData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertData) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(insertData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).deleteData) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(deleteData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceData) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(replaceData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).splitText) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASectionVtbl), + "::", + stringify!(splitText) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMCDATASection { + pub lpVtbl: *mut IXMLDOMCDATASectionVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMCDATASection() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMCDATASection)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMCDATASection)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMCDATASection), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMDocumentType: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentTypeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_name: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMDocumentType, rootName: *mut BSTR) -> HRESULT, + >, + pub get_entities: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + entityMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub get_notations: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMDocumentType, + notationMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentTypeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 368usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentTypeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentTypeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_entities) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_entities) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_notations) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentTypeVtbl), + "::", + stringify!(get_notations) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMDocumentType { + pub lpVtbl: *mut IXMLDOMDocumentTypeVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMDocumentType() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMDocumentType)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMDocumentType)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMDocumentType), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMNotation: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNotationVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMNotation, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_publicId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, publicID: *mut VARIANT) -> HRESULT, + >, + pub get_systemId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMNotation, systemID: *mut VARIANT) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMNotationVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 360usize, + concat!("Size of: ", stringify!(IXMLDOMNotationVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNotationVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_publicId) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_publicId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_systemId) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotationVtbl), + "::", + stringify!(get_systemId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMNotation { + pub lpVtbl: *mut IXMLDOMNotationVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMNotation() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMNotation)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMNotation)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMNotation), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMEntity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMEntityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, lastChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntity, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub get_publicId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, publicID: *mut VARIANT) -> HRESULT, + >, + pub get_systemId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, systemID: *mut VARIANT) -> HRESULT, + >, + pub get_notationName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntity, name: *mut BSTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMEntityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 368usize, + concat!("Size of: ", stringify!(IXMLDOMEntityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMEntityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_publicId) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_publicId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_systemId) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_systemId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_notationName) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityVtbl), + "::", + stringify!(get_notationName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMEntity { + pub lpVtbl: *mut IXMLDOMEntityVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMEntity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMEntity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMEntity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntity), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMEntityReference: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMEntityReferenceVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + parent: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + firstChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + lastChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + nextSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + hasChild: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, text: *mut BSTR) -> HRESULT, + >, + pub put_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, text: BSTR) -> HRESULT, + >, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + isSpecified: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + typedValue: *mut VARIANT, + ) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + dataTypeName: *mut VARIANT, + ) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + isParsed: *mut VARIANT_BOOL, + ) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMEntityReference, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMEntityReference, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMEntityReferenceVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 344usize, + concat!("Size of: ", stringify!(IXMLDOMEntityReferenceVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMEntityReferenceVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReferenceVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMEntityReference { + pub lpVtbl: *mut IXMLDOMEntityReferenceVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMEntityReference() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMEntityReference)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMEntityReference)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMEntityReference), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDOMParseError: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMParseErrorVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMParseError, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_errorCode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + errorCode: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_url: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMParseError, urlString: *mut BSTR) -> HRESULT, + >, + pub get_reason: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMParseError, reasonString: *mut BSTR) -> HRESULT, + >, + pub get_srcText: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDOMParseError, sourceString: *mut BSTR) -> HRESULT, + >, + pub get_line: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + lineNumber: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_linepos: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + linePosition: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_filepos: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDOMParseError, + filePosition: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDOMParseErrorVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(IXMLDOMParseErrorVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMParseErrorVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_errorCode) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_errorCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_url) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_url) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_reason) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_reason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_srcText) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_srcText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_line) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_line) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_linepos) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_linepos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_filepos) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseErrorVtbl), + "::", + stringify!(get_filepos) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDOMParseError { + pub lpVtbl: *mut IXMLDOMParseErrorVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDOMParseError() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDOMParseError)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDOMParseError)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDOMParseError), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXTLRuntime: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXTLRuntimeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_nodeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, name: *mut BSTR) -> HRESULT, + >, + pub get_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, value: *mut VARIANT) -> HRESULT, + >, + pub put_nodeValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, value: VARIANT) -> HRESULT, + >, + pub get_nodeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, type_: *mut DOMNodeType) -> HRESULT, + >, + pub get_parentNode: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, parent: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_childNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + childList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub get_firstChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, firstChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_lastChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, lastChild: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_previousSibling: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + previousSibling: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nextSibling: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, nextSibling: *mut *mut IXMLDOMNode) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + attributeMap: *mut *mut IXMLDOMNamedNodeMap, + ) -> HRESULT, + >, + pub insertBefore: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + newChild: *mut IXMLDOMNode, + refChild: VARIANT, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub replaceChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + newChild: *mut IXMLDOMNode, + oldChild: *mut IXMLDOMNode, + outOldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + childNode: *mut IXMLDOMNode, + oldChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub appendChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + newChild: *mut IXMLDOMNode, + outNewChild: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub hasChildNodes: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, hasChild: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_ownerDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + XMLDOMDocument: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub cloneNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + deep: VARIANT_BOOL, + cloneRoot: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypeString: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, nodeType: *mut BSTR) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, text: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub get_specified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, isSpecified: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_definition: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + definitionNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, typedValue: *mut VARIANT) -> HRESULT, + >, + pub put_nodeTypedValue: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, typedValue: VARIANT) -> HRESULT, + >, + pub get_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, dataTypeName: *mut VARIANT) -> HRESULT, + >, + pub put_dataType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, dataTypeName: BSTR) -> HRESULT, + >, + pub get_xml: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, xmlString: *mut BSTR) -> HRESULT, + >, + pub transformNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + stylesheet: *mut IXMLDOMNode, + xmlString: *mut BSTR, + ) -> HRESULT, + >, + pub selectNodes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + queryString: BSTR, + resultList: *mut *mut IXMLDOMNodeList, + ) -> HRESULT, + >, + pub selectSingleNode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + queryString: BSTR, + resultNode: *mut *mut IXMLDOMNode, + ) -> HRESULT, + >, + pub get_parsed: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, isParsed: *mut VARIANT_BOOL) -> HRESULT, + >, + pub get_namespaceURI: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, namespaceURI: *mut BSTR) -> HRESULT, + >, + pub get_prefix: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, prefixString: *mut BSTR) -> HRESULT, + >, + pub get_baseName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXTLRuntime, nameString: *mut BSTR) -> HRESULT, + >, + pub transformNodeToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + stylesheet: *mut IXMLDOMNode, + outputObject: VARIANT, + ) -> HRESULT, + >, + pub uniqueID: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + pNode: *mut IXMLDOMNode, + pID: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub depth: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + pNode: *mut IXMLDOMNode, + pDepth: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub childNumber: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + pNode: *mut IXMLDOMNode, + pNumber: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub ancestorChildNumber: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + bstrNodeName: BSTR, + pNode: *mut IXMLDOMNode, + pNumber: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub absoluteChildNumber: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + pNode: *mut IXMLDOMNode, + pNumber: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub formatIndex: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + lIndex: ::std::os::raw::c_long, + bstrFormat: BSTR, + pbstrFormattedString: *mut BSTR, + ) -> HRESULT, + >, + pub formatNumber: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + dblNumber: f64, + bstrFormat: BSTR, + pbstrFormattedString: *mut BSTR, + ) -> HRESULT, + >, + pub formatDate: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + varDate: VARIANT, + bstrFormat: BSTR, + varDestLocale: VARIANT, + pbstrFormattedString: *mut BSTR, + ) -> HRESULT, + >, + pub formatTime: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXTLRuntime, + varTime: VARIANT, + bstrFormat: BSTR, + varDestLocale: VARIANT, + pbstrFormattedString: *mut BSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXTLRuntimeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 416usize, + concat!("Size of: ", stringify!(IXTLRuntimeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXTLRuntimeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeValue) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeValue) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(put_nodeValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeType) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parentNode) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_parentNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_childNodes) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_childNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_firstChild) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_firstChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_lastChild) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_lastChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_previousSibling) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_previousSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nextSibling) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nextSibling) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_attributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).insertBefore) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(insertBefore) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).replaceChild) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(replaceChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).appendChild) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(appendChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hasChildNodes) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(hasChildNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_ownerDocument) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_ownerDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cloneNode) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(cloneNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypeString) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeTypeString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_specified) as usize - ptr as usize }, + 224usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_specified) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_definition) as usize - ptr as usize }, + 232usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_definition) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_nodeTypedValue) as usize - ptr as usize }, + 240usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_nodeTypedValue) as usize - ptr as usize }, + 248usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(put_nodeTypedValue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dataType) as usize - ptr as usize }, + 256usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_dataType) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(put_dataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_xml) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_xml) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNode) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(transformNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectNodes) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(selectNodes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).selectSingleNode) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(selectSingleNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parsed) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_parsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_namespaceURI) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_namespaceURI) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_prefix) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_prefix) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_baseName) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(get_baseName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).transformNodeToObject) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(transformNodeToObject) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uniqueID) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(uniqueID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(depth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).childNumber) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(childNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ancestorChildNumber) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(ancestorChildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).absoluteChildNumber) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(absoluteChildNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatIndex) as usize - ptr as usize }, + 384usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(formatIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatNumber) as usize - ptr as usize }, + 392usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(formatNumber) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatDate) as usize - ptr as usize }, + 400usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(formatDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).formatTime) as usize - ptr as usize }, + 408usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntimeVtbl), + "::", + stringify!(formatTime) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXTLRuntime { + pub lpVtbl: *mut IXTLRuntimeVtbl, +} +#[test] +fn bindgen_test_layout_IXTLRuntime() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXTLRuntime)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXTLRuntime)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXTLRuntime), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static DIID_XMLDOMDocumentEvents: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLDOMDocumentEventsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut XMLDOMDocumentEvents, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut XMLDOMDocumentEvents, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut XMLDOMDocumentEvents, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut XMLDOMDocumentEvents, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut XMLDOMDocumentEvents, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_XMLDOMDocumentEventsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(XMLDOMDocumentEventsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(XMLDOMDocumentEventsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEventsVtbl), + "::", + stringify!(Invoke) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct XMLDOMDocumentEvents { + pub lpVtbl: *mut XMLDOMDocumentEventsVtbl, +} +#[test] +fn bindgen_test_layout_XMLDOMDocumentEvents() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(XMLDOMDocumentEvents)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(XMLDOMDocumentEvents)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(XMLDOMDocumentEvents), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_DOMDocument: CLSID; +} +extern "C" { + pub static CLSID_DOMFreeThreadedDocument: CLSID; +} +extern "C" { + pub static IID_IXMLHttpRequest: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLHttpRequestVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub open: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + bstrMethod: BSTR, + bstrUrl: BSTR, + varAsync: VARIANT, + bstrUser: VARIANT, + bstrPassword: VARIANT, + ) -> HRESULT, + >, + pub setRequestHeader: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + bstrHeader: BSTR, + bstrValue: BSTR, + ) -> HRESULT, + >, + pub getResponseHeader: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + bstrHeader: BSTR, + pbstrValue: *mut BSTR, + ) -> HRESULT, + >, + pub getAllResponseHeaders: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pbstrHeaders: *mut BSTR) -> HRESULT, + >, + pub send: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, varBody: VARIANT) -> HRESULT, + >, + pub abort: ::std::option::Option HRESULT>, + pub get_status: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + plStatus: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_statusText: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pbstrStatus: *mut BSTR) -> HRESULT, + >, + pub get_responseXML: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, ppBody: *mut *mut IDispatch) -> HRESULT, + >, + pub get_responseText: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pbstrBody: *mut BSTR) -> HRESULT, + >, + pub get_responseBody: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pvarBody: *mut VARIANT) -> HRESULT, + >, + pub get_responseStream: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLHttpRequest, pvarBody: *mut VARIANT) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + plState: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub put_onreadystatechange: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLHttpRequest, + pReadyStateSink: *mut IDispatch, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLHttpRequestVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 168usize, + concat!("Size of: ", stringify!(IXMLHttpRequestVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLHttpRequestVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).open) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(open) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setRequestHeader) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(setRequestHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getResponseHeader) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(getResponseHeader) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAllResponseHeaders) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(getAllResponseHeaders) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).send) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(send) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abort) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_status) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_status) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_statusText) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_statusText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_responseXML) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_responseXML) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_responseText) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_responseText) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_responseBody) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_responseBody) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_responseStream) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_responseStream) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(get_readyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_onreadystatechange) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequestVtbl), + "::", + stringify!(put_onreadystatechange) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLHttpRequest { + pub lpVtbl: *mut IXMLHttpRequestVtbl, +} +#[test] +fn bindgen_test_layout_IXMLHttpRequest() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLHttpRequest)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLHttpRequest)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLHttpRequest), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_XMLHTTPRequest: CLSID; +} +extern "C" { + pub static IID_IXMLDSOControl: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDSOControlVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDSOControl, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_XMLDocument: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + ppDoc: *mut *mut IXMLDOMDocument, + ) -> HRESULT, + >, + pub put_XMLDocument: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDSOControl, ppDoc: *mut IXMLDOMDocument) -> HRESULT, + >, + pub get_JavaDSOCompatible: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDSOControl, fJavaDSOCompatible: *mut BOOL) -> HRESULT, + >, + pub put_JavaDSOCompatible: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDSOControl, fJavaDSOCompatible: BOOL) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDSOControl, + state: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDSOControlVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IXMLDSOControlVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDSOControlVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_XMLDocument) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(get_XMLDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_XMLDocument) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(put_XMLDocument) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_JavaDSOCompatible) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(get_JavaDSOCompatible) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_JavaDSOCompatible) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(put_JavaDSOCompatible) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControlVtbl), + "::", + stringify!(get_readyState) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDSOControl { + pub lpVtbl: *mut IXMLDSOControlVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDSOControl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDSOControl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDSOControl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDSOControl), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_XMLDSOControl: CLSID; +} +extern "C" { + pub static IID_IXMLElementCollection: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElementCollectionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElementCollection, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub put_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + v: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_length: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + p: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get__newEnum: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + ppUnk: *mut *mut IUnknown, + ) -> HRESULT, + >, + pub item: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElementCollection, + var1: VARIANT, + var2: VARIANT, + ppDisp: *mut *mut IDispatch, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLElementCollectionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(IXMLElementCollectionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElementCollectionVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_length) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(put_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_length) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(get_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get__newEnum) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(get__newEnum) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollectionVtbl), + "::", + stringify!(item) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElementCollection { + pub lpVtbl: *mut IXMLElementCollectionVtbl, +} +#[test] +fn bindgen_test_layout_IXMLElementCollection() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLElementCollection)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElementCollection)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementCollection), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDocument: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDocumentVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_root: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut *mut IXMLElement) -> HRESULT, + >, + pub get_fileSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_fileModifiedDate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_fileUpdatedDate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_URL: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub put_URL: + ::std::option::Option HRESULT>, + pub get_mimeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, pl: *mut ::std::os::raw::c_long) -> HRESULT, + >, + pub get_charset: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub put_charset: + ::std::option::Option HRESULT>, + pub get_version: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_doctype: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub get_dtdURL: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument, p: *mut BSTR) -> HRESULT, + >, + pub createElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument, + vType: VARIANT, + var1: VARIANT, + ppElem: *mut *mut IXMLElement, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDocumentVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 168usize, + concat!("Size of: ", stringify!(IXMLDocumentVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDocumentVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_root) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_root) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_fileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileModifiedDate) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_fileModifiedDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileUpdatedDate) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_fileUpdatedDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_URL) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_URL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_URL) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(put_URL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_mimeType) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_mimeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_readyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_charset) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_charset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_charset) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(put_charset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_version) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_doctype) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_doctype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dtdURL) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(get_dtdURL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createElement) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocumentVtbl), + "::", + stringify!(createElement) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDocument { + pub lpVtbl: *mut IXMLDocumentVtbl, +} +#[test] +fn bindgen_test_layout_IXMLDocument() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDocument)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDocument)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLDocument2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDocument2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_root: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut *mut IXMLElement2) -> HRESULT, + >, + pub get_fileSize: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_fileModifiedDate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_fileUpdatedDate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_URL: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub put_URL: + ::std::option::Option HRESULT>, + pub get_mimeType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_readyState: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, pl: *mut ::std::os::raw::c_long) -> HRESULT, + >, + pub get_charset: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub put_charset: + ::std::option::Option HRESULT>, + pub get_version: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_doctype: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub get_dtdURL: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, p: *mut BSTR) -> HRESULT, + >, + pub createElement: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLDocument2, + vType: VARIANT, + var1: VARIANT, + ppElem: *mut *mut IXMLElement2, + ) -> HRESULT, + >, + pub get_async: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, pf: *mut VARIANT_BOOL) -> HRESULT, + >, + pub put_async: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLDocument2, f: VARIANT_BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLDocument2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 184usize, + concat!("Size of: ", stringify!(IXMLDocument2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDocument2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_root) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_root) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileSize) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_fileSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileModifiedDate) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_fileModifiedDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_fileUpdatedDate) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_fileUpdatedDate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_URL) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_URL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_URL) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(put_URL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_mimeType) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_mimeType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_readyState) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_readyState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_charset) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_charset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_charset) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(put_charset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_version) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_doctype) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_doctype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_dtdURL) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_dtdURL) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).createElement) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(createElement) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_async) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(get_async) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_async) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2Vtbl), + "::", + stringify!(put_async) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLDocument2 { + pub lpVtbl: *mut IXMLDocument2Vtbl, +} +#[test] +fn bindgen_test_layout_IXMLDocument2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLDocument2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLDocument2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLDocument2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLElement: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElementVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_tagName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, p: *mut BSTR) -> HRESULT, + >, + pub put_tagName: + ::std::option::Option HRESULT>, + pub get_parent: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, ppParent: *mut *mut IXMLElement) -> HRESULT, + >, + pub setAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + strPropertyName: BSTR, + PropertyValue: VARIANT, + ) -> HRESULT, + >, + pub getAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + strPropertyName: BSTR, + PropertyValue: *mut VARIANT, + ) -> HRESULT, + >, + pub removeAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, strPropertyName: BSTR) -> HRESULT, + >, + pub get_children: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + pp: *mut *mut IXMLElementCollection, + ) -> HRESULT, + >, + pub get_type: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + plType: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, p: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub addChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement, + pChildElem: *mut IXMLElement, + lIndex: ::std::os::raw::c_long, + lReserved: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement, pChildElem: *mut IXMLElement) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLElementVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(IXMLElementVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElementVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_tagName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_tagName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(put_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_parent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setAttribute) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(setAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAttribute) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(getAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeAttribute) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(removeAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_children) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_children) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).addChild) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(addChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLElementVtbl), + "::", + stringify!(removeChild) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElement { + pub lpVtbl: *mut IXMLElementVtbl, +} +#[test] +fn bindgen_test_layout_IXMLElement() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLElement)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElement)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLElement2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElement2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_tagName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, p: *mut BSTR) -> HRESULT, + >, + pub put_tagName: + ::std::option::Option HRESULT>, + pub get_parent: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, ppParent: *mut *mut IXMLElement2) -> HRESULT, + >, + pub setAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + strPropertyName: BSTR, + PropertyValue: VARIANT, + ) -> HRESULT, + >, + pub getAttribute: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + strPropertyName: BSTR, + PropertyValue: *mut VARIANT, + ) -> HRESULT, + >, + pub removeAttribute: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, strPropertyName: BSTR) -> HRESULT, + >, + pub get_children: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + pp: *mut *mut IXMLElementCollection, + ) -> HRESULT, + >, + pub get_type: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + plType: *mut ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub get_text: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, p: *mut BSTR) -> HRESULT, + >, + pub put_text: + ::std::option::Option HRESULT>, + pub addChild: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + pChildElem: *mut IXMLElement2, + lIndex: ::std::os::raw::c_long, + lReserved: ::std::os::raw::c_long, + ) -> HRESULT, + >, + pub removeChild: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLElement2, pChildElem: *mut IXMLElement2) -> HRESULT, + >, + pub get_attributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLElement2, + pp: *mut *mut IXMLElementCollection, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLElement2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 160usize, + concat!("Size of: ", stringify!(IXMLElement2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElement2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_tagName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_tagName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(put_tagName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_parent) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_parent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).setAttribute) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(setAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).getAttribute) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(getAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeAttribute) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(removeAttribute) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_children) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_children) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_type) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_text) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).put_text) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(put_text) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).addChild) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(addChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).removeChild) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(removeChild) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_attributes) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2Vtbl), + "::", + stringify!(get_attributes) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLElement2 { + pub lpVtbl: *mut IXMLElement2Vtbl, +} +#[test] +fn bindgen_test_layout_IXMLElement2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLElement2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLElement2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLElement2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLAttribute: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLAttributeVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLAttribute, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetTypeInfoCount: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLAttribute, pctinfo: *mut UINT) -> HRESULT, + >, + pub GetTypeInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLAttribute, + iTInfo: UINT, + lcid: LCID, + ppTInfo: *mut *mut ITypeInfo, + ) -> HRESULT, + >, + pub GetIDsOfNames: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLAttribute, + riid: *const IID, + rgszNames: *mut LPOLESTR, + cNames: UINT, + lcid: LCID, + rgDispId: *mut DISPID, + ) -> HRESULT, + >, + pub Invoke: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLAttribute, + dispIdMember: DISPID, + riid: *const IID, + lcid: LCID, + wFlags: WORD, + pDispParams: *mut DISPPARAMS, + pVarResult: *mut VARIANT, + pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT, + >, + pub get_name: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLAttribute, n: *mut BSTR) -> HRESULT, + >, + pub get_value: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLAttribute, v: *mut BSTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLAttributeVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IXMLAttributeVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLAttributeVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfoCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(GetTypeInfoCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetTypeInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(GetTypeInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIDsOfNames) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(GetIDsOfNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Invoke) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(Invoke) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_name) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(get_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).get_value) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttributeVtbl), + "::", + stringify!(get_value) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLAttribute { + pub lpVtbl: *mut IXMLAttributeVtbl, +} +#[test] +fn bindgen_test_layout_IXMLAttribute() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLAttribute)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLAttribute)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLAttribute), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IXMLError: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLErrorVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IXMLError, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetErrorInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut IXMLError, pErrorReturn: *mut XML_ERROR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IXMLErrorVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IXMLErrorVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLErrorVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLErrorVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IXMLErrorVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IXMLErrorVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetErrorInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IXMLErrorVtbl), + "::", + stringify!(GetErrorInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IXMLError { + pub lpVtbl: *mut IXMLErrorVtbl, +} +#[test] +fn bindgen_test_layout_IXMLError() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IXMLError)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IXMLError)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IXMLError), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_XMLDocument: CLSID; +} +extern "C" { + pub static mut __MIDL_itf_msxml_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_msxml_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static CLSID_SBS_StdURLMoniker: IID; +} +extern "C" { + pub static CLSID_SBS_HttpProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_FtpProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_GopherProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_HttpSProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_FileProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_MkProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_UrlMkBindCtx: IID; +} +extern "C" { + pub static CLSID_SBS_SoftDistExt: IID; +} +extern "C" { + pub static CLSID_SBS_CdlProtocol: IID; +} +extern "C" { + pub static CLSID_SBS_ClassInstallFilter: IID; +} +extern "C" { + pub static CLSID_SBS_InternetSecurityManager: IID; +} +extern "C" { + pub static CLSID_SBS_InternetZoneManager: IID; +} +extern "C" { + pub static IID_IAsyncMoniker: IID; +} +extern "C" { + pub static CLSID_StdURLMoniker: IID; +} +extern "C" { + pub static CLSID_HttpProtocol: IID; +} +extern "C" { + pub static CLSID_FtpProtocol: IID; +} +extern "C" { + pub static CLSID_GopherProtocol: IID; +} +extern "C" { + pub static CLSID_HttpSProtocol: IID; +} +extern "C" { + pub static CLSID_FileProtocol: IID; +} +extern "C" { + pub static CLSID_ResProtocol: IID; +} +extern "C" { + pub static CLSID_AboutProtocol: IID; +} +extern "C" { + pub static CLSID_JSProtocol: IID; +} +extern "C" { + pub static CLSID_MailtoProtocol: IID; +} +extern "C" { + pub static CLSID_IE4_PROTOCOLS: IID; +} +extern "C" { + pub static CLSID_MkProtocol: IID; +} +extern "C" { + pub static CLSID_StdURLProtocol: IID; +} +extern "C" { + pub static CLSID_TBAuthProtocol: IID; +} +extern "C" { + pub static CLSID_UrlMkBindCtx: IID; +} +extern "C" { + pub static CLSID_CdlProtocol: IID; +} +extern "C" { + pub static CLSID_ClassInstallFilter: IID; +} +extern "C" { + pub static IID_IAsyncBindCtx: IID; +} +extern "C" { + pub fn CreateURLMoniker(pMkCtx: LPMONIKER, szURL: LPCWSTR, ppmk: *mut LPMONIKER) -> HRESULT; +} +extern "C" { + pub fn CreateURLMonikerEx( + pMkCtx: LPMONIKER, + szURL: LPCWSTR, + ppmk: *mut LPMONIKER, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn GetClassURL(szURL: LPCWSTR, pClsID: *mut CLSID) -> HRESULT; +} +extern "C" { + pub fn CreateAsyncBindCtx( + reserved: DWORD, + pBSCb: *mut IBindStatusCallback, + pEFetc: *mut IEnumFORMATETC, + ppBC: *mut *mut IBindCtx, + ) -> HRESULT; +} +extern "C" { + pub fn CreateURLMonikerEx2( + pMkCtx: LPMONIKER, + pUri: *mut IUri, + ppmk: *mut LPMONIKER, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CreateAsyncBindCtxEx( + pbc: *mut IBindCtx, + dwOptions: DWORD, + pBSCb: *mut IBindStatusCallback, + pEnum: *mut IEnumFORMATETC, + ppBC: *mut *mut IBindCtx, + reserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn MkParseDisplayNameEx( + pbc: *mut IBindCtx, + szDisplayName: LPCWSTR, + pchEaten: *mut ULONG, + ppmk: *mut LPMONIKER, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterBindStatusCallback( + pBC: LPBC, + pBSCb: *mut IBindStatusCallback, + ppBSCBPrev: *mut *mut IBindStatusCallback, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn RevokeBindStatusCallback(pBC: LPBC, pBSCb: *mut IBindStatusCallback) -> HRESULT; +} +extern "C" { + pub fn GetClassFileOrMime( + pBC: LPBC, + szFilename: LPCWSTR, + pBuffer: LPVOID, + cbSize: DWORD, + szMime: LPCWSTR, + dwReserved: DWORD, + pclsid: *mut CLSID, + ) -> HRESULT; +} +extern "C" { + pub fn IsValidURL(pBC: LPBC, szURL: LPCWSTR, dwReserved: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoGetClassObjectFromURL( + rCLASSID: *const IID, + szCODE: LPCWSTR, + dwFileVersionMS: DWORD, + dwFileVersionLS: DWORD, + szTYPE: LPCWSTR, + pBindCtx: LPBINDCTX, + dwClsContext: DWORD, + pvReserved: LPVOID, + riid: *const IID, + ppv: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn IEInstallScope(pdwScope: LPDWORD) -> HRESULT; +} +extern "C" { + pub fn FaultInIEFeature( + hWnd: HWND, + pClassSpec: *mut uCLSSPEC, + pQuery: *mut QUERYCONTEXT, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn GetComponentIDFromCLSSPEC( + pClassspec: *mut uCLSSPEC, + ppszComponentID: *mut LPSTR, + ) -> HRESULT; +} +extern "C" { + pub fn IsAsyncMoniker(pmk: *mut IMoniker) -> HRESULT; +} +extern "C" { + pub fn CreateURLBinding( + lpszUrl: LPCWSTR, + pbc: *mut IBindCtx, + ppBdg: *mut *mut IBinding, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterMediaTypes( + ctypes: UINT, + rgszTypes: *const LPCSTR, + rgcfTypes: *mut CLIPFORMAT, + ) -> HRESULT; +} +extern "C" { + pub fn FindMediaType(rgszTypes: LPCSTR, rgcfTypes: *mut CLIPFORMAT) -> HRESULT; +} +extern "C" { + pub fn CreateFormatEnumerator( + cfmtetc: UINT, + rgfmtetc: *mut FORMATETC, + ppenumfmtetc: *mut *mut IEnumFORMATETC, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterFormatEnumerator( + pBC: LPBC, + pEFetc: *mut IEnumFORMATETC, + reserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn RevokeFormatEnumerator(pBC: LPBC, pEFetc: *mut IEnumFORMATETC) -> HRESULT; +} +extern "C" { + pub fn RegisterMediaTypeClass( + pBC: LPBC, + ctypes: UINT, + rgszTypes: *const LPCSTR, + rgclsID: *mut CLSID, + reserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn FindMediaTypeClass( + pBC: LPBC, + szType: LPCSTR, + pclsID: *mut CLSID, + reserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn UrlMkSetSessionOption( + dwOption: DWORD, + pBuffer: LPVOID, + dwBufferLength: DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn UrlMkGetSessionOption( + dwOption: DWORD, + pBuffer: LPVOID, + dwBufferLength: DWORD, + pdwBufferLengthOut: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn FindMimeFromData( + pBC: LPBC, + pwzUrl: LPCWSTR, + pBuffer: LPVOID, + cbSize: DWORD, + pwzMimeProposed: LPCWSTR, + dwMimeFlags: DWORD, + ppwzMimeOut: *mut LPWSTR, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn ObtainUserAgentString(dwOption: DWORD, pszUAOut: LPSTR, cbSize: *mut DWORD) -> HRESULT; +} +extern "C" { + pub fn CompareSecurityIds( + pbSecurityId1: *mut BYTE, + dwLen1: DWORD, + pbSecurityId2: *mut BYTE, + dwLen2: DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CompatFlagsFromClsid( + pclsid: *mut CLSID, + pdwCompatFlags: LPDWORD, + pdwMiscStatusFlags: LPDWORD, + ) -> HRESULT; +} +pub const IEObjectType_IE_EPM_OBJECT_EVENT: IEObjectType = 0; +pub const IEObjectType_IE_EPM_OBJECT_MUTEX: IEObjectType = 1; +pub const IEObjectType_IE_EPM_OBJECT_SEMAPHORE: IEObjectType = 2; +pub const IEObjectType_IE_EPM_OBJECT_SHARED_MEMORY: IEObjectType = 3; +pub const IEObjectType_IE_EPM_OBJECT_WAITABLE_TIMER: IEObjectType = 4; +pub const IEObjectType_IE_EPM_OBJECT_FILE: IEObjectType = 5; +pub const IEObjectType_IE_EPM_OBJECT_NAMED_PIPE: IEObjectType = 6; +pub const IEObjectType_IE_EPM_OBJECT_REGISTRY: IEObjectType = 7; +pub type IEObjectType = ::std::os::raw::c_int; +extern "C" { + pub fn SetAccessForIEAppContainer( + hObject: HANDLE, + ieObjectType: IEObjectType, + dwAccessMask: DWORD, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0000_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0000_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPPERSISTMONIKER = *mut IPersistMoniker; +extern "C" { + pub static IID_IPersistMoniker: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistMonikerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistMoniker, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetClassID: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistMoniker, pClassID: *mut CLSID) -> HRESULT, + >, + pub IsDirty: ::std::option::Option HRESULT>, + pub Load: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistMoniker, + fFullyAvailable: BOOL, + pimkName: *mut IMoniker, + pibc: LPBC, + grfMode: DWORD, + ) -> HRESULT, + >, + pub Save: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistMoniker, + pimkName: *mut IMoniker, + pbc: LPBC, + fRemember: BOOL, + ) -> HRESULT, + >, + pub SaveCompleted: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPersistMoniker, + pimkName: *mut IMoniker, + pibc: LPBC, + ) -> HRESULT, + >, + pub GetCurMoniker: ::std::option::Option< + unsafe extern "C" fn(This: *mut IPersistMoniker, ppimkName: *mut *mut IMoniker) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPersistMonikerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IPersistMonikerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistMonikerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetClassID) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(GetClassID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsDirty) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(IsDirty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Load) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(Load) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Save) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(Save) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SaveCompleted) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(SaveCompleted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurMoniker) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IPersistMonikerVtbl), + "::", + stringify!(GetCurMoniker) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPersistMoniker { + pub lpVtbl: *mut IPersistMonikerVtbl, +} +#[test] +fn bindgen_test_layout_IPersistMoniker() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPersistMoniker)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPersistMoniker)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPersistMoniker), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0001_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0001_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPMONIKERPROP = *mut IMonikerProp; +pub const __MIDL_IMonikerProp_0001_MIMETYPEPROP: __MIDL_IMonikerProp_0001 = 0; +pub const __MIDL_IMonikerProp_0001_USE_SRC_URL: __MIDL_IMonikerProp_0001 = 1; +pub const __MIDL_IMonikerProp_0001_CLASSIDPROP: __MIDL_IMonikerProp_0001 = 2; +pub const __MIDL_IMonikerProp_0001_TRUSTEDDOWNLOADPROP: __MIDL_IMonikerProp_0001 = 3; +pub const __MIDL_IMonikerProp_0001_POPUPLEVELPROP: __MIDL_IMonikerProp_0001 = 4; +pub type __MIDL_IMonikerProp_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IMonikerProp_0001 as MONIKERPROPERTY; +extern "C" { + pub static IID_IMonikerProp: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMonikerPropVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMonikerProp, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub PutProperty: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IMonikerProp, + mkp: MONIKERPROPERTY, + val: LPCWSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IMonikerPropVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IMonikerPropVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMonikerPropVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMonikerPropVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IMonikerPropVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IMonikerPropVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PutProperty) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IMonikerPropVtbl), + "::", + stringify!(PutProperty) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IMonikerProp { + pub lpVtbl: *mut IMonikerPropVtbl, +} +#[test] +fn bindgen_test_layout_IMonikerProp() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IMonikerProp)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IMonikerProp)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IMonikerProp), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0002_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0002_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDPROTOCOL = *mut IBindProtocol; +extern "C" { + pub static IID_IBindProtocol: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindProtocolVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindProtocol, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindProtocol, + szUrl: LPCWSTR, + pbc: *mut IBindCtx, + ppb: *mut *mut IBinding, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindProtocolVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IBindProtocolVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindProtocolVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocolVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocolVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocolVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateBinding) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocolVtbl), + "::", + stringify!(CreateBinding) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindProtocol { + pub lpVtbl: *mut IBindProtocolVtbl, +} +#[test] +fn bindgen_test_layout_IBindProtocol() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindProtocol)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindProtocol)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindProtocol), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0003_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0003_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDING = *mut IBinding; +extern "C" { + pub static IID_IBinding: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindingVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBinding, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Abort: ::std::option::Option HRESULT>, + pub Suspend: ::std::option::Option HRESULT>, + pub Resume: ::std::option::Option HRESULT>, + pub SetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBinding, nPriority: LONG) -> HRESULT, + >, + pub GetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBinding, pnPriority: *mut LONG) -> HRESULT, + >, + pub GetBindResult: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBinding, + pclsidProtocol: *mut CLSID, + pdwResult: *mut DWORD, + pszResult: *mut LPOLESTR, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindingVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IBindingVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindingVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Abort) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(Abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Suspend) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(Suspend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resume) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(Resume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPriority) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(SetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPriority) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(GetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindResult) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IBindingVtbl), + "::", + stringify!(GetBindResult) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBinding { + pub lpVtbl: *mut IBindingVtbl, +} +#[test] +fn bindgen_test_layout_IBinding() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBinding)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBinding)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBinding), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBinding_RemoteGetBindResult_Proxy( + This: *mut IBinding, + pclsidProtocol: *mut CLSID, + pdwResult: *mut DWORD, + pszResult: *mut LPOLESTR, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBinding_RemoteGetBindResult_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0004_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0004_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDSTATUSCALLBACK = *mut IBindStatusCallback; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_GET: __MIDL_IBindStatusCallback_0001 = 0; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_POST: __MIDL_IBindStatusCallback_0001 = 1; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_PUT: __MIDL_IBindStatusCallback_0001 = 2; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_CUSTOM: __MIDL_IBindStatusCallback_0001 = 3; +pub const __MIDL_IBindStatusCallback_0001_BINDVERB_RESERVED1: __MIDL_IBindStatusCallback_0001 = 4; +pub type __MIDL_IBindStatusCallback_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0001 as BINDVERB; +pub const __MIDL_IBindStatusCallback_0002_BINDINFOF_URLENCODESTGMEDDATA: + __MIDL_IBindStatusCallback_0002 = 1; +pub const __MIDL_IBindStatusCallback_0002_BINDINFOF_URLENCODEDEXTRAINFO: + __MIDL_IBindStatusCallback_0002 = 2; +pub type __MIDL_IBindStatusCallback_0002 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0002 as BINDINFOF; +pub const __MIDL_IBindStatusCallback_0003_BINDF_ASYNCHRONOUS: __MIDL_IBindStatusCallback_0003 = 1; +pub const __MIDL_IBindStatusCallback_0003_BINDF_ASYNCSTORAGE: __MIDL_IBindStatusCallback_0003 = 2; +pub const __MIDL_IBindStatusCallback_0003_BINDF_NOPROGRESSIVERENDERING: + __MIDL_IBindStatusCallback_0003 = 4; +pub const __MIDL_IBindStatusCallback_0003_BINDF_OFFLINEOPERATION: __MIDL_IBindStatusCallback_0003 = + 8; +pub const __MIDL_IBindStatusCallback_0003_BINDF_GETNEWESTVERSION: __MIDL_IBindStatusCallback_0003 = + 16; +pub const __MIDL_IBindStatusCallback_0003_BINDF_NOWRITECACHE: __MIDL_IBindStatusCallback_0003 = 32; +pub const __MIDL_IBindStatusCallback_0003_BINDF_NEEDFILE: __MIDL_IBindStatusCallback_0003 = 64; +pub const __MIDL_IBindStatusCallback_0003_BINDF_PULLDATA: __MIDL_IBindStatusCallback_0003 = 128; +pub const __MIDL_IBindStatusCallback_0003_BINDF_IGNORESECURITYPROBLEM: + __MIDL_IBindStatusCallback_0003 = 256; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESYNCHRONIZE: __MIDL_IBindStatusCallback_0003 = + 512; +pub const __MIDL_IBindStatusCallback_0003_BINDF_HYPERLINK: __MIDL_IBindStatusCallback_0003 = 1024; +pub const __MIDL_IBindStatusCallback_0003_BINDF_NO_UI: __MIDL_IBindStatusCallback_0003 = 2048; +pub const __MIDL_IBindStatusCallback_0003_BINDF_SILENTOPERATION: __MIDL_IBindStatusCallback_0003 = + 4096; +pub const __MIDL_IBindStatusCallback_0003_BINDF_PRAGMA_NO_CACHE: __MIDL_IBindStatusCallback_0003 = + 8192; +pub const __MIDL_IBindStatusCallback_0003_BINDF_GETCLASSOBJECT: __MIDL_IBindStatusCallback_0003 = + 16384; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_1: __MIDL_IBindStatusCallback_0003 = 32768; +pub const __MIDL_IBindStatusCallback_0003_BINDF_FREE_THREADED: __MIDL_IBindStatusCallback_0003 = + 65536; +pub const __MIDL_IBindStatusCallback_0003_BINDF_DIRECT_READ: __MIDL_IBindStatusCallback_0003 = + 131072; +pub const __MIDL_IBindStatusCallback_0003_BINDF_FORMS_SUBMIT: __MIDL_IBindStatusCallback_0003 = + 262144; +pub const __MIDL_IBindStatusCallback_0003_BINDF_GETFROMCACHE_IF_NET_FAIL: + __MIDL_IBindStatusCallback_0003 = 524288; +pub const __MIDL_IBindStatusCallback_0003_BINDF_FROMURLMON: __MIDL_IBindStatusCallback_0003 = + 1048576; +pub const __MIDL_IBindStatusCallback_0003_BINDF_FWD_BACK: __MIDL_IBindStatusCallback_0003 = 2097152; +pub const __MIDL_IBindStatusCallback_0003_BINDF_PREFERDEFAULTHANDLER: + __MIDL_IBindStatusCallback_0003 = 4194304; +pub const __MIDL_IBindStatusCallback_0003_BINDF_ENFORCERESTRICTED: __MIDL_IBindStatusCallback_0003 = + 8388608; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_2: __MIDL_IBindStatusCallback_0003 = + -2147483648; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_3: __MIDL_IBindStatusCallback_0003 = + 16777216; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_4: __MIDL_IBindStatusCallback_0003 = + 33554432; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_5: __MIDL_IBindStatusCallback_0003 = + 67108864; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_6: __MIDL_IBindStatusCallback_0003 = + 134217728; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_7: __MIDL_IBindStatusCallback_0003 = + 1073741824; +pub const __MIDL_IBindStatusCallback_0003_BINDF_RESERVED_8: __MIDL_IBindStatusCallback_0003 = + 536870912; +pub type __MIDL_IBindStatusCallback_0003 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0003 as BINDF; +pub const __MIDL_IBindStatusCallback_0004_URL_ENCODING_NONE: __MIDL_IBindStatusCallback_0004 = 0; +pub const __MIDL_IBindStatusCallback_0004_URL_ENCODING_ENABLE_UTF8: + __MIDL_IBindStatusCallback_0004 = 268435456; +pub const __MIDL_IBindStatusCallback_0004_URL_ENCODING_DISABLE_UTF8: + __MIDL_IBindStatusCallback_0004 = 536870912; +pub type __MIDL_IBindStatusCallback_0004 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0004 as URL_ENCODING; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _tagBINDINFO { + pub cbSize: ULONG, + pub szExtraInfo: LPWSTR, + pub stgmedData: STGMEDIUM, + pub grfBindInfoF: DWORD, + pub dwBindVerb: DWORD, + pub szCustomVerb: LPWSTR, + pub cbstgmedData: DWORD, + pub dwOptions: DWORD, + pub dwOptionsFlags: DWORD, + pub dwCodePage: DWORD, + pub securityAttributes: SECURITY_ATTRIBUTES, + pub iid: IID, + pub pUnk: *mut IUnknown, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__tagBINDINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagBINDINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagBINDINFO>(), + 128usize, + concat!("Size of: ", stringify!(_tagBINDINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagBINDINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_tagBINDINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szExtraInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(szExtraInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).stgmedData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(stgmedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfBindInfoF) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(grfBindInfoF) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBindVerb) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwBindVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCustomVerb) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(szCustomVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbstgmedData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(cbstgmedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptions) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptionsFlags) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwOptionsFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCodePage) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwCodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).securityAttributes) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(securityAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(_tagBINDINFO), + "::", + stringify!(dwReserved) + ) + ); +} +pub type BINDINFO = _tagBINDINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _REMSECURITY_ATTRIBUTES { + pub nLength: DWORD, + pub lpSecurityDescriptor: DWORD, + pub bInheritHandle: BOOL, +} +#[test] +fn bindgen_test_layout__REMSECURITY_ATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_REMSECURITY_ATTRIBUTES> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_REMSECURITY_ATTRIBUTES>(), + 12usize, + concat!("Size of: ", stringify!(_REMSECURITY_ATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_REMSECURITY_ATTRIBUTES>(), + 4usize, + concat!("Alignment of ", stringify!(_REMSECURITY_ATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nLength) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_REMSECURITY_ATTRIBUTES), + "::", + stringify!(nLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSecurityDescriptor) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_REMSECURITY_ATTRIBUTES), + "::", + stringify!(lpSecurityDescriptor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).bInheritHandle) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_REMSECURITY_ATTRIBUTES), + "::", + stringify!(bInheritHandle) + ) + ); +} +pub type REMSECURITY_ATTRIBUTES = _REMSECURITY_ATTRIBUTES; +pub type PREMSECURITY_ATTRIBUTES = *mut _REMSECURITY_ATTRIBUTES; +pub type LPREMSECURITY_ATTRIBUTES = *mut _REMSECURITY_ATTRIBUTES; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagRemBINDINFO { + pub cbSize: ULONG, + pub szExtraInfo: LPWSTR, + pub grfBindInfoF: DWORD, + pub dwBindVerb: DWORD, + pub szCustomVerb: LPWSTR, + pub cbstgmedData: DWORD, + pub dwOptions: DWORD, + pub dwOptionsFlags: DWORD, + pub dwCodePage: DWORD, + pub securityAttributes: REMSECURITY_ATTRIBUTES, + pub iid: IID, + pub pUnk: *mut IUnknown, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__tagRemBINDINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagRemBINDINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagRemBINDINFO>(), + 96usize, + concat!("Size of: ", stringify!(_tagRemBINDINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagRemBINDINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_tagRemBINDINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szExtraInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(szExtraInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfBindInfoF) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(grfBindInfoF) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBindVerb) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwBindVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCustomVerb) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(szCustomVerb) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbstgmedData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(cbstgmedData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptions) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOptionsFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwOptionsFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCodePage) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwCodePage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).securityAttributes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(securityAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_tagRemBINDINFO), + "::", + stringify!(dwReserved) + ) + ); +} +pub type RemBINDINFO = _tagRemBINDINFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRemFORMATETC { + pub cfFormat: DWORD, + pub ptd: DWORD, + pub dwAspect: DWORD, + pub lindex: LONG, + pub tymed: DWORD, +} +#[test] +fn bindgen_test_layout_tagRemFORMATETC() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(tagRemFORMATETC)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRemFORMATETC)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cfFormat) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(cfFormat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptd) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(ptd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAspect) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(dwAspect) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lindex) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(lindex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tymed) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRemFORMATETC), + "::", + stringify!(tymed) + ) + ); +} +pub type RemFORMATETC = tagRemFORMATETC; +pub type LPREMFORMATETC = *mut tagRemFORMATETC; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_WININETFLAG: + __MIDL_IBindStatusCallback_0005 = 65536; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_ENABLE_UTF8: + __MIDL_IBindStatusCallback_0005 = 131072; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_DISABLE_UTF8: + __MIDL_IBindStatusCallback_0005 = 262144; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_USE_IE_ENCODING: + __MIDL_IBindStatusCallback_0005 = 524288; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_BINDTOOBJECT: + __MIDL_IBindStatusCallback_0005 = 1048576; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_SECURITYOPTOUT: + __MIDL_IBindStatusCallback_0005 = 2097152; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN: + __MIDL_IBindStatusCallback_0005 = 4194304; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_USEBINDSTRINGCREDS: + __MIDL_IBindStatusCallback_0005 = 8388608; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS: + __MIDL_IBindStatusCallback_0005 = 16777216; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE: + __MIDL_IBindStatusCallback_0005 = 33554432; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_WPC_DOWNLOADBLOCKED: + __MIDL_IBindStatusCallback_0005 = 134217728; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_WPC_LOGGING_ENABLED: + __MIDL_IBindStatusCallback_0005 = 268435456; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_ALLOWCONNECTDATA: + __MIDL_IBindStatusCallback_0005 = 536870912; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS: + __MIDL_IBindStatusCallback_0005 = 1073741824; +pub const __MIDL_IBindStatusCallback_0005_BINDINFO_OPTIONS_SHDOCVW_NAVIGATE: + __MIDL_IBindStatusCallback_0005 = -2147483648; +pub type __MIDL_IBindStatusCallback_0005 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0005 as BINDINFO_OPTIONS; +pub const __MIDL_IBindStatusCallback_0006_BSCF_FIRSTDATANOTIFICATION: + __MIDL_IBindStatusCallback_0006 = 1; +pub const __MIDL_IBindStatusCallback_0006_BSCF_INTERMEDIATEDATANOTIFICATION: + __MIDL_IBindStatusCallback_0006 = 2; +pub const __MIDL_IBindStatusCallback_0006_BSCF_LASTDATANOTIFICATION: + __MIDL_IBindStatusCallback_0006 = 4; +pub const __MIDL_IBindStatusCallback_0006_BSCF_DATAFULLYAVAILABLE: __MIDL_IBindStatusCallback_0006 = + 8; +pub const __MIDL_IBindStatusCallback_0006_BSCF_AVAILABLEDATASIZEUNKNOWN: + __MIDL_IBindStatusCallback_0006 = 16; +pub const __MIDL_IBindStatusCallback_0006_BSCF_SKIPDRAINDATAFORFILEURLS: + __MIDL_IBindStatusCallback_0006 = 32; +pub const __MIDL_IBindStatusCallback_0006_BSCF_64BITLENGTHDOWNLOAD: + __MIDL_IBindStatusCallback_0006 = 64; +pub type __MIDL_IBindStatusCallback_0006 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallback_0006 as BSCF; +pub const tagBINDSTATUS_BINDSTATUS_FINDINGRESOURCE: tagBINDSTATUS = 1; +pub const tagBINDSTATUS_BINDSTATUS_CONNECTING: tagBINDSTATUS = 2; +pub const tagBINDSTATUS_BINDSTATUS_REDIRECTING: tagBINDSTATUS = 3; +pub const tagBINDSTATUS_BINDSTATUS_BEGINDOWNLOADDATA: tagBINDSTATUS = 4; +pub const tagBINDSTATUS_BINDSTATUS_DOWNLOADINGDATA: tagBINDSTATUS = 5; +pub const tagBINDSTATUS_BINDSTATUS_ENDDOWNLOADDATA: tagBINDSTATUS = 6; +pub const tagBINDSTATUS_BINDSTATUS_BEGINDOWNLOADCOMPONENTS: tagBINDSTATUS = 7; +pub const tagBINDSTATUS_BINDSTATUS_INSTALLINGCOMPONENTS: tagBINDSTATUS = 8; +pub const tagBINDSTATUS_BINDSTATUS_ENDDOWNLOADCOMPONENTS: tagBINDSTATUS = 9; +pub const tagBINDSTATUS_BINDSTATUS_USINGCACHEDCOPY: tagBINDSTATUS = 10; +pub const tagBINDSTATUS_BINDSTATUS_SENDINGREQUEST: tagBINDSTATUS = 11; +pub const tagBINDSTATUS_BINDSTATUS_CLASSIDAVAILABLE: tagBINDSTATUS = 12; +pub const tagBINDSTATUS_BINDSTATUS_MIMETYPEAVAILABLE: tagBINDSTATUS = 13; +pub const tagBINDSTATUS_BINDSTATUS_CACHEFILENAMEAVAILABLE: tagBINDSTATUS = 14; +pub const tagBINDSTATUS_BINDSTATUS_BEGINSYNCOPERATION: tagBINDSTATUS = 15; +pub const tagBINDSTATUS_BINDSTATUS_ENDSYNCOPERATION: tagBINDSTATUS = 16; +pub const tagBINDSTATUS_BINDSTATUS_BEGINUPLOADDATA: tagBINDSTATUS = 17; +pub const tagBINDSTATUS_BINDSTATUS_UPLOADINGDATA: tagBINDSTATUS = 18; +pub const tagBINDSTATUS_BINDSTATUS_ENDUPLOADDATA: tagBINDSTATUS = 19; +pub const tagBINDSTATUS_BINDSTATUS_PROTOCOLCLASSID: tagBINDSTATUS = 20; +pub const tagBINDSTATUS_BINDSTATUS_ENCODING: tagBINDSTATUS = 21; +pub const tagBINDSTATUS_BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE: tagBINDSTATUS = 22; +pub const tagBINDSTATUS_BINDSTATUS_CLASSINSTALLLOCATION: tagBINDSTATUS = 23; +pub const tagBINDSTATUS_BINDSTATUS_DECODING: tagBINDSTATUS = 24; +pub const tagBINDSTATUS_BINDSTATUS_LOADINGMIMEHANDLER: tagBINDSTATUS = 25; +pub const tagBINDSTATUS_BINDSTATUS_CONTENTDISPOSITIONATTACH: tagBINDSTATUS = 26; +pub const tagBINDSTATUS_BINDSTATUS_FILTERREPORTMIMETYPE: tagBINDSTATUS = 27; +pub const tagBINDSTATUS_BINDSTATUS_CLSIDCANINSTANTIATE: tagBINDSTATUS = 28; +pub const tagBINDSTATUS_BINDSTATUS_IUNKNOWNAVAILABLE: tagBINDSTATUS = 29; +pub const tagBINDSTATUS_BINDSTATUS_DIRECTBIND: tagBINDSTATUS = 30; +pub const tagBINDSTATUS_BINDSTATUS_RAWMIMETYPE: tagBINDSTATUS = 31; +pub const tagBINDSTATUS_BINDSTATUS_PROXYDETECTING: tagBINDSTATUS = 32; +pub const tagBINDSTATUS_BINDSTATUS_ACCEPTRANGES: tagBINDSTATUS = 33; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_SENT: tagBINDSTATUS = 34; +pub const tagBINDSTATUS_BINDSTATUS_COMPACT_POLICY_RECEIVED: tagBINDSTATUS = 35; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_SUPPRESSED: tagBINDSTATUS = 36; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_UNKNOWN: tagBINDSTATUS = 37; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_ACCEPT: tagBINDSTATUS = 38; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_REJECT: tagBINDSTATUS = 39; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_PROMPT: tagBINDSTATUS = 40; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_LEASH: tagBINDSTATUS = 41; +pub const tagBINDSTATUS_BINDSTATUS_COOKIE_STATE_DOWNGRADE: tagBINDSTATUS = 42; +pub const tagBINDSTATUS_BINDSTATUS_POLICY_HREF: tagBINDSTATUS = 43; +pub const tagBINDSTATUS_BINDSTATUS_P3P_HEADER: tagBINDSTATUS = 44; +pub const tagBINDSTATUS_BINDSTATUS_SESSION_COOKIE_RECEIVED: tagBINDSTATUS = 45; +pub const tagBINDSTATUS_BINDSTATUS_PERSISTENT_COOKIE_RECEIVED: tagBINDSTATUS = 46; +pub const tagBINDSTATUS_BINDSTATUS_SESSION_COOKIES_ALLOWED: tagBINDSTATUS = 47; +pub const tagBINDSTATUS_BINDSTATUS_CACHECONTROL: tagBINDSTATUS = 48; +pub const tagBINDSTATUS_BINDSTATUS_CONTENTDISPOSITIONFILENAME: tagBINDSTATUS = 49; +pub const tagBINDSTATUS_BINDSTATUS_MIMETEXTPLAINMISMATCH: tagBINDSTATUS = 50; +pub const tagBINDSTATUS_BINDSTATUS_PUBLISHERAVAILABLE: tagBINDSTATUS = 51; +pub const tagBINDSTATUS_BINDSTATUS_DISPLAYNAMEAVAILABLE: tagBINDSTATUS = 52; +pub const tagBINDSTATUS_BINDSTATUS_SSLUX_NAVBLOCKED: tagBINDSTATUS = 53; +pub const tagBINDSTATUS_BINDSTATUS_SERVER_MIMETYPEAVAILABLE: tagBINDSTATUS = 54; +pub const tagBINDSTATUS_BINDSTATUS_SNIFFED_CLASSIDAVAILABLE: tagBINDSTATUS = 55; +pub const tagBINDSTATUS_BINDSTATUS_64BIT_PROGRESS: tagBINDSTATUS = 56; +pub const tagBINDSTATUS_BINDSTATUS_LAST: tagBINDSTATUS = 56; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_0: tagBINDSTATUS = 57; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_1: tagBINDSTATUS = 58; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_2: tagBINDSTATUS = 59; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_3: tagBINDSTATUS = 60; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_4: tagBINDSTATUS = 61; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_5: tagBINDSTATUS = 62; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_6: tagBINDSTATUS = 63; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_7: tagBINDSTATUS = 64; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_8: tagBINDSTATUS = 65; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_9: tagBINDSTATUS = 66; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_A: tagBINDSTATUS = 67; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_B: tagBINDSTATUS = 68; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_C: tagBINDSTATUS = 69; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_D: tagBINDSTATUS = 70; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_E: tagBINDSTATUS = 71; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_F: tagBINDSTATUS = 72; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_10: tagBINDSTATUS = 73; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_11: tagBINDSTATUS = 74; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_12: tagBINDSTATUS = 75; +pub const tagBINDSTATUS_BINDSTATUS_RESERVED_13: tagBINDSTATUS = 76; +pub const tagBINDSTATUS_BINDSTATUS_LAST_PRIVATE: tagBINDSTATUS = 76; +pub type tagBINDSTATUS = ::std::os::raw::c_int; +pub use self::tagBINDSTATUS as BINDSTATUS; +extern "C" { + pub static IID_IBindStatusCallback: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindStatusCallbackVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub OnStartBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + dwReserved: DWORD, + pib: *mut IBinding, + ) -> HRESULT, + >, + pub GetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindStatusCallback, pnPriority: *mut LONG) -> HRESULT, + >, + pub OnLowResource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindStatusCallback, reserved: DWORD) -> HRESULT, + >, + pub OnProgress: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + ulProgress: ULONG, + ulProgressMax: ULONG, + ulStatusCode: ULONG, + szStatusText: LPCWSTR, + ) -> HRESULT, + >, + pub OnStopBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + hresult: HRESULT, + szError: LPCWSTR, + ) -> HRESULT, + >, + pub GetBindInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT, + >, + pub OnDataAvailable: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut FORMATETC, + pstgmed: *mut STGMEDIUM, + ) -> HRESULT, + >, + pub OnObjectAvailable: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallback, + riid: *const IID, + punk: *mut IUnknown, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindStatusCallbackVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(IBindStatusCallbackVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindStatusCallbackVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStartBinding) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnStartBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPriority) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(GetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnLowResource) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnLowResource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnProgress) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnProgress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStopBinding) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnStopBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(GetBindInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDataAvailable) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnDataAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnObjectAvailable) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackVtbl), + "::", + stringify!(OnObjectAvailable) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindStatusCallback { + pub lpVtbl: *mut IBindStatusCallbackVtbl, +} +#[test] +fn bindgen_test_layout_IBindStatusCallback() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindStatusCallback)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindStatusCallback)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallback), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBindStatusCallback_RemoteGetBindInfo_Proxy( + This: *mut IBindStatusCallback, + grfBINDF: *mut DWORD, + pbindinfo: *mut RemBINDINFO, + pstgmed: *mut RemSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_RemoteGetBindInfo_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IBindStatusCallback_RemoteOnDataAvailable_Proxy( + This: *mut IBindStatusCallback, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut RemFORMATETC, + pstgmed: *mut RemSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_RemoteOnDataAvailable_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0005_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0005_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDSTATUSCALLBACKEX = *mut IBindStatusCallbackEx; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_DISABLEBASICOVERHTTP: + __MIDL_IBindStatusCallbackEx_0001 = 1; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_DISABLEAUTOCOOKIEHANDLING: + __MIDL_IBindStatusCallbackEx_0001 = 2; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_READ_DATA_GREATER_THAN_4GB: + __MIDL_IBindStatusCallbackEx_0001 = 4; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID: + __MIDL_IBindStatusCallbackEx_0001 = 8; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_SETDOWNLOADMODE: + __MIDL_IBindStatusCallbackEx_0001 = 32; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_DISABLE_HTTP_REDIRECT_CACHING: + __MIDL_IBindStatusCallbackEx_0001 = 64; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_KEEP_CALLBACK_MODULE_LOADED: + __MIDL_IBindStatusCallbackEx_0001 = 128; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_ALLOW_PROXY_CRED_PROMPT: + __MIDL_IBindStatusCallbackEx_0001 = 256; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_17: __MIDL_IBindStatusCallbackEx_0001 = + 512; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_16: __MIDL_IBindStatusCallbackEx_0001 = + 1024; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_15: __MIDL_IBindStatusCallbackEx_0001 = + 2048; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_14: __MIDL_IBindStatusCallbackEx_0001 = + 4096; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_13: __MIDL_IBindStatusCallbackEx_0001 = + 8192; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_12: __MIDL_IBindStatusCallbackEx_0001 = + 16384; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_11: __MIDL_IBindStatusCallbackEx_0001 = + 32768; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_10: __MIDL_IBindStatusCallbackEx_0001 = + 65536; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_F: __MIDL_IBindStatusCallbackEx_0001 = + 131072; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_E: __MIDL_IBindStatusCallbackEx_0001 = + 262144; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_D: __MIDL_IBindStatusCallbackEx_0001 = + 524288; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_C: __MIDL_IBindStatusCallbackEx_0001 = + 1048576; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_B: __MIDL_IBindStatusCallbackEx_0001 = + 2097152; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_A: __MIDL_IBindStatusCallbackEx_0001 = + 4194304; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_9: __MIDL_IBindStatusCallbackEx_0001 = + 8388608; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_8: __MIDL_IBindStatusCallbackEx_0001 = + 16777216; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_7: __MIDL_IBindStatusCallbackEx_0001 = + 33554432; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_6: __MIDL_IBindStatusCallbackEx_0001 = + 67108864; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_5: __MIDL_IBindStatusCallbackEx_0001 = + 134217728; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_4: __MIDL_IBindStatusCallbackEx_0001 = + 268435456; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_3: __MIDL_IBindStatusCallbackEx_0001 = + 536870912; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_2: __MIDL_IBindStatusCallbackEx_0001 = + 1073741824; +pub const __MIDL_IBindStatusCallbackEx_0001_BINDF2_RESERVED_1: __MIDL_IBindStatusCallbackEx_0001 = + -2147483648; +pub type __MIDL_IBindStatusCallbackEx_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IBindStatusCallbackEx_0001 as BINDF2; +extern "C" { + pub static IID_IBindStatusCallbackEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindStatusCallbackExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub OnStartBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + dwReserved: DWORD, + pib: *mut IBinding, + ) -> HRESULT, + >, + pub GetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindStatusCallbackEx, pnPriority: *mut LONG) -> HRESULT, + >, + pub OnLowResource: ::std::option::Option< + unsafe extern "C" fn(This: *mut IBindStatusCallbackEx, reserved: DWORD) -> HRESULT, + >, + pub OnProgress: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + ulProgress: ULONG, + ulProgressMax: ULONG, + ulStatusCode: ULONG, + szStatusText: LPCWSTR, + ) -> HRESULT, + >, + pub OnStopBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + hresult: HRESULT, + szError: LPCWSTR, + ) -> HRESULT, + >, + pub GetBindInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT, + >, + pub OnDataAvailable: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut FORMATETC, + pstgmed: *mut STGMEDIUM, + ) -> HRESULT, + >, + pub OnObjectAvailable: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + riid: *const IID, + punk: *mut IUnknown, + ) -> HRESULT, + >, + pub GetBindInfoEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindStatusCallbackExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IBindStatusCallbackExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindStatusCallbackExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStartBinding) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnStartBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPriority) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(GetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnLowResource) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnLowResource) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnProgress) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnProgress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnStopBinding) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnStopBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfo) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(GetBindInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnDataAvailable) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnDataAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnObjectAvailable) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(OnObjectAvailable) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfoEx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackExVtbl), + "::", + stringify!(GetBindInfoEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindStatusCallbackEx { + pub lpVtbl: *mut IBindStatusCallbackExVtbl, +} +#[test] +fn bindgen_test_layout_IBindStatusCallbackEx() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindStatusCallbackEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindStatusCallbackEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindStatusCallbackEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBindStatusCallbackEx_RemoteGetBindInfoEx_Proxy( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut RemBINDINFO, + pstgmed: *mut RemSTGMEDIUM, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallbackEx_RemoteGetBindInfoEx_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0006_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0006_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPAUTHENTICATION = *mut IAuthenticate; +extern "C" { + pub static IID_IAuthenticate: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAuthenticateVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticate, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Authenticate: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticate, + phwnd: *mut HWND, + pszUsername: *mut LPWSTR, + pszPassword: *mut LPWSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAuthenticateVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IAuthenticateVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAuthenticateVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Authenticate) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateVtbl), + "::", + stringify!(Authenticate) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAuthenticate { + pub lpVtbl: *mut IAuthenticateVtbl, +} +#[test] +fn bindgen_test_layout_IAuthenticate() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAuthenticate)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAuthenticate)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticate), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0007_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0007_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPAUTHENTICATIONEX = *mut IAuthenticateEx; +pub const __MIDL_IAuthenticateEx_0001_AUTHENTICATEF_PROXY: __MIDL_IAuthenticateEx_0001 = 1; +pub const __MIDL_IAuthenticateEx_0001_AUTHENTICATEF_BASIC: __MIDL_IAuthenticateEx_0001 = 2; +pub const __MIDL_IAuthenticateEx_0001_AUTHENTICATEF_HTTP: __MIDL_IAuthenticateEx_0001 = 4; +pub type __MIDL_IAuthenticateEx_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IAuthenticateEx_0001 as AUTHENTICATEF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagAUTHENTICATEINFO { + pub dwFlags: DWORD, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__tagAUTHENTICATEINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagAUTHENTICATEINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagAUTHENTICATEINFO>(), + 8usize, + concat!("Size of: ", stringify!(_tagAUTHENTICATEINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagAUTHENTICATEINFO>(), + 4usize, + concat!("Alignment of ", stringify!(_tagAUTHENTICATEINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagAUTHENTICATEINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_tagAUTHENTICATEINFO), + "::", + stringify!(dwReserved) + ) + ); +} +pub type AUTHENTICATEINFO = _tagAUTHENTICATEINFO; +extern "C" { + pub static IID_IAuthenticateEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAuthenticateExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticateEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Authenticate: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticateEx, + phwnd: *mut HWND, + pszUsername: *mut LPWSTR, + pszPassword: *mut LPWSTR, + ) -> HRESULT, + >, + pub AuthenticateEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IAuthenticateEx, + phwnd: *mut HWND, + pszUsername: *mut LPWSTR, + pszPassword: *mut LPWSTR, + pauthinfo: *mut AUTHENTICATEINFO, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IAuthenticateExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IAuthenticateExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAuthenticateExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Authenticate) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(Authenticate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AuthenticateEx) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateExVtbl), + "::", + stringify!(AuthenticateEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IAuthenticateEx { + pub lpVtbl: *mut IAuthenticateExVtbl, +} +#[test] +fn bindgen_test_layout_IAuthenticateEx() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IAuthenticateEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IAuthenticateEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IAuthenticateEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0008_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0008_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPHTTPNEGOTIATE = *mut IHttpNegotiate; +extern "C" { + pub static IID_IHttpNegotiate: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiateVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub BeginningTransaction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate, + szURL: LPCWSTR, + szHeaders: LPCWSTR, + dwReserved: DWORD, + pszAdditionalHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub OnResponse: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate, + dwResponseCode: DWORD, + szResponseHeaders: LPCWSTR, + szRequestHeaders: LPCWSTR, + pszAdditionalRequestHeaders: *mut LPWSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IHttpNegotiateVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IHttpNegotiateVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiateVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginningTransaction) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(BeginningTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnResponse) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiateVtbl), + "::", + stringify!(OnResponse) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate { + pub lpVtbl: *mut IHttpNegotiateVtbl, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IHttpNegotiate)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0009_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0009_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPHTTPNEGOTIATE2 = *mut IHttpNegotiate2; +extern "C" { + pub static IID_IHttpNegotiate2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub BeginningTransaction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate2, + szURL: LPCWSTR, + szHeaders: LPCWSTR, + dwReserved: DWORD, + pszAdditionalHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub OnResponse: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate2, + dwResponseCode: DWORD, + szResponseHeaders: LPCWSTR, + szRequestHeaders: LPCWSTR, + pszAdditionalRequestHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub GetRootSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate2, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IHttpNegotiate2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginningTransaction) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(BeginningTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnResponse) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(OnResponse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRootSecurityId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2Vtbl), + "::", + stringify!(GetRootSecurityId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate2 { + pub lpVtbl: *mut IHttpNegotiate2Vtbl, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IHttpNegotiate2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0010_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0010_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPHTTPNEGOTIATE3 = *mut IHttpNegotiate3; +extern "C" { + pub static IID_IHttpNegotiate3: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate3Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub BeginningTransaction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + szURL: LPCWSTR, + szHeaders: LPCWSTR, + dwReserved: DWORD, + pszAdditionalHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub OnResponse: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + dwResponseCode: DWORD, + szResponseHeaders: LPCWSTR, + szRequestHeaders: LPCWSTR, + pszAdditionalRequestHeaders: *mut LPWSTR, + ) -> HRESULT, + >, + pub GetRootSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub GetSerializedClientCertContext: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpNegotiate3, + ppbCert: *mut *mut BYTE, + pcbCert: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate3Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IHttpNegotiate3Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate3Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).BeginningTransaction) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(BeginningTransaction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnResponse) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(OnResponse) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRootSecurityId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(GetRootSecurityId) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetSerializedClientCertContext) as usize - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3Vtbl), + "::", + stringify!(GetSerializedClientCertContext) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpNegotiate3 { + pub lpVtbl: *mut IHttpNegotiate3Vtbl, +} +#[test] +fn bindgen_test_layout_IHttpNegotiate3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IHttpNegotiate3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpNegotiate3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpNegotiate3), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0011_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0011_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETFILESTREAM = *mut IWinInetFileStream; +extern "C" { + pub static IID_IWinInetFileStream: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetFileStreamVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetFileStream, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetHandleForUnlock: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetFileStream, + hWinInetLockHandle: DWORD_PTR, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub SetDeleteFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut IWinInetFileStream, dwReserved: DWORD_PTR) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetFileStreamVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IWinInetFileStreamVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetFileStreamVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHandleForUnlock) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(SetHandleForUnlock) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetDeleteFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStreamVtbl), + "::", + stringify!(SetDeleteFile) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetFileStream { + pub lpVtbl: *mut IWinInetFileStreamVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetFileStream() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetFileStream)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetFileStream)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetFileStream), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0012_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0012_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWINDOWFORBINDINGUI = *mut IWindowForBindingUI; +extern "C" { + pub static IID_IWindowForBindingUI: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWindowForBindingUIVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWindowForBindingUI, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWindowForBindingUI, + rguidReason: *const GUID, + phwnd: *mut HWND, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWindowForBindingUIVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWindowForBindingUIVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWindowForBindingUIVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUIVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUIVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUIVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUIVtbl), + "::", + stringify!(GetWindow) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWindowForBindingUI { + pub lpVtbl: *mut IWindowForBindingUIVtbl, +} +#[test] +fn bindgen_test_layout_IWindowForBindingUI() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWindowForBindingUI)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWindowForBindingUI)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWindowForBindingUI), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0013_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0013_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPCODEINSTALL = *mut ICodeInstall; +pub const __MIDL_ICodeInstall_0001_CIP_DISK_FULL: __MIDL_ICodeInstall_0001 = 0; +pub const __MIDL_ICodeInstall_0001_CIP_ACCESS_DENIED: __MIDL_ICodeInstall_0001 = 1; +pub const __MIDL_ICodeInstall_0001_CIP_NEWER_VERSION_EXISTS: __MIDL_ICodeInstall_0001 = 2; +pub const __MIDL_ICodeInstall_0001_CIP_OLDER_VERSION_EXISTS: __MIDL_ICodeInstall_0001 = 3; +pub const __MIDL_ICodeInstall_0001_CIP_NAME_CONFLICT: __MIDL_ICodeInstall_0001 = 4; +pub const __MIDL_ICodeInstall_0001_CIP_TRUST_VERIFICATION_COMPONENT_MISSING: + __MIDL_ICodeInstall_0001 = 5; +pub const __MIDL_ICodeInstall_0001_CIP_EXE_SELF_REGISTERATION_TIMEOUT: __MIDL_ICodeInstall_0001 = 6; +pub const __MIDL_ICodeInstall_0001_CIP_UNSAFE_TO_ABORT: __MIDL_ICodeInstall_0001 = 7; +pub const __MIDL_ICodeInstall_0001_CIP_NEED_REBOOT: __MIDL_ICodeInstall_0001 = 8; +pub const __MIDL_ICodeInstall_0001_CIP_NEED_REBOOT_UI_PERMISSION: __MIDL_ICodeInstall_0001 = 9; +pub type __MIDL_ICodeInstall_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_ICodeInstall_0001 as CIP_STATUS; +extern "C" { + pub static IID_ICodeInstall: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICodeInstallVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICodeInstall, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICodeInstall, + rguidReason: *const GUID, + phwnd: *mut HWND, + ) -> HRESULT, + >, + pub OnCodeInstallProblem: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICodeInstall, + ulStatusCode: ULONG, + szDestination: LPCWSTR, + szSource: LPCWSTR, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICodeInstallVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ICodeInstallVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICodeInstallVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnCodeInstallProblem) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstallVtbl), + "::", + stringify!(OnCodeInstallProblem) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICodeInstall { + pub lpVtbl: *mut ICodeInstallVtbl, +} +#[test] +fn bindgen_test_layout_ICodeInstall() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICodeInstall)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICodeInstall)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICodeInstall), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0014_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0014_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const __MIDL_IUri_0001_Uri_PROPERTY_ABSOLUTE_URI: __MIDL_IUri_0001 = 0; +pub const __MIDL_IUri_0001_Uri_PROPERTY_STRING_START: __MIDL_IUri_0001 = 0; +pub const __MIDL_IUri_0001_Uri_PROPERTY_AUTHORITY: __MIDL_IUri_0001 = 1; +pub const __MIDL_IUri_0001_Uri_PROPERTY_DISPLAY_URI: __MIDL_IUri_0001 = 2; +pub const __MIDL_IUri_0001_Uri_PROPERTY_DOMAIN: __MIDL_IUri_0001 = 3; +pub const __MIDL_IUri_0001_Uri_PROPERTY_EXTENSION: __MIDL_IUri_0001 = 4; +pub const __MIDL_IUri_0001_Uri_PROPERTY_FRAGMENT: __MIDL_IUri_0001 = 5; +pub const __MIDL_IUri_0001_Uri_PROPERTY_HOST: __MIDL_IUri_0001 = 6; +pub const __MIDL_IUri_0001_Uri_PROPERTY_PASSWORD: __MIDL_IUri_0001 = 7; +pub const __MIDL_IUri_0001_Uri_PROPERTY_PATH: __MIDL_IUri_0001 = 8; +pub const __MIDL_IUri_0001_Uri_PROPERTY_PATH_AND_QUERY: __MIDL_IUri_0001 = 9; +pub const __MIDL_IUri_0001_Uri_PROPERTY_QUERY: __MIDL_IUri_0001 = 10; +pub const __MIDL_IUri_0001_Uri_PROPERTY_RAW_URI: __MIDL_IUri_0001 = 11; +pub const __MIDL_IUri_0001_Uri_PROPERTY_SCHEME_NAME: __MIDL_IUri_0001 = 12; +pub const __MIDL_IUri_0001_Uri_PROPERTY_USER_INFO: __MIDL_IUri_0001 = 13; +pub const __MIDL_IUri_0001_Uri_PROPERTY_USER_NAME: __MIDL_IUri_0001 = 14; +pub const __MIDL_IUri_0001_Uri_PROPERTY_STRING_LAST: __MIDL_IUri_0001 = 14; +pub const __MIDL_IUri_0001_Uri_PROPERTY_HOST_TYPE: __MIDL_IUri_0001 = 15; +pub const __MIDL_IUri_0001_Uri_PROPERTY_DWORD_START: __MIDL_IUri_0001 = 15; +pub const __MIDL_IUri_0001_Uri_PROPERTY_PORT: __MIDL_IUri_0001 = 16; +pub const __MIDL_IUri_0001_Uri_PROPERTY_SCHEME: __MIDL_IUri_0001 = 17; +pub const __MIDL_IUri_0001_Uri_PROPERTY_ZONE: __MIDL_IUri_0001 = 18; +pub const __MIDL_IUri_0001_Uri_PROPERTY_DWORD_LAST: __MIDL_IUri_0001 = 18; +pub type __MIDL_IUri_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IUri_0001 as Uri_PROPERTY; +pub const __MIDL_IUri_0002_Uri_HOST_UNKNOWN: __MIDL_IUri_0002 = 0; +pub const __MIDL_IUri_0002_Uri_HOST_DNS: __MIDL_IUri_0002 = 1; +pub const __MIDL_IUri_0002_Uri_HOST_IPV4: __MIDL_IUri_0002 = 2; +pub const __MIDL_IUri_0002_Uri_HOST_IPV6: __MIDL_IUri_0002 = 3; +pub const __MIDL_IUri_0002_Uri_HOST_IDN: __MIDL_IUri_0002 = 4; +pub type __MIDL_IUri_0002 = ::std::os::raw::c_int; +pub use self::__MIDL_IUri_0002 as Uri_HOST_TYPE; +extern "C" { + pub static IID_IUri: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetPropertyBSTR: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + uriProp: Uri_PROPERTY, + pbstrProperty: *mut BSTR, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetPropertyLength: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + uriProp: Uri_PROPERTY, + pcchProperty: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetPropertyDWORD: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + uriProp: Uri_PROPERTY, + pdwProperty: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub HasProperty: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUri, + uriProp: Uri_PROPERTY, + pfHasProperty: *mut BOOL, + ) -> HRESULT, + >, + pub GetAbsoluteUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrAbsoluteUri: *mut BSTR) -> HRESULT, + >, + pub GetAuthority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrAuthority: *mut BSTR) -> HRESULT, + >, + pub GetDisplayUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrDisplayString: *mut BSTR) -> HRESULT, + >, + pub GetDomain: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrDomain: *mut BSTR) -> HRESULT, + >, + pub GetExtension: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrExtension: *mut BSTR) -> HRESULT, + >, + pub GetFragment: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrFragment: *mut BSTR) -> HRESULT, + >, + pub GetHost: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrHost: *mut BSTR) -> HRESULT, + >, + pub GetPassword: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrPassword: *mut BSTR) -> HRESULT, + >, + pub GetPath: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrPath: *mut BSTR) -> HRESULT, + >, + pub GetPathAndQuery: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrPathAndQuery: *mut BSTR) -> HRESULT, + >, + pub GetQuery: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrQuery: *mut BSTR) -> HRESULT, + >, + pub GetRawUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrRawUri: *mut BSTR) -> HRESULT, + >, + pub GetSchemeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrSchemeName: *mut BSTR) -> HRESULT, + >, + pub GetUserInfo: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrUserInfo: *mut BSTR) -> HRESULT, + >, + pub GetUserNameA: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pbstrUserName: *mut BSTR) -> HRESULT, + >, + pub GetHostType: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pdwHostType: *mut DWORD) -> HRESULT, + >, + pub GetPort: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pdwPort: *mut DWORD) -> HRESULT, + >, + pub GetScheme: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pdwScheme: *mut DWORD) -> HRESULT, + >, + pub GetZone: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pdwZone: *mut DWORD) -> HRESULT, + >, + pub GetProperties: + ::std::option::Option HRESULT>, + pub IsEqual: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUri, pUri: *mut IUri, pfEqual: *mut BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUriVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 224usize, + concat!("Size of: ", stringify!(IUriVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPropertyBSTR) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPropertyBSTR) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPropertyLength) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPropertyLength) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPropertyDWORD) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPropertyDWORD) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HasProperty) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(HasProperty) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAbsoluteUri) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetAbsoluteUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAuthority) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetAuthority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDisplayUri) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetDisplayUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDomain) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetDomain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetExtension) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFragment) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetFragment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHost) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetHost) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPassword) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPassword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPath) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPathAndQuery) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPathAndQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetQuery) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRawUri) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetRawUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSchemeName) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetSchemeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserInfo) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetUserInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserNameA) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetUserNameA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHostType) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetHostType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPort) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetScheme) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetScheme) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZone) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetProperties) as usize - ptr as usize }, + 208usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(GetProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).IsEqual) as usize - ptr as usize }, + 216usize, + concat!( + "Offset of field: ", + stringify!(IUriVtbl), + "::", + stringify!(IsEqual) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUri { + pub lpVtbl: *mut IUriVtbl, +} +#[test] +fn bindgen_test_layout_IUri() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUri)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUri)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUri), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn CreateUri( + pwzURI: LPCWSTR, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppURI: *mut *mut IUri, + ) -> HRESULT; +} +extern "C" { + pub fn CreateUriWithFragment( + pwzURI: LPCWSTR, + pwzFragment: LPCWSTR, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppURI: *mut *mut IUri, + ) -> HRESULT; +} +extern "C" { + pub fn CreateUriFromMultiByteString( + pszANSIInputUri: LPCSTR, + dwEncodingFlags: DWORD, + dwCodePage: DWORD, + dwCreateFlags: DWORD, + dwReserved: DWORD_PTR, + ppUri: *mut *mut IUri, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0015_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0015_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IUriContainer: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriContainerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriContainer, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetIUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriContainer, ppIUri: *mut *mut IUri) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUriContainerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IUriContainerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriContainerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriContainerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUriContainerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUriContainerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIUri) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUriContainerVtbl), + "::", + stringify!(GetIUri) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriContainer { + pub lpVtbl: *mut IUriContainerVtbl, +} +#[test] +fn bindgen_test_layout_IUriContainer() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUriContainer)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriContainer)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriContainer), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IUriBuilder: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriBuilderVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateUriSimple: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + dwAllowEncodingPropertyMask: DWORD, + dwReserved: DWORD_PTR, + ppIUri: *mut *mut IUri, + ) -> HRESULT, + >, + pub CreateUri: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + dwCreateFlags: DWORD, + dwAllowEncodingPropertyMask: DWORD, + dwReserved: DWORD_PTR, + ppIUri: *mut *mut IUri, + ) -> HRESULT, + >, + pub CreateUriWithFlags: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + dwCreateFlags: DWORD, + dwUriBuilderFlags: DWORD, + dwAllowEncodingPropertyMask: DWORD, + dwReserved: DWORD_PTR, + ppIUri: *mut *mut IUri, + ) -> HRESULT, + >, + pub GetIUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, ppIUri: *mut *mut IUri) -> HRESULT, + >, + pub SetIUri: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pIUri: *mut IUri) -> HRESULT, + >, + pub GetFragment: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchFragment: *mut DWORD, + ppwzFragment: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetHost: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchHost: *mut DWORD, + ppwzHost: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetPassword: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchPassword: *mut DWORD, + ppwzPassword: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetPath: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchPath: *mut DWORD, + ppwzPath: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetPort: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pfHasPort: *mut BOOL, + pdwPort: *mut DWORD, + ) -> HRESULT, + >, + pub GetQuery: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchQuery: *mut DWORD, + ppwzQuery: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetSchemeName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchSchemeName: *mut DWORD, + ppwzSchemeName: *mut LPCWSTR, + ) -> HRESULT, + >, + pub GetUserNameA: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilder, + pcchUserName: *mut DWORD, + ppwzUserName: *mut LPCWSTR, + ) -> HRESULT, + >, + pub SetFragment: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetHost: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetPassword: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetPath: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetPortA: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, fHasPort: BOOL, dwNewValue: DWORD) -> HRESULT, + >, + pub SetQuery: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetSchemeName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub SetUserName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pwzNewValue: LPCWSTR) -> HRESULT, + >, + pub RemoveProperties: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, dwPropertyMask: DWORD) -> HRESULT, + >, + pub HasBeenModified: ::std::option::Option< + unsafe extern "C" fn(This: *mut IUriBuilder, pfModified: *mut BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUriBuilderVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 208usize, + concat!("Size of: ", stringify!(IUriBuilderVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriBuilderVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateUriSimple) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(CreateUriSimple) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateUri) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(CreateUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateUriWithFlags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(CreateUriWithFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIUri) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetIUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetIUri) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetIUri) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFragment) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetFragment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetHost) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetHost) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPassword) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetPassword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPath) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPort) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetQuery) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSchemeName) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetSchemeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetUserNameA) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(GetUserNameA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetFragment) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetFragment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetHost) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetHost) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPassword) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetPassword) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPath) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPortA) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetPortA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetQuery) as usize - ptr as usize }, + 168usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetQuery) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSchemeName) as usize - ptr as usize }, + 176usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetSchemeName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetUserName) as usize - ptr as usize }, + 184usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(SetUserName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoveProperties) as usize - ptr as usize }, + 192usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(RemoveProperties) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HasBeenModified) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderVtbl), + "::", + stringify!(HasBeenModified) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriBuilder { + pub lpVtbl: *mut IUriBuilderVtbl, +} +#[test] +fn bindgen_test_layout_IUriBuilder() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUriBuilder)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriBuilder)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilder), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static IID_IUriBuilderFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriBuilderFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilderFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub CreateIUriBuilder: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilderFactory, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppIUriBuilder: *mut *mut IUriBuilder, + ) -> HRESULT, + >, + pub CreateInitializedIUriBuilder: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IUriBuilderFactory, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppIUriBuilder: *mut *mut IUriBuilder, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IUriBuilderFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IUriBuilderFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriBuilderFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateIUriBuilder) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(CreateIUriBuilder) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).CreateInitializedIUriBuilder) as usize - ptr as usize + }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactoryVtbl), + "::", + stringify!(CreateInitializedIUriBuilder) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IUriBuilderFactory { + pub lpVtbl: *mut IUriBuilderFactoryVtbl, +} +#[test] +fn bindgen_test_layout_IUriBuilderFactory() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IUriBuilderFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IUriBuilderFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IUriBuilderFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn CreateIUriBuilder( + pIUri: *mut IUri, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + ppIUriBuilder: *mut *mut IUriBuilder, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0018_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0018_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETINFO = *mut IWinInetInfo; +extern "C" { + pub static IID_IWinInetInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryOption: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWinInetInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryOption) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfoVtbl), + "::", + stringify!(QueryOption) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetInfo { + pub lpVtbl: *mut IWinInetInfoVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IWinInetInfo_RemoteQueryOption_Proxy( + This: *mut IWinInetInfo, + dwOption: DWORD, + pBuffer: *mut BYTE, + pcbBuf: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetInfo_RemoteQueryOption_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0019_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0019_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPHTTPSECURITY = *mut IHttpSecurity; +extern "C" { + pub static IID_IHttpSecurity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpSecurityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpSecurity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IHttpSecurity, + rguidReason: *const GUID, + phwnd: *mut HWND, + ) -> HRESULT, + >, + pub OnSecurityProblem: ::std::option::Option< + unsafe extern "C" fn(This: *mut IHttpSecurity, dwProblem: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IHttpSecurityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IHttpSecurityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpSecurityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).OnSecurityProblem) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurityVtbl), + "::", + stringify!(OnSecurityProblem) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IHttpSecurity { + pub lpVtbl: *mut IHttpSecurityVtbl, +} +#[test] +fn bindgen_test_layout_IHttpSecurity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IHttpSecurity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IHttpSecurity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IHttpSecurity), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0020_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0020_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETHTTPINFO = *mut IWinInetHttpInfo; +extern "C" { + pub static IID_IWinInetHttpInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetHttpInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub QueryOption: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + ) -> HRESULT, + >, + pub QueryInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + pdwFlags: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetHttpInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IWinInetHttpInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetHttpInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryOption) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(QueryOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInfo) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfoVtbl), + "::", + stringify!(QueryInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetHttpInfo { + pub lpVtbl: *mut IWinInetHttpInfoVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetHttpInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetHttpInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetHttpInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IWinInetHttpInfo_RemoteQueryInfo_Proxy( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: *mut BYTE, + pcbBuf: *mut DWORD, + pdwFlags: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetHttpInfo_RemoteQueryInfo_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0021_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0021_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IWinInetHttpTimeouts: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetHttpTimeoutsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpTimeouts, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetRequestTimeouts: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetHttpTimeouts, + pdwConnectTimeout: *mut DWORD, + pdwSendTimeout: *mut DWORD, + pdwReceiveTimeout: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetHttpTimeoutsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWinInetHttpTimeoutsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetHttpTimeoutsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeoutsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeoutsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeoutsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetRequestTimeouts) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeoutsVtbl), + "::", + stringify!(GetRequestTimeouts) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetHttpTimeouts { + pub lpVtbl: *mut IWinInetHttpTimeoutsVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetHttpTimeouts() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetHttpTimeouts)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetHttpTimeouts)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetHttpTimeouts), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0022_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0022_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETCACHEHINTS = *mut IWinInetCacheHints; +extern "C" { + pub static IID_IWinInetCacheHints: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetCacheHintsVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetCacheExtension: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints, + pwzExt: LPCWSTR, + pszCacheFile: LPVOID, + pcbCacheFile: *mut DWORD, + pdwWinInetError: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetCacheHintsVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWinInetCacheHintsVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetCacheHintsVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHintsVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHintsVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHintsVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCacheExtension) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHintsVtbl), + "::", + stringify!(SetCacheExtension) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetCacheHints { + pub lpVtbl: *mut IWinInetCacheHintsVtbl, +} +#[test] +fn bindgen_test_layout_IWinInetCacheHints() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetCacheHints)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetCacheHints)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0023_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0023_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPWININETCACHEHINTS2 = *mut IWinInetCacheHints2; +extern "C" { + pub static IID_IWinInetCacheHints2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetCacheHints2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetCacheExtension: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints2, + pwzExt: LPCWSTR, + pszCacheFile: LPVOID, + pcbCacheFile: *mut DWORD, + pdwWinInetError: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, + pub SetCacheExtension2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWinInetCacheHints2, + pwzExt: LPCWSTR, + pwzCacheFile: *mut WCHAR, + pcchCacheFile: *mut DWORD, + pdwWinInetError: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWinInetCacheHints2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IWinInetCacheHints2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetCacheHints2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCacheExtension) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(SetCacheExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetCacheExtension2) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2Vtbl), + "::", + stringify!(SetCacheExtension2) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWinInetCacheHints2 { + pub lpVtbl: *mut IWinInetCacheHints2Vtbl, +} +#[test] +fn bindgen_test_layout_IWinInetCacheHints2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWinInetCacheHints2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWinInetCacheHints2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWinInetCacheHints2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static SID_BindHost: GUID; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0024_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0024_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDHOST = *mut IBindHost; +extern "C" { + pub static IID_IBindHost: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindHostVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHost, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub CreateMoniker: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHost, + szName: LPOLESTR, + pBC: *mut IBindCtx, + ppmk: *mut *mut IMoniker, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub MonikerBindToStorage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub MonikerBindToObject: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindHostVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IBindHostVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindHostVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateMoniker) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(CreateMoniker) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MonikerBindToStorage) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(MonikerBindToStorage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MonikerBindToObject) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IBindHostVtbl), + "::", + stringify!(MonikerBindToObject) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindHost { + pub lpVtbl: *mut IBindHostVtbl, +} +#[test] +fn bindgen_test_layout_IBindHost() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindHost)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindHost)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindHost), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IBindHost_RemoteMonikerBindToStorage_Proxy( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_RemoteMonikerBindToStorage_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn IBindHost_RemoteMonikerBindToObject_Proxy( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_RemoteMonikerBindToObject_Stub( + This: *mut IRpcStubBuffer, + _pRpcChannelBuffer: *mut IRpcChannelBuffer, + _pRpcMessage: PRPC_MESSAGE, + _pdwStubPhase: *mut DWORD, + ); +} +extern "C" { + pub fn HlinkSimpleNavigateToString( + szTarget: LPCWSTR, + szLocation: LPCWSTR, + szTargetFrameName: LPCWSTR, + pUnk: *mut IUnknown, + pbc: *mut IBindCtx, + arg1: *mut IBindStatusCallback, + grfHLNF: DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn HlinkSimpleNavigateToMoniker( + pmkTarget: *mut IMoniker, + szLocation: LPCWSTR, + szTargetFrameName: LPCWSTR, + pUnk: *mut IUnknown, + pbc: *mut IBindCtx, + arg1: *mut IBindStatusCallback, + grfHLNF: DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenStreamA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: DWORD, + arg4: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenStreamW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: DWORD, + arg4: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenPullStreamA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: DWORD, + arg4: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenPullStreamW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: DWORD, + arg4: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLDownloadToFileA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: LPCSTR, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLDownloadToFileW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: LPCWSTR, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLDownloadToCacheFileA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: LPSTR, + cchFileName: DWORD, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLDownloadToCacheFileW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: LPWSTR, + cchFileName: DWORD, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenBlockingStreamA( + arg1: LPUNKNOWN, + arg2: LPCSTR, + arg3: *mut LPSTREAM, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn URLOpenBlockingStreamW( + arg1: LPUNKNOWN, + arg2: LPCWSTR, + arg3: *mut LPSTREAM, + arg4: DWORD, + arg5: LPBINDSTATUSCALLBACK, + ) -> HRESULT; +} +extern "C" { + pub fn HlinkGoBack(pUnk: *mut IUnknown) -> HRESULT; +} +extern "C" { + pub fn HlinkGoForward(pUnk: *mut IUnknown) -> HRESULT; +} +extern "C" { + pub fn HlinkNavigateString(pUnk: *mut IUnknown, szTarget: LPCWSTR) -> HRESULT; +} +extern "C" { + pub fn HlinkNavigateMoniker(pUnk: *mut IUnknown, pmkTarget: *mut IMoniker) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0025_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0025_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNET = *mut IInternet; +extern "C" { + pub static IID_IInternet: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternet, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, +} +#[test] +fn bindgen_test_layout_IInternetVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(IInternetVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetVtbl), + "::", + stringify!(Release) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternet { + pub lpVtbl: *mut IInternetVtbl, +} +#[test] +fn bindgen_test_layout_IInternet() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternet)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternet)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternet), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0026_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0026_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETBINDINFO = *mut IInternetBindInfo; +pub const tagBINDSTRING_BINDSTRING_HEADERS: tagBINDSTRING = 1; +pub const tagBINDSTRING_BINDSTRING_ACCEPT_MIMES: tagBINDSTRING = 2; +pub const tagBINDSTRING_BINDSTRING_EXTRA_URL: tagBINDSTRING = 3; +pub const tagBINDSTRING_BINDSTRING_LANGUAGE: tagBINDSTRING = 4; +pub const tagBINDSTRING_BINDSTRING_USERNAME: tagBINDSTRING = 5; +pub const tagBINDSTRING_BINDSTRING_PASSWORD: tagBINDSTRING = 6; +pub const tagBINDSTRING_BINDSTRING_UA_PIXELS: tagBINDSTRING = 7; +pub const tagBINDSTRING_BINDSTRING_UA_COLOR: tagBINDSTRING = 8; +pub const tagBINDSTRING_BINDSTRING_OS: tagBINDSTRING = 9; +pub const tagBINDSTRING_BINDSTRING_USER_AGENT: tagBINDSTRING = 10; +pub const tagBINDSTRING_BINDSTRING_ACCEPT_ENCODINGS: tagBINDSTRING = 11; +pub const tagBINDSTRING_BINDSTRING_POST_COOKIE: tagBINDSTRING = 12; +pub const tagBINDSTRING_BINDSTRING_POST_DATA_MIME: tagBINDSTRING = 13; +pub const tagBINDSTRING_BINDSTRING_URL: tagBINDSTRING = 14; +pub const tagBINDSTRING_BINDSTRING_IID: tagBINDSTRING = 15; +pub const tagBINDSTRING_BINDSTRING_FLAG_BIND_TO_OBJECT: tagBINDSTRING = 16; +pub const tagBINDSTRING_BINDSTRING_PTR_BIND_CONTEXT: tagBINDSTRING = 17; +pub const tagBINDSTRING_BINDSTRING_XDR_ORIGIN: tagBINDSTRING = 18; +pub const tagBINDSTRING_BINDSTRING_DOWNLOADPATH: tagBINDSTRING = 19; +pub const tagBINDSTRING_BINDSTRING_ROOTDOC_URL: tagBINDSTRING = 20; +pub const tagBINDSTRING_BINDSTRING_INITIAL_FILENAME: tagBINDSTRING = 21; +pub const tagBINDSTRING_BINDSTRING_PROXY_USERNAME: tagBINDSTRING = 22; +pub const tagBINDSTRING_BINDSTRING_PROXY_PASSWORD: tagBINDSTRING = 23; +pub const tagBINDSTRING_BINDSTRING_ENTERPRISE_ID: tagBINDSTRING = 24; +pub const tagBINDSTRING_BINDSTRING_DOC_URL: tagBINDSTRING = 25; +pub const tagBINDSTRING_BINDSTRING_SAMESITE_COOKIE_LEVEL: tagBINDSTRING = 26; +pub type tagBINDSTRING = ::std::os::raw::c_int; +pub use self::tagBINDSTRING as BINDSTRING; +extern "C" { + pub static IID_IInternetBindInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetBindInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetBindInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfo, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT, + >, + pub GetBindString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfo, + ulStringType: ULONG, + ppwzStr: *mut LPOLESTR, + cEl: ULONG, + pcElFetched: *mut ULONG, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetBindInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IInternetBindInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetBindInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(GetBindInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoVtbl), + "::", + stringify!(GetBindString) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetBindInfo { + pub lpVtbl: *mut IInternetBindInfoVtbl, +} +#[test] +fn bindgen_test_layout_IInternetBindInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetBindInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetBindInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0027_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0027_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETBINDINFOEX = *mut IInternetBindInfoEx; +extern "C" { + pub static IID_IInternetBindInfoEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetBindInfoExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfoEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetBindInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfoEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT, + >, + pub GetBindString: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfoEx, + ulStringType: ULONG, + ppwzStr: *mut LPOLESTR, + cEl: ULONG, + pcElFetched: *mut ULONG, + ) -> HRESULT, + >, + pub GetBindInfoEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetBindInfoEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetBindInfoExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IInternetBindInfoExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetBindInfoExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfo) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(GetBindInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindString) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(GetBindString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindInfoEx) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoExVtbl), + "::", + stringify!(GetBindInfoEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetBindInfoEx { + pub lpVtbl: *mut IInternetBindInfoExVtbl, +} +#[test] +fn bindgen_test_layout_IInternetBindInfoEx() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetBindInfoEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetBindInfoEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetBindInfoEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0028_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0028_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOLROOT = *mut IInternetProtocolRoot; +pub const _tagPI_FLAGS_PI_PARSE_URL: _tagPI_FLAGS = 1; +pub const _tagPI_FLAGS_PI_FILTER_MODE: _tagPI_FLAGS = 2; +pub const _tagPI_FLAGS_PI_FORCE_ASYNC: _tagPI_FLAGS = 4; +pub const _tagPI_FLAGS_PI_USE_WORKERTHREAD: _tagPI_FLAGS = 8; +pub const _tagPI_FLAGS_PI_MIMEVERIFICATION: _tagPI_FLAGS = 16; +pub const _tagPI_FLAGS_PI_CLSIDLOOKUP: _tagPI_FLAGS = 32; +pub const _tagPI_FLAGS_PI_DATAPROGRESS: _tagPI_FLAGS = 64; +pub const _tagPI_FLAGS_PI_SYNCHRONOUS: _tagPI_FLAGS = 128; +pub const _tagPI_FLAGS_PI_APARTMENTTHREADED: _tagPI_FLAGS = 256; +pub const _tagPI_FLAGS_PI_CLASSINSTALL: _tagPI_FLAGS = 512; +pub const _tagPI_FLAGS_PI_PASSONBINDCTX: _tagPI_FLAGS = 8192; +pub const _tagPI_FLAGS_PI_NOMIMEHANDLER: _tagPI_FLAGS = 32768; +pub const _tagPI_FLAGS_PI_LOADAPPDIRECT: _tagPI_FLAGS = 16384; +pub const _tagPI_FLAGS_PD_FORCE_SWITCH: _tagPI_FLAGS = 65536; +pub const _tagPI_FLAGS_PI_PREFERDEFAULTHANDLER: _tagPI_FLAGS = 131072; +pub type _tagPI_FLAGS = ::std::os::raw::c_int; +pub use self::_tagPI_FLAGS as PI_FLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagPROTOCOLDATA { + pub grfFlags: DWORD, + pub dwState: DWORD, + pub pData: LPVOID, + pub cbData: ULONG, +} +#[test] +fn bindgen_test_layout__tagPROTOCOLDATA() { + const UNINIT: ::std::mem::MaybeUninit<_tagPROTOCOLDATA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagPROTOCOLDATA>(), + 24usize, + concat!("Size of: ", stringify!(_tagPROTOCOLDATA)) + ); + assert_eq!( + ::std::mem::align_of::<_tagPROTOCOLDATA>(), + 8usize, + concat!("Alignment of ", stringify!(_tagPROTOCOLDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).grfFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLDATA), + "::", + stringify!(grfFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLDATA), + "::", + stringify!(dwState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLDATA), + "::", + stringify!(pData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLDATA), + "::", + stringify!(cbData) + ) + ); +} +pub type PROTOCOLDATA = _tagPROTOCOLDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagStartParam { + pub iid: IID, + pub pIBindCtx: *mut IBindCtx, + pub pItf: *mut IUnknown, +} +#[test] +fn bindgen_test_layout__tagStartParam() { + const UNINIT: ::std::mem::MaybeUninit<_tagStartParam> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagStartParam>(), + 32usize, + concat!("Size of: ", stringify!(_tagStartParam)) + ); + assert_eq!( + ::std::mem::align_of::<_tagStartParam>(), + 8usize, + concat!("Alignment of ", stringify!(_tagStartParam)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagStartParam), + "::", + stringify!(iid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pIBindCtx) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagStartParam), + "::", + stringify!(pIBindCtx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pItf) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagStartParam), + "::", + stringify!(pItf) + ) + ); +} +pub type StartParam = _tagStartParam; +extern "C" { + pub static IID_IInternetProtocolRoot: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolRootVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolRoot, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Start: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolRoot, + szUrl: LPCWSTR, + pOIProtSink: *mut IInternetProtocolSink, + pOIBindInfo: *mut IInternetBindInfo, + grfPI: DWORD, + dwReserved: HANDLE_PTR, + ) -> HRESULT, + >, + pub Continue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolRoot, + pProtocolData: *mut PROTOCOLDATA, + ) -> HRESULT, + >, + pub Abort: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolRoot, + hrReason: HRESULT, + dwOptions: DWORD, + ) -> HRESULT, + >, + pub Terminate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolRoot, dwOptions: DWORD) -> HRESULT, + >, + pub Suspend: + ::std::option::Option HRESULT>, + pub Resume: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IInternetProtocolRootVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(IInternetProtocolRootVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolRootVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Start) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Start) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Continue) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Continue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Abort) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Terminate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Terminate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Suspend) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Suspend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resume) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRootVtbl), + "::", + stringify!(Resume) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolRoot { + pub lpVtbl: *mut IInternetProtocolRootVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolRoot() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolRoot)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolRoot)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolRoot), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0029_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0029_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOL = *mut IInternetProtocol; +extern "C" { + pub static IID_IInternetProtocol: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub Start: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + szUrl: LPCWSTR, + pOIProtSink: *mut IInternetProtocolSink, + pOIBindInfo: *mut IInternetBindInfo, + grfPI: DWORD, + dwReserved: HANDLE_PTR, + ) -> HRESULT, + >, + pub Continue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + pProtocolData: *mut PROTOCOLDATA, + ) -> HRESULT, + >, + pub Abort: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + hrReason: HRESULT, + dwOptions: DWORD, + ) -> HRESULT, + >, + pub Terminate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocol, dwOptions: DWORD) -> HRESULT, + >, + pub Suspend: + ::std::option::Option HRESULT>, + pub Resume: + ::std::option::Option HRESULT>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Seek: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocol, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub LockRequest: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocol, dwOptions: DWORD) -> HRESULT, + >, + pub UnlockRequest: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IInternetProtocolVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(IInternetProtocolVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Start) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Start) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Continue) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Continue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Abort) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Terminate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Terminate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Suspend) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Suspend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resume) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Resume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seek) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(Seek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRequest) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(LockRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRequest) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolVtbl), + "::", + stringify!(UnlockRequest) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocol { + pub lpVtbl: *mut IInternetProtocolVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocol() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocol)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocol)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocol), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0030_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0030_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetProtocolEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Start: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + szUrl: LPCWSTR, + pOIProtSink: *mut IInternetProtocolSink, + pOIBindInfo: *mut IInternetBindInfo, + grfPI: DWORD, + dwReserved: HANDLE_PTR, + ) -> HRESULT, + >, + pub Continue: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + pProtocolData: *mut PROTOCOLDATA, + ) -> HRESULT, + >, + pub Abort: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + hrReason: HRESULT, + dwOptions: DWORD, + ) -> HRESULT, + >, + pub Terminate: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolEx, dwOptions: DWORD) -> HRESULT, + >, + pub Suspend: + ::std::option::Option HRESULT>, + pub Resume: + ::std::option::Option HRESULT>, + pub Read: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + pv: *mut ::std::os::raw::c_void, + cb: ULONG, + pcbRead: *mut ULONG, + ) -> HRESULT, + >, + pub Seek: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + dlibMove: LARGE_INTEGER, + dwOrigin: DWORD, + plibNewPosition: *mut ULARGE_INTEGER, + ) -> HRESULT, + >, + pub LockRequest: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolEx, dwOptions: DWORD) -> HRESULT, + >, + pub UnlockRequest: + ::std::option::Option HRESULT>, + pub StartEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolEx, + pUri: *mut IUri, + pOIProtSink: *mut IInternetProtocolSink, + pOIBindInfo: *mut IInternetBindInfo, + grfPI: DWORD, + dwReserved: HANDLE_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetProtocolExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 112usize, + concat!("Size of: ", stringify!(IInternetProtocolExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Start) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Start) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Continue) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Continue) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Abort) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Abort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Terminate) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Terminate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Suspend) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Suspend) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Resume) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Resume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Read) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Read) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Seek) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(Seek) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LockRequest) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(LockRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnlockRequest) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(UnlockRequest) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartEx) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolExVtbl), + "::", + stringify!(StartEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolEx { + pub lpVtbl: *mut IInternetProtocolExVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolEx() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0031_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0031_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOLSINK = *mut IInternetProtocolSink; +extern "C" { + pub static IID_IInternetProtocolSink: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolSinkVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Switch: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + pProtocolData: *mut PROTOCOLDATA, + ) -> HRESULT, + >, + pub ReportProgress: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + ulStatusCode: ULONG, + szStatusText: LPCWSTR, + ) -> HRESULT, + >, + pub ReportData: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + grfBSCF: DWORD, + ulProgress: ULONG, + ulProgressMax: ULONG, + ) -> HRESULT, + >, + pub ReportResult: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSink, + hrResult: HRESULT, + dwError: DWORD, + szResult: LPCWSTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetProtocolSinkVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IInternetProtocolSinkVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolSinkVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Switch) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(Switch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportProgress) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(ReportProgress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportData) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(ReportData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReportResult) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkVtbl), + "::", + stringify!(ReportResult) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolSink { + pub lpVtbl: *mut IInternetProtocolSinkVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolSink() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolSink)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolSink)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSink), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0032_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0032_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOLSINKStackable = *mut IInternetProtocolSinkStackable; +extern "C" { + pub static IID_IInternetProtocolSinkStackable: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolSinkStackableVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSinkStackable, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolSinkStackable) -> ULONG, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolSinkStackable) -> ULONG, + >, + pub SwitchSink: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolSinkStackable, + pOIProtSink: *mut IInternetProtocolSink, + ) -> HRESULT, + >, + pub CommitSwitch: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolSinkStackable) -> HRESULT, + >, + pub RollbackSwitch: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetProtocolSinkStackable) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetProtocolSinkStackableVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IInternetProtocolSinkStackableVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(IInternetProtocolSinkStackableVtbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SwitchSink) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(SwitchSink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CommitSwitch) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(CommitSwitch) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RollbackSwitch) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackableVtbl), + "::", + stringify!(RollbackSwitch) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolSinkStackable { + pub lpVtbl: *mut IInternetProtocolSinkStackableVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolSinkStackable() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolSinkStackable)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolSinkStackable)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolSinkStackable), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0033_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0033_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETSESSION = *mut IInternetSession; +pub const _tagOIBDG_FLAGS_OIBDG_APARTMENTTHREADED: _tagOIBDG_FLAGS = 256; +pub const _tagOIBDG_FLAGS_OIBDG_DATAONLY: _tagOIBDG_FLAGS = 4096; +pub type _tagOIBDG_FLAGS = ::std::os::raw::c_int; +pub use self::_tagOIBDG_FLAGS as OIBDG_FLAGS; +extern "C" { + pub static IID_IInternetSession: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSessionVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub RegisterNameSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pCF: *mut IClassFactory, + rclsid: *const IID, + pwzProtocol: LPCWSTR, + cPatterns: ULONG, + ppwzPatterns: *const LPCWSTR, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub UnregisterNameSpace: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pCF: *mut IClassFactory, + pszProtocol: LPCWSTR, + ) -> HRESULT, + >, + pub RegisterMimeFilter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pCF: *mut IClassFactory, + rclsid: *const IID, + pwzType: LPCWSTR, + ) -> HRESULT, + >, + pub UnregisterMimeFilter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pCF: *mut IClassFactory, + pwzType: LPCWSTR, + ) -> HRESULT, + >, + pub CreateBinding: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + pBC: LPBC, + szUrl: LPCWSTR, + pUnkOuter: *mut IUnknown, + ppUnk: *mut *mut IUnknown, + ppOInetProt: *mut *mut IInternetProtocol, + dwOption: DWORD, + ) -> HRESULT, + >, + pub SetSessionOption: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + dwOption: DWORD, + pBuffer: LPVOID, + dwBufferLength: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub GetSessionOption: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSession, + dwOption: DWORD, + pBuffer: LPVOID, + pdwBufferLength: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSessionVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(IInternetSessionVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSessionVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterNameSpace) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(RegisterNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnregisterNameSpace) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(UnregisterNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RegisterMimeFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(RegisterMimeFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).UnregisterMimeFilter) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(UnregisterMimeFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateBinding) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(CreateBinding) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSessionOption) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(SetSessionOption) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSessionOption) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetSessionVtbl), + "::", + stringify!(GetSessionOption) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSession { + pub lpVtbl: *mut IInternetSessionVtbl, +} +#[test] +fn bindgen_test_layout_IInternetSession() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSession)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSession)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSession), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0034_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0034_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETTHREADSWITCH = *mut IInternetThreadSwitch; +extern "C" { + pub static IID_IInternetThreadSwitch: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetThreadSwitchVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetThreadSwitch, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Prepare: + ::std::option::Option HRESULT>, + pub Continue: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IInternetThreadSwitchVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IInternetThreadSwitchVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetThreadSwitchVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Prepare) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(Prepare) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Continue) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitchVtbl), + "::", + stringify!(Continue) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetThreadSwitch { + pub lpVtbl: *mut IInternetThreadSwitchVtbl, +} +#[test] +fn bindgen_test_layout_IInternetThreadSwitch() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetThreadSwitch)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetThreadSwitch)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetThreadSwitch), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0035_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0035_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPRIORITY = *mut IInternetPriority; +extern "C" { + pub static IID_IInternetPriority: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetPriorityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetPriority, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub SetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetPriority, nPriority: LONG) -> HRESULT, + >, + pub GetPriority: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetPriority, pnPriority: *mut LONG) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetPriorityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IInternetPriorityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetPriorityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetPriority) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(SetPriority) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetPriority) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriorityVtbl), + "::", + stringify!(GetPriority) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetPriority { + pub lpVtbl: *mut IInternetPriorityVtbl, +} +#[test] +fn bindgen_test_layout_IInternetPriority() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetPriority)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetPriority)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetPriority), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0036_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0036_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIINTERNETPROTOCOLINFO = *mut IInternetProtocolInfo; +pub const _tagPARSEACTION_PARSE_CANONICALIZE: _tagPARSEACTION = 1; +pub const _tagPARSEACTION_PARSE_FRIENDLY: _tagPARSEACTION = 2; +pub const _tagPARSEACTION_PARSE_SECURITY_URL: _tagPARSEACTION = 3; +pub const _tagPARSEACTION_PARSE_ROOTDOCUMENT: _tagPARSEACTION = 4; +pub const _tagPARSEACTION_PARSE_DOCUMENT: _tagPARSEACTION = 5; +pub const _tagPARSEACTION_PARSE_ANCHOR: _tagPARSEACTION = 6; +pub const _tagPARSEACTION_PARSE_ENCODE_IS_UNESCAPE: _tagPARSEACTION = 7; +pub const _tagPARSEACTION_PARSE_DECODE_IS_ESCAPE: _tagPARSEACTION = 8; +pub const _tagPARSEACTION_PARSE_PATH_FROM_URL: _tagPARSEACTION = 9; +pub const _tagPARSEACTION_PARSE_URL_FROM_PATH: _tagPARSEACTION = 10; +pub const _tagPARSEACTION_PARSE_MIME: _tagPARSEACTION = 11; +pub const _tagPARSEACTION_PARSE_SERVER: _tagPARSEACTION = 12; +pub const _tagPARSEACTION_PARSE_SCHEMA: _tagPARSEACTION = 13; +pub const _tagPARSEACTION_PARSE_SITE: _tagPARSEACTION = 14; +pub const _tagPARSEACTION_PARSE_DOMAIN: _tagPARSEACTION = 15; +pub const _tagPARSEACTION_PARSE_LOCATION: _tagPARSEACTION = 16; +pub const _tagPARSEACTION_PARSE_SECURITY_DOMAIN: _tagPARSEACTION = 17; +pub const _tagPARSEACTION_PARSE_ESCAPE: _tagPARSEACTION = 18; +pub const _tagPARSEACTION_PARSE_UNESCAPE: _tagPARSEACTION = 19; +pub type _tagPARSEACTION = ::std::os::raw::c_int; +pub use self::_tagPARSEACTION as PARSEACTION; +pub const _tagPSUACTION_PSU_DEFAULT: _tagPSUACTION = 1; +pub const _tagPSUACTION_PSU_SECURITY_URL_ONLY: _tagPSUACTION = 2; +pub type _tagPSUACTION = ::std::os::raw::c_int; +pub use self::_tagPSUACTION as PSUACTION; +pub const _tagQUERYOPTION_QUERY_EXPIRATION_DATE: _tagQUERYOPTION = 1; +pub const _tagQUERYOPTION_QUERY_TIME_OF_LAST_CHANGE: _tagQUERYOPTION = 2; +pub const _tagQUERYOPTION_QUERY_CONTENT_ENCODING: _tagQUERYOPTION = 3; +pub const _tagQUERYOPTION_QUERY_CONTENT_TYPE: _tagQUERYOPTION = 4; +pub const _tagQUERYOPTION_QUERY_REFRESH: _tagQUERYOPTION = 5; +pub const _tagQUERYOPTION_QUERY_RECOMBINE: _tagQUERYOPTION = 6; +pub const _tagQUERYOPTION_QUERY_CAN_NAVIGATE: _tagQUERYOPTION = 7; +pub const _tagQUERYOPTION_QUERY_USES_NETWORK: _tagQUERYOPTION = 8; +pub const _tagQUERYOPTION_QUERY_IS_CACHED: _tagQUERYOPTION = 9; +pub const _tagQUERYOPTION_QUERY_IS_INSTALLEDENTRY: _tagQUERYOPTION = 10; +pub const _tagQUERYOPTION_QUERY_IS_CACHED_OR_MAPPED: _tagQUERYOPTION = 11; +pub const _tagQUERYOPTION_QUERY_USES_CACHE: _tagQUERYOPTION = 12; +pub const _tagQUERYOPTION_QUERY_IS_SECURE: _tagQUERYOPTION = 13; +pub const _tagQUERYOPTION_QUERY_IS_SAFE: _tagQUERYOPTION = 14; +pub const _tagQUERYOPTION_QUERY_USES_HISTORYFOLDER: _tagQUERYOPTION = 15; +pub const _tagQUERYOPTION_QUERY_IS_CACHED_AND_USABLE_OFFLINE: _tagQUERYOPTION = 16; +pub type _tagQUERYOPTION = ::std::os::raw::c_int; +pub use self::_tagQUERYOPTION as QUERYOPTION; +extern "C" { + pub static IID_IInternetProtocolInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub ParseUrl: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + pwzUrl: LPCWSTR, + ParseAction: PARSEACTION, + dwParseFlags: DWORD, + pwzResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub CombineUrl: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + pwzBaseUrl: LPCWSTR, + pwzRelativeUrl: LPCWSTR, + dwCombineFlags: DWORD, + pwzResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub CompareUrl: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + pwzUrl1: LPCWSTR, + pwzUrl2: LPCWSTR, + dwCompareFlags: DWORD, + ) -> HRESULT, + >, + pub QueryInfo: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetProtocolInfo, + pwzUrl: LPCWSTR, + OueryOption: QUERYOPTION, + dwQueryFlags: DWORD, + pBuffer: LPVOID, + cbBuffer: DWORD, + pcbBuf: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetProtocolInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(IInternetProtocolInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ParseUrl) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(ParseUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CombineUrl) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(CombineUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CompareUrl) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(CompareUrl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfoVtbl), + "::", + stringify!(QueryInfo) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetProtocolInfo { + pub lpVtbl: *mut IInternetProtocolInfoVtbl, +} +#[test] +fn bindgen_test_layout_IInternetProtocolInfo() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetProtocolInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetProtocolInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetProtocolInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn CoInternetParseUrl( + pwzUrl: LPCWSTR, + ParseAction: PARSEACTION, + dwFlags: DWORD, + pszResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetParseIUri( + pIUri: *mut IUri, + ParseAction: PARSEACTION, + dwFlags: DWORD, + pwzResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCombineUrl( + pwzBaseUrl: LPCWSTR, + pwzRelativeUrl: LPCWSTR, + dwCombineFlags: DWORD, + pszResult: LPWSTR, + cchResult: DWORD, + pcchResult: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCombineUrlEx( + pBaseUri: *mut IUri, + pwzRelativeUrl: LPCWSTR, + dwCombineFlags: DWORD, + ppCombinedUri: *mut *mut IUri, + dwReserved: DWORD_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCombineIUri( + pBaseUri: *mut IUri, + pRelativeUri: *mut IUri, + dwCombineFlags: DWORD, + ppCombinedUri: *mut *mut IUri, + dwReserved: DWORD_PTR, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCompareUrl(pwzUrl1: LPCWSTR, pwzUrl2: LPCWSTR, dwFlags: DWORD) -> HRESULT; +} +extern "C" { + pub fn CoInternetGetProtocolFlags( + pwzUrl: LPCWSTR, + pdwFlags: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetQueryInfo( + pwzUrl: LPCWSTR, + QueryOptions: QUERYOPTION, + dwQueryFlags: DWORD, + pvBuffer: LPVOID, + cbBuffer: DWORD, + pcbBuffer: *mut DWORD, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetGetSession( + dwSessionMode: DWORD, + ppIInternetSession: *mut *mut IInternetSession, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetGetSecurityUrl( + pwszUrl: LPCWSTR, + ppwszSecUrl: *mut LPWSTR, + psuAction: PSUACTION, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn AsyncInstallDistributionUnit( + szDistUnit: LPCWSTR, + szTYPE: LPCWSTR, + szExt: LPCWSTR, + dwFileVersionMS: DWORD, + dwFileVersionLS: DWORD, + szURL: LPCWSTR, + pbc: *mut IBindCtx, + pvReserved: LPVOID, + flags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetGetSecurityUrlEx( + pUri: *mut IUri, + ppSecUri: *mut *mut IUri, + psuAction: PSUACTION, + dwReserved: DWORD_PTR, + ) -> HRESULT; +} +pub const _tagINTERNETFEATURELIST_FEATURE_OBJECT_CACHING: _tagINTERNETFEATURELIST = 0; +pub const _tagINTERNETFEATURELIST_FEATURE_ZONE_ELEVATION: _tagINTERNETFEATURELIST = 1; +pub const _tagINTERNETFEATURELIST_FEATURE_MIME_HANDLING: _tagINTERNETFEATURELIST = 2; +pub const _tagINTERNETFEATURELIST_FEATURE_MIME_SNIFFING: _tagINTERNETFEATURELIST = 3; +pub const _tagINTERNETFEATURELIST_FEATURE_WINDOW_RESTRICTIONS: _tagINTERNETFEATURELIST = 4; +pub const _tagINTERNETFEATURELIST_FEATURE_WEBOC_POPUPMANAGEMENT: _tagINTERNETFEATURELIST = 5; +pub const _tagINTERNETFEATURELIST_FEATURE_BEHAVIORS: _tagINTERNETFEATURELIST = 6; +pub const _tagINTERNETFEATURELIST_FEATURE_DISABLE_MK_PROTOCOL: _tagINTERNETFEATURELIST = 7; +pub const _tagINTERNETFEATURELIST_FEATURE_LOCALMACHINE_LOCKDOWN: _tagINTERNETFEATURELIST = 8; +pub const _tagINTERNETFEATURELIST_FEATURE_SECURITYBAND: _tagINTERNETFEATURELIST = 9; +pub const _tagINTERNETFEATURELIST_FEATURE_RESTRICT_ACTIVEXINSTALL: _tagINTERNETFEATURELIST = 10; +pub const _tagINTERNETFEATURELIST_FEATURE_VALIDATE_NAVIGATE_URL: _tagINTERNETFEATURELIST = 11; +pub const _tagINTERNETFEATURELIST_FEATURE_RESTRICT_FILEDOWNLOAD: _tagINTERNETFEATURELIST = 12; +pub const _tagINTERNETFEATURELIST_FEATURE_ADDON_MANAGEMENT: _tagINTERNETFEATURELIST = 13; +pub const _tagINTERNETFEATURELIST_FEATURE_PROTOCOL_LOCKDOWN: _tagINTERNETFEATURELIST = 14; +pub const _tagINTERNETFEATURELIST_FEATURE_HTTP_USERNAME_PASSWORD_DISABLE: _tagINTERNETFEATURELIST = + 15; +pub const _tagINTERNETFEATURELIST_FEATURE_SAFE_BINDTOOBJECT: _tagINTERNETFEATURELIST = 16; +pub const _tagINTERNETFEATURELIST_FEATURE_UNC_SAVEDFILECHECK: _tagINTERNETFEATURELIST = 17; +pub const _tagINTERNETFEATURELIST_FEATURE_GET_URL_DOM_FILEPATH_UNENCODED: _tagINTERNETFEATURELIST = + 18; +pub const _tagINTERNETFEATURELIST_FEATURE_TABBED_BROWSING: _tagINTERNETFEATURELIST = 19; +pub const _tagINTERNETFEATURELIST_FEATURE_SSLUX: _tagINTERNETFEATURELIST = 20; +pub const _tagINTERNETFEATURELIST_FEATURE_DISABLE_NAVIGATION_SOUNDS: _tagINTERNETFEATURELIST = 21; +pub const _tagINTERNETFEATURELIST_FEATURE_DISABLE_LEGACY_COMPRESSION: _tagINTERNETFEATURELIST = 22; +pub const _tagINTERNETFEATURELIST_FEATURE_FORCE_ADDR_AND_STATUS: _tagINTERNETFEATURELIST = 23; +pub const _tagINTERNETFEATURELIST_FEATURE_XMLHTTP: _tagINTERNETFEATURELIST = 24; +pub const _tagINTERNETFEATURELIST_FEATURE_DISABLE_TELNET_PROTOCOL: _tagINTERNETFEATURELIST = 25; +pub const _tagINTERNETFEATURELIST_FEATURE_FEEDS: _tagINTERNETFEATURELIST = 26; +pub const _tagINTERNETFEATURELIST_FEATURE_BLOCK_INPUT_PROMPTS: _tagINTERNETFEATURELIST = 27; +pub const _tagINTERNETFEATURELIST_FEATURE_ENTRY_COUNT: _tagINTERNETFEATURELIST = 28; +pub type _tagINTERNETFEATURELIST = ::std::os::raw::c_int; +pub use self::_tagINTERNETFEATURELIST as INTERNETFEATURELIST; +extern "C" { + pub fn CoInternetSetFeatureEnabled( + FeatureEntry: INTERNETFEATURELIST, + dwFlags: DWORD, + fEnable: BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetIsFeatureEnabled(FeatureEntry: INTERNETFEATURELIST, dwFlags: DWORD) + -> HRESULT; +} +extern "C" { + pub fn CoInternetIsFeatureEnabledForUrl( + FeatureEntry: INTERNETFEATURELIST, + dwFlags: DWORD, + szURL: LPCWSTR, + pSecMgr: *mut IInternetSecurityManager, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetIsFeatureEnabledForIUri( + FeatureEntry: INTERNETFEATURELIST, + dwFlags: DWORD, + pIUri: *mut IUri, + pSecMgr: *mut IInternetSecurityManagerEx2, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetIsFeatureZoneElevationEnabled( + szFromURL: LPCWSTR, + szToURL: LPCWSTR, + pSecMgr: *mut IInternetSecurityManager, + dwFlags: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CopyStgMedium(pcstgmedSrc: *const STGMEDIUM, pstgmedDest: *mut STGMEDIUM) -> HRESULT; +} +extern "C" { + pub fn CopyBindInfo(pcbiSrc: *const BINDINFO, pbiDest: *mut BINDINFO) -> HRESULT; +} +extern "C" { + pub fn ReleaseBindInfo(pbindinfo: *mut BINDINFO); +} +extern "C" { + pub fn IEGetUserPrivateNamespaceName() -> PWSTR; +} +extern "C" { + pub fn CoInternetCreateSecurityManager( + pSP: *mut IServiceProvider, + ppSM: *mut *mut IInternetSecurityManager, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn CoInternetCreateZoneManager( + pSP: *mut IServiceProvider, + ppZM: *mut *mut IInternetZoneManager, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub static CLSID_InternetSecurityManager: IID; +} +extern "C" { + pub static CLSID_InternetZoneManager: IID; +} +extern "C" { + pub static CLSID_PersistentZoneIdentifier: IID; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0037_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0037_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetSecurityMgrSite: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityMgrSiteVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityMgrSite, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetWindow: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetSecurityMgrSite, phwnd: *mut HWND) -> HRESULT, + >, + pub EnableModeless: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetSecurityMgrSite, fEnable: BOOL) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSecurityMgrSiteVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IInternetSecurityMgrSiteVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityMgrSiteVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWindow) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(GetWindow) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EnableModeless) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSiteVtbl), + "::", + stringify!(EnableModeless) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityMgrSite { + pub lpVtbl: *mut IInternetSecurityMgrSiteVtbl, +} +#[test] +fn bindgen_test_layout_IInternetSecurityMgrSite() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSecurityMgrSite)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityMgrSite)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityMgrSite), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0038_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0038_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DEFAULT: __MIDL_IInternetSecurityManager_0001 = + 0; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_NOUI: __MIDL_IInternetSecurityManager_0001 = 1; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_ISFILE: __MIDL_IInternetSecurityManager_0001 = + 2; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_WARN_IF_DENIED: + __MIDL_IInternetSecurityManager_0001 = 4; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_FORCEUI_FOREGROUND: + __MIDL_IInternetSecurityManager_0001 = 8; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_CHECK_TIFS: + __MIDL_IInternetSecurityManager_0001 = 16; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DONTCHECKBOXINDIALOG: + __MIDL_IInternetSecurityManager_0001 = 32; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_TRUSTED: __MIDL_IInternetSecurityManager_0001 = + 64; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_ACCEPT_WILDCARD_SCHEME: + __MIDL_IInternetSecurityManager_0001 = 128; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_ENFORCERESTRICTED: + __MIDL_IInternetSecurityManager_0001 = 256; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_NOSAVEDFILECHECK: + __MIDL_IInternetSecurityManager_0001 = 512; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_REQUIRESAVEDFILECHECK: + __MIDL_IInternetSecurityManager_0001 = 1024; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DONT_USE_CACHE: + __MIDL_IInternetSecurityManager_0001 = 4096; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_RESERVED1: + __MIDL_IInternetSecurityManager_0001 = 8192; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_RESERVED2: + __MIDL_IInternetSecurityManager_0001 = 16384; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_LMZ_UNLOCKED: + __MIDL_IInternetSecurityManager_0001 = 65536; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_LMZ_LOCKED: + __MIDL_IInternetSecurityManager_0001 = 131072; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DEFAULTZONEPOL: + __MIDL_IInternetSecurityManager_0001 = 262144; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_NPL_USE_LOCKED_IF_RESTRICTED: + __MIDL_IInternetSecurityManager_0001 = 524288; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_NOUIIFLOCKED: + __MIDL_IInternetSecurityManager_0001 = 1048576; +pub const __MIDL_IInternetSecurityManager_0001_PUAF_DRAGPROTOCOLCHECK: + __MIDL_IInternetSecurityManager_0001 = 2097152; +pub type __MIDL_IInternetSecurityManager_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IInternetSecurityManager_0001 as PUAF; +pub const __MIDL_IInternetSecurityManager_0002_PUAFOUT_DEFAULT: + __MIDL_IInternetSecurityManager_0002 = 0; +pub const __MIDL_IInternetSecurityManager_0002_PUAFOUT_ISLOCKZONEPOLICY: + __MIDL_IInternetSecurityManager_0002 = 1; +pub type __MIDL_IInternetSecurityManager_0002 = ::std::os::raw::c_int; +pub use self::__MIDL_IInternetSecurityManager_0002 as PUAFOUT; +pub const __MIDL_IInternetSecurityManager_0003_SZM_CREATE: __MIDL_IInternetSecurityManager_0003 = 0; +pub const __MIDL_IInternetSecurityManager_0003_SZM_DELETE: __MIDL_IInternetSecurityManager_0003 = 1; +pub type __MIDL_IInternetSecurityManager_0003 = ::std::os::raw::c_int; +pub use self::__MIDL_IInternetSecurityManager_0003 as SZM_FLAGS; +extern "C" { + pub static IID_IInternetSecurityManager: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pSite: *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub GetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + ppSite: *mut *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub MapUrlToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pwszUrl: LPCWSTR, + pdwZone: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pwszUrl: LPCWSTR, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub ProcessUrlAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub QueryCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + pwszUrl: LPCWSTR, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub SetZoneMapping: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + dwZone: DWORD, + lpszPattern: LPCWSTR, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneMappings: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManager, + dwZone: DWORD, + ppenumString: *mut *mut IEnumString, + dwFlags: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSecuritySite) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(SetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecuritySite) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(GetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MapUrlToZone) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(MapUrlToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(GetSecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlAction) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(ProcessUrlAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(QueryCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneMapping) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(SetZoneMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneMappings) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerVtbl), + "::", + stringify!(GetZoneMappings) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManager { + pub lpVtbl: *mut IInternetSecurityManagerVtbl, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManager() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSecurityManager)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManager)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManager), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0039_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0039_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetSecurityManagerEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub SetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pSite: *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub GetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + ppSite: *mut *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub MapUrlToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + pdwZone: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub ProcessUrlAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub QueryCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub SetZoneMapping: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + dwZone: DWORD, + lpszPattern: LPCWSTR, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneMappings: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + dwZone: DWORD, + ppenumString: *mut *mut IEnumString, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub ProcessUrlActionEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + pdwOutFlags: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSecuritySite) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(SetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecuritySite) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(GetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MapUrlToZone) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(MapUrlToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(GetSecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlAction) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(ProcessUrlAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(QueryCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneMapping) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(SetZoneMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneMappings) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(GetZoneMappings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlActionEx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerExVtbl), + "::", + stringify!(ProcessUrlActionEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerEx { + pub lpVtbl: *mut IInternetSecurityManagerExVtbl, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerEx() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0040_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0040_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetSecurityManagerEx2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerEx2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetSecurityManagerEx2) -> ULONG, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetSecurityManagerEx2) -> ULONG, + >, + pub SetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pSite: *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub GetSecuritySite: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + ppSite: *mut *mut IInternetSecurityMgrSite, + ) -> HRESULT, + >, + pub MapUrlToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + pdwZone: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub ProcessUrlAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub QueryCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub SetZoneMapping: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + dwZone: DWORD, + lpszPattern: LPCWSTR, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneMappings: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + dwZone: DWORD, + ppenumString: *mut *mut IEnumString, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub ProcessUrlActionEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pwszUrl: LPCWSTR, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + pdwOutFlags: *mut DWORD, + ) -> HRESULT, + >, + pub MapUrlToZoneEx2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pUri: *mut IUri, + pdwZone: *mut DWORD, + dwFlags: DWORD, + ppwszMappedUrl: *mut LPWSTR, + pdwOutFlags: *mut DWORD, + ) -> HRESULT, + >, + pub ProcessUrlActionEx2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pUri: *mut IUri, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD_PTR, + pdwOutFlags: *mut DWORD, + ) -> HRESULT, + >, + pub GetSecurityIdEx2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pUri: *mut IUri, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub QueryCustomPolicyEx2: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetSecurityManagerEx2, + pUri: *mut IUri, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerEx2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerEx2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerEx2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetSecuritySite) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(SetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecuritySite) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(GetSecuritySite) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MapUrlToZone) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(MapUrlToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(GetSecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlAction) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(ProcessUrlAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(QueryCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneMapping) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(SetZoneMapping) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneMappings) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(GetZoneMappings) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlActionEx) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(ProcessUrlActionEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MapUrlToZoneEx2) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(MapUrlToZoneEx2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlActionEx2) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(ProcessUrlActionEx2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityIdEx2) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(GetSecurityIdEx2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicyEx2) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2Vtbl), + "::", + stringify!(QueryCustomPolicyEx2) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetSecurityManagerEx2 { + pub lpVtbl: *mut IInternetSecurityManagerEx2Vtbl, +} +#[test] +fn bindgen_test_layout_IInternetSecurityManagerEx2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetSecurityManagerEx2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetSecurityManagerEx2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetSecurityManagerEx2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0041_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0041_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IZoneIdentifier: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IZoneIdentifierVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IZoneIdentifier, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier, pdwZone: *mut DWORD) -> HRESULT, + >, + pub SetId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier, dwZone: DWORD) -> HRESULT, + >, + pub Remove: ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IZoneIdentifierVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IZoneIdentifierVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IZoneIdentifierVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(GetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(SetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifierVtbl), + "::", + stringify!(Remove) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IZoneIdentifier { + pub lpVtbl: *mut IZoneIdentifierVtbl, +} +#[test] +fn bindgen_test_layout_IZoneIdentifier() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IZoneIdentifier)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IZoneIdentifier)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0042_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0042_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IZoneIdentifier2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IZoneIdentifier2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IZoneIdentifier2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, pdwZone: *mut DWORD) -> HRESULT, + >, + pub SetId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, dwZone: DWORD) -> HRESULT, + >, + pub Remove: ::std::option::Option HRESULT>, + pub GetLastWriterPackageFamilyName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IZoneIdentifier2, + packageFamilyName: *mut LPWSTR, + ) -> HRESULT, + >, + pub SetLastWriterPackageFamilyName: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, packageFamilyName: LPCWSTR) -> HRESULT, + >, + pub RemoveLastWriterPackageFamilyName: + ::std::option::Option HRESULT>, + pub GetAppZoneId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, zone: *mut DWORD) -> HRESULT, + >, + pub SetAppZoneId: ::std::option::Option< + unsafe extern "C" fn(This: *mut IZoneIdentifier2, zone: DWORD) -> HRESULT, + >, + pub RemoveAppZoneId: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IZoneIdentifier2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(IZoneIdentifier2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IZoneIdentifier2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(GetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(SetId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Remove) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(Remove) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).GetLastWriterPackageFamilyName) as usize - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(GetLastWriterPackageFamilyName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).SetLastWriterPackageFamilyName) as usize - ptr as usize + }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(SetLastWriterPackageFamilyName) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).RemoveLastWriterPackageFamilyName) as usize - ptr as usize + }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(RemoveLastWriterPackageFamilyName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetAppZoneId) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(GetAppZoneId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetAppZoneId) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(SetAppZoneId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoveAppZoneId) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2Vtbl), + "::", + stringify!(RemoveAppZoneId) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IZoneIdentifier2 { + pub lpVtbl: *mut IZoneIdentifier2Vtbl, +} +#[test] +fn bindgen_test_layout_IZoneIdentifier2() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IZoneIdentifier2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IZoneIdentifier2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IZoneIdentifier2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0043_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0043_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetHostSecurityManager: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetHostSecurityManagerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetHostSecurityManager, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetHostSecurityManager) -> ULONG, + >, + pub Release: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetHostSecurityManager) -> ULONG, + >, + pub GetSecurityId: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetHostSecurityManager, + pbSecurityId: *mut BYTE, + pcbSecurityId: *mut DWORD, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, + pub ProcessUrlAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetHostSecurityManager, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwFlags: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub QueryCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetHostSecurityManager, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + pContext: *mut BYTE, + cbContext: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetHostSecurityManagerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IInternetHostSecurityManagerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!( + "Alignment of ", + stringify!(IInternetHostSecurityManagerVtbl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetSecurityId) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(GetSecurityId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessUrlAction) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(ProcessUrlAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryCustomPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManagerVtbl), + "::", + stringify!(QueryCustomPolicy) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetHostSecurityManager { + pub lpVtbl: *mut IInternetHostSecurityManagerVtbl, +} +#[test] +fn bindgen_test_layout_IInternetHostSecurityManager() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetHostSecurityManager)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetHostSecurityManager)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetHostSecurityManager), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static GUID_CUSTOM_LOCALMACHINEZONEUNLOCKED: GUID; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0044_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0044_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPURLZONEMANAGER = *mut IInternetZoneManager; +pub const tagURLZONE_URLZONE_INVALID: tagURLZONE = -1; +pub const tagURLZONE_URLZONE_PREDEFINED_MIN: tagURLZONE = 0; +pub const tagURLZONE_URLZONE_LOCAL_MACHINE: tagURLZONE = 0; +pub const tagURLZONE_URLZONE_INTRANET: tagURLZONE = 1; +pub const tagURLZONE_URLZONE_TRUSTED: tagURLZONE = 2; +pub const tagURLZONE_URLZONE_INTERNET: tagURLZONE = 3; +pub const tagURLZONE_URLZONE_UNTRUSTED: tagURLZONE = 4; +pub const tagURLZONE_URLZONE_PREDEFINED_MAX: tagURLZONE = 999; +pub const tagURLZONE_URLZONE_USER_MIN: tagURLZONE = 1000; +pub const tagURLZONE_URLZONE_USER_MAX: tagURLZONE = 10000; +pub type tagURLZONE = ::std::os::raw::c_int; +pub use self::tagURLZONE as URLZONE; +pub const tagURLTEMPLATE_URLTEMPLATE_CUSTOM: tagURLTEMPLATE = 0; +pub const tagURLTEMPLATE_URLTEMPLATE_PREDEFINED_MIN: tagURLTEMPLATE = 65536; +pub const tagURLTEMPLATE_URLTEMPLATE_LOW: tagURLTEMPLATE = 65536; +pub const tagURLTEMPLATE_URLTEMPLATE_MEDLOW: tagURLTEMPLATE = 66816; +pub const tagURLTEMPLATE_URLTEMPLATE_MEDIUM: tagURLTEMPLATE = 69632; +pub const tagURLTEMPLATE_URLTEMPLATE_MEDHIGH: tagURLTEMPLATE = 70912; +pub const tagURLTEMPLATE_URLTEMPLATE_HIGH: tagURLTEMPLATE = 73728; +pub const tagURLTEMPLATE_URLTEMPLATE_PREDEFINED_MAX: tagURLTEMPLATE = 131072; +pub type tagURLTEMPLATE = ::std::os::raw::c_int; +pub use self::tagURLTEMPLATE as URLTEMPLATE; +pub const __MIDL_IInternetZoneManager_0001_MAX_ZONE_PATH: __MIDL_IInternetZoneManager_0001 = 260; +pub const __MIDL_IInternetZoneManager_0001_MAX_ZONE_DESCRIPTION: __MIDL_IInternetZoneManager_0001 = + 200; +pub type __MIDL_IInternetZoneManager_0001 = ::std::os::raw::c_int; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_CUSTOM_EDIT: __MIDL_IInternetZoneManager_0002 = + 1; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_ADD_SITES: __MIDL_IInternetZoneManager_0002 = 2; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_REQUIRE_VERIFICATION: + __MIDL_IInternetZoneManager_0002 = 4; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_INCLUDE_PROXY_OVERRIDE: + __MIDL_IInternetZoneManager_0002 = 8; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_INCLUDE_INTRANET_SITES: + __MIDL_IInternetZoneManager_0002 = 16; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_NO_UI: __MIDL_IInternetZoneManager_0002 = 32; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_SUPPORTS_VERIFICATION: + __MIDL_IInternetZoneManager_0002 = 64; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_UNC_AS_INTRANET: + __MIDL_IInternetZoneManager_0002 = 128; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_DETECT_INTRANET: + __MIDL_IInternetZoneManager_0002 = 256; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_USE_LOCKED_ZONES: + __MIDL_IInternetZoneManager_0002 = 65536; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_VERIFY_TEMPLATE_SETTINGS: + __MIDL_IInternetZoneManager_0002 = 131072; +pub const __MIDL_IInternetZoneManager_0002_ZAFLAGS_NO_CACHE: __MIDL_IInternetZoneManager_0002 = + 262144; +pub type __MIDL_IInternetZoneManager_0002 = ::std::os::raw::c_int; +pub use self::__MIDL_IInternetZoneManager_0002 as ZAFLAGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ZONEATTRIBUTES { + pub cbSize: ULONG, + pub szDisplayName: [WCHAR; 260usize], + pub szDescription: [WCHAR; 200usize], + pub szIconPath: [WCHAR; 260usize], + pub dwTemplateMinLevel: DWORD, + pub dwTemplateRecommended: DWORD, + pub dwTemplateCurrentLevel: DWORD, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout__ZONEATTRIBUTES() { + const UNINIT: ::std::mem::MaybeUninit<_ZONEATTRIBUTES> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ZONEATTRIBUTES>(), + 1460usize, + concat!("Size of: ", stringify!(_ZONEATTRIBUTES)) + ); + assert_eq!( + ::std::mem::align_of::<_ZONEATTRIBUTES>(), + 4usize, + concat!("Alignment of ", stringify!(_ZONEATTRIBUTES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDisplayName) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(szDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 524usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(szDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szIconPath) as usize - ptr as usize }, + 924usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(szIconPath) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTemplateMinLevel) as usize - ptr as usize }, + 1444usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(dwTemplateMinLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTemplateRecommended) as usize - ptr as usize }, + 1448usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(dwTemplateRecommended) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTemplateCurrentLevel) as usize - ptr as usize }, + 1452usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(dwTemplateCurrentLevel) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 1456usize, + concat!( + "Offset of field: ", + stringify!(_ZONEATTRIBUTES), + "::", + stringify!(dwFlags) + ) + ); +} +pub type ZONEATTRIBUTES = _ZONEATTRIBUTES; +pub type LPZONEATTRIBUTES = *mut _ZONEATTRIBUTES; +pub const _URLZONEREG_URLZONEREG_DEFAULT: _URLZONEREG = 0; +pub const _URLZONEREG_URLZONEREG_HKLM: _URLZONEREG = 1; +pub const _URLZONEREG_URLZONEREG_HKCU: _URLZONEREG = 2; +pub type _URLZONEREG = ::std::os::raw::c_int; +pub use self::_URLZONEREG as URLZONEREG; +extern "C" { + pub static IID_IInternetZoneManager: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub SetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub GetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + guidKey: *const GUID, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub GetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub PromptAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwAction: DWORD, + hwndParent: HWND, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwPromptFlags: DWORD, + ) -> HRESULT, + >, + pub LogAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwAction: DWORD, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwLogFlags: DWORD, + ) -> HRESULT, + >, + pub CreateZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + pdwEnum: *mut DWORD, + pdwCount: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwEnum: DWORD, + dwIndex: DWORD, + pdwZone: *mut DWORD, + ) -> HRESULT, + >, + pub DestroyZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetZoneManager, dwEnum: DWORD) -> HRESULT, + >, + pub CopyTemplatePoliciesToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManager, + dwTemplate: DWORD, + dwZone: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(IInternetZoneManagerVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAttributes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(GetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(SetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneCustomPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(GetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneCustomPolicy) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(SetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicy) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(GetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(SetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromptAction) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(PromptAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAction) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(LogAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateZoneEnumerator) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(CreateZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAt) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(GetZoneAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestroyZoneEnumerator) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(DestroyZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTemplatePoliciesToZone) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerVtbl), + "::", + stringify!(CopyTemplatePoliciesToZone) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManager { + pub lpVtbl: *mut IInternetZoneManagerVtbl, +} +#[test] +fn bindgen_test_layout_IInternetZoneManager() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetZoneManager)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManager)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManager), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0045_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0045_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetZoneManagerEx: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerExVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub SetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub GetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + guidKey: *const GUID, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub GetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub PromptAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwAction: DWORD, + hwndParent: HWND, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwPromptFlags: DWORD, + ) -> HRESULT, + >, + pub LogAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwAction: DWORD, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwLogFlags: DWORD, + ) -> HRESULT, + >, + pub CreateZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + pdwEnum: *mut DWORD, + pdwCount: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwEnum: DWORD, + dwIndex: DWORD, + pdwZone: *mut DWORD, + ) -> HRESULT, + >, + pub DestroyZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetZoneManagerEx, dwEnum: DWORD) -> HRESULT, + >, + pub CopyTemplatePoliciesToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwTemplate: DWORD, + dwZone: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub GetZoneActionPolicyEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub SetZoneActionPolicyEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + dwFlags: DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerExVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(IInternetZoneManagerExVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerExVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAttributes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(SetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneCustomPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneCustomPolicy) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(SetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicy) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(SetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromptAction) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(PromptAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAction) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(LogAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateZoneEnumerator) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(CreateZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAt) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestroyZoneEnumerator) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(DestroyZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTemplatePoliciesToZone) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(CopyTemplatePoliciesToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicyEx) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(GetZoneActionPolicyEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicyEx) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerExVtbl), + "::", + stringify!(SetZoneActionPolicyEx) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerEx { + pub lpVtbl: *mut IInternetZoneManagerExVtbl, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerEx() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetZoneManagerEx)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerEx)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0046_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0046_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IInternetZoneManagerEx2: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerEx2Vtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub SetZoneAttributes: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + ) -> HRESULT, + >, + pub GetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + guidKey: *const GUID, + ppPolicy: *mut *mut BYTE, + pcbPolicy: *mut DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneCustomPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + guidKey: *const GUID, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub GetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub SetZoneActionPolicy: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + ) -> HRESULT, + >, + pub PromptAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwAction: DWORD, + hwndParent: HWND, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwPromptFlags: DWORD, + ) -> HRESULT, + >, + pub LogAction: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwAction: DWORD, + pwszUrl: LPCWSTR, + pwszText: LPCWSTR, + dwLogFlags: DWORD, + ) -> HRESULT, + >, + pub CreateZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + pdwEnum: *mut DWORD, + pdwCount: *mut DWORD, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneAt: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwEnum: DWORD, + dwIndex: DWORD, + pdwZone: *mut DWORD, + ) -> HRESULT, + >, + pub DestroyZoneEnumerator: ::std::option::Option< + unsafe extern "C" fn(This: *mut IInternetZoneManagerEx2, dwEnum: DWORD) -> HRESULT, + >, + pub CopyTemplatePoliciesToZone: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwTemplate: DWORD, + dwZone: DWORD, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub GetZoneActionPolicyEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub SetZoneActionPolicyEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + dwAction: DWORD, + pPolicy: *mut BYTE, + cbPolicy: DWORD, + urlZoneReg: URLZONEREG, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneAttributesEx: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZone: DWORD, + pZoneAttributes: *mut ZONEATTRIBUTES, + dwFlags: DWORD, + ) -> HRESULT, + >, + pub GetZoneSecurityState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + dwZoneIndex: DWORD, + fRespectPolicy: BOOL, + pdwState: LPDWORD, + pfPolicyEncountered: *mut BOOL, + ) -> HRESULT, + >, + pub GetIESecurityState: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IInternetZoneManagerEx2, + fRespectPolicy: BOOL, + pdwState: LPDWORD, + pfPolicyEncountered: *mut BOOL, + fNoCache: BOOL, + ) -> HRESULT, + >, + pub FixUnsecureSettings: + ::std::option::Option HRESULT>, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerEx2Vtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 168usize, + concat!("Size of: ", stringify!(IInternetZoneManagerEx2Vtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerEx2Vtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAttributes) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneAttributes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(SetZoneAttributes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneCustomPolicy) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneCustomPolicy) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(SetZoneCustomPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicy) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicy) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(SetZoneActionPolicy) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PromptAction) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(PromptAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LogAction) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(LogAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CreateZoneEnumerator) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(CreateZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAt) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneAt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestroyZoneEnumerator) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(DestroyZoneEnumerator) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CopyTemplatePoliciesToZone) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(CopyTemplatePoliciesToZone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneActionPolicyEx) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneActionPolicyEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetZoneActionPolicyEx) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(SetZoneActionPolicyEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneAttributesEx) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneAttributesEx) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetZoneSecurityState) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetZoneSecurityState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIESecurityState) as usize - ptr as usize }, + 152usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(GetIESecurityState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FixUnsecureSettings) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2Vtbl), + "::", + stringify!(FixUnsecureSettings) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IInternetZoneManagerEx2 { + pub lpVtbl: *mut IInternetZoneManagerEx2Vtbl, +} +#[test] +fn bindgen_test_layout_IInternetZoneManagerEx2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IInternetZoneManagerEx2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IInternetZoneManagerEx2)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IInternetZoneManagerEx2), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static CLSID_SoftDistExt: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagCODEBASEHOLD { + pub cbSize: ULONG, + pub szDistUnit: LPWSTR, + pub szCodeBase: LPWSTR, + pub dwVersionMS: DWORD, + pub dwVersionLS: DWORD, + pub dwStyle: DWORD, +} +#[test] +fn bindgen_test_layout__tagCODEBASEHOLD() { + const UNINIT: ::std::mem::MaybeUninit<_tagCODEBASEHOLD> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagCODEBASEHOLD>(), + 40usize, + concat!("Size of: ", stringify!(_tagCODEBASEHOLD)) + ); + assert_eq!( + ::std::mem::align_of::<_tagCODEBASEHOLD>(), + 8usize, + concat!("Alignment of ", stringify!(_tagCODEBASEHOLD)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDistUnit) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(szDistUnit) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szCodeBase) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(szCodeBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionMS) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(dwVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersionLS) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(dwVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagCODEBASEHOLD), + "::", + stringify!(dwStyle) + ) + ); +} +pub type CODEBASEHOLD = _tagCODEBASEHOLD; +pub type LPCODEBASEHOLD = *mut _tagCODEBASEHOLD; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagSOFTDISTINFO { + pub cbSize: ULONG, + pub dwFlags: DWORD, + pub dwAdState: DWORD, + pub szTitle: LPWSTR, + pub szAbstract: LPWSTR, + pub szHREF: LPWSTR, + pub dwInstalledVersionMS: DWORD, + pub dwInstalledVersionLS: DWORD, + pub dwUpdateVersionMS: DWORD, + pub dwUpdateVersionLS: DWORD, + pub dwAdvertisedVersionMS: DWORD, + pub dwAdvertisedVersionLS: DWORD, + pub dwReserved: DWORD, +} +#[test] +fn bindgen_test_layout__tagSOFTDISTINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagSOFTDISTINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagSOFTDISTINFO>(), + 72usize, + concat!("Size of: ", stringify!(_tagSOFTDISTINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagSOFTDISTINFO>(), + 8usize, + concat!("Alignment of ", stringify!(_tagSOFTDISTINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAdState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwAdState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTitle) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(szTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szAbstract) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(szAbstract) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szHREF) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(szHREF) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInstalledVersionMS) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwInstalledVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInstalledVersionLS) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwInstalledVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUpdateVersionMS) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwUpdateVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwUpdateVersionLS) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwUpdateVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAdvertisedVersionMS) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwAdvertisedVersionMS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAdvertisedVersionLS) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwAdvertisedVersionLS) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_tagSOFTDISTINFO), + "::", + stringify!(dwReserved) + ) + ); +} +pub type SOFTDISTINFO = _tagSOFTDISTINFO; +pub type LPSOFTDISTINFO = *mut _tagSOFTDISTINFO; +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0047_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0047_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_ISoftDistExt: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISoftDistExtVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub ProcessSoftDist: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + szCDFURL: LPCWSTR, + pSoftDistElement: *mut IXMLElement, + lpsdi: LPSOFTDISTINFO, + ) -> HRESULT, + >, + pub GetFirstCodeBase: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + szCodeBase: *mut LPWSTR, + dwMaxSize: LPDWORD, + ) -> HRESULT, + >, + pub GetNextCodeBase: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + szCodeBase: *mut LPWSTR, + dwMaxSize: LPDWORD, + ) -> HRESULT, + >, + pub AsyncInstallDistributionUnit: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ISoftDistExt, + pbc: *mut IBindCtx, + pvReserved: LPVOID, + flags: DWORD, + lpcbh: LPCODEBASEHOLD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ISoftDistExtVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 56usize, + concat!("Size of: ", stringify!(ISoftDistExtVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISoftDistExtVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProcessSoftDist) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(ProcessSoftDist) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetFirstCodeBase) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(GetFirstCodeBase) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetNextCodeBase) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(GetNextCodeBase) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).AsyncInstallDistributionUnit) as usize - ptr as usize + }, + 48usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExtVtbl), + "::", + stringify!(AsyncInstallDistributionUnit) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ISoftDistExt { + pub lpVtbl: *mut ISoftDistExtVtbl, +} +#[test] +fn bindgen_test_layout_ISoftDistExt() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ISoftDistExt)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ISoftDistExt)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ISoftDistExt), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn GetSoftwareUpdateInfo(szDistUnit: LPCWSTR, psdi: LPSOFTDISTINFO) -> HRESULT; +} +extern "C" { + pub fn SetSoftwareUpdateAdvertisementState( + szDistUnit: LPCWSTR, + dwAdState: DWORD, + dwAdvertisedVersionMS: DWORD, + dwAdvertisedVersionLS: DWORD, + ) -> HRESULT; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0048_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0048_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPCATALOGFILEINFO = *mut ICatalogFileInfo; +extern "C" { + pub static IID_ICatalogFileInfo: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICatalogFileInfoVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICatalogFileInfo, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetCatalogFile: ::std::option::Option< + unsafe extern "C" fn(This: *mut ICatalogFileInfo, ppszCatalogFile: *mut LPSTR) -> HRESULT, + >, + pub GetJavaTrust: ::std::option::Option< + unsafe extern "C" fn( + This: *mut ICatalogFileInfo, + ppJavaTrust: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_ICatalogFileInfoVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(ICatalogFileInfoVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICatalogFileInfoVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCatalogFile) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(GetCatalogFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetJavaTrust) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfoVtbl), + "::", + stringify!(GetJavaTrust) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ICatalogFileInfo { + pub lpVtbl: *mut ICatalogFileInfoVtbl, +} +#[test] +fn bindgen_test_layout_ICatalogFileInfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ICatalogFileInfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ICatalogFileInfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ICatalogFileInfo), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0049_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0049_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPDATAFILTER = *mut IDataFilter; +extern "C" { + pub static IID_IDataFilter: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataFilterVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataFilter, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub DoEncode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataFilter, + dwFlags: DWORD, + lInBufferSize: LONG, + pbInBuffer: *mut BYTE, + lOutBufferSize: LONG, + pbOutBuffer: *mut BYTE, + lInBytesAvailable: LONG, + plInBytesRead: *mut LONG, + plOutBytesWritten: *mut LONG, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub DoDecode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IDataFilter, + dwFlags: DWORD, + lInBufferSize: LONG, + pbInBuffer: *mut BYTE, + lOutBufferSize: LONG, + pbOutBuffer: *mut BYTE, + lInBytesAvailable: LONG, + plInBytesRead: *mut LONG, + plOutBytesWritten: *mut LONG, + dwReserved: DWORD, + ) -> HRESULT, + >, + pub SetEncodingLevel: ::std::option::Option< + unsafe extern "C" fn(This: *mut IDataFilter, dwEncLevel: DWORD) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IDataFilterVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IDataFilterVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataFilterVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DoEncode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(DoEncode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DoDecode) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(DoDecode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SetEncodingLevel) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IDataFilterVtbl), + "::", + stringify!(SetEncodingLevel) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IDataFilter { + pub lpVtbl: *mut IDataFilterVtbl, +} +#[test] +fn bindgen_test_layout_IDataFilter() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IDataFilter)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IDataFilter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IDataFilter), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagPROTOCOLFILTERDATA { + pub cbSize: DWORD, + pub pProtocolSink: *mut IInternetProtocolSink, + pub pProtocol: *mut IInternetProtocol, + pub pUnk: *mut IUnknown, + pub dwFilterFlags: DWORD, +} +#[test] +fn bindgen_test_layout__tagPROTOCOLFILTERDATA() { + const UNINIT: ::std::mem::MaybeUninit<_tagPROTOCOLFILTERDATA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagPROTOCOLFILTERDATA>(), + 40usize, + concat!("Size of: ", stringify!(_tagPROTOCOLFILTERDATA)) + ); + assert_eq!( + ::std::mem::align_of::<_tagPROTOCOLFILTERDATA>(), + 8usize, + concat!("Alignment of ", stringify!(_tagPROTOCOLFILTERDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProtocolSink) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(pProtocolSink) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pProtocol) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(pProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFilterFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOLFILTERDATA), + "::", + stringify!(dwFilterFlags) + ) + ); +} +pub type PROTOCOLFILTERDATA = _tagPROTOCOLFILTERDATA; +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0050_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0050_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPENCODINGFILTERFACTORY = *mut IEncodingFilterFactory; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagDATAINFO { + pub ulTotalSize: ULONG, + pub ulavrPacketSize: ULONG, + pub ulConnectSpeed: ULONG, + pub ulProcessorSpeed: ULONG, +} +#[test] +fn bindgen_test_layout__tagDATAINFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagDATAINFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagDATAINFO>(), + 16usize, + concat!("Size of: ", stringify!(_tagDATAINFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagDATAINFO>(), + 4usize, + concat!("Alignment of ", stringify!(_tagDATAINFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulTotalSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagDATAINFO), + "::", + stringify!(ulTotalSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulavrPacketSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_tagDATAINFO), + "::", + stringify!(ulavrPacketSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulConnectSpeed) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagDATAINFO), + "::", + stringify!(ulConnectSpeed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ulProcessorSpeed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_tagDATAINFO), + "::", + stringify!(ulProcessorSpeed) + ) + ); +} +pub type DATAINFO = _tagDATAINFO; +extern "C" { + pub static IID_IEncodingFilterFactory: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEncodingFilterFactoryVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEncodingFilterFactory, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub FindBestFilter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEncodingFilterFactory, + pwzCodeIn: LPCWSTR, + pwzCodeOut: LPCWSTR, + info: DATAINFO, + ppDF: *mut *mut IDataFilter, + ) -> HRESULT, + >, + pub GetDefaultFilter: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IEncodingFilterFactory, + pwzCodeIn: LPCWSTR, + pwzCodeOut: LPCWSTR, + ppDF: *mut *mut IDataFilter, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IEncodingFilterFactoryVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(IEncodingFilterFactoryVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEncodingFilterFactoryVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FindBestFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(FindBestFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetDefaultFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactoryVtbl), + "::", + stringify!(GetDefaultFilter) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IEncodingFilterFactory { + pub lpVtbl: *mut IEncodingFilterFactoryVtbl, +} +#[test] +fn bindgen_test_layout_IEncodingFilterFactory() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IEncodingFilterFactory)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IEncodingFilterFactory)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IEncodingFilterFactory), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub fn IsLoggingEnabledA(pszUrl: LPCSTR) -> BOOL; +} +extern "C" { + pub fn IsLoggingEnabledW(pwszUrl: LPCWSTR) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagHIT_LOGGING_INFO { + pub dwStructSize: DWORD, + pub lpszLoggedUrlName: LPSTR, + pub StartTime: SYSTEMTIME, + pub EndTime: SYSTEMTIME, + pub lpszExtendedInfo: LPSTR, +} +#[test] +fn bindgen_test_layout__tagHIT_LOGGING_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_tagHIT_LOGGING_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagHIT_LOGGING_INFO>(), + 56usize, + concat!("Size of: ", stringify!(_tagHIT_LOGGING_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_tagHIT_LOGGING_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_tagHIT_LOGGING_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(dwStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszLoggedUrlName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(lpszLoggedUrlName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).StartTime) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(StartTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).EndTime) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(EndTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszExtendedInfo) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_tagHIT_LOGGING_INFO), + "::", + stringify!(lpszExtendedInfo) + ) + ); +} +pub type HIT_LOGGING_INFO = _tagHIT_LOGGING_INFO; +pub type LPHIT_LOGGING_INFO = *mut _tagHIT_LOGGING_INFO; +extern "C" { + pub fn WriteHitLogging(lpLogginginfo: LPHIT_LOGGING_INFO) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct CONFIRMSAFETY { + pub clsid: CLSID, + pub pUnk: *mut IUnknown, + pub dwFlags: DWORD, +} +#[test] +fn bindgen_test_layout_CONFIRMSAFETY() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(CONFIRMSAFETY)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(CONFIRMSAFETY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).clsid) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(CONFIRMSAFETY), + "::", + stringify!(clsid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pUnk) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(CONFIRMSAFETY), + "::", + stringify!(pUnk) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(CONFIRMSAFETY), + "::", + stringify!(dwFlags) + ) + ); +} +extern "C" { + pub static GUID_CUSTOM_CONFIRMOBJECTSAFETY: GUID; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0051_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0051_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPIWRAPPEDPROTOCOL = *mut IWrappedProtocol; +extern "C" { + pub static IID_IWrappedProtocol: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWrappedProtocolVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWrappedProtocol, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetWrapperCode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IWrappedProtocol, + pnCode: *mut LONG, + dwReserved: DWORD_PTR, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IWrappedProtocolVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IWrappedProtocolVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWrappedProtocolVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocolVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocolVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocolVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetWrapperCode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocolVtbl), + "::", + stringify!(GetWrapperCode) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IWrappedProtocol { + pub lpVtbl: *mut IWrappedProtocolVtbl, +} +#[test] +fn bindgen_test_layout_IWrappedProtocol() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IWrappedProtocol)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IWrappedProtocol)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IWrappedProtocol), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0052_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0052_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPGETBINDHANDLE = *mut IGetBindHandle; +pub const __MIDL_IGetBindHandle_0001_BINDHANDLETYPES_APPCACHE: __MIDL_IGetBindHandle_0001 = 0; +pub const __MIDL_IGetBindHandle_0001_BINDHANDLETYPES_DEPENDENCY: __MIDL_IGetBindHandle_0001 = 1; +pub const __MIDL_IGetBindHandle_0001_BINDHANDLETYPES_COUNT: __MIDL_IGetBindHandle_0001 = 2; +pub type __MIDL_IGetBindHandle_0001 = ::std::os::raw::c_int; +pub use self::__MIDL_IGetBindHandle_0001 as BINDHANDLETYPES; +extern "C" { + pub static IID_IGetBindHandle: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGetBindHandleVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGetBindHandle, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetBindHandle: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IGetBindHandle, + enumRequestedHandle: BINDHANDLETYPES, + pRetHandle: *mut HANDLE, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IGetBindHandleVtbl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IGetBindHandleVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGetBindHandleVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandleVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandleVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandleVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetBindHandle) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandleVtbl), + "::", + stringify!(GetBindHandle) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IGetBindHandle { + pub lpVtbl: *mut IGetBindHandleVtbl, +} +#[test] +fn bindgen_test_layout_IGetBindHandle() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IGetBindHandle)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IGetBindHandle)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IGetBindHandle), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _tagPROTOCOL_ARGUMENT { + pub szMethod: LPCWSTR, + pub szTargetUrl: LPCWSTR, +} +#[test] +fn bindgen_test_layout__tagPROTOCOL_ARGUMENT() { + const UNINIT: ::std::mem::MaybeUninit<_tagPROTOCOL_ARGUMENT> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_tagPROTOCOL_ARGUMENT>(), + 16usize, + concat!("Size of: ", stringify!(_tagPROTOCOL_ARGUMENT)) + ); + assert_eq!( + ::std::mem::align_of::<_tagPROTOCOL_ARGUMENT>(), + 8usize, + concat!("Alignment of ", stringify!(_tagPROTOCOL_ARGUMENT)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szMethod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOL_ARGUMENT), + "::", + stringify!(szMethod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szTargetUrl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_tagPROTOCOL_ARGUMENT), + "::", + stringify!(szTargetUrl) + ) + ); +} +pub type PROTOCOL_ARGUMENT = _tagPROTOCOL_ARGUMENT; +pub type LPPROTOCOL_ARGUMENT = *mut _tagPROTOCOL_ARGUMENT; +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0053_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0053_v0_0_s_ifspec: RPC_IF_HANDLE; +} +pub type LPBINDCALLBACKREDIRECT = *mut IBindCallbackRedirect; +extern "C" { + pub static IID_IBindCallbackRedirect: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindCallbackRedirectVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindCallbackRedirect, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub Redirect: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindCallbackRedirect, + lpcUrl: LPCWSTR, + vbCancel: *mut VARIANT_BOOL, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindCallbackRedirectVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IBindCallbackRedirectVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindCallbackRedirectVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirectVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirectVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirectVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Redirect) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirectVtbl), + "::", + stringify!(Redirect) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindCallbackRedirect { + pub lpVtbl: *mut IBindCallbackRedirectVtbl, +} +#[test] +fn bindgen_test_layout_IBindCallbackRedirect() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindCallbackRedirect)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindCallbackRedirect)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindCallbackRedirect), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0054_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0054_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static IID_IBindHttpSecurity: IID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindHttpSecurityVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHttpSecurity, + riid: *const IID, + ppvObject: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: ::std::option::Option ULONG>, + pub Release: ::std::option::Option ULONG>, + pub GetIgnoreCertMask: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IBindHttpSecurity, + pdwIgnoreCertMask: *mut DWORD, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IBindHttpSecurityVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(IBindHttpSecurityVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindHttpSecurityVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurityVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurityVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurityVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetIgnoreCertMask) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurityVtbl), + "::", + stringify!(GetIgnoreCertMask) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IBindHttpSecurity { + pub lpVtbl: *mut IBindHttpSecurityVtbl, +} +#[test] +fn bindgen_test_layout_IBindHttpSecurity() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IBindHttpSecurity)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IBindHttpSecurity)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IBindHttpSecurity), + "::", + stringify!(lpVtbl) + ) + ); +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0055_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_urlmon_0000_0055_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn IBinding_GetBindResult_Proxy( + This: *mut IBinding, + pclsidProtocol: *mut CLSID, + pdwResult: *mut DWORD, + pszResult: *mut LPOLESTR, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBinding_GetBindResult_Stub( + This: *mut IBinding, + pclsidProtocol: *mut CLSID, + pdwResult: *mut DWORD, + pszResult: *mut LPOLESTR, + dwReserved: DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_GetBindInfo_Proxy( + This: *mut IBindStatusCallback, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_GetBindInfo_Stub( + This: *mut IBindStatusCallback, + grfBINDF: *mut DWORD, + pbindinfo: *mut RemBINDINFO, + pstgmed: *mut RemSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_OnDataAvailable_Proxy( + This: *mut IBindStatusCallback, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut FORMATETC, + pstgmed: *mut STGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallback_OnDataAvailable_Stub( + This: *mut IBindStatusCallback, + grfBSCF: DWORD, + dwSize: DWORD, + pformatetc: *mut RemFORMATETC, + pstgmed: *mut RemSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallbackEx_GetBindInfoEx_Proxy( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut BINDINFO, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBindStatusCallbackEx_GetBindInfoEx_Stub( + This: *mut IBindStatusCallbackEx, + grfBINDF: *mut DWORD, + pbindinfo: *mut RemBINDINFO, + pstgmed: *mut RemSTGMEDIUM, + grfBINDF2: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetInfo_QueryOption_Proxy( + This: *mut IWinInetInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetInfo_QueryOption_Stub( + This: *mut IWinInetInfo, + dwOption: DWORD, + pBuffer: *mut BYTE, + pcbBuf: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetHttpInfo_QueryInfo_Proxy( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: LPVOID, + pcbBuf: *mut DWORD, + pdwFlags: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IWinInetHttpInfo_QueryInfo_Stub( + This: *mut IWinInetHttpInfo, + dwOption: DWORD, + pBuffer: *mut BYTE, + pcbBuf: *mut DWORD, + pdwFlags: *mut DWORD, + pdwReserved: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_MonikerBindToStorage_Proxy( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_MonikerBindToStorage_Stub( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_MonikerBindToObject_Proxy( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn IBindHost_MonikerBindToObject_Stub( + This: *mut IBindHost, + pMk: *mut IMoniker, + pBC: *mut IBindCtx, + pBSC: *mut IBindStatusCallback, + riid: *const IID, + ppvObj: *mut *mut IUnknown, + ) -> HRESULT; +} +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_NORMAL: PIDMSI_STATUS_VALUE = 0; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_NEW: PIDMSI_STATUS_VALUE = 1; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_PRELIM: PIDMSI_STATUS_VALUE = 2; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_DRAFT: PIDMSI_STATUS_VALUE = 3; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_INPROGRESS: PIDMSI_STATUS_VALUE = 4; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_EDIT: PIDMSI_STATUS_VALUE = 5; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_REVIEW: PIDMSI_STATUS_VALUE = 6; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_PROOF: PIDMSI_STATUS_VALUE = 7; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_FINAL: PIDMSI_STATUS_VALUE = 8; +pub const PIDMSI_STATUS_VALUE_PIDMSI_STATUS_OTHER: PIDMSI_STATUS_VALUE = 32767; +pub type PIDMSI_STATUS_VALUE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSERIALIZEDPROPERTYVALUE { + pub dwType: DWORD, + pub rgb: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout_tagSERIALIZEDPROPERTYVALUE() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagSERIALIZEDPROPERTYVALUE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSERIALIZEDPROPERTYVALUE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALIZEDPROPERTYVALUE), + "::", + stringify!(dwType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgb) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSERIALIZEDPROPERTYVALUE), + "::", + stringify!(rgb) + ) + ); +} +pub type SERIALIZEDPROPERTYVALUE = tagSERIALIZEDPROPERTYVALUE; +extern "C" { + pub fn StgConvertVariantToProperty( + pvar: *const PROPVARIANT, + CodePage: USHORT, + pprop: *mut SERIALIZEDPROPERTYVALUE, + pcb: *mut ULONG, + pid: PROPID, + fReserved: BOOLEAN, + pcIndirect: *mut ULONG, + ) -> *mut SERIALIZEDPROPERTYVALUE; +} +extern "C" { + pub static mut __MIDL_itf_propidl_0000_0004_v0_0_c_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub static mut __MIDL_itf_propidl_0000_0004_v0_0_s_ifspec: RPC_IF_HANDLE; +} +extern "C" { + pub fn CreateStdProgressIndicator( + hwndParent: HWND, + pszTitle: LPCOLESTR, + pIbscCaller: *mut IBindStatusCallback, + ppIbsc: *mut *mut IBindStatusCallback, + ) -> HRESULT; +} +extern "C" { + pub static IID_StdOle: IID; +} +extern "C" { + pub fn SysAllocString(psz: *const OLECHAR) -> BSTR; +} +extern "C" { + pub fn SysReAllocString(pbstr: *mut BSTR, psz: *const OLECHAR) -> INT; +} +extern "C" { + pub fn SysAllocStringLen(strIn: *const OLECHAR, ui: UINT) -> BSTR; +} +extern "C" { + pub fn SysReAllocStringLen( + pbstr: *mut BSTR, + psz: *const OLECHAR, + len: ::std::os::raw::c_uint, + ) -> INT; +} +extern "C" { + pub fn SysAddRefString(bstrString: BSTR) -> HRESULT; +} +extern "C" { + pub fn SysReleaseString(bstrString: BSTR); +} +extern "C" { + pub fn SysFreeString(bstrString: BSTR); +} +extern "C" { + pub fn SysStringLen(pbstr: BSTR) -> UINT; +} +extern "C" { + pub fn SysStringByteLen(bstr: BSTR) -> UINT; +} +extern "C" { + pub fn SysAllocStringByteLen(psz: LPCSTR, len: UINT) -> BSTR; +} +extern "C" { + pub fn DosDateTimeToVariantTime(wDosDate: USHORT, wDosTime: USHORT, pvtime: *mut DOUBLE) + -> INT; +} +extern "C" { + pub fn VariantTimeToDosDateTime( + vtime: DOUBLE, + pwDosDate: *mut USHORT, + pwDosTime: *mut USHORT, + ) -> INT; +} +extern "C" { + pub fn SystemTimeToVariantTime(lpSystemTime: LPSYSTEMTIME, pvtime: *mut DOUBLE) -> INT; +} +extern "C" { + pub fn VariantTimeToSystemTime(vtime: DOUBLE, lpSystemTime: LPSYSTEMTIME) -> INT; +} +extern "C" { + pub fn SafeArrayAllocDescriptor(cDims: UINT, ppsaOut: *mut *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayAllocDescriptorEx( + vt: VARTYPE, + cDims: UINT, + ppsaOut: *mut *mut SAFEARRAY, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArrayAllocData(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayCreate( + vt: VARTYPE, + cDims: UINT, + rgsabound: *mut SAFEARRAYBOUND, + ) -> *mut SAFEARRAY; +} +extern "C" { + pub fn SafeArrayCreateEx( + vt: VARTYPE, + cDims: UINT, + rgsabound: *mut SAFEARRAYBOUND, + pvExtra: PVOID, + ) -> *mut SAFEARRAY; +} +extern "C" { + pub fn SafeArrayCopyData(psaSource: *mut SAFEARRAY, psaTarget: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayReleaseDescriptor(psa: *mut SAFEARRAY); +} +extern "C" { + pub fn SafeArrayDestroyDescriptor(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayReleaseData(pData: PVOID); +} +extern "C" { + pub fn SafeArrayDestroyData(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayAddRef(psa: *mut SAFEARRAY, ppDataToRelease: *mut PVOID) -> HRESULT; +} +extern "C" { + pub fn SafeArrayDestroy(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayRedim(psa: *mut SAFEARRAY, psaboundNew: *mut SAFEARRAYBOUND) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetDim(psa: *mut SAFEARRAY) -> UINT; +} +extern "C" { + pub fn SafeArrayGetElemsize(psa: *mut SAFEARRAY) -> UINT; +} +extern "C" { + pub fn SafeArrayGetUBound(psa: *mut SAFEARRAY, nDim: UINT, plUbound: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetLBound(psa: *mut SAFEARRAY, nDim: UINT, plLbound: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn SafeArrayLock(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayUnlock(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayAccessData( + psa: *mut SAFEARRAY, + ppvData: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArrayUnaccessData(psa: *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetElement( + psa: *mut SAFEARRAY, + rgIndices: *mut LONG, + pv: *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArrayPutElement( + psa: *mut SAFEARRAY, + rgIndices: *mut LONG, + pv: *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArrayCopy(psa: *mut SAFEARRAY, ppsaOut: *mut *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn SafeArrayPtrOfIndex( + psa: *mut SAFEARRAY, + rgIndices: *mut LONG, + ppvData: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn SafeArraySetRecordInfo(psa: *mut SAFEARRAY, prinfo: *mut IRecordInfo) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetRecordInfo(psa: *mut SAFEARRAY, prinfo: *mut *mut IRecordInfo) -> HRESULT; +} +extern "C" { + pub fn SafeArraySetIID(psa: *mut SAFEARRAY, guid: *const GUID) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetIID(psa: *mut SAFEARRAY, pguid: *mut GUID) -> HRESULT; +} +extern "C" { + pub fn SafeArrayGetVartype(psa: *mut SAFEARRAY, pvt: *mut VARTYPE) -> HRESULT; +} +extern "C" { + pub fn SafeArrayCreateVector(vt: VARTYPE, lLbound: LONG, cElements: ULONG) -> *mut SAFEARRAY; +} +extern "C" { + pub fn SafeArrayCreateVectorEx( + vt: VARTYPE, + lLbound: LONG, + cElements: ULONG, + pvExtra: PVOID, + ) -> *mut SAFEARRAY; +} +extern "C" { + pub fn VariantInit(pvarg: *mut VARIANTARG); +} +extern "C" { + pub fn VariantClear(pvarg: *mut VARIANTARG) -> HRESULT; +} +extern "C" { + pub fn VariantCopy(pvargDest: *mut VARIANTARG, pvargSrc: *const VARIANTARG) -> HRESULT; +} +extern "C" { + pub fn VariantCopyInd(pvarDest: *mut VARIANT, pvargSrc: *const VARIANTARG) -> HRESULT; +} +extern "C" { + pub fn VariantChangeType( + pvargDest: *mut VARIANTARG, + pvarSrc: *const VARIANTARG, + wFlags: USHORT, + vt: VARTYPE, + ) -> HRESULT; +} +extern "C" { + pub fn VariantChangeTypeEx( + pvargDest: *mut VARIANTARG, + pvarSrc: *const VARIANTARG, + lcid: LCID, + wFlags: USHORT, + vt: VARTYPE, + ) -> HRESULT; +} +extern "C" { + pub fn VectorFromBstr(bstr: BSTR, ppsa: *mut *mut SAFEARRAY) -> HRESULT; +} +extern "C" { + pub fn BstrFromVector(psa: *mut SAFEARRAY, pbstr: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromI2(sIn: SHORT, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromI4(lIn: LONG, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromI8(i64In: LONG64, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromR4(fltIn: FLOAT, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromR8(dblIn: DOUBLE, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromCy(cyIn: CY, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromDate(dateIn: DATE, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, pbOut: *mut BYTE) + -> HRESULT; +} +extern "C" { + pub fn VarUI1FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromBool(boolIn: VARIANT_BOOL, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromI1(cIn: CHAR, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromUI2(uiIn: USHORT, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromUI4(ulIn: ULONG, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromUI8(ui64In: ULONG64, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarUI1FromDec(pdecIn: *const DECIMAL, pbOut: *mut BYTE) -> HRESULT; +} +extern "C" { + pub fn VarI2FromUI1(bIn: BYTE, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromI4(lIn: LONG, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromI8(i64In: LONG64, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromR4(fltIn: FLOAT, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromR8(dblIn: DOUBLE, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromCy(cyIn: CY, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromDate(dateIn: DATE, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, psOut: *mut SHORT) + -> HRESULT; +} +extern "C" { + pub fn VarI2FromDisp(pdispIn: *mut IDispatch, lcid: LCID, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromBool(boolIn: VARIANT_BOOL, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromI1(cIn: CHAR, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromUI2(uiIn: USHORT, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromUI4(ulIn: ULONG, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromUI8(ui64In: ULONG64, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI2FromDec(pdecIn: *const DECIMAL, psOut: *mut SHORT) -> HRESULT; +} +extern "C" { + pub fn VarI4FromUI1(bIn: BYTE, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromI2(sIn: SHORT, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromI8(i64In: LONG64, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromR4(fltIn: FLOAT, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromR8(dblIn: DOUBLE, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromCy(cyIn: CY, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromDate(dateIn: DATE, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromDisp(pdispIn: *mut IDispatch, lcid: LCID, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromBool(boolIn: VARIANT_BOOL, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromI1(cIn: CHAR, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromUI2(uiIn: USHORT, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromUI4(ulIn: ULONG, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromUI8(ui64In: ULONG64, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI4FromDec(pdecIn: *const DECIMAL, plOut: *mut LONG) -> HRESULT; +} +extern "C" { + pub fn VarI8FromUI1(bIn: BYTE, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromI2(sIn: SHORT, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromR4(fltIn: FLOAT, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromR8(dblIn: DOUBLE, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromCy(cyIn: CY, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromDate(dateIn: DATE, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pi64Out: *mut LONG64, + ) -> HRESULT; +} +extern "C" { + pub fn VarI8FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromBool(boolIn: VARIANT_BOOL, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromI1(cIn: CHAR, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromUI2(uiIn: USHORT, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromUI4(ulIn: ULONG, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromUI8(ui64In: ULONG64, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarI8FromDec(pdecIn: *const DECIMAL, pi64Out: *mut LONG64) -> HRESULT; +} +extern "C" { + pub fn VarR4FromUI1(bIn: BYTE, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromI2(sIn: SHORT, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromI4(lIn: LONG, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromI8(i64In: LONG64, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromR8(dblIn: DOUBLE, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromCy(cyIn: CY, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromDate(dateIn: DATE, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pfltOut: *mut FLOAT, + ) -> HRESULT; +} +extern "C" { + pub fn VarR4FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromBool(boolIn: VARIANT_BOOL, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromI1(cIn: CHAR, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromUI2(uiIn: USHORT, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromUI4(ulIn: ULONG, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromUI8(ui64In: ULONG64, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR4FromDec(pdecIn: *const DECIMAL, pfltOut: *mut FLOAT) -> HRESULT; +} +extern "C" { + pub fn VarR8FromUI1(bIn: BYTE, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromI2(sIn: SHORT, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromI4(lIn: LONG, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromI8(i64In: LONG64, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromR4(fltIn: FLOAT, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromCy(cyIn: CY, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromDate(dateIn: DATE, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pdblOut: *mut DOUBLE, + ) -> HRESULT; +} +extern "C" { + pub fn VarR8FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromBool(boolIn: VARIANT_BOOL, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromI1(cIn: CHAR, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromUI2(uiIn: USHORT, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromUI4(ulIn: ULONG, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromUI8(ui64In: ULONG64, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarR8FromDec(pdecIn: *const DECIMAL, pdblOut: *mut DOUBLE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUI1(bIn: BYTE, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromI2(sIn: SHORT, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromI4(lIn: LONG, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromI8(i64In: LONG64, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromR4(fltIn: FLOAT, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromR8(dblIn: DOUBLE, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromCy(cyIn: CY, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pdateOut: *mut DATE, + ) -> HRESULT; +} +extern "C" { + pub fn VarDateFromDisp(pdispIn: *mut IDispatch, lcid: LCID, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromBool(boolIn: VARIANT_BOOL, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromI1(cIn: CHAR, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUI2(uiIn: USHORT, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUI4(ulIn: ULONG, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUI8(ui64In: ULONG64, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromDec(pdecIn: *const DECIMAL, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarCyFromUI1(bIn: BYTE, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromI2(sIn: SHORT, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromI4(lIn: LONG, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromI8(i64In: LONG64, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromR4(fltIn: FLOAT, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromR8(dblIn: DOUBLE, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromDate(dateIn: DATE, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromDisp(pdispIn: *mut IDispatch, lcid: LCID, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromBool(boolIn: VARIANT_BOOL, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromI1(cIn: CHAR, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromUI2(uiIn: USHORT, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromUI4(ulIn: ULONG, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromUI8(ui64In: ULONG64, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarCyFromDec(pdecIn: *const DECIMAL, pcyOut: *mut CY) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromUI1(bVal: BYTE, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromI2(iVal: SHORT, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromI4(lIn: LONG, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromI8(i64In: LONG64, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) + -> HRESULT; +} +extern "C" { + pub fn VarBstrFromR4(fltIn: FLOAT, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromR8(dblIn: DOUBLE, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) + -> HRESULT; +} +extern "C" { + pub fn VarBstrFromCy(cyIn: CY, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromDate( + dateIn: DATE, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromDisp( + pdispIn: *mut IDispatch, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromBool( + boolIn: VARIANT_BOOL, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromI1(cIn: CHAR, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromUI2(uiIn: USHORT, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) + -> HRESULT; +} +extern "C" { + pub fn VarBstrFromUI4(ulIn: ULONG, lcid: LCID, dwFlags: ULONG, pbstrOut: *mut BSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromUI8( + ui64In: ULONG64, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBstrFromDec( + pdecIn: *const DECIMAL, + lcid: LCID, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromUI1(bIn: BYTE, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromI2(sIn: SHORT, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromI4(lIn: LONG, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromI8(i64In: LONG64, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromR4(fltIn: FLOAT, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromR8(dblIn: DOUBLE, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromDate(dateIn: DATE, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromCy(cyIn: CY, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pboolOut: *mut VARIANT_BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromDisp( + pdispIn: *mut IDispatch, + lcid: LCID, + pboolOut: *mut VARIANT_BOOL, + ) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromI1(cIn: CHAR, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromUI2(uiIn: USHORT, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromUI4(ulIn: ULONG, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromUI8(i64In: ULONG64, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarBoolFromDec(pdecIn: *const DECIMAL, pboolOut: *mut VARIANT_BOOL) -> HRESULT; +} +extern "C" { + pub fn VarI1FromUI1(bIn: BYTE, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromI2(uiIn: SHORT, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromI4(lIn: LONG, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromI8(i64In: LONG64, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromR4(fltIn: FLOAT, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromR8(dblIn: DOUBLE, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromDate(dateIn: DATE, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromCy(cyIn: CY, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromStr(strIn: LPCOLESTR, lcid: LCID, dwFlags: ULONG, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromBool(boolIn: VARIANT_BOOL, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromUI2(uiIn: USHORT, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromUI4(ulIn: ULONG, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromUI8(i64In: ULONG64, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarI1FromDec(pdecIn: *const DECIMAL, pcOut: *mut CHAR) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromUI1(bIn: BYTE, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromI2(uiIn: SHORT, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromI4(lIn: LONG, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromI8(i64In: LONG64, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromR4(fltIn: FLOAT, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromR8(dblIn: DOUBLE, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromDate(dateIn: DATE, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromCy(cyIn: CY, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + puiOut: *mut USHORT, + ) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromDisp(pdispIn: *mut IDispatch, lcid: LCID, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromBool(boolIn: VARIANT_BOOL, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromI1(cIn: CHAR, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromUI4(ulIn: ULONG, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromUI8(i64In: ULONG64, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI2FromDec(pdecIn: *const DECIMAL, puiOut: *mut USHORT) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromUI1(bIn: BYTE, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromI2(uiIn: SHORT, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromI4(lIn: LONG, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromI8(i64In: LONG64, plOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromR4(fltIn: FLOAT, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromR8(dblIn: DOUBLE, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromDate(dateIn: DATE, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromCy(cyIn: CY, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pulOut: *mut ULONG, + ) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromBool(boolIn: VARIANT_BOOL, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromI1(cIn: CHAR, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromUI2(uiIn: USHORT, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromUI8(ui64In: ULONG64, plOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI4FromDec(pdecIn: *const DECIMAL, pulOut: *mut ULONG) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromUI1(bIn: BYTE, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromI2(sIn: SHORT, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromI4(lIn: LONG, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromI8(ui64In: LONG64, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromR4(fltIn: FLOAT, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromR8(dblIn: DOUBLE, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromCy(cyIn: CY, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromDate(dateIn: DATE, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pi64Out: *mut ULONG64, + ) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromDisp(pdispIn: *mut IDispatch, lcid: LCID, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromBool(boolIn: VARIANT_BOOL, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromI1(cIn: CHAR, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromUI2(uiIn: USHORT, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromUI4(ulIn: ULONG, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarUI8FromDec(pdecIn: *const DECIMAL, pi64Out: *mut ULONG64) -> HRESULT; +} +extern "C" { + pub fn VarDecFromUI1(bIn: BYTE, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromI2(uiIn: SHORT, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromI4(lIn: LONG, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromI8(i64In: LONG64, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromR4(fltIn: FLOAT, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromR8(dblIn: DOUBLE, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromDate(dateIn: DATE, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromCy(cyIn: CY, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pdecOut: *mut DECIMAL, + ) -> HRESULT; +} +extern "C" { + pub fn VarDecFromDisp(pdispIn: *mut IDispatch, lcid: LCID, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromBool(boolIn: VARIANT_BOOL, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromI1(cIn: CHAR, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromUI2(uiIn: USHORT, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromUI4(ulIn: ULONG, pdecOut: *mut DECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFromUI8(ui64In: ULONG64, pdecOut: *mut DECIMAL) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NUMPARSE { + pub cDig: INT, + pub dwInFlags: ULONG, + pub dwOutFlags: ULONG, + pub cchUsed: INT, + pub nBaseShift: INT, + pub nPwr10: INT, +} +#[test] +fn bindgen_test_layout_NUMPARSE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(NUMPARSE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(NUMPARSE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDig) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(cDig) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInFlags) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(dwInFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOutFlags) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(dwOutFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cchUsed) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(cchUsed) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nBaseShift) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(nBaseShift) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPwr10) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(NUMPARSE), + "::", + stringify!(nPwr10) + ) + ); +} +extern "C" { + pub fn VarParseNumFromStr( + strIn: LPCOLESTR, + lcid: LCID, + dwFlags: ULONG, + pnumprs: *mut NUMPARSE, + rgbDig: *mut BYTE, + ) -> HRESULT; +} +extern "C" { + pub fn VarNumFromParseNum( + pnumprs: *mut NUMPARSE, + rgbDig: *mut BYTE, + dwVtBits: ULONG, + pvar: *mut VARIANT, + ) -> HRESULT; +} +extern "C" { + pub fn VarAdd(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarAnd(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarCat(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarDiv(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarEqv(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarIdiv(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarImp(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarMod(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarMul(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarOr(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarPow(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarSub(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarXor(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarAbs(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarFix(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarInt(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarNeg(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarNot(pvarIn: LPVARIANT, pvarResult: LPVARIANT) -> HRESULT; +} +extern "C" { + pub fn VarRound( + pvarIn: LPVARIANT, + cDecimals: ::std::os::raw::c_int, + pvarResult: LPVARIANT, + ) -> HRESULT; +} +extern "C" { + pub fn VarCmp(pvarLeft: LPVARIANT, pvarRight: LPVARIANT, lcid: LCID, dwFlags: ULONG) + -> HRESULT; +} +extern "C" { + pub fn VarDecAdd(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecDiv(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecMul(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecSub(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecAbs(pdecIn: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecFix(pdecIn: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecInt(pdecIn: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecNeg(pdecIn: LPDECIMAL, pdecResult: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecRound( + pdecIn: LPDECIMAL, + cDecimals: ::std::os::raw::c_int, + pdecResult: LPDECIMAL, + ) -> HRESULT; +} +extern "C" { + pub fn VarDecCmp(pdecLeft: LPDECIMAL, pdecRight: LPDECIMAL) -> HRESULT; +} +extern "C" { + pub fn VarDecCmpR8(pdecLeft: LPDECIMAL, dblRight: f64) -> HRESULT; +} +extern "C" { + pub fn VarCyAdd(cyLeft: CY, cyRight: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyMul(cyLeft: CY, cyRight: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyMulI4(cyLeft: CY, lRight: LONG, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyMulI8(cyLeft: CY, lRight: LONG64, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCySub(cyLeft: CY, cyRight: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyAbs(cyIn: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyFix(cyIn: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyInt(cyIn: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyNeg(cyIn: CY, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyRound(cyIn: CY, cDecimals: ::std::os::raw::c_int, pcyResult: LPCY) -> HRESULT; +} +extern "C" { + pub fn VarCyCmp(cyLeft: CY, cyRight: CY) -> HRESULT; +} +extern "C" { + pub fn VarCyCmpR8(cyLeft: CY, dblRight: f64) -> HRESULT; +} +extern "C" { + pub fn VarBstrCat(bstrLeft: BSTR, bstrRight: BSTR, pbstrResult: LPBSTR) -> HRESULT; +} +extern "C" { + pub fn VarBstrCmp(bstrLeft: BSTR, bstrRight: BSTR, lcid: LCID, dwFlags: ULONG) -> HRESULT; +} +extern "C" { + pub fn VarR8Pow(dblLeft: f64, dblRight: f64, pdblResult: *mut f64) -> HRESULT; +} +extern "C" { + pub fn VarR4CmpR8(fltLeft: f32, dblRight: f64) -> HRESULT; +} +extern "C" { + pub fn VarR8Round( + dblIn: f64, + cDecimals: ::std::os::raw::c_int, + pdblResult: *mut f64, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct UDATE { + pub st: SYSTEMTIME, + pub wDayOfYear: USHORT, +} +#[test] +fn bindgen_test_layout_UDATE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 18usize, + concat!("Size of: ", stringify!(UDATE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(UDATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).st) as usize - ptr as usize }, + 0usize, + concat!("Offset of field: ", stringify!(UDATE), "::", stringify!(st)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDayOfYear) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(UDATE), + "::", + stringify!(wDayOfYear) + ) + ); +} +extern "C" { + pub fn VarDateFromUdate(pudateIn: *mut UDATE, dwFlags: ULONG, pdateOut: *mut DATE) -> HRESULT; +} +extern "C" { + pub fn VarDateFromUdateEx( + pudateIn: *mut UDATE, + lcid: LCID, + dwFlags: ULONG, + pdateOut: *mut DATE, + ) -> HRESULT; +} +extern "C" { + pub fn VarUdateFromDate(dateIn: DATE, dwFlags: ULONG, pudateOut: *mut UDATE) -> HRESULT; +} +extern "C" { + pub fn GetAltMonthNames(lcid: LCID, prgp: *mut *mut LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn VarFormat( + pvarIn: LPVARIANT, + pstrFormat: LPOLESTR, + iFirstDay: ::std::os::raw::c_int, + iFirstWeek: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatDateTime( + pvarIn: LPVARIANT, + iNamedFormat: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatNumber( + pvarIn: LPVARIANT, + iNumDig: ::std::os::raw::c_int, + iIncLead: ::std::os::raw::c_int, + iUseParens: ::std::os::raw::c_int, + iGroup: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatPercent( + pvarIn: LPVARIANT, + iNumDig: ::std::os::raw::c_int, + iIncLead: ::std::os::raw::c_int, + iUseParens: ::std::os::raw::c_int, + iGroup: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatCurrency( + pvarIn: LPVARIANT, + iNumDig: ::std::os::raw::c_int, + iIncLead: ::std::os::raw::c_int, + iUseParens: ::std::os::raw::c_int, + iGroup: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarWeekdayName( + iWeekday: ::std::os::raw::c_int, + fAbbrev: ::std::os::raw::c_int, + iFirstDay: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarMonthName( + iMonth: ::std::os::raw::c_int, + fAbbrev: ::std::os::raw::c_int, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + ) -> HRESULT; +} +extern "C" { + pub fn VarFormatFromTokens( + pvarIn: LPVARIANT, + pstrFormat: LPOLESTR, + pbTokCur: LPBYTE, + dwFlags: ULONG, + pbstrOut: *mut BSTR, + lcid: LCID, + ) -> HRESULT; +} +extern "C" { + pub fn VarTokenizeFormatString( + pstrFormat: LPOLESTR, + rgbTok: LPBYTE, + cbTok: ::std::os::raw::c_int, + iFirstDay: ::std::os::raw::c_int, + iFirstWeek: ::std::os::raw::c_int, + lcid: LCID, + pcbActual: *mut ::std::os::raw::c_int, + ) -> HRESULT; +} +extern "C" { + pub fn LHashValOfNameSysA(syskind: SYSKIND, lcid: LCID, szName: LPCSTR) -> ULONG; +} +extern "C" { + pub fn LHashValOfNameSys(syskind: SYSKIND, lcid: LCID, szName: *const OLECHAR) -> ULONG; +} +extern "C" { + pub fn LoadTypeLib(szFile: LPCOLESTR, pptlib: *mut *mut ITypeLib) -> HRESULT; +} +pub const tagREGKIND_REGKIND_DEFAULT: tagREGKIND = 0; +pub const tagREGKIND_REGKIND_REGISTER: tagREGKIND = 1; +pub const tagREGKIND_REGKIND_NONE: tagREGKIND = 2; +pub type tagREGKIND = ::std::os::raw::c_int; +pub use self::tagREGKIND as REGKIND; +extern "C" { + pub fn LoadTypeLibEx( + szFile: LPCOLESTR, + regkind: REGKIND, + pptlib: *mut *mut ITypeLib, + ) -> HRESULT; +} +extern "C" { + pub fn LoadRegTypeLib( + rguid: *const GUID, + wVerMajor: WORD, + wVerMinor: WORD, + lcid: LCID, + pptlib: *mut *mut ITypeLib, + ) -> HRESULT; +} +extern "C" { + pub fn QueryPathOfRegTypeLib( + guid: *const GUID, + wMaj: USHORT, + wMin: USHORT, + lcid: LCID, + lpbstrPathName: LPBSTR, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterTypeLib( + ptlib: *mut ITypeLib, + szFullPath: LPCOLESTR, + szHelpDir: LPCOLESTR, + ) -> HRESULT; +} +extern "C" { + pub fn UnRegisterTypeLib( + libID: *const GUID, + wVerMajor: WORD, + wVerMinor: WORD, + lcid: LCID, + syskind: SYSKIND, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterTypeLibForUser( + ptlib: *mut ITypeLib, + szFullPath: *mut OLECHAR, + szHelpDir: *mut OLECHAR, + ) -> HRESULT; +} +extern "C" { + pub fn UnRegisterTypeLibForUser( + libID: *const GUID, + wMajorVerNum: WORD, + wMinorVerNum: WORD, + lcid: LCID, + syskind: SYSKIND, + ) -> HRESULT; +} +extern "C" { + pub fn CreateTypeLib( + syskind: SYSKIND, + szFile: LPCOLESTR, + ppctlib: *mut *mut ICreateTypeLib, + ) -> HRESULT; +} +extern "C" { + pub fn CreateTypeLib2( + syskind: SYSKIND, + szFile: LPCOLESTR, + ppctlib: *mut *mut ICreateTypeLib2, + ) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPARAMDATA { + pub szName: *mut OLECHAR, + pub vt: VARTYPE, +} +#[test] +fn bindgen_test_layout_tagPARAMDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagPARAMDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPARAMDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDATA), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPARAMDATA), + "::", + stringify!(vt) + ) + ); +} +pub type PARAMDATA = tagPARAMDATA; +pub type LPPARAMDATA = *mut tagPARAMDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagMETHODDATA { + pub szName: *mut OLECHAR, + pub ppdata: *mut PARAMDATA, + pub dispid: DISPID, + pub iMeth: UINT, + pub cc: CALLCONV, + pub cArgs: UINT, + pub wFlags: WORD, + pub vtReturn: VARTYPE, +} +#[test] +fn bindgen_test_layout_tagMETHODDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 40usize, + concat!("Size of: ", stringify!(tagMETHODDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagMETHODDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(szName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ppdata) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(ppdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dispid) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(dispid) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMeth) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(iMeth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cc) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(cc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cArgs) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(cArgs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(wFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).vtReturn) as usize - ptr as usize }, + 34usize, + concat!( + "Offset of field: ", + stringify!(tagMETHODDATA), + "::", + stringify!(vtReturn) + ) + ); +} +pub type METHODDATA = tagMETHODDATA; +pub type LPMETHODDATA = *mut tagMETHODDATA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagINTERFACEDATA { + pub pmethdata: *mut METHODDATA, + pub cMembers: UINT, +} +#[test] +fn bindgen_test_layout_tagINTERFACEDATA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagINTERFACEDATA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagINTERFACEDATA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pmethdata) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEDATA), + "::", + stringify!(pmethdata) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cMembers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagINTERFACEDATA), + "::", + stringify!(cMembers) + ) + ); +} +pub type INTERFACEDATA = tagINTERFACEDATA; +pub type LPINTERFACEDATA = *mut tagINTERFACEDATA; +extern "C" { + pub fn DispGetParam( + pdispparams: *mut DISPPARAMS, + position: UINT, + vtTarg: VARTYPE, + pvarResult: *mut VARIANT, + puArgErr: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn DispGetIDsOfNames( + ptinfo: *mut ITypeInfo, + rgszNames: *mut LPOLESTR, + cNames: UINT, + rgdispid: *mut DISPID, + ) -> HRESULT; +} +extern "C" { + pub fn DispInvoke( + _this: *mut ::std::os::raw::c_void, + ptinfo: *mut ITypeInfo, + dispidMember: DISPID, + wFlags: WORD, + pparams: *mut DISPPARAMS, + pvarResult: *mut VARIANT, + pexcepinfo: *mut EXCEPINFO, + puArgErr: *mut UINT, + ) -> HRESULT; +} +extern "C" { + pub fn CreateDispTypeInfo( + pidata: *mut INTERFACEDATA, + lcid: LCID, + pptinfo: *mut *mut ITypeInfo, + ) -> HRESULT; +} +extern "C" { + pub fn CreateStdDispatch( + punkOuter: *mut IUnknown, + pvThis: *mut ::std::os::raw::c_void, + ptinfo: *mut ITypeInfo, + ppunkStdDisp: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn DispCallFunc( + pvInstance: *mut ::std::os::raw::c_void, + oVft: ULONG_PTR, + cc: CALLCONV, + vtReturn: VARTYPE, + cActuals: UINT, + prgvt: *mut VARTYPE, + prgpvarg: *mut *mut VARIANTARG, + pvargResult: *mut VARIANT, + ) -> HRESULT; +} +extern "C" { + pub fn RegisterActiveObject( + punk: *mut IUnknown, + rclsid: *const IID, + dwFlags: DWORD, + pdwRegister: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn RevokeActiveObject( + dwRegister: DWORD, + pvReserved: *mut ::std::os::raw::c_void, + ) -> HRESULT; +} +extern "C" { + pub fn GetActiveObject( + rclsid: *const IID, + pvReserved: *mut ::std::os::raw::c_void, + ppunk: *mut *mut IUnknown, + ) -> HRESULT; +} +extern "C" { + pub fn SetErrorInfo(dwReserved: ULONG, perrinfo: *mut IErrorInfo) -> HRESULT; +} +extern "C" { + pub fn GetErrorInfo(dwReserved: ULONG, pperrinfo: *mut *mut IErrorInfo) -> HRESULT; +} +extern "C" { + pub fn CreateErrorInfo(pperrinfo: *mut *mut ICreateErrorInfo) -> HRESULT; +} +extern "C" { + pub fn GetRecordInfoFromTypeInfo( + pTypeInfo: *mut ITypeInfo, + ppRecInfo: *mut *mut IRecordInfo, + ) -> HRESULT; +} +extern "C" { + pub fn GetRecordInfoFromGuids( + rGuidTypeLib: *const GUID, + uVerMajor: ULONG, + uVerMinor: ULONG, + lcid: LCID, + rGuidTypeInfo: *const GUID, + ppRecInfo: *mut *mut IRecordInfo, + ) -> HRESULT; +} +extern "C" { + pub fn OaBuildVersion() -> ULONG; +} +extern "C" { + pub fn ClearCustData(pCustData: LPCUSTDATA); +} +extern "C" { + pub fn OaEnablePerUserTLibRegistration(); +} +extern "C" { + pub fn OleBuildVersion() -> DWORD; +} +extern "C" { + pub fn WriteFmtUserTypeStg(pstg: LPSTORAGE, cf: CLIPFORMAT, lpszUserType: LPOLESTR) -> HRESULT; +} +extern "C" { + pub fn ReadFmtUserTypeStg( + pstg: LPSTORAGE, + pcf: *mut CLIPFORMAT, + lplpszUserType: *mut LPOLESTR, + ) -> HRESULT; +} +extern "C" { + pub fn OleInitialize(pvReserved: LPVOID) -> HRESULT; +} +extern "C" { + pub fn OleUninitialize(); +} +extern "C" { + pub fn OleQueryLinkFromData(pSrcDataObject: LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleQueryCreateFromData(pSrcDataObject: LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleCreate( + rclsid: *const IID, + riid: *const IID, + renderopt: DWORD, + pFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateEx( + rclsid: *const IID, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateFromData( + pSrcDataObj: LPDATAOBJECT, + riid: *const IID, + renderopt: DWORD, + pFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateFromDataEx( + pSrcDataObj: LPDATAOBJECT, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkFromData( + pSrcDataObj: LPDATAOBJECT, + riid: *const IID, + renderopt: DWORD, + pFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkFromDataEx( + pSrcDataObj: LPDATAOBJECT, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateStaticFromData( + pSrcDataObj: LPDATAOBJECT, + iid: *const IID, + renderopt: DWORD, + pFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLink( + pmkLinkSrc: LPMONIKER, + riid: *const IID, + renderopt: DWORD, + lpFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkEx( + pmkLinkSrc: LPMONIKER, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkToFile( + lpszFileName: LPCOLESTR, + riid: *const IID, + renderopt: DWORD, + lpFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateLinkToFileEx( + lpszFileName: LPCOLESTR, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateFromFile( + rclsid: *const IID, + lpszFileName: LPCOLESTR, + riid: *const IID, + renderopt: DWORD, + lpFormatEtc: LPFORMATETC, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateFromFileEx( + rclsid: *const IID, + lpszFileName: LPCOLESTR, + riid: *const IID, + dwFlags: DWORD, + renderopt: DWORD, + cFormats: ULONG, + rgAdvf: *mut DWORD, + rgFormatEtc: LPFORMATETC, + lpAdviseSink: *mut IAdviseSink, + rgdwConnection: *mut DWORD, + pClientSite: LPOLECLIENTSITE, + pStg: LPSTORAGE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleLoad( + pStg: LPSTORAGE, + riid: *const IID, + pClientSite: LPOLECLIENTSITE, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleSave(pPS: LPPERSISTSTORAGE, pStg: LPSTORAGE, fSameAsLoad: BOOL) -> HRESULT; +} +extern "C" { + pub fn OleLoadFromStream( + pStm: LPSTREAM, + iidInterface: *const IID, + ppvObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleSaveToStream(pPStm: LPPERSISTSTREAM, pStm: LPSTREAM) -> HRESULT; +} +extern "C" { + pub fn OleSetContainedObject(pUnknown: LPUNKNOWN, fContained: BOOL) -> HRESULT; +} +extern "C" { + pub fn OleNoteObjectVisible(pUnknown: LPUNKNOWN, fVisible: BOOL) -> HRESULT; +} +extern "C" { + pub fn RegisterDragDrop(hwnd: HWND, pDropTarget: LPDROPTARGET) -> HRESULT; +} +extern "C" { + pub fn RevokeDragDrop(hwnd: HWND) -> HRESULT; +} +extern "C" { + pub fn DoDragDrop( + pDataObj: LPDATAOBJECT, + pDropSource: LPDROPSOURCE, + dwOKEffects: DWORD, + pdwEffect: LPDWORD, + ) -> HRESULT; +} +extern "C" { + pub fn OleSetClipboard(pDataObj: LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleGetClipboard(ppDataObj: *mut LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleGetClipboardWithEnterpriseInfo( + dataObject: *mut *mut IDataObject, + dataEnterpriseId: *mut PWSTR, + sourceDescription: *mut PWSTR, + targetDescription: *mut PWSTR, + dataDescription: *mut PWSTR, + ) -> HRESULT; +} +extern "C" { + pub fn OleFlushClipboard() -> HRESULT; +} +extern "C" { + pub fn OleIsCurrentClipboard(pDataObj: LPDATAOBJECT) -> HRESULT; +} +extern "C" { + pub fn OleCreateMenuDescriptor( + hmenuCombined: HMENU, + lpMenuWidths: LPOLEMENUGROUPWIDTHS, + ) -> HOLEMENU; +} +extern "C" { + pub fn OleSetMenuDescriptor( + holemenu: HOLEMENU, + hwndFrame: HWND, + hwndActiveObject: HWND, + lpFrame: LPOLEINPLACEFRAME, + lpActiveObj: LPOLEINPLACEACTIVEOBJECT, + ) -> HRESULT; +} +extern "C" { + pub fn OleDestroyMenuDescriptor(holemenu: HOLEMENU) -> HRESULT; +} +extern "C" { + pub fn OleTranslateAccelerator( + lpFrame: LPOLEINPLACEFRAME, + lpFrameInfo: LPOLEINPLACEFRAMEINFO, + lpmsg: LPMSG, + ) -> HRESULT; +} +extern "C" { + pub fn OleDuplicateData(hSrc: HANDLE, cfFormat: CLIPFORMAT, uiFlags: UINT) -> HANDLE; +} +extern "C" { + pub fn OleDraw( + pUnknown: LPUNKNOWN, + dwAspect: DWORD, + hdcDraw: HDC, + lprcBounds: LPCRECT, + ) -> HRESULT; +} +extern "C" { + pub fn OleRun(pUnknown: LPUNKNOWN) -> HRESULT; +} +extern "C" { + pub fn OleIsRunning(pObject: LPOLEOBJECT) -> BOOL; +} +extern "C" { + pub fn OleLockRunning(pUnknown: LPUNKNOWN, fLock: BOOL, fLastUnlockCloses: BOOL) -> HRESULT; +} +extern "C" { + pub fn ReleaseStgMedium(arg1: LPSTGMEDIUM); +} +extern "C" { + pub fn CreateOleAdviseHolder(ppOAHolder: *mut LPOLEADVISEHOLDER) -> HRESULT; +} +extern "C" { + pub fn OleCreateDefaultHandler( + clsid: *const IID, + pUnkOuter: LPUNKNOWN, + riid: *const IID, + lplpObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn OleCreateEmbeddingHelper( + clsid: *const IID, + pUnkOuter: LPUNKNOWN, + flags: DWORD, + pCF: LPCLASSFACTORY, + riid: *const IID, + lplpObj: *mut LPVOID, + ) -> HRESULT; +} +extern "C" { + pub fn IsAccelerator( + hAccel: HACCEL, + cAccelEntries: ::std::os::raw::c_int, + lpMsg: LPMSG, + lpwCmd: *mut WORD, + ) -> BOOL; +} +extern "C" { + pub fn OleGetIconOfFile(lpszPath: LPOLESTR, fUseFileAsLabel: BOOL) -> HGLOBAL; +} +extern "C" { + pub fn OleGetIconOfClass( + rclsid: *const IID, + lpszLabel: LPOLESTR, + fUseTypeAsLabel: BOOL, + ) -> HGLOBAL; +} +extern "C" { + pub fn OleMetafilePictFromIconAndLabel( + hIcon: HICON, + lpszLabel: LPOLESTR, + lpszSourceFile: LPOLESTR, + iIconIndex: UINT, + ) -> HGLOBAL; +} +extern "C" { + pub fn OleRegGetUserType( + clsid: *const IID, + dwFormOfType: DWORD, + pszUserType: *mut LPOLESTR, + ) -> HRESULT; +} +extern "C" { + pub fn OleRegGetMiscStatus( + clsid: *const IID, + dwAspect: DWORD, + pdwStatus: *mut DWORD, + ) -> HRESULT; +} +extern "C" { + pub fn OleRegEnumFormatEtc( + clsid: *const IID, + dwDirection: DWORD, + ppenum: *mut LPENUMFORMATETC, + ) -> HRESULT; +} +extern "C" { + pub fn OleRegEnumVerbs(clsid: *const IID, ppenum: *mut LPENUMOLEVERB) -> HRESULT; +} +pub type LPOLESTREAM = *mut _OLESTREAM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OLESTREAMVTBL { + pub Get: ::std::option::Option< + unsafe extern "C" fn( + arg1: LPOLESTREAM, + arg2: *mut ::std::os::raw::c_void, + arg3: DWORD, + ) -> DWORD, + >, + pub Put: ::std::option::Option< + unsafe extern "C" fn( + arg1: LPOLESTREAM, + arg2: *const ::std::os::raw::c_void, + arg3: DWORD, + ) -> DWORD, + >, +} +#[test] +fn bindgen_test_layout__OLESTREAMVTBL() { + const UNINIT: ::std::mem::MaybeUninit<_OLESTREAMVTBL> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OLESTREAMVTBL>(), + 16usize, + concat!("Size of: ", stringify!(_OLESTREAMVTBL)) + ); + assert_eq!( + ::std::mem::align_of::<_OLESTREAMVTBL>(), + 8usize, + concat!("Alignment of ", stringify!(_OLESTREAMVTBL)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Get) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OLESTREAMVTBL), + "::", + stringify!(Get) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Put) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_OLESTREAMVTBL), + "::", + stringify!(Put) + ) + ); +} +pub type OLESTREAMVTBL = _OLESTREAMVTBL; +pub type LPOLESTREAMVTBL = *mut OLESTREAMVTBL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OLESTREAM { + pub lpstbl: LPOLESTREAMVTBL, +} +#[test] +fn bindgen_test_layout__OLESTREAM() { + const UNINIT: ::std::mem::MaybeUninit<_OLESTREAM> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OLESTREAM>(), + 8usize, + concat!("Size of: ", stringify!(_OLESTREAM)) + ); + assert_eq!( + ::std::mem::align_of::<_OLESTREAM>(), + 8usize, + concat!("Alignment of ", stringify!(_OLESTREAM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OLESTREAM), + "::", + stringify!(lpstbl) + ) + ); +} +pub type OLESTREAM = _OLESTREAM; +extern "C" { + pub fn OleConvertOLESTREAMToIStorage( + lpolestream: LPOLESTREAM, + pstg: LPSTORAGE, + ptd: *const DVTARGETDEVICE, + ) -> HRESULT; +} +extern "C" { + pub fn OleConvertIStorageToOLESTREAM(pstg: LPSTORAGE, lpolestream: LPOLESTREAM) -> HRESULT; +} +extern "C" { + pub fn OleDoAutoConvert(pStg: LPSTORAGE, pClsidNew: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn OleGetAutoConvert(clsidOld: *const IID, pClsidNew: LPCLSID) -> HRESULT; +} +extern "C" { + pub fn OleSetAutoConvert(clsidOld: *const IID, clsidNew: *const IID) -> HRESULT; +} +extern "C" { + pub fn SetConvertStg(pStg: LPSTORAGE, fConvert: BOOL) -> HRESULT; +} +extern "C" { + pub fn OleConvertIStorageToOLESTREAMEx( + pstg: LPSTORAGE, + cfFormat: CLIPFORMAT, + lWidth: LONG, + lHeight: LONG, + dwSize: DWORD, + pmedium: LPSTGMEDIUM, + polestm: LPOLESTREAM, + ) -> HRESULT; +} +extern "C" { + pub fn OleConvertOLESTREAMToIStorageEx( + polestm: LPOLESTREAM, + pstg: LPSTORAGE, + pcfFormat: *mut CLIPFORMAT, + plwWidth: *mut LONG, + plHeight: *mut LONG, + pdwSize: *mut DWORD, + pmedium: LPSTGMEDIUM, + ) -> HRESULT; +} +extern "C" { + pub static IID_IPrintDialogCallback: GUID; +} +extern "C" { + pub static IID_IPrintDialogServices: GUID; +} +pub type LPOFNHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOFN_NT4A { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpstrFilter: LPCSTR, + pub lpstrCustomFilter: LPSTR, + pub nMaxCustFilter: DWORD, + pub nFilterIndex: DWORD, + pub lpstrFile: LPSTR, + pub nMaxFile: DWORD, + pub lpstrFileTitle: LPSTR, + pub nMaxFileTitle: DWORD, + pub lpstrInitialDir: LPCSTR, + pub lpstrTitle: LPCSTR, + pub Flags: DWORD, + pub nFileOffset: WORD, + pub nFileExtension: WORD, + pub lpstrDefExt: LPCSTR, + pub lCustData: LPARAM, + pub lpfnHook: LPOFNHOOKPROC, + pub lpTemplateName: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagOFN_NT4A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagOFN_NT4A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOFN_NT4A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCustomFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrCustomFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCustFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nMaxCustFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFilterIndex) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nFilterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFile) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nMaxFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFileTitle) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFileTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nMaxFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrInitialDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrInitialDir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileOffset) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileExtension) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(nFileExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDefExt) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpstrDefExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4A), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type OPENFILENAME_NT4A = tagOFN_NT4A; +pub type LPOPENFILENAME_NT4A = *mut tagOFN_NT4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOFN_NT4W { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpstrFilter: LPCWSTR, + pub lpstrCustomFilter: LPWSTR, + pub nMaxCustFilter: DWORD, + pub nFilterIndex: DWORD, + pub lpstrFile: LPWSTR, + pub nMaxFile: DWORD, + pub lpstrFileTitle: LPWSTR, + pub nMaxFileTitle: DWORD, + pub lpstrInitialDir: LPCWSTR, + pub lpstrTitle: LPCWSTR, + pub Flags: DWORD, + pub nFileOffset: WORD, + pub nFileExtension: WORD, + pub lpstrDefExt: LPCWSTR, + pub lCustData: LPARAM, + pub lpfnHook: LPOFNHOOKPROC, + pub lpTemplateName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagOFN_NT4W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagOFN_NT4W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOFN_NT4W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCustomFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrCustomFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCustFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nMaxCustFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFilterIndex) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nFilterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFile) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nMaxFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFileTitle) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFileTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nMaxFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrInitialDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrInitialDir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileOffset) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileExtension) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(nFileExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDefExt) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpstrDefExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagOFN_NT4W), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type OPENFILENAME_NT4W = tagOFN_NT4W; +pub type LPOPENFILENAME_NT4W = *mut tagOFN_NT4W; +pub type OPENFILENAME_NT4 = OPENFILENAME_NT4A; +pub type LPOPENFILENAME_NT4 = LPOPENFILENAME_NT4A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOFNA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpstrFilter: LPCSTR, + pub lpstrCustomFilter: LPSTR, + pub nMaxCustFilter: DWORD, + pub nFilterIndex: DWORD, + pub lpstrFile: LPSTR, + pub nMaxFile: DWORD, + pub lpstrFileTitle: LPSTR, + pub nMaxFileTitle: DWORD, + pub lpstrInitialDir: LPCSTR, + pub lpstrTitle: LPCSTR, + pub Flags: DWORD, + pub nFileOffset: WORD, + pub nFileExtension: WORD, + pub lpstrDefExt: LPCSTR, + pub lCustData: LPARAM, + pub lpfnHook: LPOFNHOOKPROC, + pub lpTemplateName: LPCSTR, + pub pvReserved: *mut ::std::os::raw::c_void, + pub dwReserved: DWORD, + pub FlagsEx: DWORD, +} +#[test] +fn bindgen_test_layout_tagOFNA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagOFNA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOFNA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCustomFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrCustomFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCustFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nMaxCustFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFilterIndex) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nFilterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFile) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nMaxFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFileTitle) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFileTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nMaxFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrInitialDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrInitialDir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileOffset) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileExtension) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(nFileExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDefExt) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpstrDefExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(lpTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvReserved) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(pvReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagsEx) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(tagOFNA), + "::", + stringify!(FlagsEx) + ) + ); +} +pub type OPENFILENAMEA = tagOFNA; +pub type LPOPENFILENAMEA = *mut tagOFNA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagOFNW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub lpstrFilter: LPCWSTR, + pub lpstrCustomFilter: LPWSTR, + pub nMaxCustFilter: DWORD, + pub nFilterIndex: DWORD, + pub lpstrFile: LPWSTR, + pub nMaxFile: DWORD, + pub lpstrFileTitle: LPWSTR, + pub nMaxFileTitle: DWORD, + pub lpstrInitialDir: LPCWSTR, + pub lpstrTitle: LPCWSTR, + pub Flags: DWORD, + pub nFileOffset: WORD, + pub nFileExtension: WORD, + pub lpstrDefExt: LPCWSTR, + pub lCustData: LPARAM, + pub lpfnHook: LPOFNHOOKPROC, + pub lpTemplateName: LPCWSTR, + pub pvReserved: *mut ::std::os::raw::c_void, + pub dwReserved: DWORD, + pub FlagsEx: DWORD, +} +#[test] +fn bindgen_test_layout_tagOFNW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 152usize, + concat!("Size of: ", stringify!(tagOFNW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagOFNW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFilter) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrCustomFilter) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrCustomFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxCustFilter) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nMaxCustFilter) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFilterIndex) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nFilterIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFile) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFile) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nMaxFile) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFileTitle) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxFileTitle) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nMaxFileTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrInitialDir) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrInitialDir) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrTitle) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrTitle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileOffset) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nFileOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFileExtension) as usize - ptr as usize }, + 102usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(nFileExtension) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrDefExt) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpstrDefExt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(lpTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pvReserved) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(pvReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReserved) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(dwReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).FlagsEx) as usize - ptr as usize }, + 148usize, + concat!( + "Offset of field: ", + stringify!(tagOFNW), + "::", + stringify!(FlagsEx) + ) + ); +} +pub type OPENFILENAMEW = tagOFNW; +pub type LPOPENFILENAMEW = *mut tagOFNW; +pub type OPENFILENAME = OPENFILENAMEA; +pub type LPOPENFILENAME = LPOPENFILENAMEA; +extern "C" { + pub fn GetOpenFileNameA(arg1: LPOPENFILENAMEA) -> BOOL; +} +extern "C" { + pub fn GetOpenFileNameW(arg1: LPOPENFILENAMEW) -> BOOL; +} +extern "C" { + pub fn GetSaveFileNameA(arg1: LPOPENFILENAMEA) -> BOOL; +} +extern "C" { + pub fn GetSaveFileNameW(arg1: LPOPENFILENAMEW) -> BOOL; +} +extern "C" { + pub fn GetFileTitleA(arg1: LPCSTR, Buf: LPSTR, cchSize: WORD) -> ::std::os::raw::c_short; +} +extern "C" { + pub fn GetFileTitleW(arg1: LPCWSTR, Buf: LPWSTR, cchSize: WORD) -> ::std::os::raw::c_short; +} +pub type LPCCHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFNOTIFYA { + pub hdr: NMHDR, + pub lpOFN: LPOPENFILENAMEA, + pub pszFile: LPSTR, +} +#[test] +fn bindgen_test_layout__OFNOTIFYA() { + const UNINIT: ::std::mem::MaybeUninit<_OFNOTIFYA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFNOTIFYA>(), + 40usize, + concat!("Size of: ", stringify!(_OFNOTIFYA)) + ); + assert_eq!( + ::std::mem::align_of::<_OFNOTIFYA>(), + 8usize, + concat!("Alignment of ", stringify!(_OFNOTIFYA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYA), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOFN) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYA), + "::", + stringify!(lpOFN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYA), + "::", + stringify!(pszFile) + ) + ); +} +pub type OFNOTIFYA = _OFNOTIFYA; +pub type LPOFNOTIFYA = *mut _OFNOTIFYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFNOTIFYW { + pub hdr: NMHDR, + pub lpOFN: LPOPENFILENAMEW, + pub pszFile: LPWSTR, +} +#[test] +fn bindgen_test_layout__OFNOTIFYW() { + const UNINIT: ::std::mem::MaybeUninit<_OFNOTIFYW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFNOTIFYW>(), + 40usize, + concat!("Size of: ", stringify!(_OFNOTIFYW)) + ); + assert_eq!( + ::std::mem::align_of::<_OFNOTIFYW>(), + 8usize, + concat!("Alignment of ", stringify!(_OFNOTIFYW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYW), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOFN) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYW), + "::", + stringify!(lpOFN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszFile) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYW), + "::", + stringify!(pszFile) + ) + ); +} +pub type OFNOTIFYW = _OFNOTIFYW; +pub type LPOFNOTIFYW = *mut _OFNOTIFYW; +pub type OFNOTIFY = OFNOTIFYA; +pub type LPOFNOTIFY = LPOFNOTIFYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFNOTIFYEXA { + pub hdr: NMHDR, + pub lpOFN: LPOPENFILENAMEA, + pub psf: LPVOID, + pub pidl: LPVOID, +} +#[test] +fn bindgen_test_layout__OFNOTIFYEXA() { + const UNINIT: ::std::mem::MaybeUninit<_OFNOTIFYEXA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFNOTIFYEXA>(), + 48usize, + concat!("Size of: ", stringify!(_OFNOTIFYEXA)) + ); + assert_eq!( + ::std::mem::align_of::<_OFNOTIFYEXA>(), + 8usize, + concat!("Alignment of ", stringify!(_OFNOTIFYEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXA), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOFN) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXA), + "::", + stringify!(lpOFN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).psf) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXA), + "::", + stringify!(psf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pidl) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXA), + "::", + stringify!(pidl) + ) + ); +} +pub type OFNOTIFYEXA = _OFNOTIFYEXA; +pub type LPOFNOTIFYEXA = *mut _OFNOTIFYEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _OFNOTIFYEXW { + pub hdr: NMHDR, + pub lpOFN: LPOPENFILENAMEW, + pub psf: LPVOID, + pub pidl: LPVOID, +} +#[test] +fn bindgen_test_layout__OFNOTIFYEXW() { + const UNINIT: ::std::mem::MaybeUninit<_OFNOTIFYEXW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_OFNOTIFYEXW>(), + 48usize, + concat!("Size of: ", stringify!(_OFNOTIFYEXW)) + ); + assert_eq!( + ::std::mem::align_of::<_OFNOTIFYEXW>(), + 8usize, + concat!("Alignment of ", stringify!(_OFNOTIFYEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXW), + "::", + stringify!(hdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOFN) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXW), + "::", + stringify!(lpOFN) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).psf) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXW), + "::", + stringify!(psf) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pidl) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_OFNOTIFYEXW), + "::", + stringify!(pidl) + ) + ); +} +pub type OFNOTIFYEXW = _OFNOTIFYEXW; +pub type LPOFNOTIFYEXW = *mut _OFNOTIFYEXW; +pub type OFNOTIFYEX = OFNOTIFYEXA; +pub type LPOFNOTIFYEX = LPOFNOTIFYEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHOOSECOLORA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HWND, + pub rgbResult: COLORREF, + pub lpCustColors: *mut COLORREF, + pub Flags: DWORD, + pub lCustData: LPARAM, + pub lpfnHook: LPCCHOOKPROC, + pub lpTemplateName: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagCHOOSECOLORA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagCHOOSECOLORA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCHOOSECOLORA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbResult) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(rgbResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCustColors) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lpCustColors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORA), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type CHOOSECOLORA = tagCHOOSECOLORA; +pub type LPCHOOSECOLORA = *mut tagCHOOSECOLORA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHOOSECOLORW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HWND, + pub rgbResult: COLORREF, + pub lpCustColors: *mut COLORREF, + pub Flags: DWORD, + pub lCustData: LPARAM, + pub lpfnHook: LPCCHOOKPROC, + pub lpTemplateName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagCHOOSECOLORW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(tagCHOOSECOLORW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCHOOSECOLORW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbResult) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(rgbResult) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCustColors) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lpCustColors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSECOLORW), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type CHOOSECOLORW = tagCHOOSECOLORW; +pub type LPCHOOSECOLORW = *mut tagCHOOSECOLORW; +pub type CHOOSECOLOR = CHOOSECOLORA; +pub type LPCHOOSECOLOR = LPCHOOSECOLORA; +extern "C" { + pub fn ChooseColorA(arg1: LPCHOOSECOLORA) -> BOOL; +} +extern "C" { + pub fn ChooseColorW(arg1: LPCHOOSECOLORW) -> BOOL; +} +pub type LPFRHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFINDREPLACEA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub Flags: DWORD, + pub lpstrFindWhat: LPSTR, + pub lpstrReplaceWith: LPSTR, + pub wFindWhatLen: WORD, + pub wReplaceWithLen: WORD, + pub lCustData: LPARAM, + pub lpfnHook: LPFRHOOKPROC, + pub lpTemplateName: LPCSTR, +} +#[test] +fn bindgen_test_layout_tagFINDREPLACEA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagFINDREPLACEA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagFINDREPLACEA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFindWhat) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lpstrFindWhat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReplaceWith) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lpstrReplaceWith) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFindWhatLen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(wFindWhatLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReplaceWithLen) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(wReplaceWithLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEA), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type FINDREPLACEA = tagFINDREPLACEA; +pub type LPFINDREPLACEA = *mut tagFINDREPLACEA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagFINDREPLACEW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hInstance: HINSTANCE, + pub Flags: DWORD, + pub lpstrFindWhat: LPWSTR, + pub lpstrReplaceWith: LPWSTR, + pub wFindWhatLen: WORD, + pub wReplaceWithLen: WORD, + pub lCustData: LPARAM, + pub lpfnHook: LPFRHOOKPROC, + pub lpTemplateName: LPCWSTR, +} +#[test] +fn bindgen_test_layout_tagFINDREPLACEW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 80usize, + concat!("Size of: ", stringify!(tagFINDREPLACEW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagFINDREPLACEW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrFindWhat) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lpstrFindWhat) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpstrReplaceWith) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lpstrReplaceWith) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wFindWhatLen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(wFindWhatLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wReplaceWithLen) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(wReplaceWithLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagFINDREPLACEW), + "::", + stringify!(lpTemplateName) + ) + ); +} +pub type FINDREPLACEW = tagFINDREPLACEW; +pub type LPFINDREPLACEW = *mut tagFINDREPLACEW; +pub type FINDREPLACE = FINDREPLACEA; +pub type LPFINDREPLACE = LPFINDREPLACEA; +extern "C" { + pub fn FindTextA(arg1: LPFINDREPLACEA) -> HWND; +} +extern "C" { + pub fn FindTextW(arg1: LPFINDREPLACEW) -> HWND; +} +extern "C" { + pub fn ReplaceTextA(arg1: LPFINDREPLACEA) -> HWND; +} +extern "C" { + pub fn ReplaceTextW(arg1: LPFINDREPLACEW) -> HWND; +} +pub type LPCFHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHOOSEFONTA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDC: HDC, + pub lpLogFont: LPLOGFONTA, + pub iPointSize: INT, + pub Flags: DWORD, + pub rgbColors: COLORREF, + pub lCustData: LPARAM, + pub lpfnHook: LPCFHOOKPROC, + pub lpTemplateName: LPCSTR, + pub hInstance: HINSTANCE, + pub lpszStyle: LPSTR, + pub nFontType: WORD, + pub ___MISSING_ALIGNMENT__: WORD, + pub nSizeMin: INT, + pub nSizeMax: INT, +} +#[test] +fn bindgen_test_layout_tagCHOOSEFONTA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(tagCHOOSEFONTA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCHOOSEFONTA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLogFont) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lpLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPointSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(iPointSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbColors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(rgbColors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lpTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszStyle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(lpszStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFontType) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(nFontType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).___MISSING_ALIGNMENT__) as usize - ptr as usize }, + 90usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(___MISSING_ALIGNMENT__) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeMin) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(nSizeMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeMax) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTA), + "::", + stringify!(nSizeMax) + ) + ); +} +pub type CHOOSEFONTA = tagCHOOSEFONTA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCHOOSEFONTW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDC: HDC, + pub lpLogFont: LPLOGFONTW, + pub iPointSize: INT, + pub Flags: DWORD, + pub rgbColors: COLORREF, + pub lCustData: LPARAM, + pub lpfnHook: LPCFHOOKPROC, + pub lpTemplateName: LPCWSTR, + pub hInstance: HINSTANCE, + pub lpszStyle: LPWSTR, + pub nFontType: WORD, + pub ___MISSING_ALIGNMENT__: WORD, + pub nSizeMin: INT, + pub nSizeMax: INT, +} +#[test] +fn bindgen_test_layout_tagCHOOSEFONTW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(tagCHOOSEFONTW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagCHOOSEFONTW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLogFont) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lpLogFont) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iPointSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(iPointSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rgbColors) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(rgbColors) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnHook) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lpfnHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpTemplateName) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lpTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszStyle) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(lpszStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFontType) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(nFontType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).___MISSING_ALIGNMENT__) as usize - ptr as usize }, + 90usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(___MISSING_ALIGNMENT__) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeMin) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(nSizeMin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nSizeMax) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagCHOOSEFONTW), + "::", + stringify!(nSizeMax) + ) + ); +} +pub type CHOOSEFONTW = tagCHOOSEFONTW; +pub type CHOOSEFONT = CHOOSEFONTA; +pub type LPCHOOSEFONTA = *mut CHOOSEFONTA; +pub type LPCHOOSEFONTW = *mut CHOOSEFONTW; +pub type LPCHOOSEFONT = LPCHOOSEFONTA; +pub type PCCHOOSEFONTA = *const CHOOSEFONTA; +pub type PCCHOOSEFONTW = *const CHOOSEFONTW; +pub type PCCHOOSEFONT = PCCHOOSEFONTA; +extern "C" { + pub fn ChooseFontA(arg1: LPCHOOSEFONTA) -> BOOL; +} +extern "C" { + pub fn ChooseFontW(arg1: LPCHOOSEFONTW) -> BOOL; +} +pub type LPPRINTHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +pub type LPSETUPHOOKPROC = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPDA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub hDC: HDC, + pub Flags: DWORD, + pub nFromPage: WORD, + pub nToPage: WORD, + pub nMinPage: WORD, + pub nMaxPage: WORD, + pub nCopies: WORD, + pub hInstance: HINSTANCE, + pub lCustData: LPARAM, + pub lpfnPrintHook: LPPRINTHOOKPROC, + pub lpfnSetupHook: LPSETUPHOOKPROC, + pub lpPrintTemplateName: LPCSTR, + pub lpSetupTemplateName: LPCSTR, + pub hPrintTemplate: HGLOBAL, + pub hSetupTemplate: HGLOBAL, +} +#[test] +fn bindgen_test_layout_tagPDA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagPDA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPDA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFromPage) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nFromPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nToPage) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nToPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMinPage) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nMinPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPage) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nMaxPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCopies) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(nCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPrintHook) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lpfnPrintHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnSetupHook) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lpfnSetupHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPrintTemplateName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lpPrintTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSetupTemplateName) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(lpSetupTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPrintTemplate) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hPrintTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSetupTemplate) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPDA), + "::", + stringify!(hSetupTemplate) + ) + ); +} +pub type PRINTDLGA = tagPDA; +pub type LPPRINTDLGA = *mut tagPDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPDW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub hDC: HDC, + pub Flags: DWORD, + pub nFromPage: WORD, + pub nToPage: WORD, + pub nMinPage: WORD, + pub nMaxPage: WORD, + pub nCopies: WORD, + pub hInstance: HINSTANCE, + pub lCustData: LPARAM, + pub lpfnPrintHook: LPPRINTHOOKPROC, + pub lpfnSetupHook: LPSETUPHOOKPROC, + pub lpPrintTemplateName: LPCWSTR, + pub lpSetupTemplateName: LPCWSTR, + pub hPrintTemplate: HGLOBAL, + pub hSetupTemplate: HGLOBAL, +} +#[test] +fn bindgen_test_layout_tagPDW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 120usize, + concat!("Size of: ", stringify!(tagPDW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPDW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFromPage) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nFromPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nToPage) as usize - ptr as usize }, + 46usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nToPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMinPage) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nMinPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPage) as usize - ptr as usize }, + 50usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nMaxPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCopies) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(nCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPrintHook) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lpfnPrintHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnSetupHook) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lpfnSetupHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPrintTemplateName) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lpPrintTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSetupTemplateName) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(lpSetupTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPrintTemplate) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hPrintTemplate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hSetupTemplate) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPDW), + "::", + stringify!(hSetupTemplate) + ) + ); +} +pub type PRINTDLGW = tagPDW; +pub type LPPRINTDLGW = *mut tagPDW; +pub type PRINTDLG = PRINTDLGA; +pub type LPPRINTDLG = LPPRINTDLGA; +extern "C" { + pub fn PrintDlgA(pPD: LPPRINTDLGA) -> BOOL; +} +extern "C" { + pub fn PrintDlgW(pPD: LPPRINTDLGW) -> BOOL; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPrintDialogCallback { + pub lpVtbl: *mut IPrintDialogCallbackVtbl, +} +#[test] +fn bindgen_test_layout_IPrintDialogCallback() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPrintDialogCallback)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPrintDialogCallback)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallback), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPrintDialogCallbackVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogCallback, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub InitDone: + ::std::option::Option HRESULT>, + pub SelectionChange: + ::std::option::Option HRESULT>, + pub HandleMessage: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogCallback, + hDlg: HWND, + uMsg: UINT, + wParam: WPARAM, + lParam: LPARAM, + pResult: *mut LRESULT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPrintDialogCallbackVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IPrintDialogCallbackVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPrintDialogCallbackVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).InitDone) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(InitDone) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SelectionChange) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(SelectionChange) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).HandleMessage) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogCallbackVtbl), + "::", + stringify!(HandleMessage) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPrintDialogServices { + pub lpVtbl: *mut IPrintDialogServicesVtbl, +} +#[test] +fn bindgen_test_layout_IPrintDialogServices() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(IPrintDialogServices)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPrintDialogServices)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVtbl) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServices), + "::", + stringify!(lpVtbl) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct IPrintDialogServicesVtbl { + pub QueryInterface: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogServices, + riid: *const IID, + ppvObj: *mut *mut ::std::os::raw::c_void, + ) -> HRESULT, + >, + pub AddRef: + ::std::option::Option ULONG>, + pub Release: + ::std::option::Option ULONG>, + pub GetCurrentDevMode: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogServices, + pDevMode: LPDEVMODE, + pcbSize: *mut UINT, + ) -> HRESULT, + >, + pub GetCurrentPrinterName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogServices, + pPrinterName: LPWSTR, + pcchSize: *mut UINT, + ) -> HRESULT, + >, + pub GetCurrentPortName: ::std::option::Option< + unsafe extern "C" fn( + This: *mut IPrintDialogServices, + pPortName: LPWSTR, + pcchSize: *mut UINT, + ) -> HRESULT, + >, +} +#[test] +fn bindgen_test_layout_IPrintDialogServicesVtbl() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(IPrintDialogServicesVtbl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(IPrintDialogServicesVtbl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).QueryInterface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(QueryInterface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddRef) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(AddRef) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Release) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(Release) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentDevMode) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(GetCurrentDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentPrinterName) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(GetCurrentPrinterName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).GetCurrentPortName) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(IPrintDialogServicesVtbl), + "::", + stringify!(GetCurrentPortName) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPRINTPAGERANGE { + pub nFromPage: DWORD, + pub nToPage: DWORD, +} +#[test] +fn bindgen_test_layout_tagPRINTPAGERANGE() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagPRINTPAGERANGE)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagPRINTPAGERANGE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nFromPage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPRINTPAGERANGE), + "::", + stringify!(nFromPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nToPage) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagPRINTPAGERANGE), + "::", + stringify!(nToPage) + ) + ); +} +pub type PRINTPAGERANGE = tagPRINTPAGERANGE; +pub type LPPRINTPAGERANGE = *mut PRINTPAGERANGE; +pub type PCPRINTPAGERANGE = *const PRINTPAGERANGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPDEXA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub hDC: HDC, + pub Flags: DWORD, + pub Flags2: DWORD, + pub ExclusionFlags: DWORD, + pub nPageRanges: DWORD, + pub nMaxPageRanges: DWORD, + pub lpPageRanges: LPPRINTPAGERANGE, + pub nMinPage: DWORD, + pub nMaxPage: DWORD, + pub nCopies: DWORD, + pub hInstance: HINSTANCE, + pub lpPrintTemplateName: LPCSTR, + pub lpCallback: LPUNKNOWN, + pub nPropertyPages: DWORD, + pub lphPropertyPages: *mut HPROPSHEETPAGE, + pub nStartPage: DWORD, + pub dwResultAction: DWORD, +} +#[test] +fn bindgen_test_layout_tagPDEXA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagPDEXA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPDEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags2) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(Flags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExclusionFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(ExclusionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPageRanges) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPageRanges) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nMaxPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPageRanges) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lpPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMinPage) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nMinPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPage) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nMaxPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCopies) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPrintTemplateName) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lpPrintTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCallback) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lpCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPropertyPages) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nPropertyPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lphPropertyPages) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(lphPropertyPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResultAction) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXA), + "::", + stringify!(dwResultAction) + ) + ); +} +pub type PRINTDLGEXA = tagPDEXA; +pub type LPPRINTDLGEXA = *mut tagPDEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPDEXW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub hDC: HDC, + pub Flags: DWORD, + pub Flags2: DWORD, + pub ExclusionFlags: DWORD, + pub nPageRanges: DWORD, + pub nMaxPageRanges: DWORD, + pub lpPageRanges: LPPRINTPAGERANGE, + pub nMinPage: DWORD, + pub nMaxPage: DWORD, + pub nCopies: DWORD, + pub hInstance: HINSTANCE, + pub lpPrintTemplateName: LPCWSTR, + pub lpCallback: LPUNKNOWN, + pub nPropertyPages: DWORD, + pub lphPropertyPages: *mut HPROPSHEETPAGE, + pub nStartPage: DWORD, + pub dwResultAction: DWORD, +} +#[test] +fn bindgen_test_layout_tagPDEXW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(tagPDEXW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPDEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDC) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hDC) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags2) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(Flags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ExclusionFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(ExclusionFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPageRanges) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPageRanges) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nMaxPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPageRanges) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lpPageRanges) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMinPage) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nMinPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nMaxPage) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nMaxPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nCopies) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nCopies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPrintTemplateName) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lpPrintTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCallback) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lpCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nPropertyPages) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nPropertyPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lphPropertyPages) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(lphPropertyPages) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).nStartPage) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(nStartPage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResultAction) as usize - ptr as usize }, + 132usize, + concat!( + "Offset of field: ", + stringify!(tagPDEXW), + "::", + stringify!(dwResultAction) + ) + ); +} +pub type PRINTDLGEXW = tagPDEXW; +pub type LPPRINTDLGEXW = *mut tagPDEXW; +pub type PRINTDLGEX = PRINTDLGEXA; +pub type LPPRINTDLGEX = LPPRINTDLGEXA; +extern "C" { + pub fn PrintDlgExA(pPD: LPPRINTDLGEXA) -> HRESULT; +} +extern "C" { + pub fn PrintDlgExW(pPD: LPPRINTDLGEXW) -> HRESULT; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagDEVNAMES { + pub wDriverOffset: WORD, + pub wDeviceOffset: WORD, + pub wOutputOffset: WORD, + pub wDefault: WORD, +} +#[test] +fn bindgen_test_layout_tagDEVNAMES() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(tagDEVNAMES)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(tagDEVNAMES)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDriverOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagDEVNAMES), + "::", + stringify!(wDriverOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDeviceOffset) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(tagDEVNAMES), + "::", + stringify!(wDeviceOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wOutputOffset) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagDEVNAMES), + "::", + stringify!(wOutputOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wDefault) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(tagDEVNAMES), + "::", + stringify!(wDefault) + ) + ); +} +pub type DEVNAMES = tagDEVNAMES; +pub type LPDEVNAMES = *mut DEVNAMES; +pub type PCDEVNAMES = *const DEVNAMES; +extern "C" { + pub fn CommDlgExtendedError() -> DWORD; +} +pub type LPPAGEPAINTHOOK = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +pub type LPPAGESETUPHOOK = ::std::option::Option< + unsafe extern "C" fn(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> UINT_PTR, +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPSDA { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub Flags: DWORD, + pub ptPaperSize: POINT, + pub rtMinMargin: RECT, + pub rtMargin: RECT, + pub hInstance: HINSTANCE, + pub lCustData: LPARAM, + pub lpfnPageSetupHook: LPPAGESETUPHOOK, + pub lpfnPagePaintHook: LPPAGEPAINTHOOK, + pub lpPageSetupTemplateName: LPCSTR, + pub hPageSetupTemplate: HGLOBAL, +} +#[test] +fn bindgen_test_layout_tagPSDA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagPSDA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPSDA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPaperSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(ptPaperSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtMinMargin) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(rtMinMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtMargin) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(rtMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPageSetupHook) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lpfnPageSetupHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPagePaintHook) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lpfnPagePaintHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPageSetupTemplateName) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(lpPageSetupTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPageSetupTemplate) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPSDA), + "::", + stringify!(hPageSetupTemplate) + ) + ); +} +pub type PAGESETUPDLGA = tagPSDA; +pub type LPPAGESETUPDLGA = *mut tagPSDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagPSDW { + pub lStructSize: DWORD, + pub hwndOwner: HWND, + pub hDevMode: HGLOBAL, + pub hDevNames: HGLOBAL, + pub Flags: DWORD, + pub ptPaperSize: POINT, + pub rtMinMargin: RECT, + pub rtMargin: RECT, + pub hInstance: HINSTANCE, + pub lCustData: LPARAM, + pub lpfnPageSetupHook: LPPAGESETUPHOOK, + pub lpfnPagePaintHook: LPPAGEPAINTHOOK, + pub lpPageSetupTemplateName: LPCWSTR, + pub hPageSetupTemplate: HGLOBAL, +} +#[test] +fn bindgen_test_layout_tagPSDW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagPSDW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagPSDW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lStructSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lStructSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hwndOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hwndOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevMode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hDevMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hDevNames) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hDevNames) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Flags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(Flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptPaperSize) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(ptPaperSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtMinMargin) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(rtMinMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtMargin) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(rtMargin) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hInstance) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hInstance) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lCustData) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lCustData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPageSetupHook) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lpfnPageSetupHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnPagePaintHook) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lpfnPagePaintHook) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpPageSetupTemplateName) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(lpPageSetupTemplateName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPageSetupTemplate) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagPSDW), + "::", + stringify!(hPageSetupTemplate) + ) + ); +} +pub type PAGESETUPDLGW = tagPSDW; +pub type LPPAGESETUPDLGW = *mut tagPSDW; +pub type PAGESETUPDLG = PAGESETUPDLGA; +pub type LPPAGESETUPDLG = LPPAGESETUPDLGA; +extern "C" { + pub fn PageSetupDlgA(arg1: LPPAGESETUPDLGA) -> BOOL; +} +extern "C" { + pub fn PageSetupDlgW(arg1: LPPAGESETUPDLGW) -> BOOL; +} +extern "C" { + pub fn uaw_CharUpperW(String: LPUWSTR) -> LPUWSTR; +} +extern "C" { + pub fn uaw_lstrcmpW(String1: PCUWSTR, String2: PCUWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn uaw_lstrcmpiW(String1: PCUWSTR, String2: PCUWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn uaw_lstrlenW(String: LPCUWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn uaw_wcschr(String: PCUWSTR, Character: WCHAR) -> PUWSTR; +} +extern "C" { + pub fn uaw_wcscpy(Destination: PUWSTR, Source: PCUWSTR) -> PUWSTR; +} +extern "C" { + pub fn uaw_wcsicmp(String1: PCUWSTR, String2: PCUWSTR) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn uaw_wcslen(String: PCUWSTR) -> usize; +} +extern "C" { + pub fn uaw_wcsrchr(String: PCUWSTR, Character: WCHAR) -> PUWSTR; +} +pub type PUWSTR_C = *mut WCHAR; +extern "C" { + pub static NETWORK_MANAGER_FIRST_IP_ADDRESS_ARRIVAL_GUID: GUID; +} +extern "C" { + pub static NETWORK_MANAGER_LAST_IP_ADDRESS_REMOVAL_GUID: GUID; +} +extern "C" { + pub static DOMAIN_JOIN_GUID: GUID; +} +extern "C" { + pub static DOMAIN_LEAVE_GUID: GUID; +} +extern "C" { + pub static FIREWALL_PORT_OPEN_GUID: GUID; +} +extern "C" { + pub static FIREWALL_PORT_CLOSE_GUID: GUID; +} +extern "C" { + pub static MACHINE_POLICY_PRESENT_GUID: GUID; +} +extern "C" { + pub static USER_POLICY_PRESENT_GUID: GUID; +} +extern "C" { + pub static RPC_INTERFACE_EVENT_GUID: GUID; +} +extern "C" { + pub static NAMED_PIPE_EVENT_GUID: GUID; +} +extern "C" { + pub static CUSTOM_SYSTEM_STATE_CHANGE_EVENT_GUID: GUID; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SERVICE_TRIGGER_CUSTOM_STATE_ID { + pub Data: [DWORD; 2usize], +} +#[test] +fn bindgen_test_layout_SERVICE_TRIGGER_CUSTOM_STATE_ID() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(SERVICE_TRIGGER_CUSTOM_STATE_ID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SERVICE_TRIGGER_CUSTOM_STATE_ID)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SERVICE_TRIGGER_CUSTOM_STATE_ID), + "::", + stringify!(Data) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM { + pub u: _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1 { + pub CustomStateId: SERVICE_TRIGGER_CUSTOM_STATE_ID, + pub s: _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1 { + pub DataOffset: DWORD, + pub Data: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::< + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, + >(), + 8usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::< + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1, + >(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DataOffset) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(DataOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Data) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(Data) + ) + ); +} +#[test] +fn bindgen_test_layout__SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit< + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1, + > = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1>(), + 8usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).CustomStateId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1), + "::", + stringify!(CustomStateId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM__bindgen_ty_1), + "::", + stringify!(s) + ) + ); +} +#[test] +fn bindgen_test_layout__SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM>(), + 8usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM), + "::", + stringify!(u) + ) + ); +} +pub type SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM = + _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM; +pub type LPSERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM = + *mut _SERVICE_CUSTOM_SYSTEM_STATE_CHANGE_DATA_ITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_DESCRIPTIONA { + pub lpDescription: LPSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_DESCRIPTIONA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_DESCRIPTIONA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_DESCRIPTIONA>(), + 8usize, + concat!("Size of: ", stringify!(_SERVICE_DESCRIPTIONA)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_DESCRIPTIONA>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_DESCRIPTIONA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDescription) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_DESCRIPTIONA), + "::", + stringify!(lpDescription) + ) + ); +} +pub type SERVICE_DESCRIPTIONA = _SERVICE_DESCRIPTIONA; +pub type LPSERVICE_DESCRIPTIONA = *mut _SERVICE_DESCRIPTIONA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_DESCRIPTIONW { + pub lpDescription: LPWSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_DESCRIPTIONW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_DESCRIPTIONW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_DESCRIPTIONW>(), + 8usize, + concat!("Size of: ", stringify!(_SERVICE_DESCRIPTIONW)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_DESCRIPTIONW>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_DESCRIPTIONW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDescription) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_DESCRIPTIONW), + "::", + stringify!(lpDescription) + ) + ); +} +pub type SERVICE_DESCRIPTIONW = _SERVICE_DESCRIPTIONW; +pub type LPSERVICE_DESCRIPTIONW = *mut _SERVICE_DESCRIPTIONW; +pub type SERVICE_DESCRIPTION = SERVICE_DESCRIPTIONA; +pub type LPSERVICE_DESCRIPTION = LPSERVICE_DESCRIPTIONA; +pub const _SC_ACTION_TYPE_SC_ACTION_NONE: _SC_ACTION_TYPE = 0; +pub const _SC_ACTION_TYPE_SC_ACTION_RESTART: _SC_ACTION_TYPE = 1; +pub const _SC_ACTION_TYPE_SC_ACTION_REBOOT: _SC_ACTION_TYPE = 2; +pub const _SC_ACTION_TYPE_SC_ACTION_RUN_COMMAND: _SC_ACTION_TYPE = 3; +pub const _SC_ACTION_TYPE_SC_ACTION_OWN_RESTART: _SC_ACTION_TYPE = 4; +pub type _SC_ACTION_TYPE = ::std::os::raw::c_int; +pub use self::_SC_ACTION_TYPE as SC_ACTION_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SC_ACTION { + pub Type: SC_ACTION_TYPE, + pub Delay: DWORD, +} +#[test] +fn bindgen_test_layout__SC_ACTION() { + const UNINIT: ::std::mem::MaybeUninit<_SC_ACTION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SC_ACTION>(), + 8usize, + concat!("Size of: ", stringify!(_SC_ACTION)) + ); + assert_eq!( + ::std::mem::align_of::<_SC_ACTION>(), + 4usize, + concat!("Alignment of ", stringify!(_SC_ACTION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SC_ACTION), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Delay) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SC_ACTION), + "::", + stringify!(Delay) + ) + ); +} +pub type SC_ACTION = _SC_ACTION; +pub type LPSC_ACTION = *mut _SC_ACTION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_FAILURE_ACTIONSA { + pub dwResetPeriod: DWORD, + pub lpRebootMsg: LPSTR, + pub lpCommand: LPSTR, + pub cActions: DWORD, + pub lpsaActions: *mut SC_ACTION, +} +#[test] +fn bindgen_test_layout__SERVICE_FAILURE_ACTIONSA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_FAILURE_ACTIONSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_FAILURE_ACTIONSA>(), + 40usize, + concat!("Size of: ", stringify!(_SERVICE_FAILURE_ACTIONSA)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_FAILURE_ACTIONSA>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_FAILURE_ACTIONSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResetPeriod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(dwResetPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRebootMsg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(lpRebootMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCommand) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(lpCommand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cActions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(cActions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpsaActions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSA), + "::", + stringify!(lpsaActions) + ) + ); +} +pub type SERVICE_FAILURE_ACTIONSA = _SERVICE_FAILURE_ACTIONSA; +pub type LPSERVICE_FAILURE_ACTIONSA = *mut _SERVICE_FAILURE_ACTIONSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_FAILURE_ACTIONSW { + pub dwResetPeriod: DWORD, + pub lpRebootMsg: LPWSTR, + pub lpCommand: LPWSTR, + pub cActions: DWORD, + pub lpsaActions: *mut SC_ACTION, +} +#[test] +fn bindgen_test_layout__SERVICE_FAILURE_ACTIONSW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_FAILURE_ACTIONSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_FAILURE_ACTIONSW>(), + 40usize, + concat!("Size of: ", stringify!(_SERVICE_FAILURE_ACTIONSW)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_FAILURE_ACTIONSW>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_FAILURE_ACTIONSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwResetPeriod) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(dwResetPeriod) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpRebootMsg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(lpRebootMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpCommand) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(lpCommand) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cActions) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(cActions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpsaActions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONSW), + "::", + stringify!(lpsaActions) + ) + ); +} +pub type SERVICE_FAILURE_ACTIONSW = _SERVICE_FAILURE_ACTIONSW; +pub type LPSERVICE_FAILURE_ACTIONSW = *mut _SERVICE_FAILURE_ACTIONSW; +pub type SERVICE_FAILURE_ACTIONS = SERVICE_FAILURE_ACTIONSA; +pub type LPSERVICE_FAILURE_ACTIONS = LPSERVICE_FAILURE_ACTIONSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_DELAYED_AUTO_START_INFO { + pub fDelayedAutostart: BOOL, +} +#[test] +fn bindgen_test_layout__SERVICE_DELAYED_AUTO_START_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_DELAYED_AUTO_START_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_DELAYED_AUTO_START_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_DELAYED_AUTO_START_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_DELAYED_AUTO_START_INFO>(), + 4usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_DELAYED_AUTO_START_INFO) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fDelayedAutostart) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_DELAYED_AUTO_START_INFO), + "::", + stringify!(fDelayedAutostart) + ) + ); +} +pub type SERVICE_DELAYED_AUTO_START_INFO = _SERVICE_DELAYED_AUTO_START_INFO; +pub type LPSERVICE_DELAYED_AUTO_START_INFO = *mut _SERVICE_DELAYED_AUTO_START_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_FAILURE_ACTIONS_FLAG { + pub fFailureActionsOnNonCrashFailures: BOOL, +} +#[test] +fn bindgen_test_layout__SERVICE_FAILURE_ACTIONS_FLAG() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_FAILURE_ACTIONS_FLAG> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_FAILURE_ACTIONS_FLAG>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_FAILURE_ACTIONS_FLAG)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_FAILURE_ACTIONS_FLAG>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_FAILURE_ACTIONS_FLAG)) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).fFailureActionsOnNonCrashFailures) as usize - ptr as usize + }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_FAILURE_ACTIONS_FLAG), + "::", + stringify!(fFailureActionsOnNonCrashFailures) + ) + ); +} +pub type SERVICE_FAILURE_ACTIONS_FLAG = _SERVICE_FAILURE_ACTIONS_FLAG; +pub type LPSERVICE_FAILURE_ACTIONS_FLAG = *mut _SERVICE_FAILURE_ACTIONS_FLAG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_SID_INFO { + pub dwServiceSidType: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_SID_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_SID_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_SID_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_SID_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_SID_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_SID_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceSidType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_SID_INFO), + "::", + stringify!(dwServiceSidType) + ) + ); +} +pub type SERVICE_SID_INFO = _SERVICE_SID_INFO; +pub type LPSERVICE_SID_INFO = *mut _SERVICE_SID_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_REQUIRED_PRIVILEGES_INFOA { + pub pmszRequiredPrivileges: LPSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_REQUIRED_PRIVILEGES_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_REQUIRED_PRIVILEGES_INFOA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_REQUIRED_PRIVILEGES_INFOA>(), + 8usize, + concat!("Size of: ", stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_REQUIRED_PRIVILEGES_INFOA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pmszRequiredPrivileges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOA), + "::", + stringify!(pmszRequiredPrivileges) + ) + ); +} +pub type SERVICE_REQUIRED_PRIVILEGES_INFOA = _SERVICE_REQUIRED_PRIVILEGES_INFOA; +pub type LPSERVICE_REQUIRED_PRIVILEGES_INFOA = *mut _SERVICE_REQUIRED_PRIVILEGES_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_REQUIRED_PRIVILEGES_INFOW { + pub pmszRequiredPrivileges: LPWSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_REQUIRED_PRIVILEGES_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_REQUIRED_PRIVILEGES_INFOW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_REQUIRED_PRIVILEGES_INFOW>(), + 8usize, + concat!("Size of: ", stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_REQUIRED_PRIVILEGES_INFOW>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pmszRequiredPrivileges) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_REQUIRED_PRIVILEGES_INFOW), + "::", + stringify!(pmszRequiredPrivileges) + ) + ); +} +pub type SERVICE_REQUIRED_PRIVILEGES_INFOW = _SERVICE_REQUIRED_PRIVILEGES_INFOW; +pub type LPSERVICE_REQUIRED_PRIVILEGES_INFOW = *mut _SERVICE_REQUIRED_PRIVILEGES_INFOW; +pub type SERVICE_REQUIRED_PRIVILEGES_INFO = SERVICE_REQUIRED_PRIVILEGES_INFOA; +pub type LPSERVICE_REQUIRED_PRIVILEGES_INFO = LPSERVICE_REQUIRED_PRIVILEGES_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_PRESHUTDOWN_INFO { + pub dwPreshutdownTimeout: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_PRESHUTDOWN_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_PRESHUTDOWN_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_PRESHUTDOWN_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_PRESHUTDOWN_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_PRESHUTDOWN_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_PRESHUTDOWN_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreshutdownTimeout) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_PRESHUTDOWN_INFO), + "::", + stringify!(dwPreshutdownTimeout) + ) + ); +} +pub type SERVICE_PRESHUTDOWN_INFO = _SERVICE_PRESHUTDOWN_INFO; +pub type LPSERVICE_PRESHUTDOWN_INFO = *mut _SERVICE_PRESHUTDOWN_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TRIGGER_SPECIFIC_DATA_ITEM { + pub dwDataType: DWORD, + pub cbData: DWORD, + pub pData: PBYTE, +} +#[test] +fn bindgen_test_layout__SERVICE_TRIGGER_SPECIFIC_DATA_ITEM() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM>(), + 16usize, + concat!("Size of: ", stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDataType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM), + "::", + stringify!(dwDataType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbData) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM), + "::", + stringify!(cbData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pData) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_SPECIFIC_DATA_ITEM), + "::", + stringify!(pData) + ) + ); +} +pub type SERVICE_TRIGGER_SPECIFIC_DATA_ITEM = _SERVICE_TRIGGER_SPECIFIC_DATA_ITEM; +pub type PSERVICE_TRIGGER_SPECIFIC_DATA_ITEM = *mut _SERVICE_TRIGGER_SPECIFIC_DATA_ITEM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TRIGGER { + pub dwTriggerType: DWORD, + pub dwAction: DWORD, + pub pTriggerSubtype: *mut GUID, + pub cDataItems: DWORD, + pub pDataItems: PSERVICE_TRIGGER_SPECIFIC_DATA_ITEM, +} +#[test] +fn bindgen_test_layout__SERVICE_TRIGGER() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TRIGGER> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TRIGGER>(), + 32usize, + concat!("Size of: ", stringify!(_SERVICE_TRIGGER)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TRIGGER>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TRIGGER)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTriggerType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(dwTriggerType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwAction) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(dwAction) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTriggerSubtype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(pTriggerSubtype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cDataItems) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(cDataItems) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pDataItems) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER), + "::", + stringify!(pDataItems) + ) + ); +} +pub type SERVICE_TRIGGER = _SERVICE_TRIGGER; +pub type PSERVICE_TRIGGER = *mut _SERVICE_TRIGGER; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TRIGGER_INFO { + pub cTriggers: DWORD, + pub pTriggers: PSERVICE_TRIGGER, + pub pReserved: PBYTE, +} +#[test] +fn bindgen_test_layout__SERVICE_TRIGGER_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TRIGGER_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TRIGGER_INFO>(), + 24usize, + concat!("Size of: ", stringify!(_SERVICE_TRIGGER_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TRIGGER_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TRIGGER_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cTriggers) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_INFO), + "::", + stringify!(cTriggers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pTriggers) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_INFO), + "::", + stringify!(pTriggers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pReserved) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TRIGGER_INFO), + "::", + stringify!(pReserved) + ) + ); +} +pub type SERVICE_TRIGGER_INFO = _SERVICE_TRIGGER_INFO; +pub type PSERVICE_TRIGGER_INFO = *mut _SERVICE_TRIGGER_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_PREFERRED_NODE_INFO { + pub usPreferredNode: USHORT, + pub fDelete: BOOLEAN, +} +#[test] +fn bindgen_test_layout__SERVICE_PREFERRED_NODE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_PREFERRED_NODE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_PREFERRED_NODE_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_PREFERRED_NODE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_PREFERRED_NODE_INFO>(), + 2usize, + concat!("Alignment of ", stringify!(_SERVICE_PREFERRED_NODE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).usPreferredNode) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_PREFERRED_NODE_INFO), + "::", + stringify!(usPreferredNode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fDelete) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_PREFERRED_NODE_INFO), + "::", + stringify!(fDelete) + ) + ); +} +pub type SERVICE_PREFERRED_NODE_INFO = _SERVICE_PREFERRED_NODE_INFO; +pub type LPSERVICE_PREFERRED_NODE_INFO = *mut _SERVICE_PREFERRED_NODE_INFO; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _SERVICE_TIMECHANGE_INFO { + pub liNewTime: LARGE_INTEGER, + pub liOldTime: LARGE_INTEGER, +} +#[test] +fn bindgen_test_layout__SERVICE_TIMECHANGE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TIMECHANGE_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TIMECHANGE_INFO>(), + 16usize, + concat!("Size of: ", stringify!(_SERVICE_TIMECHANGE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TIMECHANGE_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TIMECHANGE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).liNewTime) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TIMECHANGE_INFO), + "::", + stringify!(liNewTime) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).liOldTime) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TIMECHANGE_INFO), + "::", + stringify!(liOldTime) + ) + ); +} +pub type SERVICE_TIMECHANGE_INFO = _SERVICE_TIMECHANGE_INFO; +pub type PSERVICE_TIMECHANGE_INFO = *mut _SERVICE_TIMECHANGE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_LAUNCH_PROTECTED_INFO { + pub dwLaunchProtected: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_LAUNCH_PROTECTED_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_LAUNCH_PROTECTED_INFO> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_LAUNCH_PROTECTED_INFO>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_LAUNCH_PROTECTED_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_LAUNCH_PROTECTED_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_LAUNCH_PROTECTED_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLaunchProtected) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_LAUNCH_PROTECTED_INFO), + "::", + stringify!(dwLaunchProtected) + ) + ); +} +pub type SERVICE_LAUNCH_PROTECTED_INFO = _SERVICE_LAUNCH_PROTECTED_INFO; +pub type PSERVICE_LAUNCH_PROTECTED_INFO = *mut _SERVICE_LAUNCH_PROTECTED_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SC_HANDLE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_SC_HANDLE__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(SC_HANDLE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SC_HANDLE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SC_HANDLE__), + "::", + stringify!(unused) + ) + ); +} +pub type SC_HANDLE = *mut SC_HANDLE__; +pub type LPSC_HANDLE = *mut SC_HANDLE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct SERVICE_STATUS_HANDLE__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_SERVICE_STATUS_HANDLE__() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(SERVICE_STATUS_HANDLE__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SERVICE_STATUS_HANDLE__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SERVICE_STATUS_HANDLE__), + "::", + stringify!(unused) + ) + ); +} +pub type SERVICE_STATUS_HANDLE = *mut SERVICE_STATUS_HANDLE__; +pub const _SC_STATUS_TYPE_SC_STATUS_PROCESS_INFO: _SC_STATUS_TYPE = 0; +pub type _SC_STATUS_TYPE = ::std::os::raw::c_int; +pub use self::_SC_STATUS_TYPE as SC_STATUS_TYPE; +pub const _SC_ENUM_TYPE_SC_ENUM_PROCESS_INFO: _SC_ENUM_TYPE = 0; +pub type _SC_ENUM_TYPE = ::std::os::raw::c_int; +pub use self::_SC_ENUM_TYPE as SC_ENUM_TYPE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_STATUS { + pub dwServiceType: DWORD, + pub dwCurrentState: DWORD, + pub dwControlsAccepted: DWORD, + pub dwWin32ExitCode: DWORD, + pub dwServiceSpecificExitCode: DWORD, + pub dwCheckPoint: DWORD, + pub dwWaitHint: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_STATUS() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_STATUS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_STATUS>(), + 28usize, + concat!("Size of: ", stringify!(_SERVICE_STATUS)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_STATUS>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_STATUS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwServiceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwCurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlsAccepted) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwControlsAccepted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWin32ExitCode) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwWin32ExitCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceSpecificExitCode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwServiceSpecificExitCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCheckPoint) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwCheckPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWaitHint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS), + "::", + stringify!(dwWaitHint) + ) + ); +} +pub type SERVICE_STATUS = _SERVICE_STATUS; +pub type LPSERVICE_STATUS = *mut _SERVICE_STATUS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_STATUS_PROCESS { + pub dwServiceType: DWORD, + pub dwCurrentState: DWORD, + pub dwControlsAccepted: DWORD, + pub dwWin32ExitCode: DWORD, + pub dwServiceSpecificExitCode: DWORD, + pub dwCheckPoint: DWORD, + pub dwWaitHint: DWORD, + pub dwProcessId: DWORD, + pub dwServiceFlags: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_STATUS_PROCESS() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_STATUS_PROCESS> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_STATUS_PROCESS>(), + 36usize, + concat!("Size of: ", stringify!(_SERVICE_STATUS_PROCESS)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_STATUS_PROCESS>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_STATUS_PROCESS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwServiceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCurrentState) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwCurrentState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwControlsAccepted) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwControlsAccepted) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWin32ExitCode) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwWin32ExitCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceSpecificExitCode) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwServiceSpecificExitCode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCheckPoint) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwCheckPoint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwWaitHint) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwWaitHint) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProcessId) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwProcessId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_STATUS_PROCESS), + "::", + stringify!(dwServiceFlags) + ) + ); +} +pub type SERVICE_STATUS_PROCESS = _SERVICE_STATUS_PROCESS; +pub type LPSERVICE_STATUS_PROCESS = *mut _SERVICE_STATUS_PROCESS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENUM_SERVICE_STATUSA { + pub lpServiceName: LPSTR, + pub lpDisplayName: LPSTR, + pub ServiceStatus: SERVICE_STATUS, +} +#[test] +fn bindgen_test_layout__ENUM_SERVICE_STATUSA() { + const UNINIT: ::std::mem::MaybeUninit<_ENUM_SERVICE_STATUSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENUM_SERVICE_STATUSA>(), + 48usize, + concat!("Size of: ", stringify!(_ENUM_SERVICE_STATUSA)) + ); + assert_eq!( + ::std::mem::align_of::<_ENUM_SERVICE_STATUSA>(), + 8usize, + concat!("Alignment of ", stringify!(_ENUM_SERVICE_STATUSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSA), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSA), + "::", + stringify!(lpDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSA), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type ENUM_SERVICE_STATUSA = _ENUM_SERVICE_STATUSA; +pub type LPENUM_SERVICE_STATUSA = *mut _ENUM_SERVICE_STATUSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENUM_SERVICE_STATUSW { + pub lpServiceName: LPWSTR, + pub lpDisplayName: LPWSTR, + pub ServiceStatus: SERVICE_STATUS, +} +#[test] +fn bindgen_test_layout__ENUM_SERVICE_STATUSW() { + const UNINIT: ::std::mem::MaybeUninit<_ENUM_SERVICE_STATUSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENUM_SERVICE_STATUSW>(), + 48usize, + concat!("Size of: ", stringify!(_ENUM_SERVICE_STATUSW)) + ); + assert_eq!( + ::std::mem::align_of::<_ENUM_SERVICE_STATUSW>(), + 8usize, + concat!("Alignment of ", stringify!(_ENUM_SERVICE_STATUSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSW), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSW), + "::", + stringify!(lpDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUSW), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type ENUM_SERVICE_STATUSW = _ENUM_SERVICE_STATUSW; +pub type LPENUM_SERVICE_STATUSW = *mut _ENUM_SERVICE_STATUSW; +pub type ENUM_SERVICE_STATUS = ENUM_SERVICE_STATUSA; +pub type LPENUM_SERVICE_STATUS = LPENUM_SERVICE_STATUSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENUM_SERVICE_STATUS_PROCESSA { + pub lpServiceName: LPSTR, + pub lpDisplayName: LPSTR, + pub ServiceStatusProcess: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__ENUM_SERVICE_STATUS_PROCESSA() { + const UNINIT: ::std::mem::MaybeUninit<_ENUM_SERVICE_STATUS_PROCESSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENUM_SERVICE_STATUS_PROCESSA>(), + 56usize, + concat!("Size of: ", stringify!(_ENUM_SERVICE_STATUS_PROCESSA)) + ); + assert_eq!( + ::std::mem::align_of::<_ENUM_SERVICE_STATUS_PROCESSA>(), + 8usize, + concat!("Alignment of ", stringify!(_ENUM_SERVICE_STATUS_PROCESSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSA), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSA), + "::", + stringify!(lpDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatusProcess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSA), + "::", + stringify!(ServiceStatusProcess) + ) + ); +} +pub type ENUM_SERVICE_STATUS_PROCESSA = _ENUM_SERVICE_STATUS_PROCESSA; +pub type LPENUM_SERVICE_STATUS_PROCESSA = *mut _ENUM_SERVICE_STATUS_PROCESSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ENUM_SERVICE_STATUS_PROCESSW { + pub lpServiceName: LPWSTR, + pub lpDisplayName: LPWSTR, + pub ServiceStatusProcess: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__ENUM_SERVICE_STATUS_PROCESSW() { + const UNINIT: ::std::mem::MaybeUninit<_ENUM_SERVICE_STATUS_PROCESSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_ENUM_SERVICE_STATUS_PROCESSW>(), + 56usize, + concat!("Size of: ", stringify!(_ENUM_SERVICE_STATUS_PROCESSW)) + ); + assert_eq!( + ::std::mem::align_of::<_ENUM_SERVICE_STATUS_PROCESSW>(), + 8usize, + concat!("Alignment of ", stringify!(_ENUM_SERVICE_STATUS_PROCESSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSW), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSW), + "::", + stringify!(lpDisplayName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatusProcess) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_ENUM_SERVICE_STATUS_PROCESSW), + "::", + stringify!(ServiceStatusProcess) + ) + ); +} +pub type ENUM_SERVICE_STATUS_PROCESSW = _ENUM_SERVICE_STATUS_PROCESSW; +pub type LPENUM_SERVICE_STATUS_PROCESSW = *mut _ENUM_SERVICE_STATUS_PROCESSW; +pub type ENUM_SERVICE_STATUS_PROCESS = ENUM_SERVICE_STATUS_PROCESSA; +pub type LPENUM_SERVICE_STATUS_PROCESS = LPENUM_SERVICE_STATUS_PROCESSA; +pub type SC_LOCK = LPVOID; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_SERVICE_LOCK_STATUSA { + pub fIsLocked: DWORD, + pub lpLockOwner: LPSTR, + pub dwLockDuration: DWORD, +} +#[test] +fn bindgen_test_layout__QUERY_SERVICE_LOCK_STATUSA() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_SERVICE_LOCK_STATUSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_SERVICE_LOCK_STATUSA>(), + 24usize, + concat!("Size of: ", stringify!(_QUERY_SERVICE_LOCK_STATUSA)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_SERVICE_LOCK_STATUSA>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_SERVICE_LOCK_STATUSA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIsLocked) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSA), + "::", + stringify!(fIsLocked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLockOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSA), + "::", + stringify!(lpLockOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLockDuration) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSA), + "::", + stringify!(dwLockDuration) + ) + ); +} +pub type QUERY_SERVICE_LOCK_STATUSA = _QUERY_SERVICE_LOCK_STATUSA; +pub type LPQUERY_SERVICE_LOCK_STATUSA = *mut _QUERY_SERVICE_LOCK_STATUSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_SERVICE_LOCK_STATUSW { + pub fIsLocked: DWORD, + pub lpLockOwner: LPWSTR, + pub dwLockDuration: DWORD, +} +#[test] +fn bindgen_test_layout__QUERY_SERVICE_LOCK_STATUSW() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_SERVICE_LOCK_STATUSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_SERVICE_LOCK_STATUSW>(), + 24usize, + concat!("Size of: ", stringify!(_QUERY_SERVICE_LOCK_STATUSW)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_SERVICE_LOCK_STATUSW>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_SERVICE_LOCK_STATUSW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fIsLocked) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSW), + "::", + stringify!(fIsLocked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLockOwner) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSW), + "::", + stringify!(lpLockOwner) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwLockDuration) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_LOCK_STATUSW), + "::", + stringify!(dwLockDuration) + ) + ); +} +pub type QUERY_SERVICE_LOCK_STATUSW = _QUERY_SERVICE_LOCK_STATUSW; +pub type LPQUERY_SERVICE_LOCK_STATUSW = *mut _QUERY_SERVICE_LOCK_STATUSW; +pub type QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUSA; +pub type LPQUERY_SERVICE_LOCK_STATUS = LPQUERY_SERVICE_LOCK_STATUSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_SERVICE_CONFIGA { + pub dwServiceType: DWORD, + pub dwStartType: DWORD, + pub dwErrorControl: DWORD, + pub lpBinaryPathName: LPSTR, + pub lpLoadOrderGroup: LPSTR, + pub dwTagId: DWORD, + pub lpDependencies: LPSTR, + pub lpServiceStartName: LPSTR, + pub lpDisplayName: LPSTR, +} +#[test] +fn bindgen_test_layout__QUERY_SERVICE_CONFIGA() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_SERVICE_CONFIGA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_SERVICE_CONFIGA>(), + 64usize, + concat!("Size of: ", stringify!(_QUERY_SERVICE_CONFIGA)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_SERVICE_CONFIGA>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_SERVICE_CONFIGA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(dwServiceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStartType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(dwStartType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorControl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(dwErrorControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBinaryPathName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpBinaryPathName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLoadOrderGroup) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpLoadOrderGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTagId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(dwTagId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDependencies) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpDependencies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceStartName) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpServiceStartName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGA), + "::", + stringify!(lpDisplayName) + ) + ); +} +pub type QUERY_SERVICE_CONFIGA = _QUERY_SERVICE_CONFIGA; +pub type LPQUERY_SERVICE_CONFIGA = *mut _QUERY_SERVICE_CONFIGA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QUERY_SERVICE_CONFIGW { + pub dwServiceType: DWORD, + pub dwStartType: DWORD, + pub dwErrorControl: DWORD, + pub lpBinaryPathName: LPWSTR, + pub lpLoadOrderGroup: LPWSTR, + pub dwTagId: DWORD, + pub lpDependencies: LPWSTR, + pub lpServiceStartName: LPWSTR, + pub lpDisplayName: LPWSTR, +} +#[test] +fn bindgen_test_layout__QUERY_SERVICE_CONFIGW() { + const UNINIT: ::std::mem::MaybeUninit<_QUERY_SERVICE_CONFIGW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QUERY_SERVICE_CONFIGW>(), + 64usize, + concat!("Size of: ", stringify!(_QUERY_SERVICE_CONFIGW)) + ); + assert_eq!( + ::std::mem::align_of::<_QUERY_SERVICE_CONFIGW>(), + 8usize, + concat!("Alignment of ", stringify!(_QUERY_SERVICE_CONFIGW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(dwServiceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStartType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(dwStartType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwErrorControl) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(dwErrorControl) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBinaryPathName) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpBinaryPathName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpLoadOrderGroup) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpLoadOrderGroup) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTagId) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(dwTagId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDependencies) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpDependencies) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceStartName) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpServiceStartName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpDisplayName) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_QUERY_SERVICE_CONFIGW), + "::", + stringify!(lpDisplayName) + ) + ); +} +pub type QUERY_SERVICE_CONFIGW = _QUERY_SERVICE_CONFIGW; +pub type LPQUERY_SERVICE_CONFIGW = *mut _QUERY_SERVICE_CONFIGW; +pub type QUERY_SERVICE_CONFIG = QUERY_SERVICE_CONFIGA; +pub type LPQUERY_SERVICE_CONFIG = LPQUERY_SERVICE_CONFIGA; +pub type LPSERVICE_MAIN_FUNCTIONW = ::std::option::Option< + unsafe extern "C" fn(dwNumServicesArgs: DWORD, lpServiceArgVectors: *mut LPWSTR), +>; +pub type LPSERVICE_MAIN_FUNCTIONA = ::std::option::Option< + unsafe extern "C" fn(dwNumServicesArgs: DWORD, lpServiceArgVectors: *mut LPSTR), +>; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TABLE_ENTRYA { + pub lpServiceName: LPSTR, + pub lpServiceProc: LPSERVICE_MAIN_FUNCTIONA, +} +#[test] +fn bindgen_test_layout__SERVICE_TABLE_ENTRYA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TABLE_ENTRYA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TABLE_ENTRYA>(), + 16usize, + concat!("Size of: ", stringify!(_SERVICE_TABLE_ENTRYA)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TABLE_ENTRYA>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TABLE_ENTRYA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TABLE_ENTRYA), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TABLE_ENTRYA), + "::", + stringify!(lpServiceProc) + ) + ); +} +pub type SERVICE_TABLE_ENTRYA = _SERVICE_TABLE_ENTRYA; +pub type LPSERVICE_TABLE_ENTRYA = *mut _SERVICE_TABLE_ENTRYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_TABLE_ENTRYW { + pub lpServiceName: LPWSTR, + pub lpServiceProc: LPSERVICE_MAIN_FUNCTIONW, +} +#[test] +fn bindgen_test_layout__SERVICE_TABLE_ENTRYW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_TABLE_ENTRYW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_TABLE_ENTRYW>(), + 16usize, + concat!("Size of: ", stringify!(_SERVICE_TABLE_ENTRYW)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_TABLE_ENTRYW>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_TABLE_ENTRYW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TABLE_ENTRYW), + "::", + stringify!(lpServiceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_TABLE_ENTRYW), + "::", + stringify!(lpServiceProc) + ) + ); +} +pub type SERVICE_TABLE_ENTRYW = _SERVICE_TABLE_ENTRYW; +pub type LPSERVICE_TABLE_ENTRYW = *mut _SERVICE_TABLE_ENTRYW; +pub type SERVICE_TABLE_ENTRY = SERVICE_TABLE_ENTRYA; +pub type LPSERVICE_TABLE_ENTRY = LPSERVICE_TABLE_ENTRYA; +pub type LPHANDLER_FUNCTION = ::std::option::Option; +pub type LPHANDLER_FUNCTION_EX = ::std::option::Option< + unsafe extern "C" fn( + dwControl: DWORD, + dwEventType: DWORD, + lpEventData: LPVOID, + lpContext: LPVOID, + ) -> DWORD, +>; +pub type PFN_SC_NOTIFY_CALLBACK = ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_NOTIFY_1 { + pub dwVersion: DWORD, + pub pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK, + pub pContext: PVOID, + pub dwNotificationStatus: DWORD, + pub ServiceStatus: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__SERVICE_NOTIFY_1() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_NOTIFY_1> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_NOTIFY_1>(), + 64usize, + concat!("Size of: ", stringify!(_SERVICE_NOTIFY_1)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_NOTIFY_1>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_NOTIFY_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnNotifyCallback) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(pfnNotifyCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(pContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationStatus) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(dwNotificationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_1), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type SERVICE_NOTIFY_1 = _SERVICE_NOTIFY_1; +pub type PSERVICE_NOTIFY_1 = *mut _SERVICE_NOTIFY_1; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_NOTIFY_2A { + pub dwVersion: DWORD, + pub pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK, + pub pContext: PVOID, + pub dwNotificationStatus: DWORD, + pub ServiceStatus: SERVICE_STATUS_PROCESS, + pub dwNotificationTriggered: DWORD, + pub pszServiceNames: LPSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_NOTIFY_2A() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_NOTIFY_2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_NOTIFY_2A>(), + 80usize, + concat!("Size of: ", stringify!(_SERVICE_NOTIFY_2A)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_NOTIFY_2A>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_NOTIFY_2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnNotifyCallback) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(pfnNotifyCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(pContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationStatus) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(dwNotificationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(ServiceStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationTriggered) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(dwNotificationTriggered) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszServiceNames) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2A), + "::", + stringify!(pszServiceNames) + ) + ); +} +pub type SERVICE_NOTIFY_2A = _SERVICE_NOTIFY_2A; +pub type PSERVICE_NOTIFY_2A = *mut _SERVICE_NOTIFY_2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_NOTIFY_2W { + pub dwVersion: DWORD, + pub pfnNotifyCallback: PFN_SC_NOTIFY_CALLBACK, + pub pContext: PVOID, + pub dwNotificationStatus: DWORD, + pub ServiceStatus: SERVICE_STATUS_PROCESS, + pub dwNotificationTriggered: DWORD, + pub pszServiceNames: LPWSTR, +} +#[test] +fn bindgen_test_layout__SERVICE_NOTIFY_2W() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_NOTIFY_2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_NOTIFY_2W>(), + 80usize, + concat!("Size of: ", stringify!(_SERVICE_NOTIFY_2W)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_NOTIFY_2W>(), + 8usize, + concat!("Alignment of ", stringify!(_SERVICE_NOTIFY_2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pfnNotifyCallback) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(pfnNotifyCallback) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pContext) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(pContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationStatus) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(dwNotificationStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(ServiceStatus) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNotificationTriggered) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(dwNotificationTriggered) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszServiceNames) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_NOTIFY_2W), + "::", + stringify!(pszServiceNames) + ) + ); +} +pub type SERVICE_NOTIFY_2W = _SERVICE_NOTIFY_2W; +pub type PSERVICE_NOTIFY_2W = *mut _SERVICE_NOTIFY_2W; +pub type SERVICE_NOTIFY_2 = SERVICE_NOTIFY_2A; +pub type PSERVICE_NOTIFY_2 = PSERVICE_NOTIFY_2A; +pub type SERVICE_NOTIFYA = SERVICE_NOTIFY_2A; +pub type PSERVICE_NOTIFYA = *mut SERVICE_NOTIFY_2A; +pub type SERVICE_NOTIFYW = SERVICE_NOTIFY_2W; +pub type PSERVICE_NOTIFYW = *mut SERVICE_NOTIFY_2W; +pub type SERVICE_NOTIFY = SERVICE_NOTIFYA; +pub type PSERVICE_NOTIFY = PSERVICE_NOTIFYA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_CONTROL_STATUS_REASON_PARAMSA { + pub dwReason: DWORD, + pub pszComment: LPSTR, + pub ServiceStatus: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__SERVICE_CONTROL_STATUS_REASON_PARAMSA() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_CONTROL_STATUS_REASON_PARAMSA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_CONTROL_STATUS_REASON_PARAMSA>(), + 56usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_CONTROL_STATUS_REASON_PARAMSA>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReason) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA), + "::", + stringify!(dwReason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszComment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA), + "::", + stringify!(pszComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSA), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type SERVICE_CONTROL_STATUS_REASON_PARAMSA = _SERVICE_CONTROL_STATUS_REASON_PARAMSA; +pub type PSERVICE_CONTROL_STATUS_REASON_PARAMSA = *mut _SERVICE_CONTROL_STATUS_REASON_PARAMSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_CONTROL_STATUS_REASON_PARAMSW { + pub dwReason: DWORD, + pub pszComment: LPWSTR, + pub ServiceStatus: SERVICE_STATUS_PROCESS, +} +#[test] +fn bindgen_test_layout__SERVICE_CONTROL_STATUS_REASON_PARAMSW() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_CONTROL_STATUS_REASON_PARAMSW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_CONTROL_STATUS_REASON_PARAMSW>(), + 56usize, + concat!( + "Size of: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW) + ) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_CONTROL_STATUS_REASON_PARAMSW>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReason) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW), + "::", + stringify!(dwReason) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pszComment) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW), + "::", + stringify!(pszComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceStatus) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_CONTROL_STATUS_REASON_PARAMSW), + "::", + stringify!(ServiceStatus) + ) + ); +} +pub type SERVICE_CONTROL_STATUS_REASON_PARAMSW = _SERVICE_CONTROL_STATUS_REASON_PARAMSW; +pub type PSERVICE_CONTROL_STATUS_REASON_PARAMSW = *mut _SERVICE_CONTROL_STATUS_REASON_PARAMSW; +pub type SERVICE_CONTROL_STATUS_REASON_PARAMS = SERVICE_CONTROL_STATUS_REASON_PARAMSA; +pub type PSERVICE_CONTROL_STATUS_REASON_PARAMS = PSERVICE_CONTROL_STATUS_REASON_PARAMSA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SERVICE_START_REASON { + pub dwReason: DWORD, +} +#[test] +fn bindgen_test_layout__SERVICE_START_REASON() { + const UNINIT: ::std::mem::MaybeUninit<_SERVICE_START_REASON> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SERVICE_START_REASON>(), + 4usize, + concat!("Size of: ", stringify!(_SERVICE_START_REASON)) + ); + assert_eq!( + ::std::mem::align_of::<_SERVICE_START_REASON>(), + 4usize, + concat!("Alignment of ", stringify!(_SERVICE_START_REASON)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwReason) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SERVICE_START_REASON), + "::", + stringify!(dwReason) + ) + ); +} +pub type SERVICE_START_REASON = _SERVICE_START_REASON; +pub type PSERVICE_START_REASON = *mut _SERVICE_START_REASON; +extern "C" { + pub fn ChangeServiceConfigA( + hService: SC_HANDLE, + dwServiceType: DWORD, + dwStartType: DWORD, + dwErrorControl: DWORD, + lpBinaryPathName: LPCSTR, + lpLoadOrderGroup: LPCSTR, + lpdwTagId: LPDWORD, + lpDependencies: LPCSTR, + lpServiceStartName: LPCSTR, + lpPassword: LPCSTR, + lpDisplayName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn ChangeServiceConfigW( + hService: SC_HANDLE, + dwServiceType: DWORD, + dwStartType: DWORD, + dwErrorControl: DWORD, + lpBinaryPathName: LPCWSTR, + lpLoadOrderGroup: LPCWSTR, + lpdwTagId: LPDWORD, + lpDependencies: LPCWSTR, + lpServiceStartName: LPCWSTR, + lpPassword: LPCWSTR, + lpDisplayName: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn ChangeServiceConfig2A(hService: SC_HANDLE, dwInfoLevel: DWORD, lpInfo: LPVOID) -> BOOL; +} +extern "C" { + pub fn ChangeServiceConfig2W(hService: SC_HANDLE, dwInfoLevel: DWORD, lpInfo: LPVOID) -> BOOL; +} +extern "C" { + pub fn CloseServiceHandle(hSCObject: SC_HANDLE) -> BOOL; +} +extern "C" { + pub fn ControlService( + hService: SC_HANDLE, + dwControl: DWORD, + lpServiceStatus: LPSERVICE_STATUS, + ) -> BOOL; +} +extern "C" { + pub fn CreateServiceA( + hSCManager: SC_HANDLE, + lpServiceName: LPCSTR, + lpDisplayName: LPCSTR, + dwDesiredAccess: DWORD, + dwServiceType: DWORD, + dwStartType: DWORD, + dwErrorControl: DWORD, + lpBinaryPathName: LPCSTR, + lpLoadOrderGroup: LPCSTR, + lpdwTagId: LPDWORD, + lpDependencies: LPCSTR, + lpServiceStartName: LPCSTR, + lpPassword: LPCSTR, + ) -> SC_HANDLE; +} +extern "C" { + pub fn CreateServiceW( + hSCManager: SC_HANDLE, + lpServiceName: LPCWSTR, + lpDisplayName: LPCWSTR, + dwDesiredAccess: DWORD, + dwServiceType: DWORD, + dwStartType: DWORD, + dwErrorControl: DWORD, + lpBinaryPathName: LPCWSTR, + lpLoadOrderGroup: LPCWSTR, + lpdwTagId: LPDWORD, + lpDependencies: LPCWSTR, + lpServiceStartName: LPCWSTR, + lpPassword: LPCWSTR, + ) -> SC_HANDLE; +} +extern "C" { + pub fn DeleteService(hService: SC_HANDLE) -> BOOL; +} +extern "C" { + pub fn EnumDependentServicesA( + hService: SC_HANDLE, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUSA, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumDependentServicesW( + hService: SC_HANDLE, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUSW, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumServicesStatusA( + hSCManager: SC_HANDLE, + dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUSA, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumServicesStatusW( + hSCManager: SC_HANDLE, + dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPENUM_SERVICE_STATUSW, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn EnumServicesStatusExA( + hSCManager: SC_HANDLE, + InfoLevel: SC_ENUM_TYPE, + dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD, + pszGroupName: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn EnumServicesStatusExW( + hSCManager: SC_HANDLE, + InfoLevel: SC_ENUM_TYPE, + dwServiceType: DWORD, + dwServiceState: DWORD, + lpServices: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + lpServicesReturned: LPDWORD, + lpResumeHandle: LPDWORD, + pszGroupName: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn GetServiceKeyNameA( + hSCManager: SC_HANDLE, + lpDisplayName: LPCSTR, + lpServiceName: LPSTR, + lpcchBuffer: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetServiceKeyNameW( + hSCManager: SC_HANDLE, + lpDisplayName: LPCWSTR, + lpServiceName: LPWSTR, + lpcchBuffer: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetServiceDisplayNameA( + hSCManager: SC_HANDLE, + lpServiceName: LPCSTR, + lpDisplayName: LPSTR, + lpcchBuffer: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn GetServiceDisplayNameW( + hSCManager: SC_HANDLE, + lpServiceName: LPCWSTR, + lpDisplayName: LPWSTR, + lpcchBuffer: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn LockServiceDatabase(hSCManager: SC_HANDLE) -> SC_LOCK; +} +extern "C" { + pub fn NotifyBootConfigStatus(BootAcceptable: BOOL) -> BOOL; +} +extern "C" { + pub fn OpenSCManagerA( + lpMachineName: LPCSTR, + lpDatabaseName: LPCSTR, + dwDesiredAccess: DWORD, + ) -> SC_HANDLE; +} +extern "C" { + pub fn OpenSCManagerW( + lpMachineName: LPCWSTR, + lpDatabaseName: LPCWSTR, + dwDesiredAccess: DWORD, + ) -> SC_HANDLE; +} +extern "C" { + pub fn OpenServiceA( + hSCManager: SC_HANDLE, + lpServiceName: LPCSTR, + dwDesiredAccess: DWORD, + ) -> SC_HANDLE; +} +extern "C" { + pub fn OpenServiceW( + hSCManager: SC_HANDLE, + lpServiceName: LPCWSTR, + dwDesiredAccess: DWORD, + ) -> SC_HANDLE; +} +extern "C" { + pub fn QueryServiceConfigA( + hService: SC_HANDLE, + lpServiceConfig: LPQUERY_SERVICE_CONFIGA, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceConfigW( + hService: SC_HANDLE, + lpServiceConfig: LPQUERY_SERVICE_CONFIGW, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceConfig2A( + hService: SC_HANDLE, + dwInfoLevel: DWORD, + lpBuffer: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceConfig2W( + hService: SC_HANDLE, + dwInfoLevel: DWORD, + lpBuffer: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceLockStatusA( + hSCManager: SC_HANDLE, + lpLockStatus: LPQUERY_SERVICE_LOCK_STATUSA, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceLockStatusW( + hSCManager: SC_HANDLE, + lpLockStatus: LPQUERY_SERVICE_LOCK_STATUSW, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceObjectSecurity( + hService: SC_HANDLE, + dwSecurityInformation: SECURITY_INFORMATION, + lpSecurityDescriptor: PSECURITY_DESCRIPTOR, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceStatus(hService: SC_HANDLE, lpServiceStatus: LPSERVICE_STATUS) -> BOOL; +} +extern "C" { + pub fn QueryServiceStatusEx( + hService: SC_HANDLE, + InfoLevel: SC_STATUS_TYPE, + lpBuffer: LPBYTE, + cbBufSize: DWORD, + pcbBytesNeeded: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn RegisterServiceCtrlHandlerA( + lpServiceName: LPCSTR, + lpHandlerProc: LPHANDLER_FUNCTION, + ) -> SERVICE_STATUS_HANDLE; +} +extern "C" { + pub fn RegisterServiceCtrlHandlerW( + lpServiceName: LPCWSTR, + lpHandlerProc: LPHANDLER_FUNCTION, + ) -> SERVICE_STATUS_HANDLE; +} +extern "C" { + pub fn RegisterServiceCtrlHandlerExA( + lpServiceName: LPCSTR, + lpHandlerProc: LPHANDLER_FUNCTION_EX, + lpContext: LPVOID, + ) -> SERVICE_STATUS_HANDLE; +} +extern "C" { + pub fn RegisterServiceCtrlHandlerExW( + lpServiceName: LPCWSTR, + lpHandlerProc: LPHANDLER_FUNCTION_EX, + lpContext: LPVOID, + ) -> SERVICE_STATUS_HANDLE; +} +extern "C" { + pub fn SetServiceObjectSecurity( + hService: SC_HANDLE, + dwSecurityInformation: SECURITY_INFORMATION, + lpSecurityDescriptor: PSECURITY_DESCRIPTOR, + ) -> BOOL; +} +extern "C" { + pub fn SetServiceStatus( + hServiceStatus: SERVICE_STATUS_HANDLE, + lpServiceStatus: LPSERVICE_STATUS, + ) -> BOOL; +} +extern "C" { + pub fn StartServiceCtrlDispatcherA(lpServiceStartTable: *const SERVICE_TABLE_ENTRYA) -> BOOL; +} +extern "C" { + pub fn StartServiceCtrlDispatcherW(lpServiceStartTable: *const SERVICE_TABLE_ENTRYW) -> BOOL; +} +extern "C" { + pub fn StartServiceA( + hService: SC_HANDLE, + dwNumServiceArgs: DWORD, + lpServiceArgVectors: *mut LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn StartServiceW( + hService: SC_HANDLE, + dwNumServiceArgs: DWORD, + lpServiceArgVectors: *mut LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn UnlockServiceDatabase(ScLock: SC_LOCK) -> BOOL; +} +extern "C" { + pub fn NotifyServiceStatusChangeA( + hService: SC_HANDLE, + dwNotifyMask: DWORD, + pNotifyBuffer: PSERVICE_NOTIFYA, + ) -> DWORD; +} +extern "C" { + pub fn NotifyServiceStatusChangeW( + hService: SC_HANDLE, + dwNotifyMask: DWORD, + pNotifyBuffer: PSERVICE_NOTIFYW, + ) -> DWORD; +} +extern "C" { + pub fn ControlServiceExA( + hService: SC_HANDLE, + dwControl: DWORD, + dwInfoLevel: DWORD, + pControlParams: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn ControlServiceExW( + hService: SC_HANDLE, + dwControl: DWORD, + dwInfoLevel: DWORD, + pControlParams: PVOID, + ) -> BOOL; +} +extern "C" { + pub fn QueryServiceDynamicInformation( + hServiceStatus: SERVICE_STATUS_HANDLE, + dwInfoLevel: DWORD, + ppDynamicInfo: *mut PVOID, + ) -> BOOL; +} +pub const _SC_EVENT_TYPE_SC_EVENT_DATABASE_CHANGE: _SC_EVENT_TYPE = 0; +pub const _SC_EVENT_TYPE_SC_EVENT_PROPERTY_CHANGE: _SC_EVENT_TYPE = 1; +pub const _SC_EVENT_TYPE_SC_EVENT_STATUS_CHANGE: _SC_EVENT_TYPE = 2; +pub type _SC_EVENT_TYPE = ::std::os::raw::c_int; +pub use self::_SC_EVENT_TYPE as SC_EVENT_TYPE; +pub type PSC_EVENT_TYPE = *mut _SC_EVENT_TYPE; +pub type PSC_NOTIFICATION_CALLBACK = + ::std::option::Option; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SC_NOTIFICATION_REGISTRATION { + _unused: [u8; 0], +} +pub type PSC_NOTIFICATION_REGISTRATION = *mut _SC_NOTIFICATION_REGISTRATION; +extern "C" { + pub fn SubscribeServiceChangeNotifications( + hService: SC_HANDLE, + eEventType: SC_EVENT_TYPE, + pCallback: PSC_NOTIFICATION_CALLBACK, + pCallbackContext: PVOID, + pSubscription: *mut PSC_NOTIFICATION_REGISTRATION, + ) -> DWORD; +} +extern "C" { + pub fn UnsubscribeServiceChangeNotifications(pSubscription: PSC_NOTIFICATION_REGISTRATION); +} +extern "C" { + pub fn WaitServiceState( + hService: SC_HANDLE, + dwNotify: DWORD, + dwTimeout: DWORD, + hCancelEvent: HANDLE, + ) -> DWORD; +} +pub const SERVICE_REGISTRY_STATE_TYPE_ServiceRegistryStateParameters: SERVICE_REGISTRY_STATE_TYPE = + 0; +pub const SERVICE_REGISTRY_STATE_TYPE_ServiceRegistryStatePersistent: SERVICE_REGISTRY_STATE_TYPE = + 1; +pub const SERVICE_REGISTRY_STATE_TYPE_MaxServiceRegistryStateType: SERVICE_REGISTRY_STATE_TYPE = 2; +pub type SERVICE_REGISTRY_STATE_TYPE = ::std::os::raw::c_int; +extern "C" { + pub fn GetServiceRegistryStateKey( + ServiceStatusHandle: SERVICE_STATUS_HANDLE, + StateType: SERVICE_REGISTRY_STATE_TYPE, + AccessMask: DWORD, + ServiceStateKey: *mut HKEY, + ) -> DWORD; +} +pub const SERVICE_DIRECTORY_TYPE_ServiceDirectoryPersistentState: SERVICE_DIRECTORY_TYPE = 0; +pub const SERVICE_DIRECTORY_TYPE_ServiceDirectoryTypeMax: SERVICE_DIRECTORY_TYPE = 1; +pub type SERVICE_DIRECTORY_TYPE = ::std::os::raw::c_int; +extern "C" { + pub fn GetServiceDirectory( + hServiceStatus: SERVICE_STATUS_HANDLE, + eDirectoryType: SERVICE_DIRECTORY_TYPE, + lpPathBuffer: PWCHAR, + cchPathBufferLength: DWORD, + lpcchRequiredBufferLength: *mut DWORD, + ) -> DWORD; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MODEMDEVCAPS { + pub dwActualSize: DWORD, + pub dwRequiredSize: DWORD, + pub dwDevSpecificOffset: DWORD, + pub dwDevSpecificSize: DWORD, + pub dwModemProviderVersion: DWORD, + pub dwModemManufacturerOffset: DWORD, + pub dwModemManufacturerSize: DWORD, + pub dwModemModelOffset: DWORD, + pub dwModemModelSize: DWORD, + pub dwModemVersionOffset: DWORD, + pub dwModemVersionSize: DWORD, + pub dwDialOptions: DWORD, + pub dwCallSetupFailTimer: DWORD, + pub dwInactivityTimeout: DWORD, + pub dwSpeakerVolume: DWORD, + pub dwSpeakerMode: DWORD, + pub dwModemOptions: DWORD, + pub dwMaxDTERate: DWORD, + pub dwMaxDCERate: DWORD, + pub abVariablePortion: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__MODEMDEVCAPS() { + const UNINIT: ::std::mem::MaybeUninit<_MODEMDEVCAPS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MODEMDEVCAPS>(), + 80usize, + concat!("Size of: ", stringify!(_MODEMDEVCAPS)) + ); + assert_eq!( + ::std::mem::align_of::<_MODEMDEVCAPS>(), + 4usize, + concat!("Alignment of ", stringify!(_MODEMDEVCAPS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActualSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwActualSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRequiredSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwRequiredSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevSpecificOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwDevSpecificOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevSpecificSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwDevSpecificSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemProviderVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemProviderVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemManufacturerOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemManufacturerOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemManufacturerSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemManufacturerSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemModelOffset) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemModelOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemModelSize) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemModelSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemVersionOffset) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemVersionOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemVersionSize) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemVersionSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDialOptions) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwDialOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallSetupFailTimer) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwCallSetupFailTimer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInactivityTimeout) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwInactivityTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeakerVolume) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwSpeakerVolume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeakerMode) as usize - ptr as usize }, + 60usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwSpeakerMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwModemOptions) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwModemOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxDTERate) as usize - ptr as usize }, + 68usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwMaxDTERate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMaxDCERate) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(dwMaxDCERate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abVariablePortion) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_MODEMDEVCAPS), + "::", + stringify!(abVariablePortion) + ) + ); +} +pub type MODEMDEVCAPS = _MODEMDEVCAPS; +pub type PMODEMDEVCAPS = *mut _MODEMDEVCAPS; +pub type LPMODEMDEVCAPS = *mut _MODEMDEVCAPS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _MODEMSETTINGS { + pub dwActualSize: DWORD, + pub dwRequiredSize: DWORD, + pub dwDevSpecificOffset: DWORD, + pub dwDevSpecificSize: DWORD, + pub dwCallSetupFailTimer: DWORD, + pub dwInactivityTimeout: DWORD, + pub dwSpeakerVolume: DWORD, + pub dwSpeakerMode: DWORD, + pub dwPreferredModemOptions: DWORD, + pub dwNegotiatedModemOptions: DWORD, + pub dwNegotiatedDCERate: DWORD, + pub abVariablePortion: [BYTE; 1usize], +} +#[test] +fn bindgen_test_layout__MODEMSETTINGS() { + const UNINIT: ::std::mem::MaybeUninit<_MODEMSETTINGS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_MODEMSETTINGS>(), + 48usize, + concat!("Size of: ", stringify!(_MODEMSETTINGS)) + ); + assert_eq!( + ::std::mem::align_of::<_MODEMSETTINGS>(), + 4usize, + concat!("Alignment of ", stringify!(_MODEMSETTINGS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwActualSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwActualSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwRequiredSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwRequiredSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevSpecificOffset) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwDevSpecificOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwDevSpecificSize) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwDevSpecificSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCallSetupFailTimer) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwCallSetupFailTimer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwInactivityTimeout) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwInactivityTimeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeakerVolume) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwSpeakerVolume) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSpeakerMode) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwSpeakerMode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPreferredModemOptions) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwPreferredModemOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNegotiatedModemOptions) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwNegotiatedModemOptions) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNegotiatedDCERate) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(dwNegotiatedDCERate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).abVariablePortion) as usize - ptr as usize }, + 44usize, + concat!( + "Offset of field: ", + stringify!(_MODEMSETTINGS), + "::", + stringify!(abVariablePortion) + ) + ); +} +pub type MODEMSETTINGS = _MODEMSETTINGS; +pub type PMODEMSETTINGS = *mut _MODEMSETTINGS; +pub type LPMODEMSETTINGS = *mut _MODEMSETTINGS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HIMC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HIMC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HIMC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HIMC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HIMC__), + "::", + stringify!(unused) + ) + ); +} +pub type HIMC = *mut HIMC__; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct HIMCC__ { + pub unused: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_HIMCC__() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(HIMCC__)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(HIMCC__)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(HIMCC__), + "::", + stringify!(unused) + ) + ); +} +pub type HIMCC = *mut HIMCC__; +pub type LPHKL = *mut HKL; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCOMPOSITIONFORM { + pub dwStyle: DWORD, + pub ptCurrentPos: POINT, + pub rcArea: RECT, +} +#[test] +fn bindgen_test_layout_tagCOMPOSITIONFORM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagCOMPOSITIONFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCOMPOSITIONFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPOSITIONFORM), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptCurrentPos) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPOSITIONFORM), + "::", + stringify!(ptCurrentPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcArea) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCOMPOSITIONFORM), + "::", + stringify!(rcArea) + ) + ); +} +pub type COMPOSITIONFORM = tagCOMPOSITIONFORM; +pub type PCOMPOSITIONFORM = *mut tagCOMPOSITIONFORM; +pub type NPCOMPOSITIONFORM = *mut tagCOMPOSITIONFORM; +pub type LPCOMPOSITIONFORM = *mut tagCOMPOSITIONFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCANDIDATEFORM { + pub dwIndex: DWORD, + pub dwStyle: DWORD, + pub ptCurrentPos: POINT, + pub rcArea: RECT, +} +#[test] +fn bindgen_test_layout_tagCANDIDATEFORM() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagCANDIDATEFORM)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCANDIDATEFORM)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwIndex) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATEFORM), + "::", + stringify!(dwIndex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATEFORM), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ptCurrentPos) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATEFORM), + "::", + stringify!(ptCurrentPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcArea) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATEFORM), + "::", + stringify!(rcArea) + ) + ); +} +pub type CANDIDATEFORM = tagCANDIDATEFORM; +pub type PCANDIDATEFORM = *mut tagCANDIDATEFORM; +pub type NPCANDIDATEFORM = *mut tagCANDIDATEFORM; +pub type LPCANDIDATEFORM = *mut tagCANDIDATEFORM; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagCANDIDATELIST { + pub dwSize: DWORD, + pub dwStyle: DWORD, + pub dwCount: DWORD, + pub dwSelection: DWORD, + pub dwPageStart: DWORD, + pub dwPageSize: DWORD, + pub dwOffset: [DWORD; 1usize], +} +#[test] +fn bindgen_test_layout_tagCANDIDATELIST() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(tagCANDIDATELIST)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagCANDIDATELIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATELIST), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATELIST), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCount) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATELIST), + "::", + stringify!(dwCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSelection) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATELIST), + "::", + stringify!(dwSelection) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPageStart) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATELIST), + "::", + stringify!(dwPageStart) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwPageSize) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATELIST), + "::", + stringify!(dwPageSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOffset) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagCANDIDATELIST), + "::", + stringify!(dwOffset) + ) + ); +} +pub type CANDIDATELIST = tagCANDIDATELIST; +pub type PCANDIDATELIST = *mut tagCANDIDATELIST; +pub type NPCANDIDATELIST = *mut tagCANDIDATELIST; +pub type LPCANDIDATELIST = *mut tagCANDIDATELIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagREGISTERWORDA { + pub lpReading: LPSTR, + pub lpWord: LPSTR, +} +#[test] +fn bindgen_test_layout_tagREGISTERWORDA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagREGISTERWORDA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagREGISTERWORDA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReading) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagREGISTERWORDA), + "::", + stringify!(lpReading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpWord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagREGISTERWORDA), + "::", + stringify!(lpWord) + ) + ); +} +pub type REGISTERWORDA = tagREGISTERWORDA; +pub type PREGISTERWORDA = *mut tagREGISTERWORDA; +pub type NPREGISTERWORDA = *mut tagREGISTERWORDA; +pub type LPREGISTERWORDA = *mut tagREGISTERWORDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagREGISTERWORDW { + pub lpReading: LPWSTR, + pub lpWord: LPWSTR, +} +#[test] +fn bindgen_test_layout_tagREGISTERWORDW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(tagREGISTERWORDW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagREGISTERWORDW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpReading) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagREGISTERWORDW), + "::", + stringify!(lpReading) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpWord) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagREGISTERWORDW), + "::", + stringify!(lpWord) + ) + ); +} +pub type REGISTERWORDW = tagREGISTERWORDW; +pub type PREGISTERWORDW = *mut tagREGISTERWORDW; +pub type NPREGISTERWORDW = *mut tagREGISTERWORDW; +pub type LPREGISTERWORDW = *mut tagREGISTERWORDW; +pub type REGISTERWORD = REGISTERWORDA; +pub type PREGISTERWORD = PREGISTERWORDA; +pub type NPREGISTERWORD = NPREGISTERWORDA; +pub type LPREGISTERWORD = LPREGISTERWORDA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagRECONVERTSTRING { + pub dwSize: DWORD, + pub dwVersion: DWORD, + pub dwStrLen: DWORD, + pub dwStrOffset: DWORD, + pub dwCompStrLen: DWORD, + pub dwCompStrOffset: DWORD, + pub dwTargetStrLen: DWORD, + pub dwTargetStrOffset: DWORD, +} +#[test] +fn bindgen_test_layout_tagRECONVERTSTRING() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(tagRECONVERTSTRING)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagRECONVERTSTRING)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagRECONVERTSTRING), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagRECONVERTSTRING), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStrLen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagRECONVERTSTRING), + "::", + stringify!(dwStrLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStrOffset) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagRECONVERTSTRING), + "::", + stringify!(dwStrOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCompStrLen) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagRECONVERTSTRING), + "::", + stringify!(dwCompStrLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCompStrOffset) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagRECONVERTSTRING), + "::", + stringify!(dwCompStrOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTargetStrLen) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagRECONVERTSTRING), + "::", + stringify!(dwTargetStrLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwTargetStrOffset) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tagRECONVERTSTRING), + "::", + stringify!(dwTargetStrOffset) + ) + ); +} +pub type RECONVERTSTRING = tagRECONVERTSTRING; +pub type PRECONVERTSTRING = *mut tagRECONVERTSTRING; +pub type NPRECONVERTSTRING = *mut tagRECONVERTSTRING; +pub type LPRECONVERTSTRING = *mut tagRECONVERTSTRING; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTYLEBUFA { + pub dwStyle: DWORD, + pub szDescription: [CHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagSTYLEBUFA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagSTYLEBUFA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTYLEBUFA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTYLEBUFA), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSTYLEBUFA), + "::", + stringify!(szDescription) + ) + ); +} +pub type STYLEBUFA = tagSTYLEBUFA; +pub type PSTYLEBUFA = *mut tagSTYLEBUFA; +pub type NPSTYLEBUFA = *mut tagSTYLEBUFA; +pub type LPSTYLEBUFA = *mut tagSTYLEBUFA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagSTYLEBUFW { + pub dwStyle: DWORD, + pub szDescription: [WCHAR; 32usize], +} +#[test] +fn bindgen_test_layout_tagSTYLEBUFW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 68usize, + concat!("Size of: ", stringify!(tagSTYLEBUFW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagSTYLEBUFW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwStyle) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagSTYLEBUFW), + "::", + stringify!(dwStyle) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagSTYLEBUFW), + "::", + stringify!(szDescription) + ) + ); +} +pub type STYLEBUFW = tagSTYLEBUFW; +pub type PSTYLEBUFW = *mut tagSTYLEBUFW; +pub type NPSTYLEBUFW = *mut tagSTYLEBUFW; +pub type LPSTYLEBUFW = *mut tagSTYLEBUFW; +pub type STYLEBUF = STYLEBUFA; +pub type PSTYLEBUF = PSTYLEBUFA; +pub type NPSTYLEBUF = NPSTYLEBUFA; +pub type LPSTYLEBUF = LPSTYLEBUFA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagIMEMENUITEMINFOA { + pub cbSize: UINT, + pub fType: UINT, + pub fState: UINT, + pub wID: UINT, + pub hbmpChecked: HBITMAP, + pub hbmpUnchecked: HBITMAP, + pub dwItemData: DWORD, + pub szString: [CHAR; 80usize], + pub hbmpItem: HBITMAP, +} +#[test] +fn bindgen_test_layout_tagIMEMENUITEMINFOA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(tagIMEMENUITEMINFOA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagIMEMENUITEMINFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(fType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(fState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(wID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpChecked) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(hbmpChecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpUnchecked) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(hbmpUnchecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItemData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(dwItemData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szString) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(szString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpItem) as usize - ptr as usize }, + 120usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOA), + "::", + stringify!(hbmpItem) + ) + ); +} +pub type IMEMENUITEMINFOA = tagIMEMENUITEMINFOA; +pub type PIMEMENUITEMINFOA = *mut tagIMEMENUITEMINFOA; +pub type NPIMEMENUITEMINFOA = *mut tagIMEMENUITEMINFOA; +pub type LPIMEMENUITEMINFOA = *mut tagIMEMENUITEMINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagIMEMENUITEMINFOW { + pub cbSize: UINT, + pub fType: UINT, + pub fState: UINT, + pub wID: UINT, + pub hbmpChecked: HBITMAP, + pub hbmpUnchecked: HBITMAP, + pub dwItemData: DWORD, + pub szString: [WCHAR; 80usize], + pub hbmpItem: HBITMAP, +} +#[test] +fn bindgen_test_layout_tagIMEMENUITEMINFOW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 208usize, + concat!("Size of: ", stringify!(tagIMEMENUITEMINFOW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(tagIMEMENUITEMINFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cbSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOW), + "::", + stringify!(cbSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fType) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOW), + "::", + stringify!(fType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fState) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOW), + "::", + stringify!(fState) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wID) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOW), + "::", + stringify!(wID) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpChecked) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOW), + "::", + stringify!(hbmpChecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpUnchecked) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOW), + "::", + stringify!(hbmpUnchecked) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwItemData) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOW), + "::", + stringify!(dwItemData) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szString) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOW), + "::", + stringify!(szString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hbmpItem) as usize - ptr as usize }, + 200usize, + concat!( + "Offset of field: ", + stringify!(tagIMEMENUITEMINFOW), + "::", + stringify!(hbmpItem) + ) + ); +} +pub type IMEMENUITEMINFOW = tagIMEMENUITEMINFOW; +pub type PIMEMENUITEMINFOW = *mut tagIMEMENUITEMINFOW; +pub type NPIMEMENUITEMINFOW = *mut tagIMEMENUITEMINFOW; +pub type LPIMEMENUITEMINFOW = *mut tagIMEMENUITEMINFOW; +pub type IMEMENUITEMINFO = IMEMENUITEMINFOA; +pub type PIMEMENUITEMINFO = PIMEMENUITEMINFOA; +pub type NPIMEMENUITEMINFO = NPIMEMENUITEMINFOA; +pub type LPIMEMENUITEMINFO = LPIMEMENUITEMINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tagIMECHARPOSITION { + pub dwSize: DWORD, + pub dwCharPos: DWORD, + pub pt: POINT, + pub cLineHeight: UINT, + pub rcDocument: RECT, +} +#[test] +fn bindgen_test_layout_tagIMECHARPOSITION() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tagIMECHARPOSITION)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tagIMECHARPOSITION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tagIMECHARPOSITION), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCharPos) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tagIMECHARPOSITION), + "::", + stringify!(dwCharPos) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pt) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tagIMECHARPOSITION), + "::", + stringify!(pt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cLineHeight) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tagIMECHARPOSITION), + "::", + stringify!(cLineHeight) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rcDocument) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tagIMECHARPOSITION), + "::", + stringify!(rcDocument) + ) + ); +} +pub type IMECHARPOSITION = tagIMECHARPOSITION; +pub type PIMECHARPOSITION = *mut tagIMECHARPOSITION; +pub type NPIMECHARPOSITION = *mut tagIMECHARPOSITION; +pub type LPIMECHARPOSITION = *mut tagIMECHARPOSITION; +pub type IMCENUMPROC = + ::std::option::Option BOOL>; +extern "C" { + pub fn ImmInstallIMEA(lpszIMEFileName: LPCSTR, lpszLayoutText: LPCSTR) -> HKL; +} +extern "C" { + pub fn ImmInstallIMEW(lpszIMEFileName: LPCWSTR, lpszLayoutText: LPCWSTR) -> HKL; +} +extern "C" { + pub fn ImmGetDefaultIMEWnd(arg1: HWND) -> HWND; +} +extern "C" { + pub fn ImmGetDescriptionA(arg1: HKL, lpszDescription: LPSTR, uBufLen: UINT) -> UINT; +} +extern "C" { + pub fn ImmGetDescriptionW(arg1: HKL, lpszDescription: LPWSTR, uBufLen: UINT) -> UINT; +} +extern "C" { + pub fn ImmGetIMEFileNameA(arg1: HKL, lpszFileName: LPSTR, uBufLen: UINT) -> UINT; +} +extern "C" { + pub fn ImmGetIMEFileNameW(arg1: HKL, lpszFileName: LPWSTR, uBufLen: UINT) -> UINT; +} +extern "C" { + pub fn ImmGetProperty(arg1: HKL, arg2: DWORD) -> DWORD; +} +extern "C" { + pub fn ImmIsIME(arg1: HKL) -> BOOL; +} +extern "C" { + pub fn ImmSimulateHotKey(arg1: HWND, arg2: DWORD) -> BOOL; +} +extern "C" { + pub fn ImmCreateContext() -> HIMC; +} +extern "C" { + pub fn ImmDestroyContext(arg1: HIMC) -> BOOL; +} +extern "C" { + pub fn ImmGetContext(arg1: HWND) -> HIMC; +} +extern "C" { + pub fn ImmReleaseContext(arg1: HWND, arg2: HIMC) -> BOOL; +} +extern "C" { + pub fn ImmAssociateContext(arg1: HWND, arg2: HIMC) -> HIMC; +} +extern "C" { + pub fn ImmAssociateContextEx(arg1: HWND, arg2: HIMC, arg3: DWORD) -> BOOL; +} +extern "C" { + pub fn ImmGetCompositionStringA( + arg1: HIMC, + arg2: DWORD, + lpBuf: LPVOID, + dwBufLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn ImmGetCompositionStringW( + arg1: HIMC, + arg2: DWORD, + lpBuf: LPVOID, + dwBufLen: DWORD, + ) -> LONG; +} +extern "C" { + pub fn ImmSetCompositionStringA( + arg1: HIMC, + dwIndex: DWORD, + lpComp: LPVOID, + dwCompLen: DWORD, + lpRead: LPVOID, + dwReadLen: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ImmSetCompositionStringW( + arg1: HIMC, + dwIndex: DWORD, + lpComp: LPVOID, + dwCompLen: DWORD, + lpRead: LPVOID, + dwReadLen: DWORD, + ) -> BOOL; +} +extern "C" { + pub fn ImmGetCandidateListCountA(arg1: HIMC, lpdwListCount: LPDWORD) -> DWORD; +} +extern "C" { + pub fn ImmGetCandidateListCountW(arg1: HIMC, lpdwListCount: LPDWORD) -> DWORD; +} +extern "C" { + pub fn ImmGetCandidateListA( + arg1: HIMC, + deIndex: DWORD, + lpCandList: LPCANDIDATELIST, + dwBufLen: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn ImmGetCandidateListW( + arg1: HIMC, + deIndex: DWORD, + lpCandList: LPCANDIDATELIST, + dwBufLen: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn ImmGetGuideLineA(arg1: HIMC, dwIndex: DWORD, lpBuf: LPSTR, dwBufLen: DWORD) -> DWORD; +} +extern "C" { + pub fn ImmGetGuideLineW(arg1: HIMC, dwIndex: DWORD, lpBuf: LPWSTR, dwBufLen: DWORD) -> DWORD; +} +extern "C" { + pub fn ImmGetConversionStatus( + arg1: HIMC, + lpfdwConversion: LPDWORD, + lpfdwSentence: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn ImmSetConversionStatus(arg1: HIMC, arg2: DWORD, arg3: DWORD) -> BOOL; +} +extern "C" { + pub fn ImmGetOpenStatus(arg1: HIMC) -> BOOL; +} +extern "C" { + pub fn ImmSetOpenStatus(arg1: HIMC, arg2: BOOL) -> BOOL; +} +extern "C" { + pub fn ImmGetCompositionFontA(arg1: HIMC, lplf: LPLOGFONTA) -> BOOL; +} +extern "C" { + pub fn ImmGetCompositionFontW(arg1: HIMC, lplf: LPLOGFONTW) -> BOOL; +} +extern "C" { + pub fn ImmSetCompositionFontA(arg1: HIMC, lplf: LPLOGFONTA) -> BOOL; +} +extern "C" { + pub fn ImmSetCompositionFontW(arg1: HIMC, lplf: LPLOGFONTW) -> BOOL; +} +extern "C" { + pub fn ImmConfigureIMEA(arg1: HKL, arg2: HWND, arg3: DWORD, arg4: LPVOID) -> BOOL; +} +extern "C" { + pub fn ImmConfigureIMEW(arg1: HKL, arg2: HWND, arg3: DWORD, arg4: LPVOID) -> BOOL; +} +extern "C" { + pub fn ImmEscapeA(arg1: HKL, arg2: HIMC, arg3: UINT, arg4: LPVOID) -> LRESULT; +} +extern "C" { + pub fn ImmEscapeW(arg1: HKL, arg2: HIMC, arg3: UINT, arg4: LPVOID) -> LRESULT; +} +extern "C" { + pub fn ImmGetConversionListA( + arg1: HKL, + arg2: HIMC, + lpSrc: LPCSTR, + lpDst: LPCANDIDATELIST, + dwBufLen: DWORD, + uFlag: UINT, + ) -> DWORD; +} +extern "C" { + pub fn ImmGetConversionListW( + arg1: HKL, + arg2: HIMC, + lpSrc: LPCWSTR, + lpDst: LPCANDIDATELIST, + dwBufLen: DWORD, + uFlag: UINT, + ) -> DWORD; +} +extern "C" { + pub fn ImmNotifyIME(arg1: HIMC, dwAction: DWORD, dwIndex: DWORD, dwValue: DWORD) -> BOOL; +} +extern "C" { + pub fn ImmGetStatusWindowPos(arg1: HIMC, lpptPos: LPPOINT) -> BOOL; +} +extern "C" { + pub fn ImmSetStatusWindowPos(arg1: HIMC, lpptPos: LPPOINT) -> BOOL; +} +extern "C" { + pub fn ImmGetCompositionWindow(arg1: HIMC, lpCompForm: LPCOMPOSITIONFORM) -> BOOL; +} +extern "C" { + pub fn ImmSetCompositionWindow(arg1: HIMC, lpCompForm: LPCOMPOSITIONFORM) -> BOOL; +} +extern "C" { + pub fn ImmGetCandidateWindow(arg1: HIMC, arg2: DWORD, lpCandidate: LPCANDIDATEFORM) -> BOOL; +} +extern "C" { + pub fn ImmSetCandidateWindow(arg1: HIMC, lpCandidate: LPCANDIDATEFORM) -> BOOL; +} +extern "C" { + pub fn ImmIsUIMessageA(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> BOOL; +} +extern "C" { + pub fn ImmIsUIMessageW(arg1: HWND, arg2: UINT, arg3: WPARAM, arg4: LPARAM) -> BOOL; +} +extern "C" { + pub fn ImmGetVirtualKey(arg1: HWND) -> UINT; +} +pub type REGISTERWORDENUMPROCA = ::std::option::Option< + unsafe extern "C" fn( + lpszReading: LPCSTR, + arg1: DWORD, + lpszString: LPCSTR, + arg2: LPVOID, + ) -> ::std::os::raw::c_int, +>; +pub type REGISTERWORDENUMPROCW = ::std::option::Option< + unsafe extern "C" fn( + lpszReading: LPCWSTR, + arg1: DWORD, + lpszString: LPCWSTR, + arg2: LPVOID, + ) -> ::std::os::raw::c_int, +>; +extern "C" { + pub fn ImmRegisterWordA( + arg1: HKL, + lpszReading: LPCSTR, + arg2: DWORD, + lpszRegister: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn ImmRegisterWordW( + arg1: HKL, + lpszReading: LPCWSTR, + arg2: DWORD, + lpszRegister: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn ImmUnregisterWordA( + arg1: HKL, + lpszReading: LPCSTR, + arg2: DWORD, + lpszUnregister: LPCSTR, + ) -> BOOL; +} +extern "C" { + pub fn ImmUnregisterWordW( + arg1: HKL, + lpszReading: LPCWSTR, + arg2: DWORD, + lpszUnregister: LPCWSTR, + ) -> BOOL; +} +extern "C" { + pub fn ImmGetRegisterWordStyleA(arg1: HKL, nItem: UINT, lpStyleBuf: LPSTYLEBUFA) -> UINT; +} +extern "C" { + pub fn ImmGetRegisterWordStyleW(arg1: HKL, nItem: UINT, lpStyleBuf: LPSTYLEBUFW) -> UINT; +} +extern "C" { + pub fn ImmEnumRegisterWordA( + arg1: HKL, + arg2: REGISTERWORDENUMPROCA, + lpszReading: LPCSTR, + arg3: DWORD, + lpszRegister: LPCSTR, + arg4: LPVOID, + ) -> UINT; +} +extern "C" { + pub fn ImmEnumRegisterWordW( + arg1: HKL, + arg2: REGISTERWORDENUMPROCW, + lpszReading: LPCWSTR, + arg3: DWORD, + lpszRegister: LPCWSTR, + arg4: LPVOID, + ) -> UINT; +} +extern "C" { + pub fn ImmDisableIME(arg1: DWORD) -> BOOL; +} +extern "C" { + pub fn ImmEnumInputContext(idThread: DWORD, lpfn: IMCENUMPROC, lParam: LPARAM) -> BOOL; +} +extern "C" { + pub fn ImmGetImeMenuItemsA( + arg1: HIMC, + arg2: DWORD, + arg3: DWORD, + lpImeParentMenu: LPIMEMENUITEMINFOA, + lpImeMenu: LPIMEMENUITEMINFOA, + dwSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn ImmGetImeMenuItemsW( + arg1: HIMC, + arg2: DWORD, + arg3: DWORD, + lpImeParentMenu: LPIMEMENUITEMINFOW, + lpImeMenu: LPIMEMENUITEMINFOW, + dwSize: DWORD, + ) -> DWORD; +} +extern "C" { + pub fn ImmDisableTextFrameService(idThread: DWORD) -> BOOL; +} +extern "C" { + pub fn ImmDisableLegacyIME() -> BOOL; +} +pub type u_char = ::std::os::raw::c_uchar; +pub type u_short = ::std::os::raw::c_ushort; +pub type u_int = ::std::os::raw::c_uint; +pub type u_long = ::std::os::raw::c_ulong; +pub type u_int64 = ::std::os::raw::c_ulonglong; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct in_addr { + pub S_un: in_addr__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union in_addr__bindgen_ty_1 { + pub S_un_b: in_addr__bindgen_ty_1__bindgen_ty_1, + pub S_un_w: in_addr__bindgen_ty_1__bindgen_ty_2, + pub S_addr: ULONG, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct in_addr__bindgen_ty_1__bindgen_ty_1 { + pub s_b1: UCHAR, + pub s_b2: UCHAR, + pub s_b3: UCHAR, + pub s_b4: UCHAR, +} +#[test] +fn bindgen_test_layout_in_addr__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(in_addr__bindgen_ty_1__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!( + "Alignment of ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_b1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(s_b1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_b2) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(s_b2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_b3) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(s_b3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_b4) as usize - ptr as usize }, + 3usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(s_b4) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct in_addr__bindgen_ty_1__bindgen_ty_2 { + pub s_w1: USHORT, + pub s_w2: USHORT, +} +#[test] +fn bindgen_test_layout_in_addr__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(in_addr__bindgen_ty_1__bindgen_ty_2)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!( + "Alignment of ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_w1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(s_w1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_w2) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(s_w2) + ) + ); +} +#[test] +fn bindgen_test_layout_in_addr__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(in_addr__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(in_addr__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).S_un_b) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1), + "::", + stringify!(S_un_b) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).S_un_w) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1), + "::", + stringify!(S_un_w) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).S_addr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr__bindgen_ty_1), + "::", + stringify!(S_addr) + ) + ); +} +#[test] +fn bindgen_test_layout_in_addr() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(in_addr)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(in_addr)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).S_un) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_addr), + "::", + stringify!(S_un) + ) + ); +} +pub type IN_ADDR = in_addr; +pub type PIN_ADDR = *mut in_addr; +pub type LPIN_ADDR = *mut in_addr; +pub type ADDRESS_FAMILY = USHORT; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sockaddr { + pub sa_family: ADDRESS_FAMILY, + pub sa_data: [CHAR; 14usize], +} +#[test] +fn bindgen_test_layout_sockaddr() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(sockaddr)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(sockaddr)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr), + "::", + stringify!(sa_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr), + "::", + stringify!(sa_data) + ) + ); +} +pub type SOCKADDR = sockaddr; +pub type PSOCKADDR = *mut sockaddr; +pub type LPSOCKADDR = *mut sockaddr; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SOCKET_ADDRESS { + pub lpSockaddr: LPSOCKADDR, + pub iSockaddrLength: INT, +} +#[test] +fn bindgen_test_layout__SOCKET_ADDRESS() { + const UNINIT: ::std::mem::MaybeUninit<_SOCKET_ADDRESS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SOCKET_ADDRESS>(), + 16usize, + concat!("Size of: ", stringify!(_SOCKET_ADDRESS)) + ); + assert_eq!( + ::std::mem::align_of::<_SOCKET_ADDRESS>(), + 8usize, + concat!("Alignment of ", stringify!(_SOCKET_ADDRESS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpSockaddr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SOCKET_ADDRESS), + "::", + stringify!(lpSockaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSockaddrLength) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SOCKET_ADDRESS), + "::", + stringify!(iSockaddrLength) + ) + ); +} +pub type SOCKET_ADDRESS = _SOCKET_ADDRESS; +pub type PSOCKET_ADDRESS = *mut _SOCKET_ADDRESS; +pub type LPSOCKET_ADDRESS = *mut _SOCKET_ADDRESS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SOCKET_ADDRESS_LIST { + pub iAddressCount: INT, + pub Address: [SOCKET_ADDRESS; 1usize], +} +#[test] +fn bindgen_test_layout__SOCKET_ADDRESS_LIST() { + const UNINIT: ::std::mem::MaybeUninit<_SOCKET_ADDRESS_LIST> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SOCKET_ADDRESS_LIST>(), + 24usize, + concat!("Size of: ", stringify!(_SOCKET_ADDRESS_LIST)) + ); + assert_eq!( + ::std::mem::align_of::<_SOCKET_ADDRESS_LIST>(), + 8usize, + concat!("Alignment of ", stringify!(_SOCKET_ADDRESS_LIST)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iAddressCount) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SOCKET_ADDRESS_LIST), + "::", + stringify!(iAddressCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Address) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_SOCKET_ADDRESS_LIST), + "::", + stringify!(Address) + ) + ); +} +pub type SOCKET_ADDRESS_LIST = _SOCKET_ADDRESS_LIST; +pub type PSOCKET_ADDRESS_LIST = *mut _SOCKET_ADDRESS_LIST; +pub type LPSOCKET_ADDRESS_LIST = *mut _SOCKET_ADDRESS_LIST; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _CSADDR_INFO { + pub LocalAddr: SOCKET_ADDRESS, + pub RemoteAddr: SOCKET_ADDRESS, + pub iSocketType: INT, + pub iProtocol: INT, +} +#[test] +fn bindgen_test_layout__CSADDR_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_CSADDR_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_CSADDR_INFO>(), + 40usize, + concat!("Size of: ", stringify!(_CSADDR_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_CSADDR_INFO>(), + 8usize, + concat!("Alignment of ", stringify!(_CSADDR_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).LocalAddr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_CSADDR_INFO), + "::", + stringify!(LocalAddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).RemoteAddr) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_CSADDR_INFO), + "::", + stringify!(RemoteAddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSocketType) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_CSADDR_INFO), + "::", + stringify!(iSocketType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iProtocol) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_CSADDR_INFO), + "::", + stringify!(iProtocol) + ) + ); +} +pub type CSADDR_INFO = _CSADDR_INFO; +pub type PCSADDR_INFO = *mut _CSADDR_INFO; +pub type LPCSADDR_INFO = *mut _CSADDR_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sockaddr_storage { + pub ss_family: ADDRESS_FAMILY, + pub __ss_pad1: [CHAR; 6usize], + pub __ss_align: ::std::os::raw::c_longlong, + pub __ss_pad2: [CHAR; 112usize], +} +#[test] +fn bindgen_test_layout_sockaddr_storage() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(sockaddr_storage)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sockaddr_storage)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ss_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_storage), + "::", + stringify!(ss_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__ss_pad1) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_storage), + "::", + stringify!(__ss_pad1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__ss_align) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_storage), + "::", + stringify!(__ss_align) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__ss_pad2) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_storage), + "::", + stringify!(__ss_pad2) + ) + ); +} +pub type SOCKADDR_STORAGE_LH = sockaddr_storage; +pub type PSOCKADDR_STORAGE_LH = *mut sockaddr_storage; +pub type LPSOCKADDR_STORAGE_LH = *mut sockaddr_storage; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sockaddr_storage_xp { + pub ss_family: ::std::os::raw::c_short, + pub __ss_pad1: [CHAR; 6usize], + pub __ss_align: ::std::os::raw::c_longlong, + pub __ss_pad2: [CHAR; 112usize], +} +#[test] +fn bindgen_test_layout_sockaddr_storage_xp() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 128usize, + concat!("Size of: ", stringify!(sockaddr_storage_xp)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(sockaddr_storage_xp)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ss_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_storage_xp), + "::", + stringify!(ss_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__ss_pad1) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_storage_xp), + "::", + stringify!(__ss_pad1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__ss_align) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_storage_xp), + "::", + stringify!(__ss_align) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).__ss_pad2) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_storage_xp), + "::", + stringify!(__ss_pad2) + ) + ); +} +pub type SOCKADDR_STORAGE_XP = sockaddr_storage_xp; +pub type PSOCKADDR_STORAGE_XP = *mut sockaddr_storage_xp; +pub type LPSOCKADDR_STORAGE_XP = *mut sockaddr_storage_xp; +pub type SOCKADDR_STORAGE = SOCKADDR_STORAGE_LH; +pub type PSOCKADDR_STORAGE = *mut SOCKADDR_STORAGE; +pub type LPSOCKADDR_STORAGE = *mut SOCKADDR_STORAGE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _SOCKET_PROCESSOR_AFFINITY { + pub Processor: PROCESSOR_NUMBER, + pub NumaNodeId: USHORT, + pub Reserved: USHORT, +} +#[test] +fn bindgen_test_layout__SOCKET_PROCESSOR_AFFINITY() { + const UNINIT: ::std::mem::MaybeUninit<_SOCKET_PROCESSOR_AFFINITY> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SOCKET_PROCESSOR_AFFINITY>(), + 8usize, + concat!("Size of: ", stringify!(_SOCKET_PROCESSOR_AFFINITY)) + ); + assert_eq!( + ::std::mem::align_of::<_SOCKET_PROCESSOR_AFFINITY>(), + 2usize, + concat!("Alignment of ", stringify!(_SOCKET_PROCESSOR_AFFINITY)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Processor) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SOCKET_PROCESSOR_AFFINITY), + "::", + stringify!(Processor) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NumaNodeId) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_SOCKET_PROCESSOR_AFFINITY), + "::", + stringify!(NumaNodeId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Reserved) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(_SOCKET_PROCESSOR_AFFINITY), + "::", + stringify!(Reserved) + ) + ); +} +pub type SOCKET_PROCESSOR_AFFINITY = _SOCKET_PROCESSOR_AFFINITY; +pub type PSOCKET_PROCESSOR_AFFINITY = *mut _SOCKET_PROCESSOR_AFFINITY; +pub const IPPROTO_IPPROTO_HOPOPTS: IPPROTO = 0; +pub const IPPROTO_IPPROTO_ICMP: IPPROTO = 1; +pub const IPPROTO_IPPROTO_IGMP: IPPROTO = 2; +pub const IPPROTO_IPPROTO_GGP: IPPROTO = 3; +pub const IPPROTO_IPPROTO_IPV4: IPPROTO = 4; +pub const IPPROTO_IPPROTO_ST: IPPROTO = 5; +pub const IPPROTO_IPPROTO_TCP: IPPROTO = 6; +pub const IPPROTO_IPPROTO_CBT: IPPROTO = 7; +pub const IPPROTO_IPPROTO_EGP: IPPROTO = 8; +pub const IPPROTO_IPPROTO_IGP: IPPROTO = 9; +pub const IPPROTO_IPPROTO_PUP: IPPROTO = 12; +pub const IPPROTO_IPPROTO_UDP: IPPROTO = 17; +pub const IPPROTO_IPPROTO_IDP: IPPROTO = 22; +pub const IPPROTO_IPPROTO_RDP: IPPROTO = 27; +pub const IPPROTO_IPPROTO_IPV6: IPPROTO = 41; +pub const IPPROTO_IPPROTO_ROUTING: IPPROTO = 43; +pub const IPPROTO_IPPROTO_FRAGMENT: IPPROTO = 44; +pub const IPPROTO_IPPROTO_ESP: IPPROTO = 50; +pub const IPPROTO_IPPROTO_AH: IPPROTO = 51; +pub const IPPROTO_IPPROTO_ICMPV6: IPPROTO = 58; +pub const IPPROTO_IPPROTO_NONE: IPPROTO = 59; +pub const IPPROTO_IPPROTO_DSTOPTS: IPPROTO = 60; +pub const IPPROTO_IPPROTO_ND: IPPROTO = 77; +pub const IPPROTO_IPPROTO_ICLFXBM: IPPROTO = 78; +pub const IPPROTO_IPPROTO_PIM: IPPROTO = 103; +pub const IPPROTO_IPPROTO_PGM: IPPROTO = 113; +pub const IPPROTO_IPPROTO_L2TP: IPPROTO = 115; +pub const IPPROTO_IPPROTO_SCTP: IPPROTO = 132; +pub const IPPROTO_IPPROTO_RAW: IPPROTO = 255; +pub const IPPROTO_IPPROTO_MAX: IPPROTO = 256; +pub const IPPROTO_IPPROTO_RESERVED_RAW: IPPROTO = 257; +pub const IPPROTO_IPPROTO_RESERVED_IPSEC: IPPROTO = 258; +pub const IPPROTO_IPPROTO_RESERVED_IPSECOFFLOAD: IPPROTO = 259; +pub const IPPROTO_IPPROTO_RESERVED_WNV: IPPROTO = 260; +pub const IPPROTO_IPPROTO_RESERVED_MAX: IPPROTO = 261; +pub type IPPROTO = ::std::os::raw::c_int; +pub type PIPROTO = *mut IPPROTO; +pub const SCOPE_LEVEL_ScopeLevelInterface: SCOPE_LEVEL = 1; +pub const SCOPE_LEVEL_ScopeLevelLink: SCOPE_LEVEL = 2; +pub const SCOPE_LEVEL_ScopeLevelSubnet: SCOPE_LEVEL = 3; +pub const SCOPE_LEVEL_ScopeLevelAdmin: SCOPE_LEVEL = 4; +pub const SCOPE_LEVEL_ScopeLevelSite: SCOPE_LEVEL = 5; +pub const SCOPE_LEVEL_ScopeLevelOrganization: SCOPE_LEVEL = 8; +pub const SCOPE_LEVEL_ScopeLevelGlobal: SCOPE_LEVEL = 14; +pub const SCOPE_LEVEL_ScopeLevelCount: SCOPE_LEVEL = 16; +pub type SCOPE_LEVEL = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct SCOPE_ID { + pub __bindgen_anon_1: SCOPE_ID__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union SCOPE_ID__bindgen_ty_1 { + pub __bindgen_anon_1: SCOPE_ID__bindgen_ty_1__bindgen_ty_1, + pub Value: ULONG, +} +#[repr(C)] +#[repr(align(4))] +#[derive(Debug, Copy, Clone)] +pub struct SCOPE_ID__bindgen_ty_1__bindgen_ty_1 { + pub _bitfield_align_1: [u32; 0], + pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>, +} +#[test] +fn bindgen_test_layout_SCOPE_ID__bindgen_ty_1__bindgen_ty_1() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!( + "Size of: ", + stringify!(SCOPE_ID__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!( + "Alignment of ", + stringify!(SCOPE_ID__bindgen_ty_1__bindgen_ty_1) + ) + ); +} +impl SCOPE_ID__bindgen_ty_1__bindgen_ty_1 { + #[inline] + pub fn Zone(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 28u8) as u32) } + } + #[inline] + pub fn set_Zone(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(0usize, 28u8, val as u64) + } + } + #[inline] + pub fn Level(&self) -> ULONG { + unsafe { ::std::mem::transmute(self._bitfield_1.get(28usize, 4u8) as u32) } + } + #[inline] + pub fn set_Level(&mut self, val: ULONG) { + unsafe { + let val: u32 = ::std::mem::transmute(val); + self._bitfield_1.set(28usize, 4u8, val as u64) + } + } + #[inline] + pub fn new_bitfield_1(Zone: ULONG, Level: ULONG) -> __BindgenBitfieldUnit<[u8; 4usize]> { + let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default(); + __bindgen_bitfield_unit.set(0usize, 28u8, { + let Zone: u32 = unsafe { ::std::mem::transmute(Zone) }; + Zone as u64 + }); + __bindgen_bitfield_unit.set(28usize, 4u8, { + let Level: u32 = unsafe { ::std::mem::transmute(Level) }; + Level as u64 + }); + __bindgen_bitfield_unit + } +} +#[test] +fn bindgen_test_layout_SCOPE_ID__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(SCOPE_ID__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SCOPE_ID__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Value) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(SCOPE_ID__bindgen_ty_1), + "::", + stringify!(Value) + ) + ); +} +#[test] +fn bindgen_test_layout_SCOPE_ID() { + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(SCOPE_ID)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(SCOPE_ID)) + ); +} +pub type PSCOPE_ID = *mut SCOPE_ID; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sockaddr_in { + pub sin_family: ADDRESS_FAMILY, + pub sin_port: USHORT, + pub sin_addr: IN_ADDR, + pub sin_zero: [CHAR; 8usize], +} +#[test] +fn bindgen_test_layout_sockaddr_in() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(sockaddr_in)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(sockaddr_in)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in), + "::", + stringify!(sin_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin_port) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in), + "::", + stringify!(sin_port) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin_addr) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in), + "::", + stringify!(sin_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin_zero) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in), + "::", + stringify!(sin_zero) + ) + ); +} +pub type SOCKADDR_IN = sockaddr_in; +pub type PSOCKADDR_IN = *mut sockaddr_in; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sockaddr_dl { + pub sdl_family: ADDRESS_FAMILY, + pub sdl_data: [UCHAR; 8usize], + pub sdl_zero: [UCHAR; 4usize], +} +#[test] +fn bindgen_test_layout_sockaddr_dl() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 14usize, + concat!("Size of: ", stringify!(sockaddr_dl)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(sockaddr_dl)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sdl_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_dl), + "::", + stringify!(sdl_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sdl_data) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_dl), + "::", + stringify!(sdl_data) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sdl_zero) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_dl), + "::", + stringify!(sdl_zero) + ) + ); +} +pub type SOCKADDR_DL = sockaddr_dl; +pub type PSOCKADDR_DL = *mut sockaddr_dl; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSABUF { + pub len: ULONG, + pub buf: *mut CHAR, +} +#[test] +fn bindgen_test_layout__WSABUF() { + const UNINIT: ::std::mem::MaybeUninit<_WSABUF> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSABUF>(), + 16usize, + concat!("Size of: ", stringify!(_WSABUF)) + ); + assert_eq!( + ::std::mem::align_of::<_WSABUF>(), + 8usize, + concat!("Alignment of ", stringify!(_WSABUF)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSABUF), + "::", + stringify!(len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSABUF), + "::", + stringify!(buf) + ) + ); +} +pub type WSABUF = _WSABUF; +pub type LPWSABUF = *mut _WSABUF; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAMSG { + pub name: LPSOCKADDR, + pub namelen: INT, + pub lpBuffers: LPWSABUF, + pub dwBufferCount: ULONG, + pub Control: WSABUF, + pub dwFlags: ULONG, +} +#[test] +fn bindgen_test_layout__WSAMSG() { + const UNINIT: ::std::mem::MaybeUninit<_WSAMSG> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAMSG>(), + 56usize, + concat!("Size of: ", stringify!(_WSAMSG)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAMSG>(), + 8usize, + concat!("Alignment of ", stringify!(_WSAMSG)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAMSG), + "::", + stringify!(name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).namelen) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSAMSG), + "::", + stringify!(namelen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBuffers) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSAMSG), + "::", + stringify!(lpBuffers) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwBufferCount) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSAMSG), + "::", + stringify!(dwBufferCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Control) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WSAMSG), + "::", + stringify!(Control) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwFlags) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_WSAMSG), + "::", + stringify!(dwFlags) + ) + ); +} +pub type WSAMSG = _WSAMSG; +pub type PWSAMSG = *mut _WSAMSG; +pub type LPWSAMSG = *mut _WSAMSG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct cmsghdr { + pub cmsg_len: SIZE_T, + pub cmsg_level: INT, + pub cmsg_type: INT, +} +#[test] +fn bindgen_test_layout_cmsghdr() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(cmsghdr)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(cmsghdr)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cmsg_len) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(cmsghdr), + "::", + stringify!(cmsg_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cmsg_level) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(cmsghdr), + "::", + stringify!(cmsg_level) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cmsg_type) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(cmsghdr), + "::", + stringify!(cmsg_type) + ) + ); +} +pub type WSACMSGHDR = cmsghdr; +pub type PWSACMSGHDR = *mut cmsghdr; +pub type LPWSACMSGHDR = *mut cmsghdr; +pub type CMSGHDR = WSACMSGHDR; +pub type PCMSGHDR = *mut WSACMSGHDR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct addrinfo { + pub ai_flags: ::std::os::raw::c_int, + pub ai_family: ::std::os::raw::c_int, + pub ai_socktype: ::std::os::raw::c_int, + pub ai_protocol: ::std::os::raw::c_int, + pub ai_addrlen: usize, + pub ai_canonname: *mut ::std::os::raw::c_char, + pub ai_addr: *mut sockaddr, + pub ai_next: *mut addrinfo, +} +#[test] +fn bindgen_test_layout_addrinfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(addrinfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(addrinfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(addrinfo), + "::", + stringify!(ai_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(addrinfo), + "::", + stringify!(ai_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(addrinfo), + "::", + stringify!(ai_socktype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(addrinfo), + "::", + stringify!(ai_protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(addrinfo), + "::", + stringify!(ai_addrlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(addrinfo), + "::", + stringify!(ai_canonname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(addrinfo), + "::", + stringify!(ai_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(addrinfo), + "::", + stringify!(ai_next) + ) + ); +} +pub type ADDRINFOA = addrinfo; +pub type PADDRINFOA = *mut addrinfo; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct addrinfoW { + pub ai_flags: ::std::os::raw::c_int, + pub ai_family: ::std::os::raw::c_int, + pub ai_socktype: ::std::os::raw::c_int, + pub ai_protocol: ::std::os::raw::c_int, + pub ai_addrlen: usize, + pub ai_canonname: PWSTR, + pub ai_addr: *mut sockaddr, + pub ai_next: *mut addrinfoW, +} +#[test] +fn bindgen_test_layout_addrinfoW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 48usize, + concat!("Size of: ", stringify!(addrinfoW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(addrinfoW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(addrinfoW), + "::", + stringify!(ai_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(addrinfoW), + "::", + stringify!(ai_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(addrinfoW), + "::", + stringify!(ai_socktype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(addrinfoW), + "::", + stringify!(ai_protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(addrinfoW), + "::", + stringify!(ai_addrlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(addrinfoW), + "::", + stringify!(ai_canonname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(addrinfoW), + "::", + stringify!(ai_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(addrinfoW), + "::", + stringify!(ai_next) + ) + ); +} +pub type ADDRINFOW = addrinfoW; +pub type PADDRINFOW = *mut addrinfoW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct addrinfoexA { + pub ai_flags: ::std::os::raw::c_int, + pub ai_family: ::std::os::raw::c_int, + pub ai_socktype: ::std::os::raw::c_int, + pub ai_protocol: ::std::os::raw::c_int, + pub ai_addrlen: usize, + pub ai_canonname: *mut ::std::os::raw::c_char, + pub ai_addr: *mut sockaddr, + pub ai_blob: *mut ::std::os::raw::c_void, + pub ai_bloblen: usize, + pub ai_provider: LPGUID, + pub ai_next: *mut addrinfoexA, +} +#[test] +fn bindgen_test_layout_addrinfoexA() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(addrinfoexA)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(addrinfoexA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_socktype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_addrlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_canonname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_blob) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_blob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_bloblen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_bloblen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_provider) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_provider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexA), + "::", + stringify!(ai_next) + ) + ); +} +pub type ADDRINFOEXA = addrinfoexA; +pub type PADDRINFOEXA = *mut addrinfoexA; +pub type LPADDRINFOEXA = *mut addrinfoexA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct addrinfoexW { + pub ai_flags: ::std::os::raw::c_int, + pub ai_family: ::std::os::raw::c_int, + pub ai_socktype: ::std::os::raw::c_int, + pub ai_protocol: ::std::os::raw::c_int, + pub ai_addrlen: usize, + pub ai_canonname: PWSTR, + pub ai_addr: *mut sockaddr, + pub ai_blob: *mut ::std::os::raw::c_void, + pub ai_bloblen: usize, + pub ai_provider: LPGUID, + pub ai_next: *mut addrinfoexW, +} +#[test] +fn bindgen_test_layout_addrinfoexW() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 72usize, + concat!("Size of: ", stringify!(addrinfoexW)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(addrinfoexW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_socktype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_addrlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_canonname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_blob) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_blob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_bloblen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_bloblen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_provider) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_provider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(addrinfoexW), + "::", + stringify!(ai_next) + ) + ); +} +pub type ADDRINFOEXW = addrinfoexW; +pub type PADDRINFOEXW = *mut addrinfoexW; +pub type LPADDRINFOEXW = *mut addrinfoexW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct addrinfoex2A { + pub ai_flags: ::std::os::raw::c_int, + pub ai_family: ::std::os::raw::c_int, + pub ai_socktype: ::std::os::raw::c_int, + pub ai_protocol: ::std::os::raw::c_int, + pub ai_addrlen: usize, + pub ai_canonname: *mut ::std::os::raw::c_char, + pub ai_addr: *mut sockaddr, + pub ai_blob: *mut ::std::os::raw::c_void, + pub ai_bloblen: usize, + pub ai_provider: LPGUID, + pub ai_next: *mut addrinfoex2A, + pub ai_version: ::std::os::raw::c_int, + pub ai_fqdn: *mut ::std::os::raw::c_char, +} +#[test] +fn bindgen_test_layout_addrinfoex2A() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(addrinfoex2A)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(addrinfoex2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_socktype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_addrlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_canonname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_blob) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_blob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_bloblen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_bloblen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_provider) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_provider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_version) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_fqdn) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2A), + "::", + stringify!(ai_fqdn) + ) + ); +} +pub type ADDRINFOEX2A = addrinfoex2A; +pub type PADDRINFOEX2A = *mut addrinfoex2A; +pub type LPADDRINFOEX2A = *mut addrinfoex2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct addrinfoex2W { + pub ai_flags: ::std::os::raw::c_int, + pub ai_family: ::std::os::raw::c_int, + pub ai_socktype: ::std::os::raw::c_int, + pub ai_protocol: ::std::os::raw::c_int, + pub ai_addrlen: usize, + pub ai_canonname: PWSTR, + pub ai_addr: *mut sockaddr, + pub ai_blob: *mut ::std::os::raw::c_void, + pub ai_bloblen: usize, + pub ai_provider: LPGUID, + pub ai_next: *mut addrinfoex2W, + pub ai_version: ::std::os::raw::c_int, + pub ai_fqdn: PWSTR, +} +#[test] +fn bindgen_test_layout_addrinfoex2W() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 88usize, + concat!("Size of: ", stringify!(addrinfoex2W)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(addrinfoex2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_socktype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_addrlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_canonname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_blob) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_blob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_bloblen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_bloblen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_provider) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_provider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_version) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_fqdn) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex2W), + "::", + stringify!(ai_fqdn) + ) + ); +} +pub type ADDRINFOEX2W = addrinfoex2W; +pub type PADDRINFOEX2W = *mut addrinfoex2W; +pub type LPADDRINFOEX2W = *mut addrinfoex2W; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct addrinfoex3 { + pub ai_flags: ::std::os::raw::c_int, + pub ai_family: ::std::os::raw::c_int, + pub ai_socktype: ::std::os::raw::c_int, + pub ai_protocol: ::std::os::raw::c_int, + pub ai_addrlen: usize, + pub ai_canonname: PWSTR, + pub ai_addr: *mut sockaddr, + pub ai_blob: *mut ::std::os::raw::c_void, + pub ai_bloblen: usize, + pub ai_provider: LPGUID, + pub ai_next: *mut addrinfoex3, + pub ai_version: ::std::os::raw::c_int, + pub ai_fqdn: PWSTR, + pub ai_interfaceindex: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_addrinfoex3() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 96usize, + concat!("Size of: ", stringify!(addrinfoex3)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(addrinfoex3)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_socktype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_addrlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_canonname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_blob) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_blob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_bloblen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_bloblen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_provider) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_provider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_version) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_fqdn) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_fqdn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_interfaceindex) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex3), + "::", + stringify!(ai_interfaceindex) + ) + ); +} +pub type ADDRINFOEX3 = addrinfoex3; +pub type PADDRINFOEX3 = *mut addrinfoex3; +pub type LPADDRINFOEX3 = *mut addrinfoex3; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct addrinfoex4 { + pub ai_flags: ::std::os::raw::c_int, + pub ai_family: ::std::os::raw::c_int, + pub ai_socktype: ::std::os::raw::c_int, + pub ai_protocol: ::std::os::raw::c_int, + pub ai_addrlen: usize, + pub ai_canonname: PWSTR, + pub ai_addr: *mut sockaddr, + pub ai_blob: *mut ::std::os::raw::c_void, + pub ai_bloblen: usize, + pub ai_provider: *mut GUID, + pub ai_next: *mut addrinfoex4, + pub ai_version: ::std::os::raw::c_int, + pub ai_fqdn: PWSTR, + pub ai_interfaceindex: ::std::os::raw::c_int, + pub ai_resolutionhandle: HANDLE, +} +#[test] +fn bindgen_test_layout_addrinfoex4() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 104usize, + concat!("Size of: ", stringify!(addrinfoex4)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(addrinfoex4)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_flags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_socktype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_addrlen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_canonname) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_blob) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_blob) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_bloblen) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_bloblen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_provider) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_provider) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_next) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_version) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_version) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_fqdn) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_fqdn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_interfaceindex) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_interfaceindex) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ai_resolutionhandle) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(addrinfoex4), + "::", + stringify!(ai_resolutionhandle) + ) + ); +} +pub type ADDRINFOEX4 = addrinfoex4; +pub type PADDRINFOEX4 = *mut addrinfoex4; +pub type LPADDRINFOEX4 = *mut addrinfoex4; +pub type SOCKET = UINT_PTR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct fd_set { + pub fd_count: u_int, + pub fd_array: [SOCKET; 64usize], +} +#[test] +fn bindgen_test_layout_fd_set() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 520usize, + concat!("Size of: ", stringify!(fd_set)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(fd_set)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fd_count) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(fd_set), + "::", + stringify!(fd_count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fd_array) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(fd_set), + "::", + stringify!(fd_array) + ) + ); +} +extern "C" { + pub fn __WSAFDIsSet(fd: SOCKET, arg1: *mut fd_set) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timeval { + pub tv_sec: ::std::os::raw::c_long, + pub tv_usec: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout_timeval() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(timeval)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(timeval)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timeval), + "::", + stringify!(tv_sec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(timeval), + "::", + stringify!(tv_usec) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct hostent { + pub h_name: *mut ::std::os::raw::c_char, + pub h_aliases: *mut *mut ::std::os::raw::c_char, + pub h_addrtype: ::std::os::raw::c_short, + pub h_length: ::std::os::raw::c_short, + pub h_addr_list: *mut *mut ::std::os::raw::c_char, +} +#[test] +fn bindgen_test_layout_hostent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(hostent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(hostent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_aliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_aliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_addrtype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_addrtype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_length) as usize - ptr as usize }, + 18usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_length) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).h_addr_list) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(hostent), + "::", + stringify!(h_addr_list) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct netent { + pub n_name: *mut ::std::os::raw::c_char, + pub n_aliases: *mut *mut ::std::os::raw::c_char, + pub n_addrtype: ::std::os::raw::c_short, + pub n_net: u_long, +} +#[test] +fn bindgen_test_layout_netent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(netent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(netent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(netent), + "::", + stringify!(n_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n_aliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(netent), + "::", + stringify!(n_aliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n_addrtype) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(netent), + "::", + stringify!(n_addrtype) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).n_net) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(netent), + "::", + stringify!(n_net) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct servent { + pub s_name: *mut ::std::os::raw::c_char, + pub s_aliases: *mut *mut ::std::os::raw::c_char, + pub s_proto: *mut ::std::os::raw::c_char, + pub s_port: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_servent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(servent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(servent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(servent), + "::", + stringify!(s_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_aliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(servent), + "::", + stringify!(s_aliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_proto) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(servent), + "::", + stringify!(s_proto) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).s_port) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(servent), + "::", + stringify!(s_port) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct protoent { + pub p_name: *mut ::std::os::raw::c_char, + pub p_aliases: *mut *mut ::std::os::raw::c_char, + pub p_proto: ::std::os::raw::c_short, +} +#[test] +fn bindgen_test_layout_protoent() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(protoent)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(protoent)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p_name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(protoent), + "::", + stringify!(p_name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p_aliases) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(protoent), + "::", + stringify!(p_aliases) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).p_proto) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(protoent), + "::", + stringify!(p_proto) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct WSAData { + pub wVersion: WORD, + pub wHighVersion: WORD, + pub iMaxSockets: ::std::os::raw::c_ushort, + pub iMaxUdpDg: ::std::os::raw::c_ushort, + pub lpVendorInfo: *mut ::std::os::raw::c_char, + pub szDescription: [::std::os::raw::c_char; 257usize], + pub szSystemStatus: [::std::os::raw::c_char; 129usize], +} +#[test] +fn bindgen_test_layout_WSAData() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 408usize, + concat!("Size of: ", stringify!(WSAData)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(WSAData)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(wVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).wHighVersion) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(wHighVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMaxSockets) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(iMaxSockets) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMaxUdpDg) as usize - ptr as usize }, + 6usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(iMaxUdpDg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVendorInfo) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(lpVendorInfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szDescription) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(szDescription) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szSystemStatus) as usize - ptr as usize }, + 273usize, + concat!( + "Offset of field: ", + stringify!(WSAData), + "::", + stringify!(szSystemStatus) + ) + ); +} +pub type WSADATA = WSAData; +pub type LPWSADATA = *mut WSAData; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct sockproto { + pub sp_family: u_short, + pub sp_protocol: u_short, +} +#[test] +fn bindgen_test_layout_sockproto() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(sockproto)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(sockproto)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sp_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockproto), + "::", + stringify!(sp_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sp_protocol) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockproto), + "::", + stringify!(sp_protocol) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct linger { + pub l_onoff: u_short, + pub l_linger: u_short, +} +#[test] +fn bindgen_test_layout_linger() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(linger)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(linger)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).l_onoff) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(linger), + "::", + stringify!(l_onoff) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).l_linger) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(linger), + "::", + stringify!(l_linger) + ) + ); +} +pub type LPWSAOVERLAPPED = *mut _OVERLAPPED; +pub type SERVICETYPE = ULONG; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _flowspec { + pub TokenRate: ULONG, + pub TokenBucketSize: ULONG, + pub PeakBandwidth: ULONG, + pub Latency: ULONG, + pub DelayVariation: ULONG, + pub ServiceType: SERVICETYPE, + pub MaxSduSize: ULONG, + pub MinimumPolicedSize: ULONG, +} +#[test] +fn bindgen_test_layout__flowspec() { + const UNINIT: ::std::mem::MaybeUninit<_flowspec> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_flowspec>(), + 32usize, + concat!("Size of: ", stringify!(_flowspec)) + ); + assert_eq!( + ::std::mem::align_of::<_flowspec>(), + 4usize, + concat!("Alignment of ", stringify!(_flowspec)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenRate) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_flowspec), + "::", + stringify!(TokenRate) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).TokenBucketSize) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_flowspec), + "::", + stringify!(TokenBucketSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).PeakBandwidth) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_flowspec), + "::", + stringify!(PeakBandwidth) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Latency) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_flowspec), + "::", + stringify!(Latency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DelayVariation) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_flowspec), + "::", + stringify!(DelayVariation) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ServiceType) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_flowspec), + "::", + stringify!(ServiceType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MaxSduSize) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_flowspec), + "::", + stringify!(MaxSduSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).MinimumPolicedSize) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_flowspec), + "::", + stringify!(MinimumPolicedSize) + ) + ); +} +pub type FLOWSPEC = _flowspec; +pub type PFLOWSPEC = *mut _flowspec; +pub type LPFLOWSPEC = *mut _flowspec; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct QOS_OBJECT_HDR { + pub ObjectType: ULONG, + pub ObjectLength: ULONG, +} +#[test] +fn bindgen_test_layout_QOS_OBJECT_HDR() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(QOS_OBJECT_HDR)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(QOS_OBJECT_HDR)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectType) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(QOS_OBJECT_HDR), + "::", + stringify!(ObjectType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectLength) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(QOS_OBJECT_HDR), + "::", + stringify!(ObjectLength) + ) + ); +} +pub type LPQOS_OBJECT_HDR = *mut QOS_OBJECT_HDR; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QOS_SD_MODE { + pub ObjectHdr: QOS_OBJECT_HDR, + pub ShapeDiscardMode: ULONG, +} +#[test] +fn bindgen_test_layout__QOS_SD_MODE() { + const UNINIT: ::std::mem::MaybeUninit<_QOS_SD_MODE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QOS_SD_MODE>(), + 12usize, + concat!("Size of: ", stringify!(_QOS_SD_MODE)) + ); + assert_eq!( + ::std::mem::align_of::<_QOS_SD_MODE>(), + 4usize, + concat!("Alignment of ", stringify!(_QOS_SD_MODE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectHdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QOS_SD_MODE), + "::", + stringify!(ObjectHdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShapeDiscardMode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QOS_SD_MODE), + "::", + stringify!(ShapeDiscardMode) + ) + ); +} +pub type QOS_SD_MODE = _QOS_SD_MODE; +pub type LPQOS_SD_MODE = *mut _QOS_SD_MODE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QOS_SHAPING_RATE { + pub ObjectHdr: QOS_OBJECT_HDR, + pub ShapingRate: ULONG, +} +#[test] +fn bindgen_test_layout__QOS_SHAPING_RATE() { + const UNINIT: ::std::mem::MaybeUninit<_QOS_SHAPING_RATE> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QOS_SHAPING_RATE>(), + 12usize, + concat!("Size of: ", stringify!(_QOS_SHAPING_RATE)) + ); + assert_eq!( + ::std::mem::align_of::<_QOS_SHAPING_RATE>(), + 4usize, + concat!("Alignment of ", stringify!(_QOS_SHAPING_RATE)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ObjectHdr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QOS_SHAPING_RATE), + "::", + stringify!(ObjectHdr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ShapingRate) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_QOS_SHAPING_RATE), + "::", + stringify!(ShapingRate) + ) + ); +} +pub type QOS_SHAPING_RATE = _QOS_SHAPING_RATE; +pub type LPQOS_SHAPING_RATE = *mut _QOS_SHAPING_RATE; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _QualityOfService { + pub SendingFlowspec: FLOWSPEC, + pub ReceivingFlowspec: FLOWSPEC, + pub ProviderSpecific: WSABUF, +} +#[test] +fn bindgen_test_layout__QualityOfService() { + const UNINIT: ::std::mem::MaybeUninit<_QualityOfService> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_QualityOfService>(), + 80usize, + concat!("Size of: ", stringify!(_QualityOfService)) + ); + assert_eq!( + ::std::mem::align_of::<_QualityOfService>(), + 8usize, + concat!("Alignment of ", stringify!(_QualityOfService)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SendingFlowspec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_QualityOfService), + "::", + stringify!(SendingFlowspec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ReceivingFlowspec) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_QualityOfService), + "::", + stringify!(ReceivingFlowspec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderSpecific) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_QualityOfService), + "::", + stringify!(ProviderSpecific) + ) + ); +} +pub type QOS = _QualityOfService; +pub type LPQOS = *mut _QualityOfService; +pub type GROUP = ::std::os::raw::c_uint; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSANETWORKEVENTS { + pub lNetworkEvents: ::std::os::raw::c_long, + pub iErrorCode: [::std::os::raw::c_int; 10usize], +} +#[test] +fn bindgen_test_layout__WSANETWORKEVENTS() { + const UNINIT: ::std::mem::MaybeUninit<_WSANETWORKEVENTS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSANETWORKEVENTS>(), + 44usize, + concat!("Size of: ", stringify!(_WSANETWORKEVENTS)) + ); + assert_eq!( + ::std::mem::align_of::<_WSANETWORKEVENTS>(), + 4usize, + concat!("Alignment of ", stringify!(_WSANETWORKEVENTS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lNetworkEvents) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSANETWORKEVENTS), + "::", + stringify!(lNetworkEvents) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iErrorCode) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WSANETWORKEVENTS), + "::", + stringify!(iErrorCode) + ) + ); +} +pub type WSANETWORKEVENTS = _WSANETWORKEVENTS; +pub type LPWSANETWORKEVENTS = *mut _WSANETWORKEVENTS; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAPROTOCOLCHAIN { + pub ChainLen: ::std::os::raw::c_int, + pub ChainEntries: [DWORD; 7usize], +} +#[test] +fn bindgen_test_layout__WSAPROTOCOLCHAIN() { + const UNINIT: ::std::mem::MaybeUninit<_WSAPROTOCOLCHAIN> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAPROTOCOLCHAIN>(), + 32usize, + concat!("Size of: ", stringify!(_WSAPROTOCOLCHAIN)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAPROTOCOLCHAIN>(), + 4usize, + concat!("Alignment of ", stringify!(_WSAPROTOCOLCHAIN)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChainLen) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOLCHAIN), + "::", + stringify!(ChainLen) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ChainEntries) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOLCHAIN), + "::", + stringify!(ChainEntries) + ) + ); +} +pub type WSAPROTOCOLCHAIN = _WSAPROTOCOLCHAIN; +pub type LPWSAPROTOCOLCHAIN = *mut _WSAPROTOCOLCHAIN; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAPROTOCOL_INFOA { + pub dwServiceFlags1: DWORD, + pub dwServiceFlags2: DWORD, + pub dwServiceFlags3: DWORD, + pub dwServiceFlags4: DWORD, + pub dwProviderFlags: DWORD, + pub ProviderId: GUID, + pub dwCatalogEntryId: DWORD, + pub ProtocolChain: WSAPROTOCOLCHAIN, + pub iVersion: ::std::os::raw::c_int, + pub iAddressFamily: ::std::os::raw::c_int, + pub iMaxSockAddr: ::std::os::raw::c_int, + pub iMinSockAddr: ::std::os::raw::c_int, + pub iSocketType: ::std::os::raw::c_int, + pub iProtocol: ::std::os::raw::c_int, + pub iProtocolMaxOffset: ::std::os::raw::c_int, + pub iNetworkByteOrder: ::std::os::raw::c_int, + pub iSecurityScheme: ::std::os::raw::c_int, + pub dwMessageSize: DWORD, + pub dwProviderReserved: DWORD, + pub szProtocol: [CHAR; 256usize], +} +#[test] +fn bindgen_test_layout__WSAPROTOCOL_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_WSAPROTOCOL_INFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAPROTOCOL_INFOA>(), + 372usize, + concat!("Size of: ", stringify!(_WSAPROTOCOL_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAPROTOCOL_INFOA>(), + 4usize, + concat!("Alignment of ", stringify!(_WSAPROTOCOL_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(dwServiceFlags1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(dwServiceFlags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags3) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(dwServiceFlags3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags4) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(dwServiceFlags4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(dwProviderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderId) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(ProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCatalogEntryId) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(dwCatalogEntryId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolChain) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(ProtocolChain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVersion) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(iVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iAddressFamily) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(iAddressFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMaxSockAddr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(iMaxSockAddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMinSockAddr) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(iMinSockAddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSocketType) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(iSocketType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iProtocol) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(iProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iProtocolMaxOffset) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(iProtocolMaxOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iNetworkByteOrder) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(iNetworkByteOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSecurityScheme) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(iSecurityScheme) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMessageSize) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(dwMessageSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderReserved) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(dwProviderReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szProtocol) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOA), + "::", + stringify!(szProtocol) + ) + ); +} +pub type WSAPROTOCOL_INFOA = _WSAPROTOCOL_INFOA; +pub type LPWSAPROTOCOL_INFOA = *mut _WSAPROTOCOL_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAPROTOCOL_INFOW { + pub dwServiceFlags1: DWORD, + pub dwServiceFlags2: DWORD, + pub dwServiceFlags3: DWORD, + pub dwServiceFlags4: DWORD, + pub dwProviderFlags: DWORD, + pub ProviderId: GUID, + pub dwCatalogEntryId: DWORD, + pub ProtocolChain: WSAPROTOCOLCHAIN, + pub iVersion: ::std::os::raw::c_int, + pub iAddressFamily: ::std::os::raw::c_int, + pub iMaxSockAddr: ::std::os::raw::c_int, + pub iMinSockAddr: ::std::os::raw::c_int, + pub iSocketType: ::std::os::raw::c_int, + pub iProtocol: ::std::os::raw::c_int, + pub iProtocolMaxOffset: ::std::os::raw::c_int, + pub iNetworkByteOrder: ::std::os::raw::c_int, + pub iSecurityScheme: ::std::os::raw::c_int, + pub dwMessageSize: DWORD, + pub dwProviderReserved: DWORD, + pub szProtocol: [WCHAR; 256usize], +} +#[test] +fn bindgen_test_layout__WSAPROTOCOL_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_WSAPROTOCOL_INFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAPROTOCOL_INFOW>(), + 628usize, + concat!("Size of: ", stringify!(_WSAPROTOCOL_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAPROTOCOL_INFOW>(), + 4usize, + concat!("Alignment of ", stringify!(_WSAPROTOCOL_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags1) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(dwServiceFlags1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags2) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(dwServiceFlags2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags3) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(dwServiceFlags3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwServiceFlags4) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(dwServiceFlags4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderFlags) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(dwProviderFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderId) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(ProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCatalogEntryId) as usize - ptr as usize }, + 36usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(dwCatalogEntryId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProtocolChain) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(ProtocolChain) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iVersion) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(iVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iAddressFamily) as usize - ptr as usize }, + 76usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(iAddressFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMaxSockAddr) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(iMaxSockAddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iMinSockAddr) as usize - ptr as usize }, + 84usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(iMinSockAddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSocketType) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(iSocketType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iProtocol) as usize - ptr as usize }, + 92usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(iProtocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iProtocolMaxOffset) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(iProtocolMaxOffset) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iNetworkByteOrder) as usize - ptr as usize }, + 100usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(iNetworkByteOrder) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iSecurityScheme) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(iSecurityScheme) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwMessageSize) as usize - ptr as usize }, + 108usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(dwMessageSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwProviderReserved) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(dwProviderReserved) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).szProtocol) as usize - ptr as usize }, + 116usize, + concat!( + "Offset of field: ", + stringify!(_WSAPROTOCOL_INFOW), + "::", + stringify!(szProtocol) + ) + ); +} +pub type WSAPROTOCOL_INFOW = _WSAPROTOCOL_INFOW; +pub type LPWSAPROTOCOL_INFOW = *mut _WSAPROTOCOL_INFOW; +pub type WSAPROTOCOL_INFO = WSAPROTOCOL_INFOA; +pub type LPWSAPROTOCOL_INFO = LPWSAPROTOCOL_INFOA; +pub type LPCONDITIONPROC = ::std::option::Option< + unsafe extern "C" fn( + lpCallerId: LPWSABUF, + lpCallerData: LPWSABUF, + lpSQOS: LPQOS, + lpGQOS: LPQOS, + lpCalleeId: LPWSABUF, + lpCalleeData: LPWSABUF, + g: *mut GROUP, + dwCallbackData: DWORD_PTR, + ) -> ::std::os::raw::c_int, +>; +pub type LPWSAOVERLAPPED_COMPLETION_ROUTINE = ::std::option::Option< + unsafe extern "C" fn( + dwError: DWORD, + cbTransferred: DWORD, + lpOverlapped: LPWSAOVERLAPPED, + dwFlags: DWORD, + ), +>; +pub const _WSACOMPLETIONTYPE_NSP_NOTIFY_IMMEDIATELY: _WSACOMPLETIONTYPE = 0; +pub const _WSACOMPLETIONTYPE_NSP_NOTIFY_HWND: _WSACOMPLETIONTYPE = 1; +pub const _WSACOMPLETIONTYPE_NSP_NOTIFY_EVENT: _WSACOMPLETIONTYPE = 2; +pub const _WSACOMPLETIONTYPE_NSP_NOTIFY_PORT: _WSACOMPLETIONTYPE = 3; +pub const _WSACOMPLETIONTYPE_NSP_NOTIFY_APC: _WSACOMPLETIONTYPE = 4; +pub type _WSACOMPLETIONTYPE = ::std::os::raw::c_int; +pub use self::_WSACOMPLETIONTYPE as WSACOMPLETIONTYPE; +pub type PWSACOMPLETIONTYPE = *mut _WSACOMPLETIONTYPE; +pub type LPWSACOMPLETIONTYPE = *mut _WSACOMPLETIONTYPE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _WSACOMPLETION { + pub Type: WSACOMPLETIONTYPE, + pub Parameters: _WSACOMPLETION__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union _WSACOMPLETION__bindgen_ty_1 { + pub WindowMessage: _WSACOMPLETION__bindgen_ty_1__bindgen_ty_1, + pub Event: _WSACOMPLETION__bindgen_ty_1__bindgen_ty_2, + pub Apc: _WSACOMPLETION__bindgen_ty_1__bindgen_ty_3, + pub Port: _WSACOMPLETION__bindgen_ty_1__bindgen_ty_4, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSACOMPLETION__bindgen_ty_1__bindgen_ty_1 { + pub hWnd: HWND, + pub uMsg: UINT, + pub context: WPARAM, +} +#[test] +fn bindgen_test_layout__WSACOMPLETION__bindgen_ty_1__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_1>(), + 24usize, + concat!( + "Size of: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + ::std::mem::align_of::<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_1>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_1) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hWnd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(hWnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).uMsg) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(uMsg) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_1), + "::", + stringify!(context) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSACOMPLETION__bindgen_ty_1__bindgen_ty_2 { + pub lpOverlapped: LPWSAOVERLAPPED, +} +#[test] +fn bindgen_test_layout__WSACOMPLETION__bindgen_ty_1__bindgen_ty_2() { + const UNINIT: ::std::mem::MaybeUninit<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_2> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Size of: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + ::std::mem::align_of::<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_2>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_2) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOverlapped) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_2), + "::", + stringify!(lpOverlapped) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSACOMPLETION__bindgen_ty_1__bindgen_ty_3 { + pub lpOverlapped: LPWSAOVERLAPPED, + pub lpfnCompletionProc: LPWSAOVERLAPPED_COMPLETION_ROUTINE, +} +#[test] +fn bindgen_test_layout__WSACOMPLETION__bindgen_ty_1__bindgen_ty_3() { + const UNINIT: ::std::mem::MaybeUninit<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_3> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_3>(), + 16usize, + concat!( + "Size of: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + ::std::mem::align_of::<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_3>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_3) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOverlapped) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(lpOverlapped) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpfnCompletionProc) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_3), + "::", + stringify!(lpfnCompletionProc) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSACOMPLETION__bindgen_ty_1__bindgen_ty_4 { + pub lpOverlapped: LPWSAOVERLAPPED, + pub hPort: HANDLE, + pub Key: ULONG_PTR, +} +#[test] +fn bindgen_test_layout__WSACOMPLETION__bindgen_ty_1__bindgen_ty_4() { + const UNINIT: ::std::mem::MaybeUninit<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_4> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_4>(), + 24usize, + concat!( + "Size of: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_4) + ) + ); + assert_eq!( + ::std::mem::align_of::<_WSACOMPLETION__bindgen_ty_1__bindgen_ty_4>(), + 8usize, + concat!( + "Alignment of ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpOverlapped) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(lpOverlapped) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).hPort) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(hPort) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Key) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1__bindgen_ty_4), + "::", + stringify!(Key) + ) + ); +} +#[test] +fn bindgen_test_layout__WSACOMPLETION__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit<_WSACOMPLETION__bindgen_ty_1> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSACOMPLETION__bindgen_ty_1>(), + 24usize, + concat!("Size of: ", stringify!(_WSACOMPLETION__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::<_WSACOMPLETION__bindgen_ty_1>(), + 8usize, + concat!("Alignment of ", stringify!(_WSACOMPLETION__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).WindowMessage) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1), + "::", + stringify!(WindowMessage) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Event) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1), + "::", + stringify!(Event) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Apc) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1), + "::", + stringify!(Apc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Port) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION__bindgen_ty_1), + "::", + stringify!(Port) + ) + ); +} +#[test] +fn bindgen_test_layout__WSACOMPLETION() { + const UNINIT: ::std::mem::MaybeUninit<_WSACOMPLETION> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSACOMPLETION>(), + 32usize, + concat!("Size of: ", stringify!(_WSACOMPLETION)) + ); + assert_eq!( + ::std::mem::align_of::<_WSACOMPLETION>(), + 8usize, + concat!("Alignment of ", stringify!(_WSACOMPLETION)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Type) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION), + "::", + stringify!(Type) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Parameters) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSACOMPLETION), + "::", + stringify!(Parameters) + ) + ); +} +pub type WSACOMPLETION = _WSACOMPLETION; +pub type PWSACOMPLETION = *mut _WSACOMPLETION; +pub type LPWSACOMPLETION = *mut _WSACOMPLETION; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _AFPROTOCOLS { + pub iAddressFamily: INT, + pub iProtocol: INT, +} +#[test] +fn bindgen_test_layout__AFPROTOCOLS() { + const UNINIT: ::std::mem::MaybeUninit<_AFPROTOCOLS> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_AFPROTOCOLS>(), + 8usize, + concat!("Size of: ", stringify!(_AFPROTOCOLS)) + ); + assert_eq!( + ::std::mem::align_of::<_AFPROTOCOLS>(), + 4usize, + concat!("Alignment of ", stringify!(_AFPROTOCOLS)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iAddressFamily) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_AFPROTOCOLS), + "::", + stringify!(iAddressFamily) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iProtocol) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_AFPROTOCOLS), + "::", + stringify!(iProtocol) + ) + ); +} +pub type AFPROTOCOLS = _AFPROTOCOLS; +pub type PAFPROTOCOLS = *mut _AFPROTOCOLS; +pub type LPAFPROTOCOLS = *mut _AFPROTOCOLS; +pub const _WSAEcomparator_COMP_EQUAL: _WSAEcomparator = 0; +pub const _WSAEcomparator_COMP_NOTLESS: _WSAEcomparator = 1; +pub type _WSAEcomparator = ::std::os::raw::c_int; +pub use self::_WSAEcomparator as WSAECOMPARATOR; +pub type PWSAECOMPARATOR = *mut _WSAEcomparator; +pub type LPWSAECOMPARATOR = *mut _WSAEcomparator; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAVersion { + pub dwVersion: DWORD, + pub ecHow: WSAECOMPARATOR, +} +#[test] +fn bindgen_test_layout__WSAVersion() { + const UNINIT: ::std::mem::MaybeUninit<_WSAVersion> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAVersion>(), + 8usize, + concat!("Size of: ", stringify!(_WSAVersion)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAVersion>(), + 4usize, + concat!("Alignment of ", stringify!(_WSAVersion)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAVersion), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ecHow) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_WSAVersion), + "::", + stringify!(ecHow) + ) + ); +} +pub type WSAVERSION = _WSAVersion; +pub type PWSAVERSION = *mut _WSAVersion; +pub type LPWSAVERSION = *mut _WSAVersion; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAQuerySetA { + pub dwSize: DWORD, + pub lpszServiceInstanceName: LPSTR, + pub lpServiceClassId: LPGUID, + pub lpVersion: LPWSAVERSION, + pub lpszComment: LPSTR, + pub dwNameSpace: DWORD, + pub lpNSProviderId: LPGUID, + pub lpszContext: LPSTR, + pub dwNumberOfProtocols: DWORD, + pub lpafpProtocols: LPAFPROTOCOLS, + pub lpszQueryString: LPSTR, + pub dwNumberOfCsAddrs: DWORD, + pub lpcsaBuffer: LPCSADDR_INFO, + pub dwOutputFlags: DWORD, + pub lpBlob: LPBLOB, +} +#[test] +fn bindgen_test_layout__WSAQuerySetA() { + const UNINIT: ::std::mem::MaybeUninit<_WSAQuerySetA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAQuerySetA>(), + 120usize, + concat!("Size of: ", stringify!(_WSAQuerySetA)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAQuerySetA>(), + 8usize, + concat!("Alignment of ", stringify!(_WSAQuerySetA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszServiceInstanceName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpszServiceInstanceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceClassId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpServiceClassId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszComment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpszComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpNSProviderId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpNSProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszContext) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpszContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfProtocols) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(dwNumberOfProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpafpProtocols) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpafpProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszQueryString) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpszQueryString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfCsAddrs) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(dwNumberOfCsAddrs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpcsaBuffer) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpcsaBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOutputFlags) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(dwOutputFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBlob) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetA), + "::", + stringify!(lpBlob) + ) + ); +} +pub type WSAQUERYSETA = _WSAQuerySetA; +pub type PWSAQUERYSETA = *mut _WSAQuerySetA; +pub type LPWSAQUERYSETA = *mut _WSAQuerySetA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAQuerySetW { + pub dwSize: DWORD, + pub lpszServiceInstanceName: LPWSTR, + pub lpServiceClassId: LPGUID, + pub lpVersion: LPWSAVERSION, + pub lpszComment: LPWSTR, + pub dwNameSpace: DWORD, + pub lpNSProviderId: LPGUID, + pub lpszContext: LPWSTR, + pub dwNumberOfProtocols: DWORD, + pub lpafpProtocols: LPAFPROTOCOLS, + pub lpszQueryString: LPWSTR, + pub dwNumberOfCsAddrs: DWORD, + pub lpcsaBuffer: LPCSADDR_INFO, + pub dwOutputFlags: DWORD, + pub lpBlob: LPBLOB, +} +#[test] +fn bindgen_test_layout__WSAQuerySetW() { + const UNINIT: ::std::mem::MaybeUninit<_WSAQuerySetW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAQuerySetW>(), + 120usize, + concat!("Size of: ", stringify!(_WSAQuerySetW)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAQuerySetW>(), + 8usize, + concat!("Alignment of ", stringify!(_WSAQuerySetW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszServiceInstanceName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpszServiceInstanceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceClassId) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpServiceClassId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszComment) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpszComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpNSProviderId) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpNSProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszContext) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpszContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfProtocols) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(dwNumberOfProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpafpProtocols) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpafpProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszQueryString) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpszQueryString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfCsAddrs) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(dwNumberOfCsAddrs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpcsaBuffer) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpcsaBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOutputFlags) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(dwOutputFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBlob) as usize - ptr as usize }, + 112usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySetW), + "::", + stringify!(lpBlob) + ) + ); +} +pub type WSAQUERYSETW = _WSAQuerySetW; +pub type PWSAQUERYSETW = *mut _WSAQuerySetW; +pub type LPWSAQUERYSETW = *mut _WSAQuerySetW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAQuerySet2A { + pub dwSize: DWORD, + pub lpszServiceInstanceName: LPSTR, + pub lpVersion: LPWSAVERSION, + pub lpszComment: LPSTR, + pub dwNameSpace: DWORD, + pub lpNSProviderId: LPGUID, + pub lpszContext: LPSTR, + pub dwNumberOfProtocols: DWORD, + pub lpafpProtocols: LPAFPROTOCOLS, + pub lpszQueryString: LPSTR, + pub dwNumberOfCsAddrs: DWORD, + pub lpcsaBuffer: LPCSADDR_INFO, + pub dwOutputFlags: DWORD, + pub lpBlob: LPBLOB, +} +#[test] +fn bindgen_test_layout__WSAQuerySet2A() { + const UNINIT: ::std::mem::MaybeUninit<_WSAQuerySet2A> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAQuerySet2A>(), + 112usize, + concat!("Size of: ", stringify!(_WSAQuerySet2A)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAQuerySet2A>(), + 8usize, + concat!("Alignment of ", stringify!(_WSAQuerySet2A)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszServiceInstanceName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(lpszServiceInstanceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(lpVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszComment) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(lpszComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpNSProviderId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(lpNSProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszContext) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(lpszContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfProtocols) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(dwNumberOfProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpafpProtocols) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(lpafpProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszQueryString) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(lpszQueryString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfCsAddrs) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(dwNumberOfCsAddrs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpcsaBuffer) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(lpcsaBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOutputFlags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(dwOutputFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBlob) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2A), + "::", + stringify!(lpBlob) + ) + ); +} +pub type WSAQUERYSET2A = _WSAQuerySet2A; +pub type PWSAQUERYSET2A = *mut _WSAQuerySet2A; +pub type LPWSAQUERYSET2A = *mut _WSAQuerySet2A; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAQuerySet2W { + pub dwSize: DWORD, + pub lpszServiceInstanceName: LPWSTR, + pub lpVersion: LPWSAVERSION, + pub lpszComment: LPWSTR, + pub dwNameSpace: DWORD, + pub lpNSProviderId: LPGUID, + pub lpszContext: LPWSTR, + pub dwNumberOfProtocols: DWORD, + pub lpafpProtocols: LPAFPROTOCOLS, + pub lpszQueryString: LPWSTR, + pub dwNumberOfCsAddrs: DWORD, + pub lpcsaBuffer: LPCSADDR_INFO, + pub dwOutputFlags: DWORD, + pub lpBlob: LPBLOB, +} +#[test] +fn bindgen_test_layout__WSAQuerySet2W() { + const UNINIT: ::std::mem::MaybeUninit<_WSAQuerySet2W> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAQuerySet2W>(), + 112usize, + concat!("Size of: ", stringify!(_WSAQuerySet2W)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAQuerySet2W>(), + 8usize, + concat!("Alignment of ", stringify!(_WSAQuerySet2W)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwSize) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(dwSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszServiceInstanceName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(lpszServiceInstanceName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpVersion) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(lpVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszComment) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(lpszComment) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpNSProviderId) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(lpNSProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszContext) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(lpszContext) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfProtocols) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(dwNumberOfProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpafpProtocols) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(lpafpProtocols) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszQueryString) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(lpszQueryString) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNumberOfCsAddrs) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(dwNumberOfCsAddrs) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpcsaBuffer) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(lpcsaBuffer) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwOutputFlags) as usize - ptr as usize }, + 96usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(dwOutputFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpBlob) as usize - ptr as usize }, + 104usize, + concat!( + "Offset of field: ", + stringify!(_WSAQuerySet2W), + "::", + stringify!(lpBlob) + ) + ); +} +pub type WSAQUERYSET2W = _WSAQuerySet2W; +pub type PWSAQUERYSET2W = *mut _WSAQuerySet2W; +pub type LPWSAQUERYSET2W = *mut _WSAQuerySet2W; +pub type WSAQUERYSET = WSAQUERYSETA; +pub type PWSAQUERYSET = PWSAQUERYSETA; +pub type LPWSAQUERYSET = LPWSAQUERYSETA; +pub type WSAQUERYSET2 = WSAQUERYSET2A; +pub type PWSAQUERYSET2 = PWSAQUERYSET2A; +pub type LPWSAQUERYSET2 = LPWSAQUERYSET2A; +pub const _WSAESETSERVICEOP_RNRSERVICE_REGISTER: _WSAESETSERVICEOP = 0; +pub const _WSAESETSERVICEOP_RNRSERVICE_DEREGISTER: _WSAESETSERVICEOP = 1; +pub const _WSAESETSERVICEOP_RNRSERVICE_DELETE: _WSAESETSERVICEOP = 2; +pub type _WSAESETSERVICEOP = ::std::os::raw::c_int; +pub use self::_WSAESETSERVICEOP as WSAESETSERVICEOP; +pub type PWSAESETSERVICEOP = *mut _WSAESETSERVICEOP; +pub type LPWSAESETSERVICEOP = *mut _WSAESETSERVICEOP; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSANSClassInfoA { + pub lpszName: LPSTR, + pub dwNameSpace: DWORD, + pub dwValueType: DWORD, + pub dwValueSize: DWORD, + pub lpValue: LPVOID, +} +#[test] +fn bindgen_test_layout__WSANSClassInfoA() { + const UNINIT: ::std::mem::MaybeUninit<_WSANSClassInfoA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSANSClassInfoA>(), + 32usize, + concat!("Size of: ", stringify!(_WSANSClassInfoA)) + ); + assert_eq!( + ::std::mem::align_of::<_WSANSClassInfoA>(), + 8usize, + concat!("Alignment of ", stringify!(_WSANSClassInfoA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoA), + "::", + stringify!(lpszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoA), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValueType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoA), + "::", + stringify!(dwValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValueSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoA), + "::", + stringify!(dwValueSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpValue) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoA), + "::", + stringify!(lpValue) + ) + ); +} +pub type WSANSCLASSINFOA = _WSANSClassInfoA; +pub type PWSANSCLASSINFOA = *mut _WSANSClassInfoA; +pub type LPWSANSCLASSINFOA = *mut _WSANSClassInfoA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSANSClassInfoW { + pub lpszName: LPWSTR, + pub dwNameSpace: DWORD, + pub dwValueType: DWORD, + pub dwValueSize: DWORD, + pub lpValue: LPVOID, +} +#[test] +fn bindgen_test_layout__WSANSClassInfoW() { + const UNINIT: ::std::mem::MaybeUninit<_WSANSClassInfoW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSANSClassInfoW>(), + 32usize, + concat!("Size of: ", stringify!(_WSANSClassInfoW)) + ); + assert_eq!( + ::std::mem::align_of::<_WSANSClassInfoW>(), + 8usize, + concat!("Alignment of ", stringify!(_WSANSClassInfoW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszName) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoW), + "::", + stringify!(lpszName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoW), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValueType) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoW), + "::", + stringify!(dwValueType) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwValueSize) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoW), + "::", + stringify!(dwValueSize) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpValue) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSANSClassInfoW), + "::", + stringify!(lpValue) + ) + ); +} +pub type WSANSCLASSINFOW = _WSANSClassInfoW; +pub type PWSANSCLASSINFOW = *mut _WSANSClassInfoW; +pub type LPWSANSCLASSINFOW = *mut _WSANSClassInfoW; +pub type WSANSCLASSINFO = WSANSCLASSINFOA; +pub type PWSANSCLASSINFO = PWSANSCLASSINFOA; +pub type LPWSANSCLASSINFO = LPWSANSCLASSINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAServiceClassInfoA { + pub lpServiceClassId: LPGUID, + pub lpszServiceClassName: LPSTR, + pub dwCount: DWORD, + pub lpClassInfos: LPWSANSCLASSINFOA, +} +#[test] +fn bindgen_test_layout__WSAServiceClassInfoA() { + const UNINIT: ::std::mem::MaybeUninit<_WSAServiceClassInfoA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAServiceClassInfoA>(), + 32usize, + concat!("Size of: ", stringify!(_WSAServiceClassInfoA)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAServiceClassInfoA>(), + 8usize, + concat!("Alignment of ", stringify!(_WSAServiceClassInfoA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceClassId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAServiceClassInfoA), + "::", + stringify!(lpServiceClassId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszServiceClassName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSAServiceClassInfoA), + "::", + stringify!(lpszServiceClassName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSAServiceClassInfoA), + "::", + stringify!(dwCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClassInfos) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSAServiceClassInfoA), + "::", + stringify!(lpClassInfos) + ) + ); +} +pub type WSASERVICECLASSINFOA = _WSAServiceClassInfoA; +pub type PWSASERVICECLASSINFOA = *mut _WSAServiceClassInfoA; +pub type LPWSASERVICECLASSINFOA = *mut _WSAServiceClassInfoA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSAServiceClassInfoW { + pub lpServiceClassId: LPGUID, + pub lpszServiceClassName: LPWSTR, + pub dwCount: DWORD, + pub lpClassInfos: LPWSANSCLASSINFOW, +} +#[test] +fn bindgen_test_layout__WSAServiceClassInfoW() { + const UNINIT: ::std::mem::MaybeUninit<_WSAServiceClassInfoW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSAServiceClassInfoW>(), + 32usize, + concat!("Size of: ", stringify!(_WSAServiceClassInfoW)) + ); + assert_eq!( + ::std::mem::align_of::<_WSAServiceClassInfoW>(), + 8usize, + concat!("Alignment of ", stringify!(_WSAServiceClassInfoW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpServiceClassId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSAServiceClassInfoW), + "::", + stringify!(lpServiceClassId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszServiceClassName) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_WSAServiceClassInfoW), + "::", + stringify!(lpszServiceClassName) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwCount) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSAServiceClassInfoW), + "::", + stringify!(dwCount) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpClassInfos) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSAServiceClassInfoW), + "::", + stringify!(lpClassInfos) + ) + ); +} +pub type WSASERVICECLASSINFOW = _WSAServiceClassInfoW; +pub type PWSASERVICECLASSINFOW = *mut _WSAServiceClassInfoW; +pub type LPWSASERVICECLASSINFOW = *mut _WSAServiceClassInfoW; +pub type WSASERVICECLASSINFO = WSASERVICECLASSINFOA; +pub type PWSASERVICECLASSINFO = PWSASERVICECLASSINFOA; +pub type LPWSASERVICECLASSINFO = LPWSASERVICECLASSINFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSANAMESPACE_INFOA { + pub NSProviderId: GUID, + pub dwNameSpace: DWORD, + pub fActive: BOOL, + pub dwVersion: DWORD, + pub lpszIdentifier: LPSTR, +} +#[test] +fn bindgen_test_layout__WSANAMESPACE_INFOA() { + const UNINIT: ::std::mem::MaybeUninit<_WSANAMESPACE_INFOA> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSANAMESPACE_INFOA>(), + 40usize, + concat!("Size of: ", stringify!(_WSANAMESPACE_INFOA)) + ); + assert_eq!( + ::std::mem::align_of::<_WSANAMESPACE_INFOA>(), + 8usize, + concat!("Alignment of ", stringify!(_WSANAMESPACE_INFOA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NSProviderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOA), + "::", + stringify!(NSProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOA), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fActive) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOA), + "::", + stringify!(fActive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOA), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszIdentifier) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOA), + "::", + stringify!(lpszIdentifier) + ) + ); +} +pub type WSANAMESPACE_INFOA = _WSANAMESPACE_INFOA; +pub type PWSANAMESPACE_INFOA = *mut _WSANAMESPACE_INFOA; +pub type LPWSANAMESPACE_INFOA = *mut _WSANAMESPACE_INFOA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSANAMESPACE_INFOW { + pub NSProviderId: GUID, + pub dwNameSpace: DWORD, + pub fActive: BOOL, + pub dwVersion: DWORD, + pub lpszIdentifier: LPWSTR, +} +#[test] +fn bindgen_test_layout__WSANAMESPACE_INFOW() { + const UNINIT: ::std::mem::MaybeUninit<_WSANAMESPACE_INFOW> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSANAMESPACE_INFOW>(), + 40usize, + concat!("Size of: ", stringify!(_WSANAMESPACE_INFOW)) + ); + assert_eq!( + ::std::mem::align_of::<_WSANAMESPACE_INFOW>(), + 8usize, + concat!("Alignment of ", stringify!(_WSANAMESPACE_INFOW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NSProviderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOW), + "::", + stringify!(NSProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOW), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fActive) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOW), + "::", + stringify!(fActive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOW), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszIdentifier) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOW), + "::", + stringify!(lpszIdentifier) + ) + ); +} +pub type WSANAMESPACE_INFOW = _WSANAMESPACE_INFOW; +pub type PWSANAMESPACE_INFOW = *mut _WSANAMESPACE_INFOW; +pub type LPWSANAMESPACE_INFOW = *mut _WSANAMESPACE_INFOW; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSANAMESPACE_INFOEXA { + pub NSProviderId: GUID, + pub dwNameSpace: DWORD, + pub fActive: BOOL, + pub dwVersion: DWORD, + pub lpszIdentifier: LPSTR, + pub ProviderSpecific: BLOB, +} +#[test] +fn bindgen_test_layout__WSANAMESPACE_INFOEXA() { + const UNINIT: ::std::mem::MaybeUninit<_WSANAMESPACE_INFOEXA> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSANAMESPACE_INFOEXA>(), + 56usize, + concat!("Size of: ", stringify!(_WSANAMESPACE_INFOEXA)) + ); + assert_eq!( + ::std::mem::align_of::<_WSANAMESPACE_INFOEXA>(), + 8usize, + concat!("Alignment of ", stringify!(_WSANAMESPACE_INFOEXA)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NSProviderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXA), + "::", + stringify!(NSProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXA), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fActive) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXA), + "::", + stringify!(fActive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXA), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszIdentifier) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXA), + "::", + stringify!(lpszIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderSpecific) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXA), + "::", + stringify!(ProviderSpecific) + ) + ); +} +pub type WSANAMESPACE_INFOEXA = _WSANAMESPACE_INFOEXA; +pub type PWSANAMESPACE_INFOEXA = *mut _WSANAMESPACE_INFOEXA; +pub type LPWSANAMESPACE_INFOEXA = *mut _WSANAMESPACE_INFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _WSANAMESPACE_INFOEXW { + pub NSProviderId: GUID, + pub dwNameSpace: DWORD, + pub fActive: BOOL, + pub dwVersion: DWORD, + pub lpszIdentifier: LPWSTR, + pub ProviderSpecific: BLOB, +} +#[test] +fn bindgen_test_layout__WSANAMESPACE_INFOEXW() { + const UNINIT: ::std::mem::MaybeUninit<_WSANAMESPACE_INFOEXW> = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_WSANAMESPACE_INFOEXW>(), + 56usize, + concat!("Size of: ", stringify!(_WSANAMESPACE_INFOEXW)) + ); + assert_eq!( + ::std::mem::align_of::<_WSANAMESPACE_INFOEXW>(), + 8usize, + concat!("Alignment of ", stringify!(_WSANAMESPACE_INFOEXW)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).NSProviderId) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXW), + "::", + stringify!(NSProviderId) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwNameSpace) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXW), + "::", + stringify!(dwNameSpace) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fActive) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXW), + "::", + stringify!(fActive) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dwVersion) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXW), + "::", + stringify!(dwVersion) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lpszIdentifier) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXW), + "::", + stringify!(lpszIdentifier) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ProviderSpecific) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_WSANAMESPACE_INFOEXW), + "::", + stringify!(ProviderSpecific) + ) + ); +} +pub type WSANAMESPACE_INFOEXW = _WSANAMESPACE_INFOEXW; +pub type PWSANAMESPACE_INFOEXW = *mut _WSANAMESPACE_INFOEXW; +pub type LPWSANAMESPACE_INFOEXW = *mut _WSANAMESPACE_INFOEXW; +pub type WSANAMESPACE_INFO = WSANAMESPACE_INFOA; +pub type PWSANAMESPACE_INFO = PWSANAMESPACE_INFOA; +pub type LPWSANAMESPACE_INFO = LPWSANAMESPACE_INFOA; +pub type WSANAMESPACE_INFOEX = WSANAMESPACE_INFOEXA; +pub type PWSANAMESPACE_INFOEX = PWSANAMESPACE_INFOEXA; +pub type LPWSANAMESPACE_INFOEX = LPWSANAMESPACE_INFOEXA; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct pollfd { + pub fd: SOCKET, + pub events: SHORT, + pub revents: SHORT, +} +#[test] +fn bindgen_test_layout_pollfd() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(pollfd)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(pollfd)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(pollfd), + "::", + stringify!(fd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).events) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(pollfd), + "::", + stringify!(events) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).revents) as usize - ptr as usize }, + 10usize, + concat!( + "Offset of field: ", + stringify!(pollfd), + "::", + stringify!(revents) + ) + ); +} +pub type WSAPOLLFD = pollfd; +pub type PWSAPOLLFD = *mut pollfd; +pub type LPWSAPOLLFD = *mut pollfd; +extern "C" { + pub fn accept(s: SOCKET, addr: *mut sockaddr, addrlen: *mut ::std::os::raw::c_int) -> SOCKET; +} +extern "C" { + pub fn bind( + s: SOCKET, + name: *const sockaddr, + namelen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn closesocket(s: SOCKET) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn connect( + s: SOCKET, + name: *const sockaddr, + namelen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ioctlsocket( + s: SOCKET, + cmd: ::std::os::raw::c_long, + argp: *mut u_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getpeername( + s: SOCKET, + name: *mut sockaddr, + namelen: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getsockname( + s: SOCKET, + name: *mut sockaddr, + namelen: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getsockopt( + s: SOCKET, + level: ::std::os::raw::c_int, + optname: ::std::os::raw::c_int, + optval: *mut ::std::os::raw::c_char, + optlen: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn htonl(hostlong: u_long) -> u_long; +} +extern "C" { + pub fn htons(hostshort: u_short) -> u_short; +} +extern "C" { + pub fn inet_addr(cp: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong; +} +extern "C" { + pub fn inet_ntoa(in_: in_addr) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn listen(s: SOCKET, backlog: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ntohl(netlong: u_long) -> u_long; +} +extern "C" { + pub fn ntohs(netshort: u_short) -> u_short; +} +extern "C" { + pub fn recv( + s: SOCKET, + buf: *mut ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn recvfrom( + s: SOCKET, + buf: *mut ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + from: *mut sockaddr, + fromlen: *mut ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn select( + nfds: ::std::os::raw::c_int, + readfds: *mut fd_set, + writefds: *mut fd_set, + exceptfds: *mut fd_set, + timeout: *const timeval, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn send( + s: SOCKET, + buf: *const ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn sendto( + s: SOCKET, + buf: *const ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + flags: ::std::os::raw::c_int, + to: *const sockaddr, + tolen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn setsockopt( + s: SOCKET, + level: ::std::os::raw::c_int, + optname: ::std::os::raw::c_int, + optval: *const ::std::os::raw::c_char, + optlen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn shutdown(s: SOCKET, how: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn socket( + af: ::std::os::raw::c_int, + type_: ::std::os::raw::c_int, + protocol: ::std::os::raw::c_int, + ) -> SOCKET; +} +extern "C" { + pub fn gethostbyaddr( + addr: *const ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + type_: ::std::os::raw::c_int, + ) -> *mut hostent; +} +extern "C" { + pub fn gethostbyname(name: *const ::std::os::raw::c_char) -> *mut hostent; +} +extern "C" { + pub fn gethostname( + name: *mut ::std::os::raw::c_char, + namelen: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn GetHostNameW(name: PWSTR, namelen: ::std::os::raw::c_int) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn getservbyport( + port: ::std::os::raw::c_int, + proto: *const ::std::os::raw::c_char, + ) -> *mut servent; +} +extern "C" { + pub fn getservbyname( + name: *const ::std::os::raw::c_char, + proto: *const ::std::os::raw::c_char, + ) -> *mut servent; +} +extern "C" { + pub fn getprotobynumber(number: ::std::os::raw::c_int) -> *mut protoent; +} +extern "C" { + pub fn getprotobyname(name: *const ::std::os::raw::c_char) -> *mut protoent; +} +extern "C" { + pub fn WSAStartup(wVersionRequested: WORD, lpWSAData: LPWSADATA) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSACleanup() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSASetLastError(iError: ::std::os::raw::c_int); +} +extern "C" { + pub fn WSAGetLastError() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAIsBlocking() -> BOOL; +} +extern "C" { + pub fn WSAUnhookBlockingHook() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSASetBlockingHook(lpBlockFunc: FARPROC) -> FARPROC; +} +extern "C" { + pub fn WSACancelBlockingCall() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAAsyncGetServByName( + hWnd: HWND, + wMsg: u_int, + name: *const ::std::os::raw::c_char, + proto: *const ::std::os::raw::c_char, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetServByPort( + hWnd: HWND, + wMsg: u_int, + port: ::std::os::raw::c_int, + proto: *const ::std::os::raw::c_char, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetProtoByName( + hWnd: HWND, + wMsg: u_int, + name: *const ::std::os::raw::c_char, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetProtoByNumber( + hWnd: HWND, + wMsg: u_int, + number: ::std::os::raw::c_int, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetHostByName( + hWnd: HWND, + wMsg: u_int, + name: *const ::std::os::raw::c_char, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSAAsyncGetHostByAddr( + hWnd: HWND, + wMsg: u_int, + addr: *const ::std::os::raw::c_char, + len: ::std::os::raw::c_int, + type_: ::std::os::raw::c_int, + buf: *mut ::std::os::raw::c_char, + buflen: ::std::os::raw::c_int, + ) -> HANDLE; +} +extern "C" { + pub fn WSACancelAsyncRequest(hAsyncTaskHandle: HANDLE) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAAsyncSelect( + s: SOCKET, + hWnd: HWND, + wMsg: u_int, + lEvent: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAAccept( + s: SOCKET, + addr: *mut sockaddr, + addrlen: LPINT, + lpfnCondition: LPCONDITIONPROC, + dwCallbackData: DWORD_PTR, + ) -> SOCKET; +} +extern "C" { + pub fn WSACloseEvent(hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn WSAConnect( + s: SOCKET, + name: *const sockaddr, + namelen: ::std::os::raw::c_int, + lpCallerData: LPWSABUF, + lpCalleeData: LPWSABUF, + lpSQOS: LPQOS, + lpGQOS: LPQOS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAConnectByNameW( + s: SOCKET, + nodename: LPWSTR, + servicename: LPWSTR, + LocalAddressLength: LPDWORD, + LocalAddress: LPSOCKADDR, + RemoteAddressLength: LPDWORD, + RemoteAddress: LPSOCKADDR, + timeout: *const timeval, + Reserved: LPWSAOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn WSAConnectByNameA( + s: SOCKET, + nodename: LPCSTR, + servicename: LPCSTR, + LocalAddressLength: LPDWORD, + LocalAddress: LPSOCKADDR, + RemoteAddressLength: LPDWORD, + RemoteAddress: LPSOCKADDR, + timeout: *const timeval, + Reserved: LPWSAOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn WSAConnectByList( + s: SOCKET, + SocketAddress: PSOCKET_ADDRESS_LIST, + LocalAddressLength: LPDWORD, + LocalAddress: LPSOCKADDR, + RemoteAddressLength: LPDWORD, + RemoteAddress: LPSOCKADDR, + timeout: *const timeval, + Reserved: LPWSAOVERLAPPED, + ) -> BOOL; +} +extern "C" { + pub fn WSACreateEvent() -> HANDLE; +} +extern "C" { + pub fn WSADuplicateSocketA( + s: SOCKET, + dwProcessId: DWORD, + lpProtocolInfo: LPWSAPROTOCOL_INFOA, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSADuplicateSocketW( + s: SOCKET, + dwProcessId: DWORD, + lpProtocolInfo: LPWSAPROTOCOL_INFOW, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAEnumNetworkEvents( + s: SOCKET, + hEventObject: HANDLE, + lpNetworkEvents: LPWSANETWORKEVENTS, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAEnumProtocolsA( + lpiProtocols: LPINT, + lpProtocolBuffer: LPWSAPROTOCOL_INFOA, + lpdwBufferLength: LPDWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAEnumProtocolsW( + lpiProtocols: LPINT, + lpProtocolBuffer: LPWSAPROTOCOL_INFOW, + lpdwBufferLength: LPDWORD, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAEventSelect( + s: SOCKET, + hEventObject: HANDLE, + lNetworkEvents: ::std::os::raw::c_long, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAGetOverlappedResult( + s: SOCKET, + lpOverlapped: LPWSAOVERLAPPED, + lpcbTransfer: LPDWORD, + fWait: BOOL, + lpdwFlags: LPDWORD, + ) -> BOOL; +} +extern "C" { + pub fn WSAGetQOSByName(s: SOCKET, lpQOSName: LPWSABUF, lpQOS: LPQOS) -> BOOL; +} +extern "C" { + pub fn WSAHtonl(s: SOCKET, hostlong: u_long, lpnetlong: *mut u_long) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAHtons( + s: SOCKET, + hostshort: u_short, + lpnetshort: *mut u_short, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAIoctl( + s: SOCKET, + dwIoControlCode: DWORD, + lpvInBuffer: LPVOID, + cbInBuffer: DWORD, + lpvOutBuffer: LPVOID, + cbOutBuffer: DWORD, + lpcbBytesReturned: LPDWORD, + lpOverlapped: LPWSAOVERLAPPED, + lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAJoinLeaf( + s: SOCKET, + name: *const sockaddr, + namelen: ::std::os::raw::c_int, + lpCallerData: LPWSABUF, + lpCalleeData: LPWSABUF, + lpSQOS: LPQOS, + lpGQOS: LPQOS, + dwFlags: DWORD, + ) -> SOCKET; +} +extern "C" { + pub fn WSANtohl(s: SOCKET, netlong: u_long, lphostlong: *mut u_long) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSANtohs( + s: SOCKET, + netshort: u_short, + lphostshort: *mut u_short, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSARecv( + s: SOCKET, + lpBuffers: LPWSABUF, + dwBufferCount: DWORD, + lpNumberOfBytesRecvd: LPDWORD, + lpFlags: LPDWORD, + lpOverlapped: LPWSAOVERLAPPED, + lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSARecvDisconnect(s: SOCKET, lpInboundDisconnectData: LPWSABUF) + -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSARecvFrom( + s: SOCKET, + lpBuffers: LPWSABUF, + dwBufferCount: DWORD, + lpNumberOfBytesRecvd: LPDWORD, + lpFlags: LPDWORD, + lpFrom: *mut sockaddr, + lpFromlen: LPINT, + lpOverlapped: LPWSAOVERLAPPED, + lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSAResetEvent(hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn WSASend( + s: SOCKET, + lpBuffers: LPWSABUF, + dwBufferCount: DWORD, + lpNumberOfBytesSent: LPDWORD, + dwFlags: DWORD, + lpOverlapped: LPWSAOVERLAPPED, + lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSASendMsg( + Handle: SOCKET, + lpMsg: LPWSAMSG, + dwFlags: DWORD, + lpNumberOfBytesSent: LPDWORD, + lpOverlapped: LPWSAOVERLAPPED, + lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSASendDisconnect( + s: SOCKET, + lpOutboundDisconnectData: LPWSABUF, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSASendTo( + s: SOCKET, + lpBuffers: LPWSABUF, + dwBufferCount: DWORD, + lpNumberOfBytesSent: LPDWORD, + dwFlags: DWORD, + lpTo: *const sockaddr, + iTolen: ::std::os::raw::c_int, + lpOverlapped: LPWSAOVERLAPPED, + lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn WSASetEvent(hEvent: HANDLE) -> BOOL; +} +extern "C" { + pub fn WSASocketA( + af: ::std::os::raw::c_int, + type_: ::std::os::raw::c_int, + protocol: ::std::os::raw::c_int, + lpProtocolInfo: LPWSAPROTOCOL_INFOA, + g: GROUP, + dwFlags: DWORD, + ) -> SOCKET; +} +extern "C" { + pub fn WSASocketW( + af: ::std::os::raw::c_int, + type_: ::std::os::raw::c_int, + protocol: ::std::os::raw::c_int, + lpProtocolInfo: LPWSAPROTOCOL_INFOW, + g: GROUP, + dwFlags: DWORD, + ) -> SOCKET; +} +extern "C" { + pub fn WSAWaitForMultipleEvents( + cEvents: DWORD, + lphEvents: *const HANDLE, + fWaitAll: BOOL, + dwTimeout: DWORD, + fAlertable: BOOL, + ) -> DWORD; +} +extern "C" { + pub fn WSAAddressToStringA( + lpsaAddress: LPSOCKADDR, + dwAddressLength: DWORD, + lpProtocolInfo: LPWSAPROTOCOL_INFOA, + lpszAddressString: LPSTR, + lpdwAddressStringLength: LPDWORD, + ) -> INT; +} +extern "C" { + pub fn WSAAddressToStringW( + lpsaAddress: LPSOCKADDR, + dwAddressLength: DWORD, + lpProtocolInfo: LPWSAPROTOCOL_INFOW, + lpszAddressString: LPWSTR, + lpdwAddressStringLength: LPDWORD, + ) -> INT; +} +extern "C" { + pub fn WSAStringToAddressA( + AddressString: LPSTR, + AddressFamily: INT, + lpProtocolInfo: LPWSAPROTOCOL_INFOA, + lpAddress: LPSOCKADDR, + lpAddressLength: LPINT, + ) -> INT; +} +extern "C" { + pub fn WSAStringToAddressW( + AddressString: LPWSTR, + AddressFamily: INT, + lpProtocolInfo: LPWSAPROTOCOL_INFOW, + lpAddress: LPSOCKADDR, + lpAddressLength: LPINT, + ) -> INT; +} +extern "C" { + pub fn WSALookupServiceBeginA( + lpqsRestrictions: LPWSAQUERYSETA, + dwControlFlags: DWORD, + lphLookup: LPHANDLE, + ) -> INT; +} +extern "C" { + pub fn WSALookupServiceBeginW( + lpqsRestrictions: LPWSAQUERYSETW, + dwControlFlags: DWORD, + lphLookup: LPHANDLE, + ) -> INT; +} +extern "C" { + pub fn WSALookupServiceNextA( + hLookup: HANDLE, + dwControlFlags: DWORD, + lpdwBufferLength: LPDWORD, + lpqsResults: LPWSAQUERYSETA, + ) -> INT; +} +extern "C" { + pub fn WSALookupServiceNextW( + hLookup: HANDLE, + dwControlFlags: DWORD, + lpdwBufferLength: LPDWORD, + lpqsResults: LPWSAQUERYSETW, + ) -> INT; +} +extern "C" { + pub fn WSANSPIoctl( + hLookup: HANDLE, + dwControlCode: DWORD, + lpvInBuffer: LPVOID, + cbInBuffer: DWORD, + lpvOutBuffer: LPVOID, + cbOutBuffer: DWORD, + lpcbBytesReturned: LPDWORD, + lpCompletion: LPWSACOMPLETION, + ) -> INT; +} +extern "C" { + pub fn WSALookupServiceEnd(hLookup: HANDLE) -> INT; +} +extern "C" { + pub fn WSAInstallServiceClassA(lpServiceClassInfo: LPWSASERVICECLASSINFOA) -> INT; +} +extern "C" { + pub fn WSAInstallServiceClassW(lpServiceClassInfo: LPWSASERVICECLASSINFOW) -> INT; +} +extern "C" { + pub fn WSARemoveServiceClass(lpServiceClassId: LPGUID) -> INT; +} +extern "C" { + pub fn WSAGetServiceClassInfoA( + lpProviderId: LPGUID, + lpServiceClassId: LPGUID, + lpdwBufSize: LPDWORD, + lpServiceClassInfo: LPWSASERVICECLASSINFOA, + ) -> INT; +} +extern "C" { + pub fn WSAGetServiceClassInfoW( + lpProviderId: LPGUID, + lpServiceClassId: LPGUID, + lpdwBufSize: LPDWORD, + lpServiceClassInfo: LPWSASERVICECLASSINFOW, + ) -> INT; +} +extern "C" { + pub fn WSAEnumNameSpaceProvidersA( + lpdwBufferLength: LPDWORD, + lpnspBuffer: LPWSANAMESPACE_INFOA, + ) -> INT; +} +extern "C" { + pub fn WSAEnumNameSpaceProvidersW( + lpdwBufferLength: LPDWORD, + lpnspBuffer: LPWSANAMESPACE_INFOW, + ) -> INT; +} +extern "C" { + pub fn WSAEnumNameSpaceProvidersExA( + lpdwBufferLength: LPDWORD, + lpnspBuffer: LPWSANAMESPACE_INFOEXA, + ) -> INT; +} +extern "C" { + pub fn WSAEnumNameSpaceProvidersExW( + lpdwBufferLength: LPDWORD, + lpnspBuffer: LPWSANAMESPACE_INFOEXW, + ) -> INT; +} +extern "C" { + pub fn WSAGetServiceClassNameByClassIdA( + lpServiceClassId: LPGUID, + lpszServiceClassName: LPSTR, + lpdwBufferLength: LPDWORD, + ) -> INT; +} +extern "C" { + pub fn WSAGetServiceClassNameByClassIdW( + lpServiceClassId: LPGUID, + lpszServiceClassName: LPWSTR, + lpdwBufferLength: LPDWORD, + ) -> INT; +} +extern "C" { + pub fn WSASetServiceA( + lpqsRegInfo: LPWSAQUERYSETA, + essoperation: WSAESETSERVICEOP, + dwControlFlags: DWORD, + ) -> INT; +} +extern "C" { + pub fn WSASetServiceW( + lpqsRegInfo: LPWSAQUERYSETW, + essoperation: WSAESETSERVICEOP, + dwControlFlags: DWORD, + ) -> INT; +} +extern "C" { + pub fn WSAProviderConfigChange( + lpNotificationHandle: LPHANDLE, + lpOverlapped: LPWSAOVERLAPPED, + lpCompletionRoutine: LPWSAOVERLAPPED_COMPLETION_ROUTINE, + ) -> INT; +} +extern "C" { + pub fn WSAPoll(fdArray: LPWSAPOLLFD, fds: ULONG, timeout: INT) -> ::std::os::raw::c_int; +} +pub type LPSOCKADDR_IN = *mut sockaddr_in; +pub type LINGER = linger; +pub type PLINGER = *mut linger; +pub type LPLINGER = *mut linger; +pub type FD_SET = fd_set; +pub type PFD_SET = *mut fd_set; +pub type LPFD_SET = *mut fd_set; +pub type HOSTENT = hostent; +pub type PHOSTENT = *mut hostent; +pub type LPHOSTENT = *mut hostent; +pub type SERVENT = servent; +pub type PSERVENT = *mut servent; +pub type LPSERVENT = *mut servent; +pub type PROTOENT = protoent; +pub type PPROTOENT = *mut protoent; +pub type LPPROTOENT = *mut protoent; +pub type TIMEVAL = timeval; +pub type PTIMEVAL = *mut timeval; +pub type LPTIMEVAL = *mut timeval; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct in6_addr { + pub u: in6_addr__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union in6_addr__bindgen_ty_1 { + pub Byte: [UCHAR; 16usize], + pub Word: [USHORT; 8usize], +} +#[test] +fn bindgen_test_layout_in6_addr__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(in6_addr__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(in6_addr__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Byte) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in6_addr__bindgen_ty_1), + "::", + stringify!(Byte) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Word) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in6_addr__bindgen_ty_1), + "::", + stringify!(Word) + ) + ); +} +#[test] +fn bindgen_test_layout_in6_addr() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(in6_addr)) + ); + assert_eq!( + ::std::mem::align_of::(), + 2usize, + concat!("Alignment of ", stringify!(in6_addr)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in6_addr), + "::", + stringify!(u) + ) + ); +} +pub type IN6_ADDR = in6_addr; +pub type PIN6_ADDR = *mut in6_addr; +pub type LPIN6_ADDR = *mut in6_addr; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sockaddr_in6_old { + pub sin6_family: SHORT, + pub sin6_port: USHORT, + pub sin6_flowinfo: ULONG, + pub sin6_addr: IN6_ADDR, +} +#[test] +fn bindgen_test_layout_sockaddr_in6_old() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(sockaddr_in6_old)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(sockaddr_in6_old)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6_old), + "::", + stringify!(sin6_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_port) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6_old), + "::", + stringify!(sin6_port) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_flowinfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6_old), + "::", + stringify!(sin6_flowinfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_addr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6_old), + "::", + stringify!(sin6_addr) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sockaddr_gen { + pub Address: sockaddr, + pub AddressIn: sockaddr_in, + pub AddressIn6: sockaddr_in6_old, +} +#[test] +fn bindgen_test_layout_sockaddr_gen() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(sockaddr_gen)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(sockaddr_gen)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Address) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_gen), + "::", + stringify!(Address) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressIn) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_gen), + "::", + stringify!(AddressIn) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).AddressIn6) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_gen), + "::", + stringify!(AddressIn6) + ) + ); +} +#[repr(C)] +#[derive(Copy, Clone)] +pub struct _INTERFACE_INFO { + pub iiFlags: ULONG, + pub iiAddress: sockaddr_gen, + pub iiBroadcastAddress: sockaddr_gen, + pub iiNetmask: sockaddr_gen, +} +#[test] +fn bindgen_test_layout__INTERFACE_INFO() { + const UNINIT: ::std::mem::MaybeUninit<_INTERFACE_INFO> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_INTERFACE_INFO>(), + 76usize, + concat!("Size of: ", stringify!(_INTERFACE_INFO)) + ); + assert_eq!( + ::std::mem::align_of::<_INTERFACE_INFO>(), + 4usize, + concat!("Alignment of ", stringify!(_INTERFACE_INFO)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iiFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INTERFACE_INFO), + "::", + stringify!(iiFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iiAddress) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_INTERFACE_INFO), + "::", + stringify!(iiAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iiBroadcastAddress) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(_INTERFACE_INFO), + "::", + stringify!(iiBroadcastAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iiNetmask) as usize - ptr as usize }, + 52usize, + concat!( + "Offset of field: ", + stringify!(_INTERFACE_INFO), + "::", + stringify!(iiNetmask) + ) + ); +} +pub type INTERFACE_INFO = _INTERFACE_INFO; +pub type LPINTERFACE_INFO = *mut _INTERFACE_INFO; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _INTERFACE_INFO_EX { + pub iiFlags: ULONG, + pub iiAddress: SOCKET_ADDRESS, + pub iiBroadcastAddress: SOCKET_ADDRESS, + pub iiNetmask: SOCKET_ADDRESS, +} +#[test] +fn bindgen_test_layout__INTERFACE_INFO_EX() { + const UNINIT: ::std::mem::MaybeUninit<_INTERFACE_INFO_EX> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_INTERFACE_INFO_EX>(), + 56usize, + concat!("Size of: ", stringify!(_INTERFACE_INFO_EX)) + ); + assert_eq!( + ::std::mem::align_of::<_INTERFACE_INFO_EX>(), + 8usize, + concat!("Alignment of ", stringify!(_INTERFACE_INFO_EX)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iiFlags) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_INTERFACE_INFO_EX), + "::", + stringify!(iiFlags) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iiAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_INTERFACE_INFO_EX), + "::", + stringify!(iiAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iiBroadcastAddress) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(_INTERFACE_INFO_EX), + "::", + stringify!(iiBroadcastAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).iiNetmask) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(_INTERFACE_INFO_EX), + "::", + stringify!(iiNetmask) + ) + ); +} +pub type INTERFACE_INFO_EX = _INTERFACE_INFO_EX; +pub type LPINTERFACE_INFO_EX = *mut _INTERFACE_INFO_EX; +pub const _PMTUD_STATE_IP_PMTUDISC_NOT_SET: _PMTUD_STATE = 0; +pub const _PMTUD_STATE_IP_PMTUDISC_DO: _PMTUD_STATE = 1; +pub const _PMTUD_STATE_IP_PMTUDISC_DONT: _PMTUD_STATE = 2; +pub const _PMTUD_STATE_IP_PMTUDISC_PROBE: _PMTUD_STATE = 3; +pub const _PMTUD_STATE_IP_PMTUDISC_MAX: _PMTUD_STATE = 4; +pub type _PMTUD_STATE = ::std::os::raw::c_int; +pub use self::_PMTUD_STATE as PMTUD_STATE; +pub type PPMTUD_STATE = *mut _PMTUD_STATE; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sockaddr_in6 { + pub sin6_family: ADDRESS_FAMILY, + pub sin6_port: USHORT, + pub sin6_flowinfo: ULONG, + pub sin6_addr: IN6_ADDR, + pub __bindgen_anon_1: sockaddr_in6__bindgen_ty_1, +} +#[repr(C)] +#[derive(Copy, Clone)] +pub union sockaddr_in6__bindgen_ty_1 { + pub sin6_scope_id: ULONG, + pub sin6_scope_struct: SCOPE_ID, +} +#[test] +fn bindgen_test_layout_sockaddr_in6__bindgen_ty_1() { + const UNINIT: ::std::mem::MaybeUninit = + ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 4usize, + concat!("Size of: ", stringify!(sockaddr_in6__bindgen_ty_1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(sockaddr_in6__bindgen_ty_1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_scope_id) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6__bindgen_ty_1), + "::", + stringify!(sin6_scope_id) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_scope_struct) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6__bindgen_ty_1), + "::", + stringify!(sin6_scope_struct) + ) + ); +} +#[test] +fn bindgen_test_layout_sockaddr_in6() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(sockaddr_in6)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(sockaddr_in6)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6), + "::", + stringify!(sin6_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_port) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6), + "::", + stringify!(sin6_port) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_flowinfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6), + "::", + stringify!(sin6_flowinfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_addr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6), + "::", + stringify!(sin6_addr) + ) + ); +} +pub type SOCKADDR_IN6_LH = sockaddr_in6; +pub type PSOCKADDR_IN6_LH = *mut sockaddr_in6; +pub type LPSOCKADDR_IN6_LH = *mut sockaddr_in6; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct sockaddr_in6_w2ksp1 { + pub sin6_family: ::std::os::raw::c_short, + pub sin6_port: USHORT, + pub sin6_flowinfo: ULONG, + pub sin6_addr: in6_addr, + pub sin6_scope_id: ULONG, +} +#[test] +fn bindgen_test_layout_sockaddr_in6_w2ksp1() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 28usize, + concat!("Size of: ", stringify!(sockaddr_in6_w2ksp1)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(sockaddr_in6_w2ksp1)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6_w2ksp1), + "::", + stringify!(sin6_family) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_port) as usize - ptr as usize }, + 2usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6_w2ksp1), + "::", + stringify!(sin6_port) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_flowinfo) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6_w2ksp1), + "::", + stringify!(sin6_flowinfo) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_addr) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6_w2ksp1), + "::", + stringify!(sin6_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sin6_scope_id) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(sockaddr_in6_w2ksp1), + "::", + stringify!(sin6_scope_id) + ) + ); +} +pub type SOCKADDR_IN6_W2KSP1 = sockaddr_in6_w2ksp1; +pub type PSOCKADDR_IN6_W2KSP1 = *mut sockaddr_in6_w2ksp1; +pub type LPSOCKADDR_IN6_W2KSP1 = *mut sockaddr_in6_w2ksp1; +pub type SOCKADDR_IN6 = SOCKADDR_IN6_LH; +pub type PSOCKADDR_IN6 = *mut SOCKADDR_IN6_LH; +pub type LPSOCKADDR_IN6 = *mut SOCKADDR_IN6_LH; +#[repr(C)] +#[derive(Copy, Clone)] +pub union _SOCKADDR_INET { + pub Ipv4: SOCKADDR_IN, + pub Ipv6: SOCKADDR_IN6, + pub si_family: ADDRESS_FAMILY, +} +#[test] +fn bindgen_test_layout__SOCKADDR_INET() { + const UNINIT: ::std::mem::MaybeUninit<_SOCKADDR_INET> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_SOCKADDR_INET>(), + 28usize, + concat!("Size of: ", stringify!(_SOCKADDR_INET)) + ); + assert_eq!( + ::std::mem::align_of::<_SOCKADDR_INET>(), + 4usize, + concat!("Alignment of ", stringify!(_SOCKADDR_INET)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ipv4) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SOCKADDR_INET), + "::", + stringify!(Ipv4) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).Ipv6) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SOCKADDR_INET), + "::", + stringify!(Ipv6) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).si_family) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_SOCKADDR_INET), + "::", + stringify!(si_family) + ) + ); +} +pub type SOCKADDR_INET = _SOCKADDR_INET; +pub type PSOCKADDR_INET = *mut _SOCKADDR_INET; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _sockaddr_in6_pair { + pub SourceAddress: PSOCKADDR_IN6, + pub DestinationAddress: PSOCKADDR_IN6, +} +#[test] +fn bindgen_test_layout__sockaddr_in6_pair() { + const UNINIT: ::std::mem::MaybeUninit<_sockaddr_in6_pair> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_sockaddr_in6_pair>(), + 16usize, + concat!("Size of: ", stringify!(_sockaddr_in6_pair)) + ); + assert_eq!( + ::std::mem::align_of::<_sockaddr_in6_pair>(), + 8usize, + concat!("Alignment of ", stringify!(_sockaddr_in6_pair)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).SourceAddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_sockaddr_in6_pair), + "::", + stringify!(SourceAddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).DestinationAddress) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_sockaddr_in6_pair), + "::", + stringify!(DestinationAddress) + ) + ); +} +pub type SOCKADDR_IN6_PAIR = _sockaddr_in6_pair; +pub type PSOCKADDR_IN6_PAIR = *mut _sockaddr_in6_pair; +extern "C" { + pub static scopeid_unspecified: SCOPE_ID; +} +extern "C" { + pub static in4addr_any: IN_ADDR; +} +extern "C" { + pub static in4addr_loopback: IN_ADDR; +} +extern "C" { + pub static in4addr_broadcast: IN_ADDR; +} +extern "C" { + pub static in4addr_allnodesonlink: IN_ADDR; +} +extern "C" { + pub static in4addr_allroutersonlink: IN_ADDR; +} +extern "C" { + pub static in4addr_alligmpv3routersonlink: IN_ADDR; +} +extern "C" { + pub static in4addr_allteredohostsonlink: IN_ADDR; +} +extern "C" { + pub static in4addr_linklocalprefix: IN_ADDR; +} +extern "C" { + pub static in4addr_multicastprefix: IN_ADDR; +} +extern "C" { + pub static in6addr_any: IN6_ADDR; +} +extern "C" { + pub static in6addr_loopback: IN6_ADDR; +} +extern "C" { + pub static in6addr_allnodesonnode: IN6_ADDR; +} +extern "C" { + pub static in6addr_allnodesonlink: IN6_ADDR; +} +extern "C" { + pub static in6addr_allroutersonlink: IN6_ADDR; +} +extern "C" { + pub static in6addr_allmldv2routersonlink: IN6_ADDR; +} +extern "C" { + pub static in6addr_teredoinitiallinklocaladdress: IN6_ADDR; +} +extern "C" { + pub static in6addr_linklocalprefix: IN6_ADDR; +} +extern "C" { + pub static in6addr_multicastprefix: IN6_ADDR; +} +extern "C" { + pub static in6addr_solicitednodemulticastprefix: IN6_ADDR; +} +extern "C" { + pub static in6addr_v4mappedprefix: IN6_ADDR; +} +extern "C" { + pub static in6addr_6to4prefix: IN6_ADDR; +} +extern "C" { + pub static in6addr_teredoprefix: IN6_ADDR; +} +extern "C" { + pub static in6addr_teredoprefix_old: IN6_ADDR; +} +pub const MULTICAST_MODE_TYPE_MCAST_INCLUDE: MULTICAST_MODE_TYPE = 0; +pub const MULTICAST_MODE_TYPE_MCAST_EXCLUDE: MULTICAST_MODE_TYPE = 1; +pub type MULTICAST_MODE_TYPE = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_mreq { + pub imr_multiaddr: IN_ADDR, + pub imr_interface: IN_ADDR, +} +#[test] +fn bindgen_test_layout_ip_mreq() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(ip_mreq)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ip_mreq)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_mreq), + "::", + stringify!(imr_multiaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imr_interface) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ip_mreq), + "::", + stringify!(imr_interface) + ) + ); +} +pub type IP_MREQ = ip_mreq; +pub type PIP_MREQ = *mut ip_mreq; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_mreq_source { + pub imr_multiaddr: IN_ADDR, + pub imr_sourceaddr: IN_ADDR, + pub imr_interface: IN_ADDR, +} +#[test] +fn bindgen_test_layout_ip_mreq_source() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(ip_mreq_source)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ip_mreq_source)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_mreq_source), + "::", + stringify!(imr_multiaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imr_sourceaddr) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ip_mreq_source), + "::", + stringify!(imr_sourceaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imr_interface) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ip_mreq_source), + "::", + stringify!(imr_interface) + ) + ); +} +pub type IP_MREQ_SOURCE = ip_mreq_source; +pub type PIP_MREQ_SOURCE = *mut ip_mreq_source; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ip_msfilter { + pub imsf_multiaddr: IN_ADDR, + pub imsf_interface: IN_ADDR, + pub imsf_fmode: MULTICAST_MODE_TYPE, + pub imsf_numsrc: ULONG, + pub imsf_slist: [IN_ADDR; 1usize], +} +#[test] +fn bindgen_test_layout_ip_msfilter() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(ip_msfilter)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ip_msfilter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imsf_multiaddr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ip_msfilter), + "::", + stringify!(imsf_multiaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imsf_interface) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(ip_msfilter), + "::", + stringify!(imsf_interface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imsf_fmode) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ip_msfilter), + "::", + stringify!(imsf_fmode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imsf_numsrc) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ip_msfilter), + "::", + stringify!(imsf_numsrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).imsf_slist) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ip_msfilter), + "::", + stringify!(imsf_slist) + ) + ); +} +pub type IP_MSFILTER = ip_msfilter; +pub type PIP_MSFILTER = *mut ip_msfilter; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct ipv6_mreq { + pub ipv6mr_multiaddr: IN6_ADDR, + pub ipv6mr_interface: ULONG, +} +#[test] +fn bindgen_test_layout_ipv6_mreq() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(ipv6_mreq)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(ipv6_mreq)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ipv6mr_multiaddr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ipv6_mreq), + "::", + stringify!(ipv6mr_multiaddr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ipv6mr_interface) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ipv6_mreq), + "::", + stringify!(ipv6mr_interface) + ) + ); +} +pub type IPV6_MREQ = ipv6_mreq; +pub type PIPV6_MREQ = *mut ipv6_mreq; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct group_req { + pub gr_interface: ULONG, + pub gr_group: SOCKADDR_STORAGE, +} +#[test] +fn bindgen_test_layout_group_req() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 136usize, + concat!("Size of: ", stringify!(group_req)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(group_req)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gr_interface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(group_req), + "::", + stringify!(gr_interface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gr_group) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(group_req), + "::", + stringify!(gr_group) + ) + ); +} +pub type GROUP_REQ = group_req; +pub type PGROUP_REQ = *mut group_req; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct group_source_req { + pub gsr_interface: ULONG, + pub gsr_group: SOCKADDR_STORAGE, + pub gsr_source: SOCKADDR_STORAGE, +} +#[test] +fn bindgen_test_layout_group_source_req() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 264usize, + concat!("Size of: ", stringify!(group_source_req)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(group_source_req)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gsr_interface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(group_source_req), + "::", + stringify!(gsr_interface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gsr_group) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(group_source_req), + "::", + stringify!(gsr_group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gsr_source) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(group_source_req), + "::", + stringify!(gsr_source) + ) + ); +} +pub type GROUP_SOURCE_REQ = group_source_req; +pub type PGROUP_SOURCE_REQ = *mut group_source_req; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct group_filter { + pub gf_interface: ULONG, + pub gf_group: SOCKADDR_STORAGE, + pub gf_fmode: MULTICAST_MODE_TYPE, + pub gf_numsrc: ULONG, + pub gf_slist: [SOCKADDR_STORAGE; 1usize], +} +#[test] +fn bindgen_test_layout_group_filter() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 272usize, + concat!("Size of: ", stringify!(group_filter)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(group_filter)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gf_interface) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(group_filter), + "::", + stringify!(gf_interface) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gf_group) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(group_filter), + "::", + stringify!(gf_group) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gf_fmode) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(group_filter), + "::", + stringify!(gf_fmode) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gf_numsrc) as usize - ptr as usize }, + 140usize, + concat!( + "Offset of field: ", + stringify!(group_filter), + "::", + stringify!(gf_numsrc) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).gf_slist) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(group_filter), + "::", + stringify!(gf_slist) + ) + ); +} +pub type GROUP_FILTER = group_filter; +pub type PGROUP_FILTER = *mut group_filter; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct in_pktinfo { + pub ipi_addr: IN_ADDR, + pub ipi_ifindex: ULONG, +} +#[test] +fn bindgen_test_layout_in_pktinfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 8usize, + concat!("Size of: ", stringify!(in_pktinfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(in_pktinfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ipi_addr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_pktinfo), + "::", + stringify!(ipi_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ipi_ifindex) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(in_pktinfo), + "::", + stringify!(ipi_ifindex) + ) + ); +} +pub type IN_PKTINFO = in_pktinfo; +pub type PIN_PKTINFO = *mut in_pktinfo; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct in6_pktinfo { + pub ipi6_addr: IN6_ADDR, + pub ipi6_ifindex: ULONG, +} +#[test] +fn bindgen_test_layout_in6_pktinfo() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 20usize, + concat!("Size of: ", stringify!(in6_pktinfo)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(in6_pktinfo)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ipi6_addr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in6_pktinfo), + "::", + stringify!(ipi6_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).ipi6_ifindex) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(in6_pktinfo), + "::", + stringify!(ipi6_ifindex) + ) + ); +} +pub type IN6_PKTINFO = in6_pktinfo; +pub type PIN6_PKTINFO = *mut in6_pktinfo; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct in_pktinfo_ex { + pub pkt_info: IN_PKTINFO, + pub scope_id: SCOPE_ID, +} +#[test] +fn bindgen_test_layout_in_pktinfo_ex() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(in_pktinfo_ex)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(in_pktinfo_ex)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pkt_info) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_pktinfo_ex), + "::", + stringify!(pkt_info) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scope_id) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(in_pktinfo_ex), + "::", + stringify!(scope_id) + ) + ); +} +pub type IN_PKTINFO_EX = in_pktinfo_ex; +pub type PIN_PKTINFO_EX = *mut in_pktinfo_ex; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct in6_pktinfo_ex { + pub pkt_info: IN6_PKTINFO, + pub scope_id: SCOPE_ID, +} +#[test] +fn bindgen_test_layout_in6_pktinfo_ex() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(in6_pktinfo_ex)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(in6_pktinfo_ex)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pkt_info) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in6_pktinfo_ex), + "::", + stringify!(pkt_info) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).scope_id) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(in6_pktinfo_ex), + "::", + stringify!(scope_id) + ) + ); +} +pub type IN6_PKTINFO_EX = in6_pktinfo_ex; +pub type PIN6_PKTINFO_EX = *mut in6_pktinfo_ex; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct in_recverr { + pub protocol: IPPROTO, + pub info: ULONG, + pub type_: UINT8, + pub code: UINT8, +} +#[test] +fn bindgen_test_layout_in_recverr() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 12usize, + concat!("Size of: ", stringify!(in_recverr)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(in_recverr)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).protocol) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(in_recverr), + "::", + stringify!(protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).info) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(in_recverr), + "::", + stringify!(info) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(in_recverr), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize }, + 9usize, + concat!( + "Offset of field: ", + stringify!(in_recverr), + "::", + stringify!(code) + ) + ); +} +pub type IN_RECVERR = in_recverr; +pub type PIN_RECVERR = *mut in_recverr; +#[repr(C)] +#[derive(Copy, Clone)] +pub struct icmp_error_info { + pub srcaddress: SOCKADDR_INET, + pub protocol: IPPROTO, + pub type_: UINT8, + pub code: UINT8, +} +#[test] +fn bindgen_test_layout_icmp_error_info() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(icmp_error_info)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(icmp_error_info)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).srcaddress) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(icmp_error_info), + "::", + stringify!(srcaddress) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).protocol) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(icmp_error_info), + "::", + stringify!(protocol) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(icmp_error_info), + "::", + stringify!(type_) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize }, + 33usize, + concat!( + "Offset of field: ", + stringify!(icmp_error_info), + "::", + stringify!(code) + ) + ); +} +pub type ICMP_ERROR_INFO = icmp_error_info; +pub type PICMP_ERROR_INFO = *mut icmp_error_info; +pub type ADDRINFOT = ADDRINFOA; +pub type PADDRINFOT = *mut ADDRINFOA; +pub type ADDRINFO = ADDRINFOA; +pub type LPADDRINFO = *mut ADDRINFOA; +pub type ADDRINFOEX = ADDRINFOEXA; +pub type PADDRINFOEX = *mut ADDRINFOEXA; +extern "C" { + pub fn getaddrinfo( + pNodeName: PCSTR, + pServiceName: PCSTR, + pHints: *const ADDRINFOA, + ppResult: *mut PADDRINFOA, + ) -> INT; +} +extern "C" { + pub fn GetAddrInfoW( + pNodeName: PCWSTR, + pServiceName: PCWSTR, + pHints: *const ADDRINFOW, + ppResult: *mut PADDRINFOW, + ) -> INT; +} +pub type LPLOOKUPSERVICE_COMPLETION_ROUTINE = ::std::option::Option< + unsafe extern "C" fn(dwError: DWORD, dwBytes: DWORD, lpOverlapped: LPWSAOVERLAPPED), +>; +extern "C" { + pub fn GetAddrInfoExA( + pName: PCSTR, + pServiceName: PCSTR, + dwNameSpace: DWORD, + lpNspId: LPGUID, + hints: *const ADDRINFOEXA, + ppResult: *mut PADDRINFOEXA, + timeout: *mut timeval, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, + lpNameHandle: LPHANDLE, + ) -> INT; +} +extern "C" { + pub fn GetAddrInfoExW( + pName: PCWSTR, + pServiceName: PCWSTR, + dwNameSpace: DWORD, + lpNspId: LPGUID, + hints: *const ADDRINFOEXW, + ppResult: *mut PADDRINFOEXW, + timeout: *mut timeval, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, + lpHandle: LPHANDLE, + ) -> INT; +} +extern "C" { + pub fn GetAddrInfoExCancel(lpHandle: LPHANDLE) -> INT; +} +extern "C" { + pub fn GetAddrInfoExOverlappedResult(lpOverlapped: LPOVERLAPPED) -> INT; +} +extern "C" { + pub fn SetAddrInfoExA( + pName: PCSTR, + pServiceName: PCSTR, + pAddresses: *mut SOCKET_ADDRESS, + dwAddressCount: DWORD, + lpBlob: LPBLOB, + dwFlags: DWORD, + dwNameSpace: DWORD, + lpNspId: LPGUID, + timeout: *mut timeval, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, + lpNameHandle: LPHANDLE, + ) -> INT; +} +extern "C" { + pub fn SetAddrInfoExW( + pName: PCWSTR, + pServiceName: PCWSTR, + pAddresses: *mut SOCKET_ADDRESS, + dwAddressCount: DWORD, + lpBlob: LPBLOB, + dwFlags: DWORD, + dwNameSpace: DWORD, + lpNspId: LPGUID, + timeout: *mut timeval, + lpOverlapped: LPOVERLAPPED, + lpCompletionRoutine: LPLOOKUPSERVICE_COMPLETION_ROUTINE, + lpNameHandle: LPHANDLE, + ) -> INT; +} +extern "C" { + pub fn freeaddrinfo(pAddrInfo: PADDRINFOA); +} +extern "C" { + pub fn FreeAddrInfoW(pAddrInfo: PADDRINFOW); +} +extern "C" { + pub fn FreeAddrInfoEx(pAddrInfoEx: PADDRINFOEXA); +} +extern "C" { + pub fn FreeAddrInfoExW(pAddrInfoEx: PADDRINFOEXW); +} +pub type socklen_t = ::std::os::raw::c_int; +extern "C" { + pub fn getnameinfo( + pSockaddr: *const SOCKADDR, + SockaddrLength: socklen_t, + pNodeBuffer: PCHAR, + NodeBufferSize: DWORD, + pServiceBuffer: PCHAR, + ServiceBufferSize: DWORD, + Flags: INT, + ) -> INT; +} +extern "C" { + pub fn GetNameInfoW( + pSockaddr: *const SOCKADDR, + SockaddrLength: socklen_t, + pNodeBuffer: PWCHAR, + NodeBufferSize: DWORD, + pServiceBuffer: PWCHAR, + ServiceBufferSize: DWORD, + Flags: INT, + ) -> INT; +} +extern "C" { + pub fn inet_pton(Family: INT, pszAddrString: PCSTR, pAddrBuf: PVOID) -> INT; +} +extern "C" { + pub fn InetPtonW(Family: INT, pszAddrString: PCWSTR, pAddrBuf: PVOID) -> INT; +} +extern "C" { + pub fn inet_ntop( + Family: INT, + pAddr: *const ::std::os::raw::c_void, + pStringBuf: PSTR, + StringBufSize: usize, + ) -> PCSTR; +} +extern "C" { + pub fn InetNtopW( + Family: INT, + pAddr: *const ::std::os::raw::c_void, + pStringBuf: PWSTR, + StringBufSize: usize, + ) -> PCWSTR; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct tm { + pub tm_sec: ::std::os::raw::c_int, + pub tm_min: ::std::os::raw::c_int, + pub tm_hour: ::std::os::raw::c_int, + pub tm_mday: ::std::os::raw::c_int, + pub tm_mon: ::std::os::raw::c_int, + pub tm_year: ::std::os::raw::c_int, + pub tm_wday: ::std::os::raw::c_int, + pub tm_yday: ::std::os::raw::c_int, + pub tm_isdst: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_tm() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 36usize, + concat!("Size of: ", stringify!(tm)) + ); + assert_eq!( + ::std::mem::align_of::(), + 4usize, + concat!("Alignment of ", stringify!(tm)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_sec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_min) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_hour) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_mday) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_mon) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize }, + 20usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_year) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_wday) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize }, + 28usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_yday) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(tm), + "::", + stringify!(tm_isdst) + ) + ); +} +extern "C" { + pub fn _wasctime(_Tm: *const tm) -> *mut wchar_t; +} +extern "C" { + pub fn _wasctime_s(_Buffer: *mut wchar_t, _SizeInWords: usize, _Tm: *const tm) -> errno_t; +} +extern "C" { + pub fn wcsftime( + _Buffer: *mut wchar_t, + _SizeInWords: usize, + _Format: *const wchar_t, + _Tm: *const tm, + ) -> usize; +} +extern "C" { + pub fn _wcsftime_l( + _Buffer: *mut wchar_t, + _SizeInWords: usize, + _Format: *const wchar_t, + _Tm: *const tm, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn _wctime32(_Time: *const __time32_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wctime32_s( + _Buffer: *mut wchar_t, + _SizeInWords: usize, + _Time: *const __time32_t, + ) -> errno_t; +} +extern "C" { + pub fn _wctime64(_Time: *const __time64_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wctime64_s( + _Buffer: *mut wchar_t, + _SizeInWords: usize, + _Time: *const __time64_t, + ) -> errno_t; +} +extern "C" { + pub fn _wstrdate_s(_Buffer: *mut wchar_t, _SizeInWords: usize) -> errno_t; +} +extern "C" { + pub fn _wstrdate(_Buffer: *mut wchar_t) -> *mut wchar_t; +} +extern "C" { + pub fn _wstrtime_s(_Buffer: *mut wchar_t, _SizeInWords: usize) -> errno_t; +} +extern "C" { + pub fn _wstrtime(_Buffer: *mut wchar_t) -> *mut wchar_t; +} +pub type clock_t = ::std::os::raw::c_long; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _timespec32 { + pub tv_sec: __time32_t, + pub tv_nsec: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout__timespec32() { + const UNINIT: ::std::mem::MaybeUninit<_timespec32> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_timespec32>(), + 8usize, + concat!("Size of: ", stringify!(_timespec32)) + ); + assert_eq!( + ::std::mem::align_of::<_timespec32>(), + 4usize, + concat!("Alignment of ", stringify!(_timespec32)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_timespec32), + "::", + stringify!(tv_sec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize }, + 4usize, + concat!( + "Offset of field: ", + stringify!(_timespec32), + "::", + stringify!(tv_nsec) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _timespec64 { + pub tv_sec: __time64_t, + pub tv_nsec: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout__timespec64() { + const UNINIT: ::std::mem::MaybeUninit<_timespec64> = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::<_timespec64>(), + 16usize, + concat!("Size of: ", stringify!(_timespec64)) + ); + assert_eq!( + ::std::mem::align_of::<_timespec64>(), + 8usize, + concat!("Alignment of ", stringify!(_timespec64)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(_timespec64), + "::", + stringify!(tv_sec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(_timespec64), + "::", + stringify!(tv_nsec) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct timespec { + pub tv_sec: time_t, + pub tv_nsec: ::std::os::raw::c_long, +} +#[test] +fn bindgen_test_layout_timespec() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(timespec)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(timespec)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(timespec), + "::", + stringify!(tv_sec) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(timespec), + "::", + stringify!(tv_nsec) + ) + ); +} +extern "C" { + pub fn __daylight() -> *mut ::std::os::raw::c_int; +} +extern "C" { + pub fn __dstbias() -> *mut ::std::os::raw::c_long; +} +extern "C" { + pub fn __timezone() -> *mut ::std::os::raw::c_long; +} +extern "C" { + pub fn __tzname() -> *mut *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _get_daylight(_Daylight: *mut ::std::os::raw::c_int) -> errno_t; +} +extern "C" { + pub fn _get_dstbias(_DaylightSavingsBias: *mut ::std::os::raw::c_long) -> errno_t; +} +extern "C" { + pub fn _get_timezone(_TimeZone: *mut ::std::os::raw::c_long) -> errno_t; +} +extern "C" { + pub fn _get_tzname( + _ReturnValue: *mut usize, + _Buffer: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _Index: ::std::os::raw::c_int, + ) -> errno_t; +} +extern "C" { + pub fn asctime(_Tm: *const tm) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn asctime_s( + _Buffer: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _Tm: *const tm, + ) -> errno_t; +} +extern "C" { + pub fn clock() -> clock_t; +} +extern "C" { + pub fn _ctime32(_Time: *const __time32_t) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ctime32_s( + _Buffer: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _Time: *const __time32_t, + ) -> errno_t; +} +extern "C" { + pub fn _ctime64(_Time: *const __time64_t) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _ctime64_s( + _Buffer: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _Time: *const __time64_t, + ) -> errno_t; +} +extern "C" { + pub fn _difftime32(_Time1: __time32_t, _Time2: __time32_t) -> f64; +} +extern "C" { + pub fn _difftime64(_Time1: __time64_t, _Time2: __time64_t) -> f64; +} +extern "C" { + pub fn _gmtime32(_Time: *const __time32_t) -> *mut tm; +} +extern "C" { + pub fn _gmtime32_s(_Tm: *mut tm, _Time: *const __time32_t) -> errno_t; +} +extern "C" { + pub fn _gmtime64(_Time: *const __time64_t) -> *mut tm; +} +extern "C" { + pub fn _gmtime64_s(_Tm: *mut tm, _Time: *const __time64_t) -> errno_t; +} +extern "C" { + pub fn _localtime32(_Time: *const __time32_t) -> *mut tm; +} +extern "C" { + pub fn _localtime32_s(_Tm: *mut tm, _Time: *const __time32_t) -> errno_t; +} +extern "C" { + pub fn _localtime64(_Time: *const __time64_t) -> *mut tm; +} +extern "C" { + pub fn _localtime64_s(_Tm: *mut tm, _Time: *const __time64_t) -> errno_t; +} +extern "C" { + pub fn _mkgmtime32(_Tm: *mut tm) -> __time32_t; +} +extern "C" { + pub fn _mkgmtime64(_Tm: *mut tm) -> __time64_t; +} +extern "C" { + pub fn _mktime32(_Tm: *mut tm) -> __time32_t; +} +extern "C" { + pub fn _mktime64(_Tm: *mut tm) -> __time64_t; +} +extern "C" { + pub fn strftime( + _Buffer: *mut ::std::os::raw::c_char, + _SizeInBytes: usize, + _Format: *const ::std::os::raw::c_char, + _Tm: *const tm, + ) -> usize; +} +extern "C" { + pub fn _strftime_l( + _Buffer: *mut ::std::os::raw::c_char, + _MaxSize: usize, + _Format: *const ::std::os::raw::c_char, + _Tm: *const tm, + _Locale: _locale_t, + ) -> usize; +} +extern "C" { + pub fn _strdate_s(_Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize) -> errno_t; +} +extern "C" { + pub fn _strdate(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _strtime_s(_Buffer: *mut ::std::os::raw::c_char, _SizeInBytes: usize) -> errno_t; +} +extern "C" { + pub fn _strtime(_Buffer: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; +} +extern "C" { + pub fn _time32(_Time: *mut __time32_t) -> __time32_t; +} +extern "C" { + pub fn _time64(_Time: *mut __time64_t) -> __time64_t; +} +extern "C" { + pub fn _timespec32_get( + _Ts: *mut _timespec32, + _Base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _timespec64_get( + _Ts: *mut _timespec64, + _Base: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn _tzset(); +} +extern "C" { + pub fn _getsystime(_Tm: *mut tm) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn _setsystime( + _Tm: *mut tm, + _Milliseconds: ::std::os::raw::c_uint, + ) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn tzset(); +} +pub const quiche_error_QUICHE_ERR_DONE: quiche_error = -1; +pub const quiche_error_QUICHE_ERR_BUFFER_TOO_SHORT: quiche_error = -2; +pub const quiche_error_QUICHE_ERR_UNKNOWN_VERSION: quiche_error = -3; +pub const quiche_error_QUICHE_ERR_INVALID_FRAME: quiche_error = -4; +pub const quiche_error_QUICHE_ERR_INVALID_PACKET: quiche_error = -5; +pub const quiche_error_QUICHE_ERR_INVALID_STATE: quiche_error = -6; +pub const quiche_error_QUICHE_ERR_INVALID_STREAM_STATE: quiche_error = -7; +pub const quiche_error_QUICHE_ERR_INVALID_TRANSPORT_PARAM: quiche_error = -8; +pub const quiche_error_QUICHE_ERR_CRYPTO_FAIL: quiche_error = -9; +pub const quiche_error_QUICHE_ERR_TLS_FAIL: quiche_error = -10; +pub const quiche_error_QUICHE_ERR_FLOW_CONTROL: quiche_error = -11; +pub const quiche_error_QUICHE_ERR_STREAM_LIMIT: quiche_error = -12; +pub const quiche_error_QUICHE_ERR_STREAM_STOPPED: quiche_error = -15; +pub const quiche_error_QUICHE_ERR_STREAM_RESET: quiche_error = -16; +pub const quiche_error_QUICHE_ERR_FINAL_SIZE: quiche_error = -13; +pub const quiche_error_QUICHE_ERR_CONGESTION_CONTROL: quiche_error = -14; +pub type quiche_error = ::std::os::raw::c_int; +extern "C" { + pub fn quiche_version() -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn quiche_enable_debug_logging( + cb: ::std::option::Option< + unsafe extern "C" fn( + line: *const ::std::os::raw::c_char, + argp: *mut ::std::os::raw::c_void, + ), + >, + argp: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_config { + _unused: [u8; 0], +} +extern "C" { + pub fn quiche_config_new(version: u32) -> *mut quiche_config; +} +extern "C" { + pub fn quiche_config_load_cert_chain_from_pem_file( + config: *mut quiche_config, + path: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_config_load_priv_key_from_pem_file( + config: *mut quiche_config, + path: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_config_load_verify_locations_from_file( + config: *mut quiche_config, + path: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_config_load_verify_locations_from_directory( + config: *mut quiche_config, + path: *const ::std::os::raw::c_char, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_config_verify_peer(config: *mut quiche_config, v: bool); +} +extern "C" { + pub fn quiche_config_grease(config: *mut quiche_config, v: bool); +} +extern "C" { + pub fn quiche_config_log_keys(config: *mut quiche_config); +} +extern "C" { + pub fn quiche_config_enable_early_data(config: *mut quiche_config); +} +extern "C" { + pub fn quiche_config_set_application_protos( + config: *mut quiche_config, + protos: *const u8, + protos_len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_config_set_max_idle_timeout(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_max_recv_udp_payload_size(config: *mut quiche_config, v: usize); +} +extern "C" { + pub fn quiche_config_set_max_send_udp_payload_size(config: *mut quiche_config, v: usize); +} +extern "C" { + pub fn quiche_config_set_initial_max_data(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_initial_max_stream_data_bidi_local(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_initial_max_stream_data_bidi_remote( + config: *mut quiche_config, + v: u64, + ); +} +extern "C" { + pub fn quiche_config_set_initial_max_stream_data_uni(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_initial_max_streams_bidi(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_initial_max_streams_uni(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_ack_delay_exponent(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_max_ack_delay(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_disable_active_migration(config: *mut quiche_config, v: bool); +} +pub const quiche_cc_algorithm_QUICHE_CC_RENO: quiche_cc_algorithm = 0; +pub const quiche_cc_algorithm_QUICHE_CC_CUBIC: quiche_cc_algorithm = 1; +pub const quiche_cc_algorithm_QUICHE_CC_BBR: quiche_cc_algorithm = 2; +pub type quiche_cc_algorithm = ::std::os::raw::c_int; +extern "C" { + pub fn quiche_config_set_cc_algorithm(config: *mut quiche_config, algo: quiche_cc_algorithm); +} +extern "C" { + pub fn quiche_config_enable_hystart(config: *mut quiche_config, v: bool); +} +extern "C" { + pub fn quiche_config_enable_pacing(config: *mut quiche_config, v: bool); +} +extern "C" { + pub fn quiche_config_enable_dgram( + config: *mut quiche_config, + enabled: bool, + recv_queue_len: usize, + send_queue_len: usize, + ); +} +extern "C" { + pub fn quiche_config_set_max_connection_window(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_max_stream_window(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_active_connection_id_limit(config: *mut quiche_config, v: u64); +} +extern "C" { + pub fn quiche_config_set_stateless_reset_token(config: *mut quiche_config, v: *const u8); +} +extern "C" { + pub fn quiche_config_free(config: *mut quiche_config); +} +extern "C" { + pub fn quiche_header_info( + buf: *const u8, + buf_len: usize, + dcil: usize, + version: *mut u32, + type_: *mut u8, + scid: *mut u8, + scid_len: *mut usize, + dcid: *mut u8, + dcid_len: *mut usize, + token: *mut u8, + token_len: *mut usize, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_conn { + _unused: [u8; 0], +} +extern "C" { + pub fn quiche_accept( + scid: *const u8, + scid_len: usize, + odcid: *const u8, + odcid_len: usize, + local: *const sockaddr, + local_len: usize, + peer: *const sockaddr, + peer_len: usize, + config: *mut quiche_config, + ) -> *mut quiche_conn; +} +extern "C" { + pub fn quiche_connect( + server_name: *const ::std::os::raw::c_char, + scid: *const u8, + scid_len: usize, + local: *const sockaddr, + local_len: usize, + peer: *const sockaddr, + peer_len: usize, + config: *mut quiche_config, + ) -> *mut quiche_conn; +} +extern "C" { + pub fn quiche_negotiate_version( + scid: *const u8, + scid_len: usize, + dcid: *const u8, + dcid_len: usize, + out: *mut u8, + out_len: usize, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_retry( + scid: *const u8, + scid_len: usize, + dcid: *const u8, + dcid_len: usize, + new_scid: *const u8, + new_scid_len: usize, + token: *const u8, + token_len: usize, + version: u32, + out: *mut u8, + out_len: usize, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_version_is_supported(version: u32) -> bool; +} +extern "C" { + pub fn quiche_conn_new_with_tls( + scid: *const u8, + scid_len: usize, + odcid: *const u8, + odcid_len: usize, + local: *const sockaddr, + local_len: usize, + peer: *const sockaddr, + peer_len: usize, + config: *mut quiche_config, + ssl: *mut ::std::os::raw::c_void, + is_server: bool, + ) -> *mut quiche_conn; +} +extern "C" { + pub fn quiche_conn_set_keylog_path( + conn: *mut quiche_conn, + path: *const ::std::os::raw::c_char, + ) -> bool; +} +extern "C" { + pub fn quiche_conn_set_keylog_fd(conn: *mut quiche_conn, fd: ::std::os::raw::c_int); +} +extern "C" { + pub fn quiche_conn_set_qlog_path( + conn: *mut quiche_conn, + path: *const ::std::os::raw::c_char, + log_title: *const ::std::os::raw::c_char, + log_desc: *const ::std::os::raw::c_char, + ) -> bool; +} +extern "C" { + pub fn quiche_conn_set_qlog_fd( + conn: *mut quiche_conn, + fd: ::std::os::raw::c_int, + log_title: *const ::std::os::raw::c_char, + log_desc: *const ::std::os::raw::c_char, + ); +} +extern "C" { + pub fn quiche_conn_set_session( + conn: *mut quiche_conn, + buf: *const u8, + buf_len: usize, + ) -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_recv_info { + pub from: *mut sockaddr, + pub from_len: socklen_t, + pub to: *mut sockaddr, + pub to_len: socklen_t, +} +#[test] +fn bindgen_test_layout_quiche_recv_info() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(quiche_recv_info)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(quiche_recv_info)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).from) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(quiche_recv_info), + "::", + stringify!(from) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).from_len) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(quiche_recv_info), + "::", + stringify!(from_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).to) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(quiche_recv_info), + "::", + stringify!(to) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).to_len) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(quiche_recv_info), + "::", + stringify!(to_len) + ) + ); +} +extern "C" { + pub fn quiche_conn_recv( + conn: *mut quiche_conn, + buf: *mut u8, + buf_len: usize, + info: *const quiche_recv_info, + ) -> SSIZE_T; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_send_info { + pub from: sockaddr_storage, + pub from_len: socklen_t, + pub to: sockaddr_storage, + pub to_len: socklen_t, + pub at: timespec, +} +#[test] +fn bindgen_test_layout_quiche_send_info() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 288usize, + concat!("Size of: ", stringify!(quiche_send_info)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(quiche_send_info)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).from) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(quiche_send_info), + "::", + stringify!(from) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).from_len) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(quiche_send_info), + "::", + stringify!(from_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).to) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(quiche_send_info), + "::", + stringify!(to) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).to_len) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(quiche_send_info), + "::", + stringify!(to_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).at) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(quiche_send_info), + "::", + stringify!(at) + ) + ); +} +extern "C" { + pub fn quiche_conn_send( + conn: *mut quiche_conn, + out: *mut u8, + out_len: usize, + out_info: *mut quiche_send_info, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_send_quantum(conn: *const quiche_conn) -> usize; +} +extern "C" { + pub fn quiche_conn_stream_recv( + conn: *mut quiche_conn, + stream_id: u64, + out: *mut u8, + buf_len: usize, + fin: *mut bool, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_stream_send( + conn: *mut quiche_conn, + stream_id: u64, + buf: *const u8, + buf_len: usize, + fin: bool, + ) -> SSIZE_T; +} +pub const quiche_shutdown_QUICHE_SHUTDOWN_READ: quiche_shutdown = 0; +pub const quiche_shutdown_QUICHE_SHUTDOWN_WRITE: quiche_shutdown = 1; +pub type quiche_shutdown = ::std::os::raw::c_int; +extern "C" { + pub fn quiche_conn_stream_priority( + conn: *mut quiche_conn, + stream_id: u64, + urgency: u8, + incremental: bool, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_conn_stream_shutdown( + conn: *mut quiche_conn, + stream_id: u64, + direction: quiche_shutdown, + err: u64, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_conn_stream_capacity(conn: *const quiche_conn, stream_id: u64) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_stream_readable(conn: *const quiche_conn, stream_id: u64) -> bool; +} +extern "C" { + pub fn quiche_conn_stream_readable_next(conn: *mut quiche_conn) -> i64; +} +extern "C" { + pub fn quiche_conn_stream_writable( + conn: *mut quiche_conn, + stream_id: u64, + len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_conn_stream_writable_next(conn: *mut quiche_conn) -> i64; +} +extern "C" { + pub fn quiche_conn_stream_finished(conn: *const quiche_conn, stream_id: u64) -> bool; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_stream_iter { + _unused: [u8; 0], +} +extern "C" { + pub fn quiche_conn_readable(conn: *const quiche_conn) -> *mut quiche_stream_iter; +} +extern "C" { + pub fn quiche_conn_writable(conn: *const quiche_conn) -> *mut quiche_stream_iter; +} +extern "C" { + pub fn quiche_conn_max_send_udp_payload_size(conn: *const quiche_conn) -> usize; +} +extern "C" { + pub fn quiche_conn_timeout_as_nanos(conn: *const quiche_conn) -> u64; +} +extern "C" { + pub fn quiche_conn_timeout_as_millis(conn: *const quiche_conn) -> u64; +} +extern "C" { + pub fn quiche_conn_on_timeout(conn: *mut quiche_conn); +} +extern "C" { + pub fn quiche_conn_close( + conn: *mut quiche_conn, + app: bool, + err: u64, + reason: *const u8, + reason_len: usize, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_conn_trace_id(conn: *const quiche_conn, out: *mut *const u8, out_len: *mut usize); +} +extern "C" { + pub fn quiche_conn_source_id( + conn: *const quiche_conn, + out: *mut *const u8, + out_len: *mut usize, + ); +} +extern "C" { + pub fn quiche_conn_destination_id( + conn: *const quiche_conn, + out: *mut *const u8, + out_len: *mut usize, + ); +} +extern "C" { + pub fn quiche_conn_application_proto( + conn: *const quiche_conn, + out: *mut *const u8, + out_len: *mut usize, + ); +} +extern "C" { + pub fn quiche_conn_peer_cert( + conn: *const quiche_conn, + out: *mut *const u8, + out_len: *mut usize, + ); +} +extern "C" { + pub fn quiche_conn_session(conn: *const quiche_conn, out: *mut *const u8, out_len: *mut usize); +} +extern "C" { + pub fn quiche_conn_is_established(conn: *const quiche_conn) -> bool; +} +extern "C" { + pub fn quiche_conn_is_in_early_data(conn: *const quiche_conn) -> bool; +} +extern "C" { + pub fn quiche_conn_is_readable(conn: *const quiche_conn) -> bool; +} +extern "C" { + pub fn quiche_conn_is_draining(conn: *const quiche_conn) -> bool; +} +extern "C" { + pub fn quiche_conn_peer_streams_left_bidi(conn: *const quiche_conn) -> u64; +} +extern "C" { + pub fn quiche_conn_peer_streams_left_uni(conn: *const quiche_conn) -> u64; +} +extern "C" { + pub fn quiche_conn_is_closed(conn: *const quiche_conn) -> bool; +} +extern "C" { + pub fn quiche_conn_is_timed_out(conn: *const quiche_conn) -> bool; +} +extern "C" { + pub fn quiche_conn_peer_error( + conn: *const quiche_conn, + is_app: *mut bool, + error_code: *mut u64, + reason: *mut *const u8, + reason_len: *mut usize, + ) -> bool; +} +extern "C" { + pub fn quiche_conn_local_error( + conn: *const quiche_conn, + is_app: *mut bool, + error_code: *mut u64, + reason: *mut *const u8, + reason_len: *mut usize, + ) -> bool; +} +extern "C" { + pub fn quiche_conn_stream_init_application_data( + conn: *mut quiche_conn, + stream_id: u64, + data: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_conn_stream_application_data( + conn: *mut quiche_conn, + stream_id: u64, + ) -> *mut ::std::os::raw::c_void; +} +extern "C" { + pub fn quiche_stream_iter_next(iter: *mut quiche_stream_iter, stream_id: *mut u64) -> bool; +} +extern "C" { + pub fn quiche_stream_iter_free(iter: *mut quiche_stream_iter); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_stats { + pub recv: usize, + pub sent: usize, + pub lost: usize, + pub retrans: usize, + pub sent_bytes: u64, + pub recv_bytes: u64, + pub lost_bytes: u64, + pub stream_retrans_bytes: u64, + pub paths_count: usize, + pub peer_max_idle_timeout: u64, + pub peer_max_udp_payload_size: u64, + pub peer_initial_max_data: u64, + pub peer_initial_max_stream_data_bidi_local: u64, + pub peer_initial_max_stream_data_bidi_remote: u64, + pub peer_initial_max_stream_data_uni: u64, + pub peer_initial_max_streams_bidi: u64, + pub peer_initial_max_streams_uni: u64, + pub peer_ack_delay_exponent: u64, + pub peer_max_ack_delay: u64, + pub peer_disable_active_migration: bool, + pub peer_active_conn_id_limit: u64, + pub peer_max_datagram_frame_size: SSIZE_T, +} +#[test] +fn bindgen_test_layout_quiche_stats() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 176usize, + concat!("Size of: ", stringify!(quiche_stats)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(quiche_stats)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).recv) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(recv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sent) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(sent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lost) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(lost) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).retrans) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(retrans) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sent_bytes) as usize - ptr as usize }, + 32usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(sent_bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).recv_bytes) as usize - ptr as usize }, + 40usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(recv_bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lost_bytes) as usize - ptr as usize }, + 48usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(lost_bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).stream_retrans_bytes) as usize - ptr as usize }, + 56usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(stream_retrans_bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).paths_count) as usize - ptr as usize }, + 64usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(paths_count) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peer_max_idle_timeout) as usize - ptr as usize }, + 72usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_max_idle_timeout) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peer_max_udp_payload_size) as usize - ptr as usize }, + 80usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_max_udp_payload_size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peer_initial_max_data) as usize - ptr as usize }, + 88usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_initial_max_data) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).peer_initial_max_stream_data_bidi_local) as usize + - ptr as usize + }, + 96usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_initial_max_stream_data_bidi_local) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).peer_initial_max_stream_data_bidi_remote) as usize + - ptr as usize + }, + 104usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_initial_max_stream_data_bidi_remote) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).peer_initial_max_stream_data_uni) as usize - ptr as usize + }, + 112usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_initial_max_stream_data_uni) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).peer_initial_max_streams_bidi) as usize - ptr as usize + }, + 120usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_initial_max_streams_bidi) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).peer_initial_max_streams_uni) as usize - ptr as usize + }, + 128usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_initial_max_streams_uni) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peer_ack_delay_exponent) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_ack_delay_exponent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peer_max_ack_delay) as usize - ptr as usize }, + 144usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_max_ack_delay) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).peer_disable_active_migration) as usize - ptr as usize + }, + 152usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_disable_active_migration) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peer_active_conn_id_limit) as usize - ptr as usize }, + 160usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_active_conn_id_limit) + ) + ); + assert_eq!( + unsafe { + ::std::ptr::addr_of!((*ptr).peer_max_datagram_frame_size) as usize - ptr as usize + }, + 168usize, + concat!( + "Offset of field: ", + stringify!(quiche_stats), + "::", + stringify!(peer_max_datagram_frame_size) + ) + ); +} +extern "C" { + pub fn quiche_conn_stats(conn: *const quiche_conn, out: *mut quiche_stats); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_path_stats { + pub local_addr: sockaddr_storage, + pub local_addr_len: socklen_t, + pub peer_addr: sockaddr_storage, + pub peer_addr_len: socklen_t, + pub validation_state: SSIZE_T, + pub active: bool, + pub recv: usize, + pub sent: usize, + pub lost: usize, + pub retrans: usize, + pub rtt: u64, + pub cwnd: usize, + pub sent_bytes: u64, + pub recv_bytes: u64, + pub lost_bytes: u64, + pub stream_retrans_bytes: u64, + pub pmtu: usize, + pub delivery_rate: u64, +} +#[test] +fn bindgen_test_layout_quiche_path_stats() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 384usize, + concat!("Size of: ", stringify!(quiche_path_stats)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(quiche_path_stats)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).local_addr) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(local_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).local_addr_len) as usize - ptr as usize }, + 128usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(local_addr_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peer_addr) as usize - ptr as usize }, + 136usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(peer_addr) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).peer_addr_len) as usize - ptr as usize }, + 264usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(peer_addr_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).validation_state) as usize - ptr as usize }, + 272usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(validation_state) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).active) as usize - ptr as usize }, + 280usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(active) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).recv) as usize - ptr as usize }, + 288usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(recv) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sent) as usize - ptr as usize }, + 296usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(sent) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lost) as usize - ptr as usize }, + 304usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(lost) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).retrans) as usize - ptr as usize }, + 312usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(retrans) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).rtt) as usize - ptr as usize }, + 320usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(rtt) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).cwnd) as usize - ptr as usize }, + 328usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(cwnd) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).sent_bytes) as usize - ptr as usize }, + 336usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(sent_bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).recv_bytes) as usize - ptr as usize }, + 344usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(recv_bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lost_bytes) as usize - ptr as usize }, + 352usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(lost_bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).stream_retrans_bytes) as usize - ptr as usize }, + 360usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(stream_retrans_bytes) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pmtu) as usize - ptr as usize }, + 368usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(pmtu) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).delivery_rate) as usize - ptr as usize }, + 376usize, + concat!( + "Offset of field: ", + stringify!(quiche_path_stats), + "::", + stringify!(delivery_rate) + ) + ); +} +extern "C" { + pub fn quiche_conn_path_stats( + conn: *const quiche_conn, + idx: usize, + out: *mut quiche_path_stats, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_conn_dgram_max_writable_len(conn: *const quiche_conn) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_dgram_recv_front_len(conn: *const quiche_conn) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_dgram_recv_queue_len(conn: *const quiche_conn) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_dgram_recv_queue_byte_size(conn: *const quiche_conn) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_dgram_send_queue_len(conn: *const quiche_conn) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_dgram_send_queue_byte_size(conn: *const quiche_conn) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_dgram_recv(conn: *mut quiche_conn, buf: *mut u8, buf_len: usize) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_dgram_send( + conn: *mut quiche_conn, + buf: *const u8, + buf_len: usize, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_dgram_purge_outgoing( + conn: *mut quiche_conn, + f: ::std::option::Option bool>, + ); +} +extern "C" { + pub fn quiche_conn_send_ack_eliciting(conn: *mut quiche_conn) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_send_ack_eliciting_on_path( + conn: *mut quiche_conn, + local: *const sockaddr, + local_len: usize, + peer: *const sockaddr, + peer_len: usize, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_conn_free(conn: *mut quiche_conn); +} +pub const quiche_h3_error_QUICHE_H3_ERR_DONE: quiche_h3_error = -1; +pub const quiche_h3_error_QUICHE_H3_ERR_BUFFER_TOO_SHORT: quiche_h3_error = -2; +pub const quiche_h3_error_QUICHE_H3_ERR_INTERNAL_ERROR: quiche_h3_error = -3; +pub const quiche_h3_error_QUICHE_H3_ERR_EXCESSIVE_LOAD: quiche_h3_error = -4; +pub const quiche_h3_error_QUICHE_H3_ERR_ID_ERROR: quiche_h3_error = -5; +pub const quiche_h3_error_QUICHE_H3_ERR_STREAM_CREATION_ERROR: quiche_h3_error = -6; +pub const quiche_h3_error_QUICHE_H3_ERR_CLOSED_CRITICAL_STREAM: quiche_h3_error = -7; +pub const quiche_h3_error_QUICHE_H3_ERR_MISSING_SETTINGS: quiche_h3_error = -8; +pub const quiche_h3_error_QUICHE_H3_ERR_FRAME_UNEXPECTED: quiche_h3_error = -9; +pub const quiche_h3_error_QUICHE_H3_ERR_FRAME_ERROR: quiche_h3_error = -10; +pub const quiche_h3_error_QUICHE_H3_ERR_QPACK_DECOMPRESSION_FAILED: quiche_h3_error = -11; +pub const quiche_h3_error_QUICHE_H3_ERR_STREAM_BLOCKED: quiche_h3_error = -13; +pub const quiche_h3_error_QUICHE_H3_ERR_SETTINGS_ERROR: quiche_h3_error = -14; +pub const quiche_h3_error_QUICHE_H3_ERR_REQUEST_REJECTED: quiche_h3_error = -15; +pub const quiche_h3_error_QUICHE_H3_ERR_REQUEST_CANCELLED: quiche_h3_error = -16; +pub const quiche_h3_error_QUICHE_H3_ERR_REQUEST_INCOMPLETE: quiche_h3_error = -17; +pub const quiche_h3_error_QUICHE_H3_ERR_MESSAGE_ERROR: quiche_h3_error = -18; +pub const quiche_h3_error_QUICHE_H3_ERR_CONNECT_ERROR: quiche_h3_error = -19; +pub const quiche_h3_error_QUICHE_H3_ERR_VERSION_FALLBACK: quiche_h3_error = -20; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_DONE: quiche_h3_error = -1001; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_BUFFER_TOO_SHORT: quiche_h3_error = -1002; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_UNKNOWN_VERSION: quiche_h3_error = -1003; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_INVALID_FRAME: quiche_h3_error = -1004; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_INVALID_PACKET: quiche_h3_error = -1005; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_INVALID_STATE: quiche_h3_error = -1006; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_INVALID_STREAM_STATE: quiche_h3_error = -1007; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_INVALID_TRANSPORT_PARAM: quiche_h3_error = -1008; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_CRYPTO_FAIL: quiche_h3_error = -1009; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_TLS_FAIL: quiche_h3_error = -1010; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_FLOW_CONTROL: quiche_h3_error = -1011; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_STREAM_LIMIT: quiche_h3_error = -1012; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_STREAM_STOPPED: quiche_h3_error = -1015; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_STREAM_RESET: quiche_h3_error = -1016; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_FINAL_SIZE: quiche_h3_error = -1013; +pub const quiche_h3_error_QUICHE_H3_TRANSPORT_ERR_CONGESTION_CONTROL: quiche_h3_error = -1014; +pub type quiche_h3_error = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_h3_config { + _unused: [u8; 0], +} +extern "C" { + pub fn quiche_h3_config_new() -> *mut quiche_h3_config; +} +extern "C" { + pub fn quiche_h3_config_set_max_field_section_size(config: *mut quiche_h3_config, v: u64); +} +extern "C" { + pub fn quiche_h3_config_set_qpack_max_table_capacity(config: *mut quiche_h3_config, v: u64); +} +extern "C" { + pub fn quiche_h3_config_set_qpack_blocked_streams(config: *mut quiche_h3_config, v: u64); +} +extern "C" { + pub fn quiche_h3_config_enable_extended_connect(config: *mut quiche_h3_config, enabled: bool); +} +extern "C" { + pub fn quiche_h3_config_free(config: *mut quiche_h3_config); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_h3_conn { + _unused: [u8; 0], +} +extern "C" { + pub fn quiche_h3_accept( + quiche_conn: *mut quiche_conn, + config: *mut quiche_h3_config, + ) -> *mut quiche_h3_conn; +} +extern "C" { + pub fn quiche_h3_conn_new_with_transport( + quiche_conn: *mut quiche_conn, + config: *mut quiche_h3_config, + ) -> *mut quiche_h3_conn; +} +pub const quiche_h3_event_type_QUICHE_H3_EVENT_HEADERS: quiche_h3_event_type = 0; +pub const quiche_h3_event_type_QUICHE_H3_EVENT_DATA: quiche_h3_event_type = 1; +pub const quiche_h3_event_type_QUICHE_H3_EVENT_FINISHED: quiche_h3_event_type = 2; +pub const quiche_h3_event_type_QUICHE_H3_EVENT_DATAGRAM: quiche_h3_event_type = 3; +pub const quiche_h3_event_type_QUICHE_H3_EVENT_GOAWAY: quiche_h3_event_type = 4; +pub const quiche_h3_event_type_QUICHE_H3_EVENT_RESET: quiche_h3_event_type = 5; +pub const quiche_h3_event_type_QUICHE_H3_EVENT_PRIORITY_UPDATE: quiche_h3_event_type = 6; +pub type quiche_h3_event_type = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_h3_event { + _unused: [u8; 0], +} +extern "C" { + pub fn quiche_h3_conn_poll( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + ev: *mut *mut quiche_h3_event, + ) -> i64; +} +extern "C" { + pub fn quiche_h3_event_type(ev: *mut quiche_h3_event) -> quiche_h3_event_type; +} +extern "C" { + pub fn quiche_h3_event_for_each_header( + ev: *mut quiche_h3_event, + cb: ::std::option::Option< + unsafe extern "C" fn( + name: *mut u8, + name_len: usize, + value: *mut u8, + value_len: usize, + argp: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + argp: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_h3_for_each_setting( + conn: *mut quiche_h3_conn, + cb: ::std::option::Option< + unsafe extern "C" fn( + identifier: u64, + value: u64, + argp: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + argp: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_h3_event_headers_has_body(ev: *mut quiche_h3_event) -> bool; +} +extern "C" { + pub fn quiche_h3_extended_connect_enabled_by_peer(conn: *mut quiche_h3_conn) -> bool; +} +extern "C" { + pub fn quiche_h3_event_free(ev: *mut quiche_h3_event); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_h3_header { + pub name: *const u8, + pub name_len: usize, + pub value: *const u8, + pub value_len: usize, +} +#[test] +fn bindgen_test_layout_quiche_h3_header() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 32usize, + concat!("Size of: ", stringify!(quiche_h3_header)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(quiche_h3_header)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(quiche_h3_header), + "::", + stringify!(name) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).name_len) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(quiche_h3_header), + "::", + stringify!(name_len) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(quiche_h3_header), + "::", + stringify!(value) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).value_len) as usize - ptr as usize }, + 24usize, + concat!( + "Offset of field: ", + stringify!(quiche_h3_header), + "::", + stringify!(value_len) + ) + ); +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct quiche_h3_priority { + pub urgency: u8, + pub incremental: bool, +} +#[test] +fn bindgen_test_layout_quiche_h3_priority() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 2usize, + concat!("Size of: ", stringify!(quiche_h3_priority)) + ); + assert_eq!( + ::std::mem::align_of::(), + 1usize, + concat!("Alignment of ", stringify!(quiche_h3_priority)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).urgency) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(quiche_h3_priority), + "::", + stringify!(urgency) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).incremental) as usize - ptr as usize }, + 1usize, + concat!( + "Offset of field: ", + stringify!(quiche_h3_priority), + "::", + stringify!(incremental) + ) + ); +} +extern "C" { + pub fn quiche_h3_send_request( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + headers: *mut quiche_h3_header, + headers_len: usize, + fin: bool, + ) -> i64; +} +extern "C" { + pub fn quiche_h3_send_response( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + headers: *mut quiche_h3_header, + headers_len: usize, + fin: bool, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_h3_send_response_with_priority( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + headers: *mut quiche_h3_header, + headers_len: usize, + priority: *mut quiche_h3_priority, + fin: bool, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_h3_send_body( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + body: *mut u8, + body_len: usize, + fin: bool, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_h3_recv_body( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + out: *mut u8, + out_len: usize, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_h3_parse_extensible_priority( + priority: *mut u8, + priority_len: usize, + parsed: *mut quiche_h3_priority, + ) -> ::std::os::raw::c_int; +} +extern "C" { + #[doc = " Sends a PRIORITY_UPDATE frame on the control stream with specified\n request stream ID and priority."] + pub fn quiche_h3_send_priority_update_for_request( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + priority: *mut quiche_h3_priority, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_h3_take_last_priority_update( + conn: *mut quiche_h3_conn, + prioritized_element_id: u64, + cb: ::std::option::Option< + unsafe extern "C" fn( + priority_field_value: *mut u8, + priority_field_value_len: u64, + argp: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int, + >, + argp: *mut ::std::os::raw::c_void, + ) -> ::std::os::raw::c_int; +} +extern "C" { + pub fn quiche_h3_dgram_enabled_by_peer( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + ) -> bool; +} +extern "C" { + pub fn quiche_h3_send_dgram( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + flow_id: u64, + data: *mut u8, + data_len: usize, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_h3_recv_dgram( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + flow_id: *mut u64, + flow_id_len: *mut usize, + out: *mut u8, + out_len: usize, + ) -> SSIZE_T; +} +extern "C" { + pub fn quiche_h3_conn_free(conn: *mut quiche_h3_conn); +} +pub type __builtin_va_list = *mut ::std::os::raw::c_char; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __crt_locale_data { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct __crt_multibyte_data { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct _ACTIVATION_CONTEXT { + pub _address: u8, +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct NET_ADDRESS_INFO_ { + pub _address: u8, +} diff --git a/csbindgen-tests/src/quiche_ffi.rs b/csbindgen-tests/src/quiche_ffi.rs new file mode 100644 index 0000000..74d0fa4 --- /dev/null +++ b/csbindgen-tests/src/quiche_ffi.rs @@ -0,0 +1,1689 @@ +/* automatically generated by csbindgen */ + +#[allow(unused)] +use ::std::os::raw::*; + + + + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_version( + +) -> *const c_char +{ + quiche_version( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_enable_debug_logging( + cb: Option, + argp: *mut c_void +) -> c_int +{ + quiche_enable_debug_logging( + cb, + argp + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_new( + version: u32 +) -> *mut quiche_config +{ + quiche_config_new( + version + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_load_cert_chain_from_pem_file( + config: *mut quiche_config, + path: *const c_char +) -> c_int +{ + quiche_config_load_cert_chain_from_pem_file( + config, + path + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_load_priv_key_from_pem_file( + config: *mut quiche_config, + path: *const c_char +) -> c_int +{ + quiche_config_load_priv_key_from_pem_file( + config, + path + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_load_verify_locations_from_file( + config: *mut quiche_config, + path: *const c_char +) -> c_int +{ + quiche_config_load_verify_locations_from_file( + config, + path + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_load_verify_locations_from_directory( + config: *mut quiche_config, + path: *const c_char +) -> c_int +{ + quiche_config_load_verify_locations_from_directory( + config, + path + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_verify_peer( + config: *mut quiche_config, + v: bool +) +{ + quiche_config_verify_peer( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_grease( + config: *mut quiche_config, + v: bool +) +{ + quiche_config_grease( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_log_keys( + config: *mut quiche_config +) +{ + quiche_config_log_keys( + config + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_enable_early_data( + config: *mut quiche_config +) +{ + quiche_config_enable_early_data( + config + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_application_protos( + config: *mut quiche_config, + protos: *const u8, + protos_len: usize +) -> c_int +{ + quiche_config_set_application_protos( + config, + protos, + protos_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_max_idle_timeout( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_max_idle_timeout( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_max_recv_udp_payload_size( + config: *mut quiche_config, + v: usize +) +{ + quiche_config_set_max_recv_udp_payload_size( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_max_send_udp_payload_size( + config: *mut quiche_config, + v: usize +) +{ + quiche_config_set_max_send_udp_payload_size( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_initial_max_data( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_initial_max_data( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_initial_max_stream_data_bidi_local( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_initial_max_stream_data_bidi_local( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_initial_max_stream_data_bidi_remote( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_initial_max_stream_data_bidi_remote( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_initial_max_stream_data_uni( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_initial_max_stream_data_uni( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_initial_max_streams_bidi( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_initial_max_streams_bidi( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_initial_max_streams_uni( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_initial_max_streams_uni( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_ack_delay_exponent( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_ack_delay_exponent( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_max_ack_delay( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_max_ack_delay( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_disable_active_migration( + config: *mut quiche_config, + v: bool +) +{ + quiche_config_set_disable_active_migration( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_cc_algorithm( + config: *mut quiche_config, + algo: quiche_cc_algorithm +) +{ + quiche_config_set_cc_algorithm( + config, + algo + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_enable_hystart( + config: *mut quiche_config, + v: bool +) +{ + quiche_config_enable_hystart( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_enable_pacing( + config: *mut quiche_config, + v: bool +) +{ + quiche_config_enable_pacing( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_enable_dgram( + config: *mut quiche_config, + enabled: bool, + recv_queue_len: usize, + send_queue_len: usize +) +{ + quiche_config_enable_dgram( + config, + enabled, + recv_queue_len, + send_queue_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_max_connection_window( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_max_connection_window( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_max_stream_window( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_max_stream_window( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_active_connection_id_limit( + config: *mut quiche_config, + v: u64 +) +{ + quiche_config_set_active_connection_id_limit( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_set_stateless_reset_token( + config: *mut quiche_config, + v: *const u8 +) +{ + quiche_config_set_stateless_reset_token( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_config_free( + config: *mut quiche_config +) +{ + quiche_config_free( + config + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_header_info( + buf: *const u8, + buf_len: usize, + dcil: usize, + version: *mut u32, + type_: *mut u8, + scid: *mut u8, + scid_len: *mut usize, + dcid: *mut u8, + dcid_len: *mut usize, + token: *mut u8, + token_len: *mut usize +) -> c_int +{ + quiche_header_info( + buf, + buf_len, + dcil, + version, + type_, + scid, + scid_len, + dcid, + dcid_len, + token, + token_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_accept( + scid: *const u8, + scid_len: usize, + odcid: *const u8, + odcid_len: usize, + local: *const sockaddr, + local_len: usize, + peer: *const sockaddr, + peer_len: usize, + config: *mut quiche_config +) -> *mut quiche_conn +{ + quiche_accept( + scid, + scid_len, + odcid, + odcid_len, + local, + local_len, + peer, + peer_len, + config + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_connect( + server_name: *const c_char, + scid: *const u8, + scid_len: usize, + local: *const sockaddr, + local_len: usize, + peer: *const sockaddr, + peer_len: usize, + config: *mut quiche_config +) -> *mut quiche_conn +{ + quiche_connect( + server_name, + scid, + scid_len, + local, + local_len, + peer, + peer_len, + config + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_negotiate_version( + scid: *const u8, + scid_len: usize, + dcid: *const u8, + dcid_len: usize, + out: *mut u8, + out_len: usize +) -> SSIZE_T +{ + quiche_negotiate_version( + scid, + scid_len, + dcid, + dcid_len, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_retry( + scid: *const u8, + scid_len: usize, + dcid: *const u8, + dcid_len: usize, + new_scid: *const u8, + new_scid_len: usize, + token: *const u8, + token_len: usize, + version: u32, + out: *mut u8, + out_len: usize +) -> SSIZE_T +{ + quiche_retry( + scid, + scid_len, + dcid, + dcid_len, + new_scid, + new_scid_len, + token, + token_len, + version, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_version_is_supported( + version: u32 +) -> bool +{ + quiche_version_is_supported( + version + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_new_with_tls( + scid: *const u8, + scid_len: usize, + odcid: *const u8, + odcid_len: usize, + local: *const sockaddr, + local_len: usize, + peer: *const sockaddr, + peer_len: usize, + config: *mut quiche_config, + ssl: *mut c_void, + is_server: bool +) -> *mut quiche_conn +{ + quiche_conn_new_with_tls( + scid, + scid_len, + odcid, + odcid_len, + local, + local_len, + peer, + peer_len, + config, + ssl, + is_server + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_set_keylog_path( + conn: *mut quiche_conn, + path: *const c_char +) -> bool +{ + quiche_conn_set_keylog_path( + conn, + path + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_set_keylog_fd( + conn: *mut quiche_conn, + fd: c_int +) +{ + quiche_conn_set_keylog_fd( + conn, + fd + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_set_qlog_path( + conn: *mut quiche_conn, + path: *const c_char, + log_title: *const c_char, + log_desc: *const c_char +) -> bool +{ + quiche_conn_set_qlog_path( + conn, + path, + log_title, + log_desc + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_set_qlog_fd( + conn: *mut quiche_conn, + fd: c_int, + log_title: *const c_char, + log_desc: *const c_char +) +{ + quiche_conn_set_qlog_fd( + conn, + fd, + log_title, + log_desc + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_set_session( + conn: *mut quiche_conn, + buf: *const u8, + buf_len: usize +) -> c_int +{ + quiche_conn_set_session( + conn, + buf, + buf_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_recv( + conn: *mut quiche_conn, + buf: *mut u8, + buf_len: usize, + info: *const quiche_recv_info +) -> SSIZE_T +{ + quiche_conn_recv( + conn, + buf, + buf_len, + info + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_send( + conn: *mut quiche_conn, + out: *mut u8, + out_len: usize, + out_info: *mut quiche_send_info +) -> SSIZE_T +{ + quiche_conn_send( + conn, + out, + out_len, + out_info + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_send_quantum( + conn: *const quiche_conn +) -> usize +{ + quiche_conn_send_quantum( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_recv( + conn: *mut quiche_conn, + stream_id: u64, + out: *mut u8, + buf_len: usize, + fin: *mut bool +) -> SSIZE_T +{ + quiche_conn_stream_recv( + conn, + stream_id, + out, + buf_len, + fin + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_send( + conn: *mut quiche_conn, + stream_id: u64, + buf: *const u8, + buf_len: usize, + fin: bool +) -> SSIZE_T +{ + quiche_conn_stream_send( + conn, + stream_id, + buf, + buf_len, + fin + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_priority( + conn: *mut quiche_conn, + stream_id: u64, + urgency: u8, + incremental: bool +) -> c_int +{ + quiche_conn_stream_priority( + conn, + stream_id, + urgency, + incremental + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_shutdown( + conn: *mut quiche_conn, + stream_id: u64, + direction: quiche_shutdown, + err: u64 +) -> c_int +{ + quiche_conn_stream_shutdown( + conn, + stream_id, + direction, + err + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_capacity( + conn: *const quiche_conn, + stream_id: u64 +) -> SSIZE_T +{ + quiche_conn_stream_capacity( + conn, + stream_id + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_readable( + conn: *const quiche_conn, + stream_id: u64 +) -> bool +{ + quiche_conn_stream_readable( + conn, + stream_id + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_readable_next( + conn: *mut quiche_conn +) -> i64 +{ + quiche_conn_stream_readable_next( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_writable( + conn: *mut quiche_conn, + stream_id: u64, + len: usize +) -> c_int +{ + quiche_conn_stream_writable( + conn, + stream_id, + len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_writable_next( + conn: *mut quiche_conn +) -> i64 +{ + quiche_conn_stream_writable_next( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_finished( + conn: *const quiche_conn, + stream_id: u64 +) -> bool +{ + quiche_conn_stream_finished( + conn, + stream_id + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_readable( + conn: *const quiche_conn +) -> *mut quiche_stream_iter +{ + quiche_conn_readable( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_writable( + conn: *const quiche_conn +) -> *mut quiche_stream_iter +{ + quiche_conn_writable( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_max_send_udp_payload_size( + conn: *const quiche_conn +) -> usize +{ + quiche_conn_max_send_udp_payload_size( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_timeout_as_nanos( + conn: *const quiche_conn +) -> u64 +{ + quiche_conn_timeout_as_nanos( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_timeout_as_millis( + conn: *const quiche_conn +) -> u64 +{ + quiche_conn_timeout_as_millis( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_on_timeout( + conn: *mut quiche_conn +) +{ + quiche_conn_on_timeout( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_close( + conn: *mut quiche_conn, + app: bool, + err: u64, + reason: *const u8, + reason_len: usize +) -> c_int +{ + quiche_conn_close( + conn, + app, + err, + reason, + reason_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_trace_id( + conn: *const quiche_conn, + out: *mut *mut u8, + out_len: *mut usize +) +{ + quiche_conn_trace_id( + conn, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_source_id( + conn: *const quiche_conn, + out: *mut *mut u8, + out_len: *mut usize +) +{ + quiche_conn_source_id( + conn, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_destination_id( + conn: *const quiche_conn, + out: *mut *mut u8, + out_len: *mut usize +) +{ + quiche_conn_destination_id( + conn, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_application_proto( + conn: *const quiche_conn, + out: *mut *mut u8, + out_len: *mut usize +) +{ + quiche_conn_application_proto( + conn, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_peer_cert( + conn: *const quiche_conn, + out: *mut *mut u8, + out_len: *mut usize +) +{ + quiche_conn_peer_cert( + conn, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_session( + conn: *const quiche_conn, + out: *mut *mut u8, + out_len: *mut usize +) +{ + quiche_conn_session( + conn, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_is_established( + conn: *const quiche_conn +) -> bool +{ + quiche_conn_is_established( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_is_in_early_data( + conn: *const quiche_conn +) -> bool +{ + quiche_conn_is_in_early_data( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_is_readable( + conn: *const quiche_conn +) -> bool +{ + quiche_conn_is_readable( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_is_draining( + conn: *const quiche_conn +) -> bool +{ + quiche_conn_is_draining( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_peer_streams_left_bidi( + conn: *const quiche_conn +) -> u64 +{ + quiche_conn_peer_streams_left_bidi( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_peer_streams_left_uni( + conn: *const quiche_conn +) -> u64 +{ + quiche_conn_peer_streams_left_uni( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_is_closed( + conn: *const quiche_conn +) -> bool +{ + quiche_conn_is_closed( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_is_timed_out( + conn: *const quiche_conn +) -> bool +{ + quiche_conn_is_timed_out( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_peer_error( + conn: *const quiche_conn, + is_app: *mut bool, + error_code: *mut u64, + reason: *mut *mut u8, + reason_len: *mut usize +) -> bool +{ + quiche_conn_peer_error( + conn, + is_app, + error_code, + reason, + reason_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_local_error( + conn: *const quiche_conn, + is_app: *mut bool, + error_code: *mut u64, + reason: *mut *mut u8, + reason_len: *mut usize +) -> bool +{ + quiche_conn_local_error( + conn, + is_app, + error_code, + reason, + reason_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_init_application_data( + conn: *mut quiche_conn, + stream_id: u64, + data: *mut c_void +) -> c_int +{ + quiche_conn_stream_init_application_data( + conn, + stream_id, + data + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stream_application_data( + conn: *mut quiche_conn, + stream_id: u64 +) -> *mut c_void +{ + quiche_conn_stream_application_data( + conn, + stream_id + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_stream_iter_next( + iter: *mut quiche_stream_iter, + stream_id: *mut u64 +) -> bool +{ + quiche_stream_iter_next( + iter, + stream_id + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_stream_iter_free( + iter: *mut quiche_stream_iter +) +{ + quiche_stream_iter_free( + iter + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_stats( + conn: *const quiche_conn, + out: *mut quiche_stats +) +{ + quiche_conn_stats( + conn, + out + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_path_stats( + conn: *const quiche_conn, + idx: usize, + out: *mut quiche_path_stats +) -> c_int +{ + quiche_conn_path_stats( + conn, + idx, + out + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_dgram_max_writable_len( + conn: *const quiche_conn +) -> SSIZE_T +{ + quiche_conn_dgram_max_writable_len( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_dgram_recv_front_len( + conn: *const quiche_conn +) -> SSIZE_T +{ + quiche_conn_dgram_recv_front_len( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_dgram_recv_queue_len( + conn: *const quiche_conn +) -> SSIZE_T +{ + quiche_conn_dgram_recv_queue_len( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_dgram_recv_queue_byte_size( + conn: *const quiche_conn +) -> SSIZE_T +{ + quiche_conn_dgram_recv_queue_byte_size( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_dgram_send_queue_len( + conn: *const quiche_conn +) -> SSIZE_T +{ + quiche_conn_dgram_send_queue_len( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_dgram_send_queue_byte_size( + conn: *const quiche_conn +) -> SSIZE_T +{ + quiche_conn_dgram_send_queue_byte_size( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_dgram_recv( + conn: *mut quiche_conn, + buf: *mut u8, + buf_len: usize +) -> SSIZE_T +{ + quiche_conn_dgram_recv( + conn, + buf, + buf_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_dgram_send( + conn: *mut quiche_conn, + buf: *const u8, + buf_len: usize +) -> SSIZE_T +{ + quiche_conn_dgram_send( + conn, + buf, + buf_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_dgram_purge_outgoing( + conn: *mut quiche_conn, + f: Option bool> +) +{ + quiche_conn_dgram_purge_outgoing( + conn, + f + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_send_ack_eliciting( + conn: *mut quiche_conn +) -> SSIZE_T +{ + quiche_conn_send_ack_eliciting( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_send_ack_eliciting_on_path( + conn: *mut quiche_conn, + local: *const sockaddr, + local_len: usize, + peer: *const sockaddr, + peer_len: usize +) -> SSIZE_T +{ + quiche_conn_send_ack_eliciting_on_path( + conn, + local, + local_len, + peer, + peer_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_conn_free( + conn: *mut quiche_conn +) +{ + quiche_conn_free( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_config_new( + +) -> *mut quiche_h3_config +{ + quiche_h3_config_new( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_config_set_max_field_section_size( + config: *mut quiche_h3_config, + v: u64 +) +{ + quiche_h3_config_set_max_field_section_size( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_config_set_qpack_max_table_capacity( + config: *mut quiche_h3_config, + v: u64 +) +{ + quiche_h3_config_set_qpack_max_table_capacity( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_config_set_qpack_blocked_streams( + config: *mut quiche_h3_config, + v: u64 +) +{ + quiche_h3_config_set_qpack_blocked_streams( + config, + v + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_config_enable_extended_connect( + config: *mut quiche_h3_config, + enabled: bool +) +{ + quiche_h3_config_enable_extended_connect( + config, + enabled + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_config_free( + config: *mut quiche_h3_config +) +{ + quiche_h3_config_free( + config + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_accept( + quiche_conn: *mut quiche_conn, + config: *mut quiche_h3_config +) -> *mut quiche_h3_conn +{ + quiche_h3_accept( + quiche_conn, + config + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_conn_new_with_transport( + quiche_conn: *mut quiche_conn, + config: *mut quiche_h3_config +) -> *mut quiche_h3_conn +{ + quiche_h3_conn_new_with_transport( + quiche_conn, + config + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_conn_poll( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + ev: *mut *mut quiche_h3_event +) -> i64 +{ + quiche_h3_conn_poll( + conn, + quic_conn, + ev + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_event_type( + ev: *mut quiche_h3_event +) -> quiche_h3_event_type +{ + quiche_h3_event_type( + ev + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_event_for_each_header( + ev: *mut quiche_h3_event, + cb: Option c_int>, + argp: *mut c_void +) -> c_int +{ + quiche_h3_event_for_each_header( + ev, + cb, + argp + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_for_each_setting( + conn: *mut quiche_h3_conn, + cb: Option c_int>, + argp: *mut c_void +) -> c_int +{ + quiche_h3_for_each_setting( + conn, + cb, + argp + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_event_headers_has_body( + ev: *mut quiche_h3_event +) -> bool +{ + quiche_h3_event_headers_has_body( + ev + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_extended_connect_enabled_by_peer( + conn: *mut quiche_h3_conn +) -> bool +{ + quiche_h3_extended_connect_enabled_by_peer( + conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_event_free( + ev: *mut quiche_h3_event +) +{ + quiche_h3_event_free( + ev + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_send_request( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + headers: *mut quiche_h3_header, + headers_len: usize, + fin: bool +) -> i64 +{ + quiche_h3_send_request( + conn, + quic_conn, + headers, + headers_len, + fin + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_send_response( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + headers: *mut quiche_h3_header, + headers_len: usize, + fin: bool +) -> c_int +{ + quiche_h3_send_response( + conn, + quic_conn, + stream_id, + headers, + headers_len, + fin + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_send_response_with_priority( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + headers: *mut quiche_h3_header, + headers_len: usize, + priority: *mut quiche_h3_priority, + fin: bool +) -> c_int +{ + quiche_h3_send_response_with_priority( + conn, + quic_conn, + stream_id, + headers, + headers_len, + priority, + fin + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_send_body( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + body: *mut u8, + body_len: usize, + fin: bool +) -> SSIZE_T +{ + quiche_h3_send_body( + conn, + quic_conn, + stream_id, + body, + body_len, + fin + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_recv_body( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + out: *mut u8, + out_len: usize +) -> SSIZE_T +{ + quiche_h3_recv_body( + conn, + quic_conn, + stream_id, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_parse_extensible_priority( + priority: *mut u8, + priority_len: usize, + parsed: *mut quiche_h3_priority +) -> c_int +{ + quiche_h3_parse_extensible_priority( + priority, + priority_len, + parsed + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_send_priority_update_for_request( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + stream_id: u64, + priority: *mut quiche_h3_priority +) -> c_int +{ + quiche_h3_send_priority_update_for_request( + conn, + quic_conn, + stream_id, + priority + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_take_last_priority_update( + conn: *mut quiche_h3_conn, + prioritized_element_id: u64, + cb: Option c_int>, + argp: *mut c_void +) -> c_int +{ + quiche_h3_take_last_priority_update( + conn, + prioritized_element_id, + cb, + argp + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_dgram_enabled_by_peer( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn +) -> bool +{ + quiche_h3_dgram_enabled_by_peer( + conn, + quic_conn + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_send_dgram( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + flow_id: u64, + data: *mut u8, + data_len: usize +) -> SSIZE_T +{ + quiche_h3_send_dgram( + conn, + quic_conn, + flow_id, + data, + data_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_recv_dgram( + conn: *mut quiche_h3_conn, + quic_conn: *mut quiche_conn, + flow_id: *mut u64, + flow_id_len: *mut usize, + out: *mut u8, + out_len: usize +) -> SSIZE_T +{ + quiche_h3_recv_dgram( + conn, + quic_conn, + flow_id, + flow_id_len, + out, + out_len + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_quiche_quiche_h3_conn_free( + conn: *mut quiche_h3_conn +) +{ + quiche_h3_conn_free( + conn + ) +} + + \ No newline at end of file diff --git a/csbindgen-tests/src/zstd.rs b/csbindgen-tests/src/zstd.rs new file mode 100644 index 0000000..7bd4323 --- /dev/null +++ b/csbindgen-tests/src/zstd.rs @@ -0,0 +1,688 @@ +/* automatically generated by rust-bindgen 0.64.0 */ + +pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1; +pub const _SAL_VERSION: u32 = 20; +pub const __SAL_H_VERSION: u32 = 180000000; +pub const _USE_DECLSPECS_FOR_SAL: u32 = 0; +pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0; +pub const _CRT_PACKING: u32 = 8; +pub const _HAS_EXCEPTIONS: u32 = 1; +pub const _STL_LANG: u32 = 0; +pub const _HAS_CXX17: u32 = 0; +pub const _HAS_CXX20: u32 = 0; +pub const _HAS_CXX23: u32 = 0; +pub const _HAS_NODISCARD: u32 = 0; +pub const CHAR_BIT: u32 = 8; +pub const SCHAR_MIN: i32 = -128; +pub const SCHAR_MAX: u32 = 127; +pub const UCHAR_MAX: u32 = 255; +pub const CHAR_MIN: i32 = -128; +pub const CHAR_MAX: u32 = 127; +pub const MB_LEN_MAX: u32 = 5; +pub const SHRT_MIN: i32 = -32768; +pub const SHRT_MAX: u32 = 32767; +pub const USHRT_MAX: u32 = 65535; +pub const INT_MIN: i32 = -2147483648; +pub const INT_MAX: u32 = 2147483647; +pub const UINT_MAX: u32 = 4294967295; +pub const LONG_MIN: i32 = -2147483648; +pub const LONG_MAX: u32 = 2147483647; +pub const ULONG_MAX: u32 = 4294967295; +pub const ZSTD_VERSION_MAJOR: u32 = 1; +pub const ZSTD_VERSION_MINOR: u32 = 5; +pub const ZSTD_VERSION_RELEASE: u32 = 4; +pub const ZSTD_VERSION_NUMBER: u32 = 10504; +pub const ZSTD_CLEVEL_DEFAULT: u32 = 3; +pub const ZSTD_MAGICNUMBER: u32 = 4247762216; +pub const ZSTD_MAGIC_DICTIONARY: u32 = 3962610743; +pub const ZSTD_MAGIC_SKIPPABLE_START: u32 = 407710288; +pub const ZSTD_MAGIC_SKIPPABLE_MASK: u32 = 4294967280; +pub const ZSTD_BLOCKSIZELOG_MAX: u32 = 17; +pub const ZSTD_BLOCKSIZE_MAX: u32 = 131072; +pub const ZSTD_CONTENTSIZE_UNKNOWN: i32 = -1; +pub const ZSTD_CONTENTSIZE_ERROR: i32 = -2; +pub type va_list = *mut ::std::os::raw::c_char; +extern "C" { + pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...); +} +pub type __vcrt_bool = bool; +pub type wchar_t = ::std::os::raw::c_ushort; +extern "C" { + pub fn __security_init_cookie(); +} +extern "C" { + pub fn __security_check_cookie(_StackCookie: usize); +} +extern "C" { + pub fn __report_gsfailure(_StackCookie: usize) -> !; +} +extern "C" { + pub static mut __security_cookie: usize; +} +pub type max_align_t = f64; +extern "C" { + #[doc = " ZSTD_versionNumber() :\n Return runtime library version, the value is (MAJOR*100*100 + MINOR*100 + RELEASE)."] + pub fn ZSTD_versionNumber() -> ::std::os::raw::c_uint; +} +extern "C" { + #[doc = " ZSTD_versionString() :\n Return runtime library version, like \"1.4.5\". Requires v1.3.0+."] + pub fn ZSTD_versionString() -> *const ::std::os::raw::c_char; +} +extern "C" { + #[doc = " Simple API\n/\n/*! ZSTD_compress() :\n Compresses `src` content as a single zstd compressed frame into already allocated `dst`.\n Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`.\n @return : compressed size written into `dst` (<= `dstCapacity),\n or an error code if it fails (which can be tested using ZSTD_isError())."] + pub fn ZSTD_compress( + dst: *mut ::std::os::raw::c_void, + dstCapacity: usize, + src: *const ::std::os::raw::c_void, + srcSize: usize, + compressionLevel: ::std::os::raw::c_int, + ) -> usize; +} +extern "C" { + #[doc = " ZSTD_decompress() :\n `compressedSize` : must be the _exact_ size of some number of compressed and/or skippable frames.\n `dstCapacity` is an upper bound of originalSize to regenerate.\n If user cannot imply a maximum upper bound, it's better to use streaming mode to decompress data.\n @return : the number of bytes decompressed into `dst` (<= `dstCapacity`),\n or an errorCode if it fails (which can be tested using ZSTD_isError())."] + pub fn ZSTD_decompress( + dst: *mut ::std::os::raw::c_void, + dstCapacity: usize, + src: *const ::std::os::raw::c_void, + compressedSize: usize, + ) -> usize; +} +extern "C" { + pub fn ZSTD_getFrameContentSize( + src: *const ::std::os::raw::c_void, + srcSize: usize, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + #[doc = " ZSTD_getDecompressedSize() :\n NOTE: This function is now obsolete, in favor of ZSTD_getFrameContentSize().\n Both functions work the same way, but ZSTD_getDecompressedSize() blends\n \"empty\", \"unknown\" and \"error\" results to the same return value (0),\n while ZSTD_getFrameContentSize() gives them separate return values.\n @return : decompressed size of `src` frame content _if known and not empty_, 0 otherwise."] + pub fn ZSTD_getDecompressedSize( + src: *const ::std::os::raw::c_void, + srcSize: usize, + ) -> ::std::os::raw::c_ulonglong; +} +extern "C" { + #[doc = " ZSTD_findFrameCompressedSize() : Requires v1.4.0+\n `src` should point to the start of a ZSTD frame or skippable frame.\n `srcSize` must be >= first frame size\n @return : the compressed size of the first frame starting at `src`,\n suitable to pass as `srcSize` to `ZSTD_decompress` or similar,\n or an error code if input is invalid"] + pub fn ZSTD_findFrameCompressedSize( + src: *const ::std::os::raw::c_void, + srcSize: usize, + ) -> usize; +} +extern "C" { + pub fn ZSTD_compressBound(srcSize: usize) -> usize; +} +extern "C" { + pub fn ZSTD_isError(code: usize) -> ::std::os::raw::c_uint; +} +extern "C" { + pub fn ZSTD_getErrorName(code: usize) -> *const ::std::os::raw::c_char; +} +extern "C" { + pub fn ZSTD_minCLevel() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ZSTD_maxCLevel() -> ::std::os::raw::c_int; +} +extern "C" { + pub fn ZSTD_defaultCLevel() -> ::std::os::raw::c_int; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ZSTD_CCtx_s { + _unused: [u8; 0], +} +#[doc = " Explicit context"] +pub type ZSTD_CCtx = ZSTD_CCtx_s; +extern "C" { + pub fn ZSTD_createCCtx() -> *mut ZSTD_CCtx; +} +extern "C" { + pub fn ZSTD_freeCCtx(cctx: *mut ZSTD_CCtx) -> usize; +} +extern "C" { + #[doc = " ZSTD_compressCCtx() :\n Same as ZSTD_compress(), using an explicit ZSTD_CCtx.\n Important : in order to behave similarly to `ZSTD_compress()`,\n this function compresses at requested compression level,\n __ignoring any other parameter__ .\n If any advanced parameter was set using the advanced API,\n they will all be reset. Only `compressionLevel` remains."] + pub fn ZSTD_compressCCtx( + cctx: *mut ZSTD_CCtx, + dst: *mut ::std::os::raw::c_void, + dstCapacity: usize, + src: *const ::std::os::raw::c_void, + srcSize: usize, + compressionLevel: ::std::os::raw::c_int, + ) -> usize; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ZSTD_DCtx_s { + _unused: [u8; 0], +} +pub type ZSTD_DCtx = ZSTD_DCtx_s; +extern "C" { + pub fn ZSTD_createDCtx() -> *mut ZSTD_DCtx; +} +extern "C" { + pub fn ZSTD_freeDCtx(dctx: *mut ZSTD_DCtx) -> usize; +} +extern "C" { + #[doc = " ZSTD_decompressDCtx() :\n Same as ZSTD_decompress(),\n requires an allocated ZSTD_DCtx.\n Compatible with sticky parameters."] + pub fn ZSTD_decompressDCtx( + dctx: *mut ZSTD_DCtx, + dst: *mut ::std::os::raw::c_void, + dstCapacity: usize, + src: *const ::std::os::raw::c_void, + srcSize: usize, + ) -> usize; +} +pub const ZSTD_strategy_ZSTD_fast: ZSTD_strategy = 1; +pub const ZSTD_strategy_ZSTD_dfast: ZSTD_strategy = 2; +pub const ZSTD_strategy_ZSTD_greedy: ZSTD_strategy = 3; +pub const ZSTD_strategy_ZSTD_lazy: ZSTD_strategy = 4; +pub const ZSTD_strategy_ZSTD_lazy2: ZSTD_strategy = 5; +pub const ZSTD_strategy_ZSTD_btlazy2: ZSTD_strategy = 6; +pub const ZSTD_strategy_ZSTD_btopt: ZSTD_strategy = 7; +pub const ZSTD_strategy_ZSTD_btultra: ZSTD_strategy = 8; +pub const ZSTD_strategy_ZSTD_btultra2: ZSTD_strategy = 9; +#[doc = " Advanced compression API (Requires v1.4.0+)"] +pub type ZSTD_strategy = ::std::os::raw::c_int; +pub const ZSTD_cParameter_ZSTD_c_compressionLevel: ZSTD_cParameter = 100; +pub const ZSTD_cParameter_ZSTD_c_windowLog: ZSTD_cParameter = 101; +pub const ZSTD_cParameter_ZSTD_c_hashLog: ZSTD_cParameter = 102; +pub const ZSTD_cParameter_ZSTD_c_chainLog: ZSTD_cParameter = 103; +pub const ZSTD_cParameter_ZSTD_c_searchLog: ZSTD_cParameter = 104; +pub const ZSTD_cParameter_ZSTD_c_minMatch: ZSTD_cParameter = 105; +pub const ZSTD_cParameter_ZSTD_c_targetLength: ZSTD_cParameter = 106; +pub const ZSTD_cParameter_ZSTD_c_strategy: ZSTD_cParameter = 107; +pub const ZSTD_cParameter_ZSTD_c_enableLongDistanceMatching: ZSTD_cParameter = 160; +pub const ZSTD_cParameter_ZSTD_c_ldmHashLog: ZSTD_cParameter = 161; +pub const ZSTD_cParameter_ZSTD_c_ldmMinMatch: ZSTD_cParameter = 162; +pub const ZSTD_cParameter_ZSTD_c_ldmBucketSizeLog: ZSTD_cParameter = 163; +pub const ZSTD_cParameter_ZSTD_c_ldmHashRateLog: ZSTD_cParameter = 164; +pub const ZSTD_cParameter_ZSTD_c_contentSizeFlag: ZSTD_cParameter = 200; +pub const ZSTD_cParameter_ZSTD_c_checksumFlag: ZSTD_cParameter = 201; +pub const ZSTD_cParameter_ZSTD_c_dictIDFlag: ZSTD_cParameter = 202; +pub const ZSTD_cParameter_ZSTD_c_nbWorkers: ZSTD_cParameter = 400; +pub const ZSTD_cParameter_ZSTD_c_jobSize: ZSTD_cParameter = 401; +pub const ZSTD_cParameter_ZSTD_c_overlapLog: ZSTD_cParameter = 402; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam1: ZSTD_cParameter = 500; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam2: ZSTD_cParameter = 10; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam3: ZSTD_cParameter = 1000; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam4: ZSTD_cParameter = 1001; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam5: ZSTD_cParameter = 1002; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam6: ZSTD_cParameter = 1003; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam7: ZSTD_cParameter = 1004; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam8: ZSTD_cParameter = 1005; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam9: ZSTD_cParameter = 1006; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam10: ZSTD_cParameter = 1007; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam11: ZSTD_cParameter = 1008; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam12: ZSTD_cParameter = 1009; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam13: ZSTD_cParameter = 1010; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam14: ZSTD_cParameter = 1011; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam15: ZSTD_cParameter = 1012; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam16: ZSTD_cParameter = 1013; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam17: ZSTD_cParameter = 1014; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam18: ZSTD_cParameter = 1015; +pub const ZSTD_cParameter_ZSTD_c_experimentalParam19: ZSTD_cParameter = 1016; +pub type ZSTD_cParameter = ::std::os::raw::c_int; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ZSTD_bounds { + pub error: usize, + pub lowerBound: ::std::os::raw::c_int, + pub upperBound: ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_ZSTD_bounds() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 16usize, + concat!("Size of: ", stringify!(ZSTD_bounds)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ZSTD_bounds)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ZSTD_bounds), + "::", + stringify!(error) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).lowerBound) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ZSTD_bounds), + "::", + stringify!(lowerBound) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).upperBound) as usize - ptr as usize }, + 12usize, + concat!( + "Offset of field: ", + stringify!(ZSTD_bounds), + "::", + stringify!(upperBound) + ) + ); +} +extern "C" { + #[doc = " ZSTD_cParam_getBounds() :\n All parameters must belong to an interval with lower and upper bounds,\n otherwise they will either trigger an error or be automatically clamped.\n @return : a structure, ZSTD_bounds, which contains\n - an error status field, which must be tested using ZSTD_isError()\n - lower and upper bounds, both inclusive"] + pub fn ZSTD_cParam_getBounds(cParam: ZSTD_cParameter) -> ZSTD_bounds; +} +extern "C" { + #[doc = " ZSTD_CCtx_setParameter() :\n Set one compression parameter, selected by enum ZSTD_cParameter.\n All parameters have valid bounds. Bounds can be queried using ZSTD_cParam_getBounds().\n Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter).\n Setting a parameter is generally only possible during frame initialization (before starting compression).\n Exception : when using multi-threading mode (nbWorkers >= 1),\n the following parameters can be updated _during_ compression (within same frame):\n => compressionLevel, hashLog, chainLog, searchLog, minMatch, targetLength and strategy.\n new parameters will be active for next job only (after a flush()).\n @return : an error code (which can be tested using ZSTD_isError())."] + pub fn ZSTD_CCtx_setParameter( + cctx: *mut ZSTD_CCtx, + param: ZSTD_cParameter, + value: ::std::os::raw::c_int, + ) -> usize; +} +extern "C" { + #[doc = " ZSTD_CCtx_setPledgedSrcSize() :\n Total input data size to be compressed as a single frame.\n Value will be written in frame header, unless if explicitly forbidden using ZSTD_c_contentSizeFlag.\n This value will also be controlled at end of frame, and trigger an error if not respected.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Note 1 : pledgedSrcSize==0 actually means zero, aka an empty frame.\n In order to mean \"unknown content size\", pass constant ZSTD_CONTENTSIZE_UNKNOWN.\n ZSTD_CONTENTSIZE_UNKNOWN is default value for any new frame.\n Note 2 : pledgedSrcSize is only valid once, for the next frame.\n It's discarded at the end of the frame, and replaced by ZSTD_CONTENTSIZE_UNKNOWN.\n Note 3 : Whenever all input data is provided and consumed in a single round,\n for example with ZSTD_compress2(),\n or invoking immediately ZSTD_compressStream2(,,,ZSTD_e_end),\n this value is automatically overridden by srcSize instead."] + pub fn ZSTD_CCtx_setPledgedSrcSize( + cctx: *mut ZSTD_CCtx, + pledgedSrcSize: ::std::os::raw::c_ulonglong, + ) -> usize; +} +pub const ZSTD_ResetDirective_ZSTD_reset_session_only: ZSTD_ResetDirective = 1; +pub const ZSTD_ResetDirective_ZSTD_reset_parameters: ZSTD_ResetDirective = 2; +pub const ZSTD_ResetDirective_ZSTD_reset_session_and_parameters: ZSTD_ResetDirective = 3; +pub type ZSTD_ResetDirective = ::std::os::raw::c_int; +extern "C" { + #[doc = " ZSTD_CCtx_reset() :\n There are 2 different things that can be reset, independently or jointly :\n - The session : will stop compressing current frame, and make CCtx ready to start a new one.\n Useful after an error, or to interrupt any ongoing compression.\n Any internal data not yet flushed is cancelled.\n Compression parameters and dictionary remain unchanged.\n They will be used to compress next frame.\n Resetting session never fails.\n - The parameters : changes all parameters back to \"default\".\n This also removes any reference to any dictionary or external sequence producer.\n Parameters can only be changed between 2 sessions (i.e. no compression is currently ongoing)\n otherwise the reset fails, and function returns an error value (which can be tested using ZSTD_isError())\n - Both : similar to resetting the session, followed by resetting parameters."] + pub fn ZSTD_CCtx_reset(cctx: *mut ZSTD_CCtx, reset: ZSTD_ResetDirective) -> usize; +} +extern "C" { + #[doc = " ZSTD_compress2() :\n Behave the same as ZSTD_compressCCtx(), but compression parameters are set using the advanced API.\n ZSTD_compress2() always starts a new frame.\n Should cctx hold data from a previously unfinished frame, everything about it is forgotten.\n - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*()\n - The function is always blocking, returns when compression is completed.\n Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`.\n @return : compressed size written into `dst` (<= `dstCapacity),\n or an error code if it fails (which can be tested using ZSTD_isError())."] + pub fn ZSTD_compress2( + cctx: *mut ZSTD_CCtx, + dst: *mut ::std::os::raw::c_void, + dstCapacity: usize, + src: *const ::std::os::raw::c_void, + srcSize: usize, + ) -> usize; +} +pub const ZSTD_dParameter_ZSTD_d_windowLogMax: ZSTD_dParameter = 100; +pub const ZSTD_dParameter_ZSTD_d_experimentalParam1: ZSTD_dParameter = 1000; +pub const ZSTD_dParameter_ZSTD_d_experimentalParam2: ZSTD_dParameter = 1001; +pub const ZSTD_dParameter_ZSTD_d_experimentalParam3: ZSTD_dParameter = 1002; +pub const ZSTD_dParameter_ZSTD_d_experimentalParam4: ZSTD_dParameter = 1003; +pub const ZSTD_dParameter_ZSTD_d_experimentalParam5: ZSTD_dParameter = 1004; +#[doc = " Advanced decompression API (Requires v1.4.0+)"] +pub type ZSTD_dParameter = ::std::os::raw::c_int; +extern "C" { + #[doc = " ZSTD_dParam_getBounds() :\n All parameters must belong to an interval with lower and upper bounds,\n otherwise they will either trigger an error or be automatically clamped.\n @return : a structure, ZSTD_bounds, which contains\n - an error status field, which must be tested using ZSTD_isError()\n - both lower and upper bounds, inclusive"] + pub fn ZSTD_dParam_getBounds(dParam: ZSTD_dParameter) -> ZSTD_bounds; +} +extern "C" { + #[doc = " ZSTD_DCtx_setParameter() :\n Set one compression parameter, selected by enum ZSTD_dParameter.\n All parameters have valid bounds. Bounds can be queried using ZSTD_dParam_getBounds().\n Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter).\n Setting a parameter is only possible during frame initialization (before starting decompression).\n @return : 0, or an error code (which can be tested using ZSTD_isError())."] + pub fn ZSTD_DCtx_setParameter( + dctx: *mut ZSTD_DCtx, + param: ZSTD_dParameter, + value: ::std::os::raw::c_int, + ) -> usize; +} +extern "C" { + #[doc = " ZSTD_DCtx_reset() :\n Return a DCtx to clean state.\n Session and parameters can be reset jointly or separately.\n Parameters can only be reset when no active frame is being decompressed.\n @return : 0, or an error code, which can be tested with ZSTD_isError()"] + pub fn ZSTD_DCtx_reset(dctx: *mut ZSTD_DCtx, reset: ZSTD_ResetDirective) -> usize; +} +#[doc = " Streaming"] +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ZSTD_inBuffer_s { + #[doc = "< start of input buffer"] + pub src: *const ::std::os::raw::c_void, + #[doc = "< size of input buffer"] + pub size: usize, + #[doc = "< position where reading stopped. Will be updated. Necessarily 0 <= pos <= size"] + pub pos: usize, +} +#[test] +fn bindgen_test_layout_ZSTD_inBuffer_s() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(ZSTD_inBuffer_s)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ZSTD_inBuffer_s)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).src) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ZSTD_inBuffer_s), + "::", + stringify!(src) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ZSTD_inBuffer_s), + "::", + stringify!(size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pos) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ZSTD_inBuffer_s), + "::", + stringify!(pos) + ) + ); +} +#[doc = " Streaming"] +pub type ZSTD_inBuffer = ZSTD_inBuffer_s; +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ZSTD_outBuffer_s { + #[doc = "< start of output buffer"] + pub dst: *mut ::std::os::raw::c_void, + #[doc = "< size of output buffer"] + pub size: usize, + #[doc = "< position where writing stopped. Will be updated. Necessarily 0 <= pos <= size"] + pub pos: usize, +} +#[test] +fn bindgen_test_layout_ZSTD_outBuffer_s() { + const UNINIT: ::std::mem::MaybeUninit = ::std::mem::MaybeUninit::uninit(); + let ptr = UNINIT.as_ptr(); + assert_eq!( + ::std::mem::size_of::(), + 24usize, + concat!("Size of: ", stringify!(ZSTD_outBuffer_s)) + ); + assert_eq!( + ::std::mem::align_of::(), + 8usize, + concat!("Alignment of ", stringify!(ZSTD_outBuffer_s)) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).dst) as usize - ptr as usize }, + 0usize, + concat!( + "Offset of field: ", + stringify!(ZSTD_outBuffer_s), + "::", + stringify!(dst) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize }, + 8usize, + concat!( + "Offset of field: ", + stringify!(ZSTD_outBuffer_s), + "::", + stringify!(size) + ) + ); + assert_eq!( + unsafe { ::std::ptr::addr_of!((*ptr).pos) as usize - ptr as usize }, + 16usize, + concat!( + "Offset of field: ", + stringify!(ZSTD_outBuffer_s), + "::", + stringify!(pos) + ) + ); +} +pub type ZSTD_outBuffer = ZSTD_outBuffer_s; +pub type ZSTD_CStream = ZSTD_CCtx; +extern "C" { + pub fn ZSTD_createCStream() -> *mut ZSTD_CStream; +} +extern "C" { + pub fn ZSTD_freeCStream(zcs: *mut ZSTD_CStream) -> usize; +} +pub const ZSTD_EndDirective_ZSTD_e_continue: ZSTD_EndDirective = 0; +pub const ZSTD_EndDirective_ZSTD_e_flush: ZSTD_EndDirective = 1; +pub const ZSTD_EndDirective_ZSTD_e_end: ZSTD_EndDirective = 2; +pub type ZSTD_EndDirective = ::std::os::raw::c_int; +extern "C" { + #[doc = " ZSTD_compressStream2() : Requires v1.4.0+\n Behaves about the same as ZSTD_compressStream, with additional control on end directive.\n - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*()\n - Compression parameters cannot be changed once compression is started (save a list of exceptions in multi-threading mode)\n - output->pos must be <= dstCapacity, input->pos must be <= srcSize\n - output->pos and input->pos will be updated. They are guaranteed to remain below their respective limit.\n - endOp must be a valid directive\n - When nbWorkers==0 (default), function is blocking : it completes its job before returning to caller.\n - When nbWorkers>=1, function is non-blocking : it copies a portion of input, distributes jobs to internal worker threads, flush to output whatever is available,\n and then immediately returns, just indicating that there is some data remaining to be flushed.\n The function nonetheless guarantees forward progress : it will return only after it reads or write at least 1+ byte.\n - Exception : if the first call requests a ZSTD_e_end directive and provides enough dstCapacity, the function delegates to ZSTD_compress2() which is always blocking.\n - @return provides a minimum amount of data remaining to be flushed from internal buffers\n or an error code, which can be tested using ZSTD_isError().\n if @return != 0, flush is not fully completed, there is still some data left within internal buffers.\n This is useful for ZSTD_e_flush, since in this case more flushes are necessary to empty all buffers.\n For ZSTD_e_end, @return == 0 when internal buffers are fully flushed and frame is completed.\n - after a ZSTD_e_end directive, if internal buffer is not fully flushed (@return != 0),\n only ZSTD_e_end or ZSTD_e_flush operations are allowed.\n Before starting a new compression job, or changing compression parameters,\n it is required to fully flush internal buffers."] + pub fn ZSTD_compressStream2( + cctx: *mut ZSTD_CCtx, + output: *mut ZSTD_outBuffer, + input: *mut ZSTD_inBuffer, + endOp: ZSTD_EndDirective, + ) -> usize; +} +extern "C" { + pub fn ZSTD_CStreamInSize() -> usize; +} +extern "C" { + pub fn ZSTD_CStreamOutSize() -> usize; +} +extern "C" { + #[doc = " Equivalent to:\n\n ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only);\n ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any)\n ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel);\n\n Note that ZSTD_initCStream() clears any previously set dictionary. Use the new API\n to compress with a dictionary."] + pub fn ZSTD_initCStream( + zcs: *mut ZSTD_CStream, + compressionLevel: ::std::os::raw::c_int, + ) -> usize; +} +extern "C" { + #[doc = " Alternative for ZSTD_compressStream2(zcs, output, input, ZSTD_e_continue).\n NOTE: The return value is different. ZSTD_compressStream() returns a hint for\n the next read size (if non-zero and not an error). ZSTD_compressStream2()\n returns the minimum nb of bytes left to flush (if non-zero and not an error)."] + pub fn ZSTD_compressStream( + zcs: *mut ZSTD_CStream, + output: *mut ZSTD_outBuffer, + input: *mut ZSTD_inBuffer, + ) -> usize; +} +extern "C" { + #[doc = " Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_flush)."] + pub fn ZSTD_flushStream(zcs: *mut ZSTD_CStream, output: *mut ZSTD_outBuffer) -> usize; +} +extern "C" { + #[doc = " Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_end)."] + pub fn ZSTD_endStream(zcs: *mut ZSTD_CStream, output: *mut ZSTD_outBuffer) -> usize; +} +pub type ZSTD_DStream = ZSTD_DCtx; +extern "C" { + pub fn ZSTD_createDStream() -> *mut ZSTD_DStream; +} +extern "C" { + pub fn ZSTD_freeDStream(zds: *mut ZSTD_DStream) -> usize; +} +extern "C" { + #[doc = " ZSTD_initDStream() :\n Initialize/reset DStream state for new decompression operation.\n Call before new decompression operation using same DStream.\n\n Note : This function is redundant with the advanced API and equivalent to:\n ZSTD_DCtx_reset(zds, ZSTD_reset_session_only);\n ZSTD_DCtx_refDDict(zds, NULL);"] + pub fn ZSTD_initDStream(zds: *mut ZSTD_DStream) -> usize; +} +extern "C" { + #[doc = " ZSTD_decompressStream() :\n Streaming decompression function.\n Call repetitively to consume full input updating it as necessary.\n Function will update both input and output `pos` fields exposing current state via these fields:\n - `input.pos < input.size`, some input remaining and caller should provide remaining input\n on the next call.\n - `output.pos < output.size`, decoder finished and flushed all remaining buffers.\n - `output.pos == output.size`, potentially uncflushed data present in the internal buffers,\n call ZSTD_decompressStream() again to flush remaining data to output.\n Note : with no additional input, amount of data flushed <= ZSTD_BLOCKSIZE_MAX.\n\n @return : 0 when a frame is completely decoded and fully flushed,\n or an error code, which can be tested using ZSTD_isError(),\n or any other value > 0, which means there is some decoding or flushing to do to complete current frame."] + pub fn ZSTD_decompressStream( + zds: *mut ZSTD_DStream, + output: *mut ZSTD_outBuffer, + input: *mut ZSTD_inBuffer, + ) -> usize; +} +extern "C" { + pub fn ZSTD_DStreamInSize() -> usize; +} +extern "C" { + pub fn ZSTD_DStreamOutSize() -> usize; +} +extern "C" { + #[doc = " Simple dictionary API\n/\n/*! ZSTD_compress_usingDict() :\n Compression at an explicit compression level using a Dictionary.\n A dictionary can be any arbitrary data segment (also called a prefix),\n or a buffer with specified information (see zdict.h).\n Note : This function loads the dictionary, resulting in significant startup delay.\n It's intended for a dictionary used only once.\n Note 2 : When `dict == NULL || dictSize < 8` no dictionary is used."] + pub fn ZSTD_compress_usingDict( + ctx: *mut ZSTD_CCtx, + dst: *mut ::std::os::raw::c_void, + dstCapacity: usize, + src: *const ::std::os::raw::c_void, + srcSize: usize, + dict: *const ::std::os::raw::c_void, + dictSize: usize, + compressionLevel: ::std::os::raw::c_int, + ) -> usize; +} +extern "C" { + #[doc = " ZSTD_decompress_usingDict() :\n Decompression using a known Dictionary.\n Dictionary must be identical to the one used during compression.\n Note : This function loads the dictionary, resulting in significant startup delay.\n It's intended for a dictionary used only once.\n Note : When `dict == NULL || dictSize < 8` no dictionary is used."] + pub fn ZSTD_decompress_usingDict( + dctx: *mut ZSTD_DCtx, + dst: *mut ::std::os::raw::c_void, + dstCapacity: usize, + src: *const ::std::os::raw::c_void, + srcSize: usize, + dict: *const ::std::os::raw::c_void, + dictSize: usize, + ) -> usize; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ZSTD_CDict_s { + _unused: [u8; 0], +} +#[doc = " Bulk processing dictionary API"] +pub type ZSTD_CDict = ZSTD_CDict_s; +extern "C" { + #[doc = " ZSTD_createCDict() :\n When compressing multiple messages or blocks using the same dictionary,\n it's recommended to digest the dictionary only once, since it's a costly operation.\n ZSTD_createCDict() will create a state from digesting a dictionary.\n The resulting state can be used for future compression operations with very limited startup cost.\n ZSTD_CDict can be created once and shared by multiple threads concurrently, since its usage is read-only.\n @dictBuffer can be released after ZSTD_CDict creation, because its content is copied within CDict.\n Note 1 : Consider experimental function `ZSTD_createCDict_byReference()` if you prefer to not duplicate @dictBuffer content.\n Note 2 : A ZSTD_CDict can be created from an empty @dictBuffer,\n in which case the only thing that it transports is the @compressionLevel.\n This can be useful in a pipeline featuring ZSTD_compress_usingCDict() exclusively,\n expecting a ZSTD_CDict parameter with any data, including those without a known dictionary."] + pub fn ZSTD_createCDict( + dictBuffer: *const ::std::os::raw::c_void, + dictSize: usize, + compressionLevel: ::std::os::raw::c_int, + ) -> *mut ZSTD_CDict; +} +extern "C" { + #[doc = " ZSTD_freeCDict() :\n Function frees memory allocated by ZSTD_createCDict().\n If a NULL pointer is passed, no operation is performed."] + pub fn ZSTD_freeCDict(CDict: *mut ZSTD_CDict) -> usize; +} +extern "C" { + #[doc = " ZSTD_compress_usingCDict() :\n Compression using a digested Dictionary.\n Recommended when same dictionary is used multiple times.\n Note : compression level is _decided at dictionary creation time_,\n and frame parameters are hardcoded (dictID=yes, contentSize=yes, checksum=no)"] + pub fn ZSTD_compress_usingCDict( + cctx: *mut ZSTD_CCtx, + dst: *mut ::std::os::raw::c_void, + dstCapacity: usize, + src: *const ::std::os::raw::c_void, + srcSize: usize, + cdict: *const ZSTD_CDict, + ) -> usize; +} +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct ZSTD_DDict_s { + _unused: [u8; 0], +} +pub type ZSTD_DDict = ZSTD_DDict_s; +extern "C" { + #[doc = " ZSTD_createDDict() :\n Create a digested dictionary, ready to start decompression operation without startup delay.\n dictBuffer can be released after DDict creation, as its content is copied inside DDict."] + pub fn ZSTD_createDDict( + dictBuffer: *const ::std::os::raw::c_void, + dictSize: usize, + ) -> *mut ZSTD_DDict; +} +extern "C" { + #[doc = " ZSTD_freeDDict() :\n Function frees memory allocated with ZSTD_createDDict()\n If a NULL pointer is passed, no operation is performed."] + pub fn ZSTD_freeDDict(ddict: *mut ZSTD_DDict) -> usize; +} +extern "C" { + #[doc = " ZSTD_decompress_usingDDict() :\n Decompression using a digested Dictionary.\n Recommended when same dictionary is used multiple times."] + pub fn ZSTD_decompress_usingDDict( + dctx: *mut ZSTD_DCtx, + dst: *mut ::std::os::raw::c_void, + dstCapacity: usize, + src: *const ::std::os::raw::c_void, + srcSize: usize, + ddict: *const ZSTD_DDict, + ) -> usize; +} +extern "C" { + #[doc = " ZSTD_getDictID_fromDict() : Requires v1.4.0+\n Provides the dictID stored within dictionary.\n if @return == 0, the dictionary is not conformant with Zstandard specification.\n It can still be loaded, but as a content-only dictionary."] + pub fn ZSTD_getDictID_fromDict( + dict: *const ::std::os::raw::c_void, + dictSize: usize, + ) -> ::std::os::raw::c_uint; +} +extern "C" { + #[doc = " ZSTD_getDictID_fromCDict() : Requires v1.5.0+\n Provides the dictID of the dictionary loaded into `cdict`.\n If @return == 0, the dictionary is not conformant to Zstandard specification, or empty.\n Non-conformant dictionaries can still be loaded, but as content-only dictionaries."] + pub fn ZSTD_getDictID_fromCDict(cdict: *const ZSTD_CDict) -> ::std::os::raw::c_uint; +} +extern "C" { + #[doc = " ZSTD_getDictID_fromDDict() : Requires v1.4.0+\n Provides the dictID of the dictionary loaded into `ddict`.\n If @return == 0, the dictionary is not conformant to Zstandard specification, or empty.\n Non-conformant dictionaries can still be loaded, but as content-only dictionaries."] + pub fn ZSTD_getDictID_fromDDict(ddict: *const ZSTD_DDict) -> ::std::os::raw::c_uint; +} +extern "C" { + #[doc = " ZSTD_getDictID_fromFrame() : Requires v1.4.0+\n Provides the dictID required to decompressed the frame stored within `src`.\n If @return == 0, the dictID could not be decoded.\n This could for one of the following reasons :\n - The frame does not require a dictionary to be decoded (most common case).\n - The frame was built with dictID intentionally removed. Whatever dictionary is necessary is a hidden piece of information.\n Note : this use case also happens when using a non-conformant dictionary.\n - `srcSize` is too small, and as a result, the frame header could not be decoded (only possible if `srcSize < ZSTD_FRAMEHEADERSIZE_MAX`).\n - This is not a Zstandard frame.\n When identifying the exact failure cause, it's possible to use ZSTD_getFrameHeader(), which will provide a more precise error code."] + pub fn ZSTD_getDictID_fromFrame( + src: *const ::std::os::raw::c_void, + srcSize: usize, + ) -> ::std::os::raw::c_uint; +} +extern "C" { + #[doc = " ZSTD_CCtx_loadDictionary() : Requires v1.4.0+\n Create an internal CDict from `dict` buffer.\n Decompression will have to use same dictionary.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special: Loading a NULL (or 0-size) dictionary invalidates previous dictionary,\n meaning \"return to no-dictionary mode\".\n Note 1 : Dictionary is sticky, it will be used for all future compressed frames,\n until parameters are reset, a new dictionary is loaded, or the dictionary\n is explicitly invalidated by loading a NULL dictionary.\n Note 2 : Loading a dictionary involves building tables.\n It's also a CPU consuming operation, with non-negligible impact on latency.\n Tables are dependent on compression parameters, and for this reason,\n compression parameters can no longer be changed after loading a dictionary.\n Note 3 :`dict` content will be copied internally.\n Use experimental ZSTD_CCtx_loadDictionary_byReference() to reference content instead.\n In such a case, dictionary buffer must outlive its users.\n Note 4 : Use ZSTD_CCtx_loadDictionary_advanced()\n to precisely select how dictionary content must be interpreted."] + pub fn ZSTD_CCtx_loadDictionary( + cctx: *mut ZSTD_CCtx, + dict: *const ::std::os::raw::c_void, + dictSize: usize, + ) -> usize; +} +extern "C" { + #[doc = " ZSTD_CCtx_refCDict() : Requires v1.4.0+\n Reference a prepared dictionary, to be used for all future compressed frames.\n Note that compression parameters are enforced from within CDict,\n and supersede any compression parameter previously set within CCtx.\n The parameters ignored are labelled as \"superseded-by-cdict\" in the ZSTD_cParameter enum docs.\n The ignored parameters will be used again if the CCtx is returned to no-dictionary mode.\n The dictionary will remain valid for future compressed frames using same CCtx.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special : Referencing a NULL CDict means \"return to no-dictionary mode\".\n Note 1 : Currently, only one dictionary can be managed.\n Referencing a new dictionary effectively \"discards\" any previous one.\n Note 2 : CDict is just referenced, its lifetime must outlive its usage within CCtx."] + pub fn ZSTD_CCtx_refCDict(cctx: *mut ZSTD_CCtx, cdict: *const ZSTD_CDict) -> usize; +} +extern "C" { + #[doc = " ZSTD_CCtx_refPrefix() : Requires v1.4.0+\n Reference a prefix (single-usage dictionary) for next compressed frame.\n A prefix is **only used once**. Tables are discarded at end of frame (ZSTD_e_end).\n Decompression will need same prefix to properly regenerate data.\n Compressing with a prefix is similar in outcome as performing a diff and compressing it,\n but performs much faster, especially during decompression (compression speed is tunable with compression level).\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special: Adding any prefix (including NULL) invalidates any previous prefix or dictionary\n Note 1 : Prefix buffer is referenced. It **must** outlive compression.\n Its content must remain unmodified during compression.\n Note 2 : If the intention is to diff some large src data blob with some prior version of itself,\n ensure that the window size is large enough to contain the entire source.\n See ZSTD_c_windowLog.\n Note 3 : Referencing a prefix involves building tables, which are dependent on compression parameters.\n It's a CPU consuming operation, with non-negligible impact on latency.\n If there is a need to use the same prefix multiple times, consider loadDictionary instead.\n Note 4 : By default, the prefix is interpreted as raw content (ZSTD_dct_rawContent).\n Use experimental ZSTD_CCtx_refPrefix_advanced() to alter dictionary interpretation."] + pub fn ZSTD_CCtx_refPrefix( + cctx: *mut ZSTD_CCtx, + prefix: *const ::std::os::raw::c_void, + prefixSize: usize, + ) -> usize; +} +extern "C" { + #[doc = " ZSTD_DCtx_loadDictionary() : Requires v1.4.0+\n Create an internal DDict from dict buffer, to be used to decompress all future frames.\n The dictionary remains valid for all future frames, until explicitly invalidated, or\n a new dictionary is loaded.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special : Adding a NULL (or 0-size) dictionary invalidates any previous dictionary,\n meaning \"return to no-dictionary mode\".\n Note 1 : Loading a dictionary involves building tables,\n which has a non-negligible impact on CPU usage and latency.\n It's recommended to \"load once, use many times\", to amortize the cost\n Note 2 :`dict` content will be copied internally, so `dict` can be released after loading.\n Use ZSTD_DCtx_loadDictionary_byReference() to reference dictionary content instead.\n Note 3 : Use ZSTD_DCtx_loadDictionary_advanced() to take control of\n how dictionary content is loaded and interpreted."] + pub fn ZSTD_DCtx_loadDictionary( + dctx: *mut ZSTD_DCtx, + dict: *const ::std::os::raw::c_void, + dictSize: usize, + ) -> usize; +} +extern "C" { + #[doc = " ZSTD_DCtx_refDDict() : Requires v1.4.0+\n Reference a prepared dictionary, to be used to decompress next frames.\n The dictionary remains active for decompression of future frames using same DCtx.\n\n If called with ZSTD_d_refMultipleDDicts enabled, repeated calls of this function\n will store the DDict references in a table, and the DDict used for decompression\n will be determined at decompression time, as per the dict ID in the frame.\n The memory for the table is allocated on the first call to refDDict, and can be\n freed with ZSTD_freeDCtx().\n\n If called with ZSTD_d_refMultipleDDicts disabled (the default), only one dictionary\n will be managed, and referencing a dictionary effectively \"discards\" any previous one.\n\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Special: referencing a NULL DDict means \"return to no-dictionary mode\".\n Note 2 : DDict is just referenced, its lifetime must outlive its usage from DCtx."] + pub fn ZSTD_DCtx_refDDict(dctx: *mut ZSTD_DCtx, ddict: *const ZSTD_DDict) -> usize; +} +extern "C" { + #[doc = " ZSTD_DCtx_refPrefix() : Requires v1.4.0+\n Reference a prefix (single-usage dictionary) to decompress next frame.\n This is the reverse operation of ZSTD_CCtx_refPrefix(),\n and must use the same prefix as the one used during compression.\n Prefix is **only used once**. Reference is discarded at end of frame.\n End of frame is reached when ZSTD_decompressStream() returns 0.\n @result : 0, or an error code (which can be tested with ZSTD_isError()).\n Note 1 : Adding any prefix (including NULL) invalidates any previously set prefix or dictionary\n Note 2 : Prefix buffer is referenced. It **must** outlive decompression.\n Prefix buffer must remain unmodified up to the end of frame,\n reached when ZSTD_decompressStream() returns 0.\n Note 3 : By default, the prefix is treated as raw content (ZSTD_dct_rawContent).\n Use ZSTD_CCtx_refPrefix_advanced() to alter dictMode (Experimental section)\n Note 4 : Referencing a raw content prefix has almost no cpu nor memory cost.\n A full dictionary is more costly, as it requires building tables."] + pub fn ZSTD_DCtx_refPrefix( + dctx: *mut ZSTD_DCtx, + prefix: *const ::std::os::raw::c_void, + prefixSize: usize, + ) -> usize; +} +extern "C" { + #[doc = " ZSTD_sizeof_*() : Requires v1.4.0+\n These functions give the _current_ memory usage of selected object.\n Note that object memory usage can evolve (increase or decrease) over time."] + pub fn ZSTD_sizeof_CCtx(cctx: *const ZSTD_CCtx) -> usize; +} +extern "C" { + pub fn ZSTD_sizeof_DCtx(dctx: *const ZSTD_DCtx) -> usize; +} +extern "C" { + pub fn ZSTD_sizeof_CStream(zcs: *const ZSTD_CStream) -> usize; +} +extern "C" { + pub fn ZSTD_sizeof_DStream(zds: *const ZSTD_DStream) -> usize; +} +extern "C" { + pub fn ZSTD_sizeof_CDict(cdict: *const ZSTD_CDict) -> usize; +} +extern "C" { + pub fn ZSTD_sizeof_DDict(ddict: *const ZSTD_DDict) -> usize; +} diff --git a/csbindgen-tests/src/zstd_ffi.rs b/csbindgen-tests/src/zstd_ffi.rs new file mode 100644 index 0000000..744e6ca --- /dev/null +++ b/csbindgen-tests/src/zstd_ffi.rs @@ -0,0 +1,825 @@ +/* automatically generated by csbindgen */ + +#[allow(unused)] +use ::std::os::raw::*; + + + + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_versionNumber( + +) -> c_uint +{ + ZSTD_versionNumber( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_versionString( + +) -> *const c_char +{ + ZSTD_versionString( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_compress( + dst: *mut c_void, + dstCapacity: usize, + src: *const c_void, + srcSize: usize, + compressionLevel: c_int +) -> usize +{ + ZSTD_compress( + dst, + dstCapacity, + src, + srcSize, + compressionLevel + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_decompress( + dst: *mut c_void, + dstCapacity: usize, + src: *const c_void, + compressedSize: usize +) -> usize +{ + ZSTD_decompress( + dst, + dstCapacity, + src, + compressedSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_getFrameContentSize( + src: *const c_void, + srcSize: usize +) -> c_ulonglong +{ + ZSTD_getFrameContentSize( + src, + srcSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_getDecompressedSize( + src: *const c_void, + srcSize: usize +) -> c_ulonglong +{ + ZSTD_getDecompressedSize( + src, + srcSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_findFrameCompressedSize( + src: *const c_void, + srcSize: usize +) -> usize +{ + ZSTD_findFrameCompressedSize( + src, + srcSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_compressBound( + srcSize: usize +) -> usize +{ + ZSTD_compressBound( + srcSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_isError( + code: usize +) -> c_uint +{ + ZSTD_isError( + code + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_getErrorName( + code: usize +) -> *const c_char +{ + ZSTD_getErrorName( + code + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_minCLevel( + +) -> c_int +{ + ZSTD_minCLevel( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_maxCLevel( + +) -> c_int +{ + ZSTD_maxCLevel( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_defaultCLevel( + +) -> c_int +{ + ZSTD_defaultCLevel( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_createCCtx( + +) -> *mut ZSTD_CCtx +{ + ZSTD_createCCtx( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_freeCCtx( + cctx: *mut ZSTD_CCtx +) -> usize +{ + ZSTD_freeCCtx( + cctx + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_compressCCtx( + cctx: *mut ZSTD_CCtx, + dst: *mut c_void, + dstCapacity: usize, + src: *const c_void, + srcSize: usize, + compressionLevel: c_int +) -> usize +{ + ZSTD_compressCCtx( + cctx, + dst, + dstCapacity, + src, + srcSize, + compressionLevel + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_createDCtx( + +) -> *mut ZSTD_DCtx +{ + ZSTD_createDCtx( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_freeDCtx( + dctx: *mut ZSTD_DCtx +) -> usize +{ + ZSTD_freeDCtx( + dctx + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_decompressDCtx( + dctx: *mut ZSTD_DCtx, + dst: *mut c_void, + dstCapacity: usize, + src: *const c_void, + srcSize: usize +) -> usize +{ + ZSTD_decompressDCtx( + dctx, + dst, + dstCapacity, + src, + srcSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_cParam_getBounds( + cParam: ZSTD_cParameter +) -> ZSTD_bounds +{ + ZSTD_cParam_getBounds( + cParam + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_CCtx_setParameter( + cctx: *mut ZSTD_CCtx, + param: ZSTD_cParameter, + value: c_int +) -> usize +{ + ZSTD_CCtx_setParameter( + cctx, + param, + value + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_CCtx_setPledgedSrcSize( + cctx: *mut ZSTD_CCtx, + pledgedSrcSize: c_ulonglong +) -> usize +{ + ZSTD_CCtx_setPledgedSrcSize( + cctx, + pledgedSrcSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_CCtx_reset( + cctx: *mut ZSTD_CCtx, + reset: ZSTD_ResetDirective +) -> usize +{ + ZSTD_CCtx_reset( + cctx, + reset + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_compress2( + cctx: *mut ZSTD_CCtx, + dst: *mut c_void, + dstCapacity: usize, + src: *const c_void, + srcSize: usize +) -> usize +{ + ZSTD_compress2( + cctx, + dst, + dstCapacity, + src, + srcSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_dParam_getBounds( + dParam: ZSTD_dParameter +) -> ZSTD_bounds +{ + ZSTD_dParam_getBounds( + dParam + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_DCtx_setParameter( + dctx: *mut ZSTD_DCtx, + param: ZSTD_dParameter, + value: c_int +) -> usize +{ + ZSTD_DCtx_setParameter( + dctx, + param, + value + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_DCtx_reset( + dctx: *mut ZSTD_DCtx, + reset: ZSTD_ResetDirective +) -> usize +{ + ZSTD_DCtx_reset( + dctx, + reset + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_createCStream( + +) -> *mut ZSTD_CStream +{ + ZSTD_createCStream( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_freeCStream( + zcs: *mut ZSTD_CStream +) -> usize +{ + ZSTD_freeCStream( + zcs + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_compressStream2( + cctx: *mut ZSTD_CCtx, + output: *mut ZSTD_outBuffer, + input: *mut ZSTD_inBuffer, + endOp: ZSTD_EndDirective +) -> usize +{ + ZSTD_compressStream2( + cctx, + output, + input, + endOp + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_CStreamInSize( + +) -> usize +{ + ZSTD_CStreamInSize( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_CStreamOutSize( + +) -> usize +{ + ZSTD_CStreamOutSize( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_initCStream( + zcs: *mut ZSTD_CStream, + compressionLevel: c_int +) -> usize +{ + ZSTD_initCStream( + zcs, + compressionLevel + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_compressStream( + zcs: *mut ZSTD_CStream, + output: *mut ZSTD_outBuffer, + input: *mut ZSTD_inBuffer +) -> usize +{ + ZSTD_compressStream( + zcs, + output, + input + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_flushStream( + zcs: *mut ZSTD_CStream, + output: *mut ZSTD_outBuffer +) -> usize +{ + ZSTD_flushStream( + zcs, + output + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_endStream( + zcs: *mut ZSTD_CStream, + output: *mut ZSTD_outBuffer +) -> usize +{ + ZSTD_endStream( + zcs, + output + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_createDStream( + +) -> *mut ZSTD_DStream +{ + ZSTD_createDStream( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_freeDStream( + zds: *mut ZSTD_DStream +) -> usize +{ + ZSTD_freeDStream( + zds + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_initDStream( + zds: *mut ZSTD_DStream +) -> usize +{ + ZSTD_initDStream( + zds + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_decompressStream( + zds: *mut ZSTD_DStream, + output: *mut ZSTD_outBuffer, + input: *mut ZSTD_inBuffer +) -> usize +{ + ZSTD_decompressStream( + zds, + output, + input + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_DStreamInSize( + +) -> usize +{ + ZSTD_DStreamInSize( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_DStreamOutSize( + +) -> usize +{ + ZSTD_DStreamOutSize( + + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_compress_usingDict( + ctx: *mut ZSTD_CCtx, + dst: *mut c_void, + dstCapacity: usize, + src: *const c_void, + srcSize: usize, + dict: *const c_void, + dictSize: usize, + compressionLevel: c_int +) -> usize +{ + ZSTD_compress_usingDict( + ctx, + dst, + dstCapacity, + src, + srcSize, + dict, + dictSize, + compressionLevel + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_decompress_usingDict( + dctx: *mut ZSTD_DCtx, + dst: *mut c_void, + dstCapacity: usize, + src: *const c_void, + srcSize: usize, + dict: *const c_void, + dictSize: usize +) -> usize +{ + ZSTD_decompress_usingDict( + dctx, + dst, + dstCapacity, + src, + srcSize, + dict, + dictSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_createCDict( + dictBuffer: *const c_void, + dictSize: usize, + compressionLevel: c_int +) -> *mut ZSTD_CDict +{ + ZSTD_createCDict( + dictBuffer, + dictSize, + compressionLevel + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_freeCDict( + CDict: *mut ZSTD_CDict +) -> usize +{ + ZSTD_freeCDict( + CDict + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_compress_usingCDict( + cctx: *mut ZSTD_CCtx, + dst: *mut c_void, + dstCapacity: usize, + src: *const c_void, + srcSize: usize, + cdict: *const ZSTD_CDict +) -> usize +{ + ZSTD_compress_usingCDict( + cctx, + dst, + dstCapacity, + src, + srcSize, + cdict + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_createDDict( + dictBuffer: *const c_void, + dictSize: usize +) -> *mut ZSTD_DDict +{ + ZSTD_createDDict( + dictBuffer, + dictSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_freeDDict( + ddict: *mut ZSTD_DDict +) -> usize +{ + ZSTD_freeDDict( + ddict + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_decompress_usingDDict( + dctx: *mut ZSTD_DCtx, + dst: *mut c_void, + dstCapacity: usize, + src: *const c_void, + srcSize: usize, + ddict: *const ZSTD_DDict +) -> usize +{ + ZSTD_decompress_usingDDict( + dctx, + dst, + dstCapacity, + src, + srcSize, + ddict + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_getDictID_fromDict( + dict: *const c_void, + dictSize: usize +) -> c_uint +{ + ZSTD_getDictID_fromDict( + dict, + dictSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_getDictID_fromCDict( + cdict: *const ZSTD_CDict +) -> c_uint +{ + ZSTD_getDictID_fromCDict( + cdict + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_getDictID_fromDDict( + ddict: *const ZSTD_DDict +) -> c_uint +{ + ZSTD_getDictID_fromDDict( + ddict + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_getDictID_fromFrame( + src: *const c_void, + srcSize: usize +) -> c_uint +{ + ZSTD_getDictID_fromFrame( + src, + srcSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_CCtx_loadDictionary( + cctx: *mut ZSTD_CCtx, + dict: *const c_void, + dictSize: usize +) -> usize +{ + ZSTD_CCtx_loadDictionary( + cctx, + dict, + dictSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_CCtx_refCDict( + cctx: *mut ZSTD_CCtx, + cdict: *const ZSTD_CDict +) -> usize +{ + ZSTD_CCtx_refCDict( + cctx, + cdict + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_CCtx_refPrefix( + cctx: *mut ZSTD_CCtx, + prefix: *const c_void, + prefixSize: usize +) -> usize +{ + ZSTD_CCtx_refPrefix( + cctx, + prefix, + prefixSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_DCtx_loadDictionary( + dctx: *mut ZSTD_DCtx, + dict: *const c_void, + dictSize: usize +) -> usize +{ + ZSTD_DCtx_loadDictionary( + dctx, + dict, + dictSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_DCtx_refDDict( + dctx: *mut ZSTD_DCtx, + ddict: *const ZSTD_DDict +) -> usize +{ + ZSTD_DCtx_refDDict( + dctx, + ddict + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_DCtx_refPrefix( + dctx: *mut ZSTD_DCtx, + prefix: *const c_void, + prefixSize: usize +) -> usize +{ + ZSTD_DCtx_refPrefix( + dctx, + prefix, + prefixSize + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_sizeof_CCtx( + cctx: *const ZSTD_CCtx +) -> usize +{ + ZSTD_sizeof_CCtx( + cctx + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_sizeof_DCtx( + dctx: *const ZSTD_DCtx +) -> usize +{ + ZSTD_sizeof_DCtx( + dctx + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_sizeof_CStream( + zcs: *const ZSTD_CStream +) -> usize +{ + ZSTD_sizeof_CStream( + zcs + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_sizeof_DStream( + zds: *const ZSTD_DStream +) -> usize +{ + ZSTD_sizeof_DStream( + zds + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_sizeof_CDict( + cdict: *const ZSTD_CDict +) -> usize +{ + ZSTD_sizeof_CDict( + cdict + ) +} + +#[no_mangle] +pub unsafe extern "C" fn csbindgen_zstd_ZSTD_sizeof_DDict( + ddict: *const ZSTD_DDict +) -> usize +{ + ZSTD_sizeof_DDict( + ddict + ) +} + + \ No newline at end of file diff --git a/csbindgen/src/alias_map.rs b/csbindgen/src/alias_map.rs new file mode 100644 index 0000000..370b08b --- /dev/null +++ b/csbindgen/src/alias_map.rs @@ -0,0 +1,151 @@ +use std::{cell::RefCell, collections::HashMap, rc::Rc}; + +use crate::type_meta::{RustType, TypeKind}; + +#[derive(Clone, Debug)] +pub struct AliasMap { + nodes: HashMap>>, +} + +impl AliasMap { + pub fn new() -> Self { + Self { + nodes: HashMap::new(), + } + } +} + +#[derive(Clone, Debug)] +struct Node { + pub value: RustType, + pub next: Option>>, +} + +impl Node { + pub fn get_last_value(&self) -> RustType { + match &self.next { + Some(x) => x.borrow().get_last_value(), + None => self.value.clone(), + } + } +} + +impl AliasMap { + pub fn insert(&mut self, name: &String, alias: &RustType) { + match (self.nodes.get(name), self.nodes.get(&alias.type_name)) { + (Some(_), Some(_)) => {} // duplicate is not allowed in system + (Some(left), None) => { + let right_node = Rc::new(RefCell::new(Node { + value: alias.clone(), + next: None, + })); + + left.borrow_mut().next = Some(right_node.clone()); + self.nodes.insert(alias.type_name.to_owned(), right_node); + } + (None, Some(right)) => { + let left_node = Rc::new(RefCell::new(Node { + value: RustType { + type_name: name.to_owned(), + type_kind: TypeKind::Normal, + }, + next: Some(right.clone()), + })); + self.nodes.insert(name.to_owned(), left_node); + } + (None, None) => { + let right_node = Rc::new(RefCell::new(Node { + value: alias.clone(), + next: None, + })); + + let left_node = Rc::new(RefCell::new(Node { + value: RustType { + type_name: name.to_owned(), + type_kind: TypeKind::Normal, + }, + next: Some(right_node.clone()), + })); + + self.nodes.insert(name.to_owned(), left_node); + self.nodes.insert(alias.type_name.to_owned(), right_node); + } + } + } + + #[allow(dead_code)] + pub fn contains(&self, name: &String) -> bool { + self.nodes.contains_key(name) + } + + pub fn get_mapped_value(&self, name: &String) -> Option { + match self.nodes.get(name) { + Some(x) => Some(x.borrow().get_last_value()), + None => None, + } + } +} + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn alias_map_test() { + // SSIZE_T -> LONG_PTR -> c_longlong + // SSIZE_T2 -> LONG_PTR -> c_longlong + + let mut map = AliasMap::new(); + map.insert( + &"SSIZE_T".to_string(), + &RustType { + type_name: "LONG_PTR".to_string(), + type_kind: TypeKind::Normal, + }, + ); + map.insert( + &"LONG_PTR".to_string(), + &RustType { + type_name: "c_longlong".to_string(), + type_kind: TypeKind::Normal, + }, + ); + map.insert( + &"SSIZE_T2".to_string(), + &RustType { + type_name: "LONG_PTR".to_string(), + type_kind: TypeKind::Normal, + }, + ); + + assert!(map.contains(&"LONG_PTR".to_string())); + assert!(map.contains(&"c_longlong".to_string())); + assert!(map.contains(&"SSIZE_T".to_string())); + assert!(map.contains(&"SSIZE_T2".to_string())); + + assert_eq!( + map.get_mapped_value(&"SSIZE_T".to_string()) + .unwrap() + .type_name, + "c_longlong" + ); + assert_eq!( + map.get_mapped_value(&"SSIZE_T2".to_string()) + .unwrap() + .type_name, + "c_longlong" + ); + assert_eq!( + map.get_mapped_value(&"LONG_PTR".to_string()) + .unwrap() + .type_name, + "c_longlong" + ); + assert_eq!( + map.get_mapped_value(&"c_longlong".to_string()) + .unwrap() + .type_name, + "c_longlong" + ); + } +} diff --git a/csbindgen/src/emitter.rs b/csbindgen/src/emitter.rs index 7ea3bb3..1d4525d 100644 --- a/csbindgen/src/emitter.rs +++ b/csbindgen/src/emitter.rs @@ -1,5 +1,4 @@ -use std::collections::HashMap; - +use crate::alias_map::AliasMap; use crate::builder::BindgenOptions; use crate::type_meta::*; use crate::util::*; @@ -77,7 +76,7 @@ use ::std::os::raw::*; pub fn emit_csharp( methods: &Vec, - aliases: &HashMap, + aliases: &AliasMap, structs: &Vec, enums: &Vec, options: &BindgenOptions, diff --git a/csbindgen/src/lib.rs b/csbindgen/src/lib.rs index 855e94c..61e94c9 100644 --- a/csbindgen/src/lib.rs +++ b/csbindgen/src/lib.rs @@ -1,3 +1,4 @@ +mod alias_map; mod builder; mod emitter; mod parser; @@ -45,15 +46,13 @@ pub(crate) fn generate( using_types.insert(p.rust_type.type_name.clone()); } } - for item in &structs { - for item in &item.fields { - using_types.insert(item.rust_type.type_name.clone()); - } - } - let aliases = reduce_type_alias(&aliases, &using_types); - for alias in &aliases { - using_types.insert(alias.1.type_name.clone()); + for item in &structs { + if using_types.contains(&item.struct_name) { + for item in &item.fields { + using_types.insert(item.rust_type.type_name.clone()); + } + } } let structs = reduce_struct(&structs, &using_types); diff --git a/csbindgen/src/parser.rs b/csbindgen/src/parser.rs index b984111..be91319 100644 --- a/csbindgen/src/parser.rs +++ b/csbindgen/src/parser.rs @@ -1,5 +1,5 @@ -use crate::{builder::BindgenOptions, type_meta::*}; -use std::collections::{HashMap, HashSet}; +use crate::{alias_map::AliasMap, builder::BindgenOptions, type_meta::*}; +use std::collections::HashSet; use syn::{ForeignItem, Item, Pat, ReturnType}; enum FnItem { @@ -105,36 +105,37 @@ fn parse_method(item: FnItem, options: &BindgenOptions) -> Option method_name, parameters, return_type, - doc_comment + doc_comment, }); } None } -pub fn collect_type_alias(ast: &syn::File) -> Vec<(String, RustType)> { - let mut result = Vec::new(); +pub fn collect_type_alias(ast: &syn::File) -> AliasMap { + let mut result = AliasMap::new(); for item in ast.items.iter() { if let Item::Type(t) = item { let name = t.ident.to_string(); let alias = parse_type(&t.ty); - result.push((name, alias)); + result.insert(&name, &alias); } else if let Item::Use(t) = item { if let syn::UseTree::Path(t) = &t.tree { if let syn::UseTree::Rename(t) = &*t.tree { let name = t.rename.to_string(); let alias = t.ident.to_string(); - result.push(( - name, - RustType { - type_name: alias.to_string(), + result.insert( + &name, + &RustType { + type_name: alias, type_kind: TypeKind::Normal, }, - )); + ); } } } } + result } @@ -226,27 +227,6 @@ pub fn collect_enum(ast: &syn::File) -> Vec { result } -pub fn reduce_type_alias( - aliases: &Vec<(String, RustType)>, - using_types: &HashSet, -) -> HashMap { - let mut map = HashMap::new(); - for (name, rust_type) in aliases { - if using_types.contains(name) { - map.insert(name.clone(), rust_type.clone()); - } - } - - for (name, rust_type) in aliases { - let pointed = map.get(rust_type.type_name.as_str()); - if let Some(x) = pointed { - map.insert(name.to_string(), x.clone()); - } - } - - map -} - pub fn reduce_struct(structs: &Vec, using_types: &HashSet) -> Vec { let mut result = Vec::new(); for item in structs { diff --git a/csbindgen/src/type_meta.rs b/csbindgen/src/type_meta.rs index 61b3e78..1fa451f 100644 --- a/csbindgen/src/type_meta.rs +++ b/csbindgen/src/type_meta.rs @@ -1,6 +1,4 @@ -use std::collections::HashMap; - -use crate::builder::BindgenOptions; +use crate::{builder::BindgenOptions, alias_map::AliasMap}; #[derive(Clone, Debug)] pub struct Parameter { @@ -177,7 +175,7 @@ impl RustType { pub fn to_csharp_string( &self, options: &BindgenOptions, - alias_map: &HashMap, + alias_map: &AliasMap, ) -> String { fn convert_type_name(type_name: &str, options: &BindgenOptions) -> String { let name = match type_name { @@ -221,9 +219,9 @@ impl RustType { } // resolve alias - let (use_type, use_alias) = match alias_map.get(&self.type_name) { + let (use_type, use_alias) = match alias_map.get_mapped_value(&self.type_name) { Some(x) => (x, true), - None => (self, false), + None => (self.clone(), false), }; let mut sb = String::new(); diff --git a/dotnet-sandbox/bullet3_bindgen.cs b/dotnet-sandbox/bullet3_bindgen.cs new file mode 100644 index 0000000..9c5e028 --- /dev/null +++ b/dotnet-sandbox/bullet3_bindgen.cs @@ -0,0 +1,1773 @@ +// +// This code is generated by csbindgen. +// DON'T CHANGE THIS DIRECTLY. +// +using System; +using System.Runtime.InteropServices; + +namespace CsBindgen +{ + internal static unsafe partial class LibBullet3 + { + const string __DllName = "libbullet3"; + + [DllImport(__DllName, EntryPoint = "b3ConnectSharedMemory", CallingConvention = CallingConvention.Cdecl)] + public static extern b3PhysicsClientHandle__* b3ConnectSharedMemory(int key); + + [DllImport(__DllName, EntryPoint = "b3ConnectSharedMemory2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3PhysicsClientHandle__* b3ConnectSharedMemory2(int key); + + /// think more about naming. Directly execute commands without transport (no shared memory, UDP, socket, grpc etc) + [DllImport(__DllName, EntryPoint = "b3ConnectPhysicsDirect", CallingConvention = CallingConvention.Cdecl)] + public static extern b3PhysicsClientHandle__* b3ConnectPhysicsDirect(); + + /// b3DisconnectSharedMemory will disconnect the client from the server and cleanup memory. + [DllImport(__DllName, EntryPoint = "b3DisconnectSharedMemory", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3DisconnectSharedMemory(b3PhysicsClientHandle__* physClient); + + /// There can only be 1 outstanding command. Check if a command can be send. + [DllImport(__DllName, EntryPoint = "b3CanSubmitCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CanSubmitCommand(b3PhysicsClientHandle__* physClient); + + /// blocking submit command and wait for status + [DllImport(__DllName, EntryPoint = "b3SubmitClientCommandAndWaitStatus", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryStatusHandle__* b3SubmitClientCommandAndWaitStatus(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle); + + /// In general it is better to use b3SubmitClientCommandAndWaitStatus. b3SubmitClientCommand is a non-blocking submitcommand, which requires checking for the status manually, using b3ProcessServerStatus. Also, before sending thenext command, make sure to check if you can send a command using 'b3CanSubmitCommand'. + [DllImport(__DllName, EntryPoint = "b3SubmitClientCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3SubmitClientCommand(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle); + + /// non-blocking check status + [DllImport(__DllName, EntryPoint = "b3ProcessServerStatus", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryStatusHandle__* b3ProcessServerStatus(b3PhysicsClientHandle__* physClient); + + /// Get the physics server return status type. See EnumSharedMemoryServerStatus in SharedMemoryPublic.h for error codes. + [DllImport(__DllName, EntryPoint = "b3GetStatusType", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusType(b3SharedMemoryStatusHandle__* statusHandle); + + /// Plugin system, load and unload a plugin, execute a command + [DllImport(__DllName, EntryPoint = "b3CreateCustomCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreateCustomCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3CustomCommandLoadPlugin", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CustomCommandLoadPlugin(b3SharedMemoryCommandHandle__* commandHandle, byte* pluginPath); + + [DllImport(__DllName, EntryPoint = "b3CustomCommandLoadPluginSetPostFix", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CustomCommandLoadPluginSetPostFix(b3SharedMemoryCommandHandle__* commandHandle, byte* postFix); + + [DllImport(__DllName, EntryPoint = "b3GetStatusPluginUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusPluginUniqueId(b3SharedMemoryStatusHandle__* statusHandle); + + [DllImport(__DllName, EntryPoint = "b3GetStatusPluginCommandResult", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusPluginCommandResult(b3SharedMemoryStatusHandle__* statusHandle); + + [DllImport(__DllName, EntryPoint = "b3GetStatusPluginCommandReturnData", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusPluginCommandReturnData(b3PhysicsClientHandle__* physClient, b3UserDataValue* valueOut); + + [DllImport(__DllName, EntryPoint = "b3CustomCommandUnloadPlugin", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CustomCommandUnloadPlugin(b3SharedMemoryCommandHandle__* commandHandle, int pluginUniqueId); + + [DllImport(__DllName, EntryPoint = "b3CustomCommandExecutePluginCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CustomCommandExecutePluginCommand(b3SharedMemoryCommandHandle__* commandHandle, int pluginUniqueId, byte* textArguments); + + [DllImport(__DllName, EntryPoint = "b3CustomCommandExecuteAddIntArgument", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CustomCommandExecuteAddIntArgument(b3SharedMemoryCommandHandle__* commandHandle, int intVal); + + [DllImport(__DllName, EntryPoint = "b3CustomCommandExecuteAddFloatArgument", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CustomCommandExecuteAddFloatArgument(b3SharedMemoryCommandHandle__* commandHandle, float floatVal); + + [DllImport(__DllName, EntryPoint = "b3GetStatusBodyIndices", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusBodyIndices(b3SharedMemoryStatusHandle__* statusHandle, int* bodyIndicesOut, int bodyIndicesCapacity); + + [DllImport(__DllName, EntryPoint = "b3GetStatusBodyIndex", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusBodyIndex(b3SharedMemoryStatusHandle__* statusHandle); + + [DllImport(__DllName, EntryPoint = "b3GetStatusActualState", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusActualState(b3SharedMemoryStatusHandle__* statusHandle, int* bodyUniqueId, int* numDegreeOfFreedomQ, int* numDegreeOfFreedomU, double** rootLocalInertialFrame, double** actualStateQ, double** actualStateQdot, double** jointReactionForces); + + [DllImport(__DllName, EntryPoint = "b3GetStatusActualState2", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusActualState2(b3SharedMemoryStatusHandle__* statusHandle, int* bodyUniqueId, int* numLinks, int* numDegreeOfFreedomQ, int* numDegreeOfFreedomU, double** rootLocalInertialFrame, double** actualStateQ, double** actualStateQdot, double** jointReactionForces, double** linkLocalInertialFrames, double** jointMotorForces, double** linkStates, double** linkWorldVelocities); + + [DllImport(__DllName, EntryPoint = "b3RequestCollisionInfoCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3RequestCollisionInfoCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3GetStatusAABB", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusAABB(b3SharedMemoryStatusHandle__* statusHandle, int linkIndex, double* aabbMin, double* aabbMax); + + /// If you re-connected to an existing server, or server changed otherwise, sync the body info and user constraints etc. + [DllImport(__DllName, EntryPoint = "b3InitSyncBodyInfoCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitSyncBodyInfoCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitRequestBodyInfoCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRequestBodyInfoCommand(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3InitRemoveBodyCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRemoveBodyCommand(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + /// return the total number of bodies in the simulation + [DllImport(__DllName, EntryPoint = "b3GetNumBodies", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetNumBodies(b3PhysicsClientHandle__* physClient); + + /// return the body unique id, given the index in range [0 , b3GetNumBodies() ) + [DllImport(__DllName, EntryPoint = "b3GetBodyUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetBodyUniqueId(b3PhysicsClientHandle__* physClient, int serialIndex); + + /// given a body unique id, return the body information. See b3BodyInfo in SharedMemoryPublic.h + [DllImport(__DllName, EntryPoint = "b3GetBodyInfo", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetBodyInfo(b3PhysicsClientHandle__* physClient, int bodyUniqueId, b3BodyInfo* info); + + /// give a unique body index (after loading the body) return the number of joints. + [DllImport(__DllName, EntryPoint = "b3GetNumJoints", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetNumJoints(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + /// give a unique body index (after loading the body) return the number of degrees of freedom (DoF). + [DllImport(__DllName, EntryPoint = "b3GetNumDofs", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetNumDofs(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + /// compute the number of degrees of freedom for this body.Return -1 for unsupported spherical joint, -2 for unsupported planar joint. + [DllImport(__DllName, EntryPoint = "b3ComputeDofCount", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ComputeDofCount(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + /// given a body and joint index, return the joint information. See b3JointInfo in SharedMemoryPublic.h + [DllImport(__DllName, EntryPoint = "b3GetJointInfo", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetJointInfo(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int jointIndex, b3JointInfo* info); + + /// user data handling + [DllImport(__DllName, EntryPoint = "b3InitSyncUserDataCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitSyncUserDataCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3AddBodyToSyncUserDataRequest", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3AddBodyToSyncUserDataRequest(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3InitAddUserDataCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitAddUserDataCommand(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int linkIndex, int visualShapeIndex, byte* key, int valueType, int valueLength, void* valueData); + + [DllImport(__DllName, EntryPoint = "b3InitRemoveUserDataCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRemoveUserDataCommand(b3PhysicsClientHandle__* physClient, int userDataId); + + [DllImport(__DllName, EntryPoint = "b3GetUserData", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetUserData(b3PhysicsClientHandle__* physClient, int userDataId, b3UserDataValue* valueOut); + + [DllImport(__DllName, EntryPoint = "b3GetUserDataId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetUserDataId(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int linkIndex, int visualShapeIndex, byte* key); + + [DllImport(__DllName, EntryPoint = "b3GetUserDataIdFromStatus", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetUserDataIdFromStatus(b3SharedMemoryStatusHandle__* statusHandle); + + [DllImport(__DllName, EntryPoint = "b3GetNumUserData", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetNumUserData(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3GetUserDataInfo", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetUserDataInfo(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int userDataIndex, byte** keyOut, int* userDataIdOut, int* linkIndexOut, int* visualShapeIndexOut); + + [DllImport(__DllName, EntryPoint = "b3GetDynamicsInfoCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3GetDynamicsInfoCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int linkIndex); + + [DllImport(__DllName, EntryPoint = "b3GetDynamicsInfoCommandInit2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3GetDynamicsInfoCommandInit2(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex); + + /// given a body unique id and link index, return the dynamics information. See b3DynamicsInfo in SharedMemoryPublic.h + [DllImport(__DllName, EntryPoint = "b3GetDynamicsInfo", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetDynamicsInfo(b3SharedMemoryStatusHandle__* statusHandle, b3DynamicsInfo* info); + + [DllImport(__DllName, EntryPoint = "b3InitChangeDynamicsInfo", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitChangeDynamicsInfo(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitChangeDynamicsInfo2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitChangeDynamicsInfo2(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetMass", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetMass(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double mass); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetLocalInertiaDiagonal", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetLocalInertiaDiagonal(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double* localInertiaDiagonal); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetAnisotropicFriction", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetAnisotropicFriction(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double* anisotropicFriction); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetJointLimit", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetJointLimit(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double jointLowerLimit, double jointUpperLimit); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetJointLimitForce", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetJointLimitForce(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double jointLimitForce); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetDynamicType", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetDynamicType(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, int dynamicType); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetSleepThreshold", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetSleepThreshold(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, double sleepThreshold); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetLateralFriction", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetLateralFriction(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double lateralFriction); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetSpinningFriction", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetSpinningFriction(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double friction); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetRollingFriction", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetRollingFriction(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double friction); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetRestitution", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetRestitution(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double restitution); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetLinearDamping", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetLinearDamping(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, double linearDamping); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetAngularDamping", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetAngularDamping(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, double angularDamping); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetJointDamping", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetJointDamping(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double jointDamping); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetContactStiffnessAndDamping", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetContactStiffnessAndDamping(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double contactStiffness, double contactDamping); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetFrictionAnchor", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetFrictionAnchor(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, int frictionAnchor); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetCcdSweptSphereRadius", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetCcdSweptSphereRadius(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double ccdSweptSphereRadius); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetContactProcessingThreshold", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetContactProcessingThreshold(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkIndex, double contactProcessingThreshold); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetActivationState", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetActivationState(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int activationState); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetMaxJointVelocity", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetMaxJointVelocity(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, double maxJointVelocity); + + [DllImport(__DllName, EntryPoint = "b3ChangeDynamicsInfoSetCollisionMargin", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3ChangeDynamicsInfoSetCollisionMargin(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, double collisionMargin); + + [DllImport(__DllName, EntryPoint = "b3InitCreateUserConstraintCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitCreateUserConstraintCommand(b3PhysicsClientHandle__* physClient, int parentBodyUniqueId, int parentJointIndex, int childBodyUniqueId, int childJointIndex, b3JointInfo* info); + + [DllImport(__DllName, EntryPoint = "b3InitCreateUserConstraintCommand2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitCreateUserConstraintCommand2(b3SharedMemoryCommandHandle__* commandHandle, int parentBodyUniqueId, int parentJointIndex, int childBodyUniqueId, int childJointIndex, b3JointInfo* info); + + /// return a unique id for the user constraint, after successful creation, or -1 for an invalid constraint id + [DllImport(__DllName, EntryPoint = "b3GetStatusUserConstraintUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusUserConstraintUniqueId(b3SharedMemoryStatusHandle__* statusHandle); + + /// change parameters of an existing user constraint + [DllImport(__DllName, EntryPoint = "b3InitChangeUserConstraintCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitChangeUserConstraintCommand(b3PhysicsClientHandle__* physClient, int userConstraintUniqueId); + + [DllImport(__DllName, EntryPoint = "b3InitChangeUserConstraintSetPivotInB", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3InitChangeUserConstraintSetPivotInB(b3SharedMemoryCommandHandle__* commandHandle, double* jointChildPivot); + + [DllImport(__DllName, EntryPoint = "b3InitChangeUserConstraintSetFrameInB", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3InitChangeUserConstraintSetFrameInB(b3SharedMemoryCommandHandle__* commandHandle, double* jointChildFrameOrn); + + [DllImport(__DllName, EntryPoint = "b3InitChangeUserConstraintSetMaxForce", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3InitChangeUserConstraintSetMaxForce(b3SharedMemoryCommandHandle__* commandHandle, double maxAppliedForce); + + [DllImport(__DllName, EntryPoint = "b3InitChangeUserConstraintSetGearRatio", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3InitChangeUserConstraintSetGearRatio(b3SharedMemoryCommandHandle__* commandHandle, double gearRatio); + + [DllImport(__DllName, EntryPoint = "b3InitChangeUserConstraintSetGearAuxLink", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3InitChangeUserConstraintSetGearAuxLink(b3SharedMemoryCommandHandle__* commandHandle, int gearAuxLink); + + [DllImport(__DllName, EntryPoint = "b3InitChangeUserConstraintSetRelativePositionTarget", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3InitChangeUserConstraintSetRelativePositionTarget(b3SharedMemoryCommandHandle__* commandHandle, double relativePositionTarget); + + [DllImport(__DllName, EntryPoint = "b3InitChangeUserConstraintSetERP", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3InitChangeUserConstraintSetERP(b3SharedMemoryCommandHandle__* commandHandle, double erp); + + [DllImport(__DllName, EntryPoint = "b3InitRemoveUserConstraintCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRemoveUserConstraintCommand(b3PhysicsClientHandle__* physClient, int userConstraintUniqueId); + + [DllImport(__DllName, EntryPoint = "b3GetNumUserConstraints", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetNumUserConstraints(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitGetUserConstraintStateCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitGetUserConstraintStateCommand(b3PhysicsClientHandle__* physClient, int constraintUniqueId); + + [DllImport(__DllName, EntryPoint = "b3GetStatusUserConstraintState", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusUserConstraintState(b3SharedMemoryStatusHandle__* statusHandle, b3UserConstraintState* constraintState); + + [DllImport(__DllName, EntryPoint = "b3GetUserConstraintInfo", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetUserConstraintInfo(b3PhysicsClientHandle__* physClient, int constraintUniqueId, b3UserConstraint* info); + + /// return the user constraint id, given the index in range [0 , b3GetNumUserConstraints() ) + [DllImport(__DllName, EntryPoint = "b3GetUserConstraintId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetUserConstraintId(b3PhysicsClientHandle__* physClient, int serialIndex); + + /// Request physics debug lines for debug visualization. The flags in debugMode are the same as used in BulletSee btIDebugDraw::DebugDrawModes in Bullet/src/LinearMath/btIDebugDraw.h + [DllImport(__DllName, EntryPoint = "b3InitRequestDebugLinesCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRequestDebugLinesCommand(b3PhysicsClientHandle__* physClient, int debugMode); + + /// Get the pointers to the physics debug line information, after b3InitRequestDebugLinesCommand returnsstatus CMD_DEBUG_LINES_COMPLETED + [DllImport(__DllName, EntryPoint = "b3GetDebugLines", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetDebugLines(b3PhysicsClientHandle__* physClient, b3DebugLines* lines); + + /// configure the 3D OpenGL debug visualizer (enable/disable GUI widgets, shadows, position camera etc) + [DllImport(__DllName, EntryPoint = "b3InitConfigureOpenGLVisualizer", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitConfigureOpenGLVisualizer(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitConfigureOpenGLVisualizer2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitConfigureOpenGLVisualizer2(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3ConfigureOpenGLVisualizerSetVisualizationFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ConfigureOpenGLVisualizerSetVisualizationFlags(b3SharedMemoryCommandHandle__* commandHandle, int flag, int enabled); + + [DllImport(__DllName, EntryPoint = "b3ConfigureOpenGLVisualizerSetLightPosition", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ConfigureOpenGLVisualizerSetLightPosition(b3SharedMemoryCommandHandle__* commandHandle, float* lightPosition); + + [DllImport(__DllName, EntryPoint = "b3ConfigureOpenGLVisualizerSetShadowMapResolution", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ConfigureOpenGLVisualizerSetShadowMapResolution(b3SharedMemoryCommandHandle__* commandHandle, int shadowMapResolution); + + [DllImport(__DllName, EntryPoint = "b3ConfigureOpenGLVisualizerSetShadowMapIntensity", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ConfigureOpenGLVisualizerSetShadowMapIntensity(b3SharedMemoryCommandHandle__* commandHandle, double shadowMapIntensity); + + [DllImport(__DllName, EntryPoint = "b3ConfigureOpenGLVisualizerSetLightRgbBackground", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ConfigureOpenGLVisualizerSetLightRgbBackground(b3SharedMemoryCommandHandle__* commandHandle, float* rgbBackground); + + [DllImport(__DllName, EntryPoint = "b3ConfigureOpenGLVisualizerSetShadowMapWorldSize", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ConfigureOpenGLVisualizerSetShadowMapWorldSize(b3SharedMemoryCommandHandle__* commandHandle, int shadowMapWorldSize); + + [DllImport(__DllName, EntryPoint = "b3ConfigureOpenGLVisualizerSetRemoteSyncTransformInterval", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ConfigureOpenGLVisualizerSetRemoteSyncTransformInterval(b3SharedMemoryCommandHandle__* commandHandle, double remoteSyncTransformInterval); + + [DllImport(__DllName, EntryPoint = "b3ConfigureOpenGLVisualizerSetViewMatrix", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ConfigureOpenGLVisualizerSetViewMatrix(b3SharedMemoryCommandHandle__* commandHandle, float cameraDistance, float cameraPitch, float cameraYaw, float* cameraTargetPosition); + + [DllImport(__DllName, EntryPoint = "b3InitRequestOpenGLVisualizerCameraCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRequestOpenGLVisualizerCameraCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3GetStatusOpenGLVisualizerCamera", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusOpenGLVisualizerCamera(b3SharedMemoryStatusHandle__* statusHandle, b3OpenGLVisualizerCameraInfo* camera); + + /// Add/remove user-specific debug lines and debug text messages + [DllImport(__DllName, EntryPoint = "b3InitUserDebugDrawAddLine3D", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUserDebugDrawAddLine3D(b3PhysicsClientHandle__* physClient, double* fromXYZ, double* toXYZ, double* colorRGB, double lineWidth, double lifeTime); + + [DllImport(__DllName, EntryPoint = "b3InitUserDebugDrawAddPoints3D", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUserDebugDrawAddPoints3D(b3PhysicsClientHandle__* physClient, double* positionsXYZ, double* colorsRGB, double pointSize, double lifeTime, int pointNum); + + [DllImport(__DllName, EntryPoint = "b3InitUserDebugDrawAddText3D", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUserDebugDrawAddText3D(b3PhysicsClientHandle__* physClient, byte* txt, double* positionXYZ, double* colorRGB, double textSize, double lifeTime); + + [DllImport(__DllName, EntryPoint = "b3UserDebugTextSetOptionFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3UserDebugTextSetOptionFlags(b3SharedMemoryCommandHandle__* commandHandle, int optionFlags); + + [DllImport(__DllName, EntryPoint = "b3UserDebugTextSetOrientation", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3UserDebugTextSetOrientation(b3SharedMemoryCommandHandle__* commandHandle, double* orientation); + + [DllImport(__DllName, EntryPoint = "b3UserDebugItemSetReplaceItemUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3UserDebugItemSetReplaceItemUniqueId(b3SharedMemoryCommandHandle__* commandHandle, int replaceItem); + + [DllImport(__DllName, EntryPoint = "b3UserDebugItemSetParentObject", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3UserDebugItemSetParentObject(b3SharedMemoryCommandHandle__* commandHandle, int objectUniqueId, int linkIndex); + + [DllImport(__DllName, EntryPoint = "b3InitUserDebugAddParameter", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUserDebugAddParameter(b3PhysicsClientHandle__* physClient, byte* txt, double rangeMin, double rangeMax, double startValue); + + [DllImport(__DllName, EntryPoint = "b3InitUserDebugReadParameter", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUserDebugReadParameter(b3PhysicsClientHandle__* physClient, int debugItemUniqueId); + + [DllImport(__DllName, EntryPoint = "b3GetStatusDebugParameterValue", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusDebugParameterValue(b3SharedMemoryStatusHandle__* statusHandle, double* paramValue); + + [DllImport(__DllName, EntryPoint = "b3InitUserDebugDrawRemove", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUserDebugDrawRemove(b3PhysicsClientHandle__* physClient, int debugItemUniqueId); + + [DllImport(__DllName, EntryPoint = "b3InitUserDebugDrawRemoveAll", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUserDebugDrawRemoveAll(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitUserRemoveAllParameters", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUserRemoveAllParameters(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitDebugDrawingCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitDebugDrawingCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3SetDebugObjectColor", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetDebugObjectColor(b3SharedMemoryCommandHandle__* commandHandle, int objectUniqueId, int linkIndex, double* objectColorRGB); + + [DllImport(__DllName, EntryPoint = "b3RemoveDebugObjectColor", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RemoveDebugObjectColor(b3SharedMemoryCommandHandle__* commandHandle, int objectUniqueId, int linkIndex); + + /// All debug items unique Ids are positive: a negative unique Id means failure. + [DllImport(__DllName, EntryPoint = "b3GetDebugItemUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetDebugItemUniqueId(b3SharedMemoryStatusHandle__* statusHandle); + + /// request an image from a simulated camera, using a software renderer. + [DllImport(__DllName, EntryPoint = "b3InitRequestCameraImage", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRequestCameraImage(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitRequestCameraImage2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRequestCameraImage2(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetCameraMatrices", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetCameraMatrices(b3SharedMemoryCommandHandle__* commandHandle, float* viewMatrix, float* projectionMatrix); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetPixelResolution", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetPixelResolution(b3SharedMemoryCommandHandle__* commandHandle, int width, int height); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetLightDirection", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetLightDirection(b3SharedMemoryCommandHandle__* commandHandle, float* lightDirection); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetLightColor", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetLightColor(b3SharedMemoryCommandHandle__* commandHandle, float* lightColor); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetLightDistance", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetLightDistance(b3SharedMemoryCommandHandle__* commandHandle, float lightDistance); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetLightAmbientCoeff", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetLightAmbientCoeff(b3SharedMemoryCommandHandle__* commandHandle, float lightAmbientCoeff); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetLightDiffuseCoeff", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetLightDiffuseCoeff(b3SharedMemoryCommandHandle__* commandHandle, float lightDiffuseCoeff); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetLightSpecularCoeff", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetLightSpecularCoeff(b3SharedMemoryCommandHandle__* commandHandle, float lightSpecularCoeff); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetShadow", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetShadow(b3SharedMemoryCommandHandle__* commandHandle, int hasShadow); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSelectRenderer", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSelectRenderer(b3SharedMemoryCommandHandle__* commandHandle, int renderer); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + [DllImport(__DllName, EntryPoint = "b3GetCameraImageData", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetCameraImageData(b3PhysicsClientHandle__* physClient, b3CameraImageData* imageData); + + /// set projective texture camera matrices. + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetProjectiveTextureMatrices", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetProjectiveTextureMatrices(b3SharedMemoryCommandHandle__* commandHandle, float* viewMatrix, float* projectionMatrix); + + /// compute a view matrix, helper function for b3RequestCameraImageSetCameraMatrices + [DllImport(__DllName, EntryPoint = "b3ComputeViewMatrixFromPositions", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ComputeViewMatrixFromPositions(float* cameraPosition, float* cameraTargetPosition, float* cameraUp, float* viewMatrix); + + [DllImport(__DllName, EntryPoint = "b3ComputeViewMatrixFromYawPitchRoll", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ComputeViewMatrixFromYawPitchRoll(float* cameraTargetPosition, float distance, float yaw, float pitch, float roll, int upAxis, float* viewMatrix); + + [DllImport(__DllName, EntryPoint = "b3ComputePositionFromViewMatrix", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ComputePositionFromViewMatrix(float* viewMatrix, float* cameraPosition, float* cameraTargetPosition, float* cameraUp); + + /// compute a projection matrix, helper function for b3RequestCameraImageSetCameraMatrices + [DllImport(__DllName, EntryPoint = "b3ComputeProjectionMatrix", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ComputeProjectionMatrix(float left, float right, float bottom, float top, float nearVal, float farVal, float* projectionMatrix); + + [DllImport(__DllName, EntryPoint = "b3ComputeProjectionMatrixFOV", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ComputeProjectionMatrixFOV(float fov, float aspect, float nearVal, float farVal, float* projectionMatrix); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetViewMatrix", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetViewMatrix(b3SharedMemoryCommandHandle__* commandHandle, float* cameraPosition, float* cameraTargetPosition, float* cameraUp); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetViewMatrix2", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetViewMatrix2(b3SharedMemoryCommandHandle__* commandHandle, float* cameraTargetPosition, float distance, float yaw, float pitch, float roll, int upAxis); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetProjectionMatrix", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetProjectionMatrix(b3SharedMemoryCommandHandle__* commandHandle, float left, float right, float bottom, float top, float nearVal, float farVal); + + [DllImport(__DllName, EntryPoint = "b3RequestCameraImageSetFOVProjectionMatrix", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RequestCameraImageSetFOVProjectionMatrix(b3SharedMemoryCommandHandle__* commandHandle, float fov, float aspect, float nearVal, float farVal); + + /// request an contact point information + [DllImport(__DllName, EntryPoint = "b3InitRequestContactPointInformation", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRequestContactPointInformation(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3SetContactFilterBodyA", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetContactFilterBodyA(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueIdA); + + [DllImport(__DllName, EntryPoint = "b3SetContactFilterBodyB", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetContactFilterBodyB(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueIdB); + + [DllImport(__DllName, EntryPoint = "b3SetContactFilterLinkA", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetContactFilterLinkA(b3SharedMemoryCommandHandle__* commandHandle, int linkIndexA); + + [DllImport(__DllName, EntryPoint = "b3SetContactFilterLinkB", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetContactFilterLinkB(b3SharedMemoryCommandHandle__* commandHandle, int linkIndexB); + + [DllImport(__DllName, EntryPoint = "b3GetContactPointInformation", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetContactPointInformation(b3PhysicsClientHandle__* physClient, b3ContactInformation* contactPointData); + + /// compute the closest points between two bodies + [DllImport(__DllName, EntryPoint = "b3InitClosestDistanceQuery", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitClosestDistanceQuery(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterBodyA", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterBodyA(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueIdA); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterLinkA", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterLinkA(b3SharedMemoryCommandHandle__* commandHandle, int linkIndexA); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterBodyB", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterBodyB(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueIdB); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterLinkB", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterLinkB(b3SharedMemoryCommandHandle__* commandHandle, int linkIndexB); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceThreshold", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceThreshold(b3SharedMemoryCommandHandle__* commandHandle, double distance); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterCollisionShapeA", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterCollisionShapeA(b3SharedMemoryCommandHandle__* commandHandle, int collisionShapeA); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterCollisionShapeB", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterCollisionShapeB(b3SharedMemoryCommandHandle__* commandHandle, int collisionShapeB); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterCollisionShapePositionA", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterCollisionShapePositionA(b3SharedMemoryCommandHandle__* commandHandle, double* collisionShapePositionA); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterCollisionShapePositionB", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterCollisionShapePositionB(b3SharedMemoryCommandHandle__* commandHandle, double* collisionShapePositionB); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterCollisionShapeOrientationA", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterCollisionShapeOrientationA(b3SharedMemoryCommandHandle__* commandHandle, double* collisionShapeOrientationA); + + [DllImport(__DllName, EntryPoint = "b3SetClosestDistanceFilterCollisionShapeOrientationB", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetClosestDistanceFilterCollisionShapeOrientationB(b3SharedMemoryCommandHandle__* commandHandle, double* collisionShapeOrientationB); + + [DllImport(__DllName, EntryPoint = "b3GetClosestPointInformation", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetClosestPointInformation(b3PhysicsClientHandle__* physClient, b3ContactInformation* contactPointInfo); + + /// get all the bodies that touch a given axis aligned bounding box specified in world space (min and max coordinates) + [DllImport(__DllName, EntryPoint = "b3InitAABBOverlapQuery", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitAABBOverlapQuery(b3PhysicsClientHandle__* physClient, double* aabbMin, double* aabbMax); + + [DllImport(__DllName, EntryPoint = "b3GetAABBOverlapResults", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetAABBOverlapResults(b3PhysicsClientHandle__* physClient, b3AABBOverlapData* data); + + [DllImport(__DllName, EntryPoint = "b3InitRequestVisualShapeInformation", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRequestVisualShapeInformation(b3PhysicsClientHandle__* physClient, int bodyUniqueIdA); + + [DllImport(__DllName, EntryPoint = "b3GetVisualShapeInformation", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetVisualShapeInformation(b3PhysicsClientHandle__* physClient, b3VisualShapeInformation* visualShapeInfo); + + [DllImport(__DllName, EntryPoint = "b3InitRequestCollisionShapeInformation", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRequestCollisionShapeInformation(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int linkIndex); + + [DllImport(__DllName, EntryPoint = "b3GetCollisionShapeInformation", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetCollisionShapeInformation(b3PhysicsClientHandle__* physClient, b3CollisionShapeInformation* collisionShapeInfo); + + [DllImport(__DllName, EntryPoint = "b3InitLoadTexture", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitLoadTexture(b3PhysicsClientHandle__* physClient, byte* filename); + + [DllImport(__DllName, EntryPoint = "b3GetStatusTextureUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusTextureUniqueId(b3SharedMemoryStatusHandle__* statusHandle); + + [DllImport(__DllName, EntryPoint = "b3CreateChangeTextureCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreateChangeTextureCommandInit(b3PhysicsClientHandle__* physClient, int textureUniqueId, int width, int height, byte* rgbPixels); + + [DllImport(__DllName, EntryPoint = "b3InitUpdateVisualShape", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUpdateVisualShape(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int jointIndex, int shapeIndex, int textureUniqueId); + + [DllImport(__DllName, EntryPoint = "b3InitUpdateVisualShape2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitUpdateVisualShape2(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int jointIndex, int shapeIndex); + + [DllImport(__DllName, EntryPoint = "b3UpdateVisualShapeTexture", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3UpdateVisualShapeTexture(b3SharedMemoryCommandHandle__* commandHandle, int textureUniqueId); + + [DllImport(__DllName, EntryPoint = "b3UpdateVisualShapeRGBAColor", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3UpdateVisualShapeRGBAColor(b3SharedMemoryCommandHandle__* commandHandle, double* rgbaColor); + + [DllImport(__DllName, EntryPoint = "b3UpdateVisualShapeFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3UpdateVisualShapeFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + [DllImport(__DllName, EntryPoint = "b3UpdateVisualShapeSpecularColor", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3UpdateVisualShapeSpecularColor(b3SharedMemoryCommandHandle__* commandHandle, double* specularColor); + + [DllImport(__DllName, EntryPoint = "b3InitPhysicsParamCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitPhysicsParamCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitPhysicsParamCommand2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitPhysicsParamCommand2(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetGravity", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetGravity(b3SharedMemoryCommandHandle__* commandHandle, double gravx, double gravy, double gravz); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetTimeStep", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetTimeStep(b3SharedMemoryCommandHandle__* commandHandle, double timeStep); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetDefaultContactERP", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetDefaultContactERP(b3SharedMemoryCommandHandle__* commandHandle, double defaultContactERP); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetDefaultNonContactERP", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetDefaultNonContactERP(b3SharedMemoryCommandHandle__* commandHandle, double defaultNonContactERP); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetDefaultFrictionERP", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetDefaultFrictionERP(b3SharedMemoryCommandHandle__* commandHandle, double frictionERP); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetDefaultGlobalCFM", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetDefaultGlobalCFM(b3SharedMemoryCommandHandle__* commandHandle, double defaultGlobalCFM); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetDefaultFrictionCFM", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetDefaultFrictionCFM(b3SharedMemoryCommandHandle__* commandHandle, double frictionCFM); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetNumSubSteps", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetNumSubSteps(b3SharedMemoryCommandHandle__* commandHandle, int numSubSteps); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetRealTimeSimulation", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetRealTimeSimulation(b3SharedMemoryCommandHandle__* commandHandle, int enableRealTimeSimulation); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetNumSolverIterations", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetNumSolverIterations(b3SharedMemoryCommandHandle__* commandHandle, int numSolverIterations); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetNumNonContactInnerIterations", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetNumNonContactInnerIterations(b3SharedMemoryCommandHandle__* commandHandle, int numMotorIterations); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetWarmStartingFactor", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetWarmStartingFactor(b3SharedMemoryCommandHandle__* commandHandle, double warmStartingFactor); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetArticulatedWarmStartingFactor", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetArticulatedWarmStartingFactor(b3SharedMemoryCommandHandle__* commandHandle, double warmStartingFactor); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetCollisionFilterMode", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetCollisionFilterMode(b3SharedMemoryCommandHandle__* commandHandle, int filterMode); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetUseSplitImpulse", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetUseSplitImpulse(b3SharedMemoryCommandHandle__* commandHandle, int useSplitImpulse); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetSplitImpulsePenetrationThreshold", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetSplitImpulsePenetrationThreshold(b3SharedMemoryCommandHandle__* commandHandle, double splitImpulsePenetrationThreshold); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetContactBreakingThreshold", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetContactBreakingThreshold(b3SharedMemoryCommandHandle__* commandHandle, double contactBreakingThreshold); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetMaxNumCommandsPer1ms", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetMaxNumCommandsPer1ms(b3SharedMemoryCommandHandle__* commandHandle, int maxNumCmdPer1ms); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetEnableFileCaching", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetEnableFileCaching(b3SharedMemoryCommandHandle__* commandHandle, int enableFileCaching); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetRestitutionVelocityThreshold", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetRestitutionVelocityThreshold(b3SharedMemoryCommandHandle__* commandHandle, double restitutionVelocityThreshold); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetEnableConeFriction", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetEnableConeFriction(b3SharedMemoryCommandHandle__* commandHandle, int enableConeFriction); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParameterSetDeterministicOverlappingPairs", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParameterSetDeterministicOverlappingPairs(b3SharedMemoryCommandHandle__* commandHandle, int deterministicOverlappingPairs); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParameterSetAllowedCcdPenetration", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParameterSetAllowedCcdPenetration(b3SharedMemoryCommandHandle__* commandHandle, double allowedCcdPenetration); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParameterSetJointFeedbackMode", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParameterSetJointFeedbackMode(b3SharedMemoryCommandHandle__* commandHandle, int jointFeedbackMode); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetSolverResidualThreshold", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetSolverResidualThreshold(b3SharedMemoryCommandHandle__* commandHandle, double solverResidualThreshold); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetContactSlop", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetContactSlop(b3SharedMemoryCommandHandle__* commandHandle, double contactSlop); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParameterSetEnableSAT", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParameterSetEnableSAT(b3SharedMemoryCommandHandle__* commandHandle, int enableSAT); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParameterSetConstraintSolverType", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParameterSetConstraintSolverType(b3SharedMemoryCommandHandle__* commandHandle, int constraintSolverType); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParameterSetMinimumSolverIslandSize", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParameterSetMinimumSolverIslandSize(b3SharedMemoryCommandHandle__* commandHandle, int minimumSolverIslandSize); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetSolverAnalytics", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetSolverAnalytics(b3SharedMemoryCommandHandle__* commandHandle, int reportSolverAnalytics); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParameterSetSparseSdfVoxelSize", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParameterSetSparseSdfVoxelSize(b3SharedMemoryCommandHandle__* commandHandle, double sparseSdfVoxelSize); + + [DllImport(__DllName, EntryPoint = "b3InitRequestPhysicsParamCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRequestPhysicsParamCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3GetStatusPhysicsSimulationParameters", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusPhysicsSimulationParameters(b3SharedMemoryStatusHandle__* statusHandle, b3PhysicsSimulationParameters* @params); + + [DllImport(__DllName, EntryPoint = "b3PhysicsParamSetInternalSimFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3PhysicsParamSetInternalSimFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + [DllImport(__DllName, EntryPoint = "b3InitStepSimulationCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitStepSimulationCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitStepSimulationCommand2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitStepSimulationCommand2(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3InitPerformCollisionDetectionCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitPerformCollisionDetectionCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3GetStatusForwardDynamicsAnalyticsData", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusForwardDynamicsAnalyticsData(b3SharedMemoryStatusHandle__* statusHandle, b3ForwardDynamicsAnalyticsArgs* analyticsData); + + [DllImport(__DllName, EntryPoint = "b3InitResetSimulationCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitResetSimulationCommand(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitResetSimulationCommand2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitResetSimulationCommand2(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3InitResetSimulationSetFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3InitResetSimulationSetFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + /// Load a robot from a URDF file. Status type will CMD_URDF_LOADING_COMPLETED.Access the robot from the unique body index, through b3GetStatusBodyIndex(statusHandle); + [DllImport(__DllName, EntryPoint = "b3LoadUrdfCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3LoadUrdfCommandInit(b3PhysicsClientHandle__* physClient, byte* urdfFileName); + + [DllImport(__DllName, EntryPoint = "b3LoadUrdfCommandInit2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3LoadUrdfCommandInit2(b3SharedMemoryCommandHandle__* commandHandle, byte* urdfFileName); + + [DllImport(__DllName, EntryPoint = "b3LoadUrdfCommandSetStartPosition", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadUrdfCommandSetStartPosition(b3SharedMemoryCommandHandle__* commandHandle, double startPosX, double startPosY, double startPosZ); + + [DllImport(__DllName, EntryPoint = "b3LoadUrdfCommandSetStartOrientation", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadUrdfCommandSetStartOrientation(b3SharedMemoryCommandHandle__* commandHandle, double startOrnX, double startOrnY, double startOrnZ, double startOrnW); + + [DllImport(__DllName, EntryPoint = "b3LoadUrdfCommandSetUseMultiBody", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadUrdfCommandSetUseMultiBody(b3SharedMemoryCommandHandle__* commandHandle, int useMultiBody); + + [DllImport(__DllName, EntryPoint = "b3LoadUrdfCommandSetUseFixedBase", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadUrdfCommandSetUseFixedBase(b3SharedMemoryCommandHandle__* commandHandle, int useFixedBase); + + [DllImport(__DllName, EntryPoint = "b3LoadUrdfCommandSetFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadUrdfCommandSetFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + [DllImport(__DllName, EntryPoint = "b3LoadUrdfCommandSetGlobalScaling", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadUrdfCommandSetGlobalScaling(b3SharedMemoryCommandHandle__* commandHandle, double globalScaling); + + [DllImport(__DllName, EntryPoint = "b3SaveStateCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3SaveStateCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3InitRemoveStateCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRemoveStateCommand(b3PhysicsClientHandle__* physClient, int stateId); + + [DllImport(__DllName, EntryPoint = "b3GetStatusGetStateId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusGetStateId(b3SharedMemoryStatusHandle__* statusHandle); + + [DllImport(__DllName, EntryPoint = "b3LoadStateCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3LoadStateCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3LoadStateSetStateId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadStateSetStateId(b3SharedMemoryCommandHandle__* commandHandle, int stateId); + + [DllImport(__DllName, EntryPoint = "b3LoadStateSetFileName", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadStateSetFileName(b3SharedMemoryCommandHandle__* commandHandle, byte* fileName); + + [DllImport(__DllName, EntryPoint = "b3LoadBulletCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3LoadBulletCommandInit(b3PhysicsClientHandle__* physClient, byte* fileName); + + [DllImport(__DllName, EntryPoint = "b3SaveBulletCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3SaveBulletCommandInit(b3PhysicsClientHandle__* physClient, byte* fileName); + + [DllImport(__DllName, EntryPoint = "b3LoadMJCFCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3LoadMJCFCommandInit(b3PhysicsClientHandle__* physClient, byte* fileName); + + [DllImport(__DllName, EntryPoint = "b3LoadMJCFCommandInit2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3LoadMJCFCommandInit2(b3SharedMemoryCommandHandle__* commandHandle, byte* fileName); + + [DllImport(__DllName, EntryPoint = "b3LoadMJCFCommandSetFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3LoadMJCFCommandSetFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + [DllImport(__DllName, EntryPoint = "b3LoadMJCFCommandSetUseMultiBody", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3LoadMJCFCommandSetUseMultiBody(b3SharedMemoryCommandHandle__* commandHandle, int useMultiBody); + + /// compute the forces to achieve an acceleration, given a state q and qdot using inverse dynamics + [DllImport(__DllName, EntryPoint = "b3CalculateInverseDynamicsCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CalculateInverseDynamicsCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId, double* jointPositionsQ, double* jointVelocitiesQdot, double* jointAccelerations); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseDynamicsCommandInit2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CalculateInverseDynamicsCommandInit2(b3PhysicsClientHandle__* physClient, int bodyUniqueId, double* jointPositionsQ, int dofCountQ, double* jointVelocitiesQdot, double* jointAccelerations, int dofCountQdot); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseDynamicsSetFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseDynamicsSetFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + [DllImport(__DllName, EntryPoint = "b3GetStatusInverseDynamicsJointForces", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusInverseDynamicsJointForces(b3SharedMemoryStatusHandle__* statusHandle, int* bodyUniqueId, int* dofCount, double* jointForces); + + [DllImport(__DllName, EntryPoint = "b3CalculateJacobianCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CalculateJacobianCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int linkIndex, double* localPosition, double* jointPositionsQ, double* jointVelocitiesQdot, double* jointAccelerations); + + [DllImport(__DllName, EntryPoint = "b3GetStatusJacobian", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusJacobian(b3SharedMemoryStatusHandle__* statusHandle, int* dofCount, double* linearJacobian, double* angularJacobian); + + [DllImport(__DllName, EntryPoint = "b3CalculateMassMatrixCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CalculateMassMatrixCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId, double* jointPositionsQ, int dofCountQ); + + [DllImport(__DllName, EntryPoint = "b3CalculateMassMatrixSetFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateMassMatrixSetFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + /// the mass matrix is stored in column-major layout of size dofCount*dofCount + [DllImport(__DllName, EntryPoint = "b3GetStatusMassMatrix", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusMassMatrix(b3PhysicsClientHandle__* physClient, b3SharedMemoryStatusHandle__* statusHandle, int* dofCount, double* massMatrix); + + /// compute the joint positions to move the end effector to a desired target using inverse kinematics + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CalculateInverseKinematicsCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsAddTargetPurePosition", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsAddTargetPurePosition(b3SharedMemoryCommandHandle__* commandHandle, int endEffectorLinkIndex, double* targetPosition); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsAddTargetsPurePosition", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsAddTargetsPurePosition(b3SharedMemoryCommandHandle__* commandHandle, int numEndEffectorLinkIndices, int* endEffectorIndices, double* targetPositions); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsAddTargetPositionWithOrientation", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsAddTargetPositionWithOrientation(b3SharedMemoryCommandHandle__* commandHandle, int endEffectorLinkIndex, double* targetPosition, double* targetOrientation); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsPosWithNullSpaceVel", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsPosWithNullSpaceVel(b3SharedMemoryCommandHandle__* commandHandle, int numDof, int endEffectorLinkIndex, double* targetPosition, double* lowerLimit, double* upperLimit, double* jointRange, double* restPose); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsPosOrnWithNullSpaceVel", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsPosOrnWithNullSpaceVel(b3SharedMemoryCommandHandle__* commandHandle, int numDof, int endEffectorLinkIndex, double* targetPosition, double* targetOrientation, double* lowerLimit, double* upperLimit, double* jointRange, double* restPose); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsSetJointDamping", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsSetJointDamping(b3SharedMemoryCommandHandle__* commandHandle, int numDof, double* jointDampingCoeff); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsSelectSolver", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsSelectSolver(b3SharedMemoryCommandHandle__* commandHandle, int solver); + + [DllImport(__DllName, EntryPoint = "b3GetStatusInverseKinematicsJointPositions", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusInverseKinematicsJointPositions(b3SharedMemoryStatusHandle__* statusHandle, int* bodyUniqueId, int* dofCount, double* jointPositions); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsSetCurrentPositions", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsSetCurrentPositions(b3SharedMemoryCommandHandle__* commandHandle, int numDof, double* currentJointPositions); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsSetMaxNumIterations", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsSetMaxNumIterations(b3SharedMemoryCommandHandle__* commandHandle, int maxNumIterations); + + [DllImport(__DllName, EntryPoint = "b3CalculateInverseKinematicsSetResidualThreshold", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateInverseKinematicsSetResidualThreshold(b3SharedMemoryCommandHandle__* commandHandle, double residualThreshold); + + [DllImport(__DllName, EntryPoint = "b3CollisionFilterCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CollisionFilterCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3SetCollisionFilterPair", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetCollisionFilterPair(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueIdA, int bodyUniqueIdB, int linkIndexA, int linkIndexB, int enableCollision); + + [DllImport(__DllName, EntryPoint = "b3SetCollisionFilterGroupMask", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetCollisionFilterGroupMask(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueIdA, int linkIndexA, int collisionFilterGroup, int collisionFilterMask); + + [DllImport(__DllName, EntryPoint = "b3LoadSdfCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3LoadSdfCommandInit(b3PhysicsClientHandle__* physClient, byte* sdfFileName); + + [DllImport(__DllName, EntryPoint = "b3LoadSdfCommandInit2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3LoadSdfCommandInit2(b3SharedMemoryCommandHandle__* commandHandle, byte* sdfFileName); + + [DllImport(__DllName, EntryPoint = "b3LoadSdfCommandSetUseMultiBody", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSdfCommandSetUseMultiBody(b3SharedMemoryCommandHandle__* commandHandle, int useMultiBody); + + [DllImport(__DllName, EntryPoint = "b3LoadSdfCommandSetUseGlobalScaling", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSdfCommandSetUseGlobalScaling(b3SharedMemoryCommandHandle__* commandHandle, double globalScaling); + + [DllImport(__DllName, EntryPoint = "b3SaveWorldCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3SaveWorldCommandInit(b3PhysicsClientHandle__* physClient, byte* sdfFileName); + + /// The b3JointControlCommandInit method is obsolete, use b3JointControlCommandInit2 instead + [DllImport(__DllName, EntryPoint = "b3JointControlCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3JointControlCommandInit(b3PhysicsClientHandle__* physClient, int controlMode); + + /// Set joint motor control variables such as desired position/angle, desired velocity,applied joint forces, dependent on the control mode (CONTROL_MODE_VELOCITY or CONTROL_MODE_TORQUE) + [DllImport(__DllName, EntryPoint = "b3JointControlCommandInit2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3JointControlCommandInit2(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int controlMode); + + [DllImport(__DllName, EntryPoint = "b3JointControlCommandInit2Internal", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3JointControlCommandInit2Internal(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int controlMode); + + /// Only use when controlMode is CONTROL_MODE_POSITION_VELOCITY_PD + [DllImport(__DllName, EntryPoint = "b3JointControlSetDesiredPosition", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetDesiredPosition(b3SharedMemoryCommandHandle__* commandHandle, int qIndex, double value); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetDesiredPositionMultiDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetDesiredPositionMultiDof(b3SharedMemoryCommandHandle__* commandHandle, int qIndex, double* position, int dofCount); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetKp", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetKp(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double value); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetKpMultiDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetKpMultiDof(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double* kps, int dofCount); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetKd", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetKd(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double value); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetKdMultiDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetKdMultiDof(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double* kds, int dofCount); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetMaximumVelocity", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetMaximumVelocity(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double maximumVelocity); + + /// Only use when controlMode is CONTROL_MODE_VELOCITY + [DllImport(__DllName, EntryPoint = "b3JointControlSetDesiredVelocity", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetDesiredVelocity(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double value); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetDesiredVelocityMultiDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetDesiredVelocityMultiDof(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double* velocity, int dofCount); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetDesiredVelocityMultiDof2", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetDesiredVelocityMultiDof2(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double* velocity, int dofCount); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetMaximumForce", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetMaximumForce(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double value); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetDesiredForceTorqueMultiDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetDesiredForceTorqueMultiDof(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double* forces, int dofCount); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetDamping", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetDamping(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double value); + + [DllImport(__DllName, EntryPoint = "b3JointControlSetDampingMultiDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetDampingMultiDof(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double* damping, int dofCount); + + /// Only use if when controlMode is CONTROL_MODE_TORQUE, + [DllImport(__DllName, EntryPoint = "b3JointControlSetDesiredForceTorque", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3JointControlSetDesiredForceTorque(b3SharedMemoryCommandHandle__* commandHandle, int dofIndex, double value); + + /// the creation of collision shapes and rigid bodies etc is likely going to change,but good to have a b3CreateBoxShapeCommandInit for now + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreateCollisionShapeCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddSphere", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddSphere(b3SharedMemoryCommandHandle__* commandHandle, double radius); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddBox", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddBox(b3SharedMemoryCommandHandle__* commandHandle, double* halfExtents); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddCapsule", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddCapsule(b3SharedMemoryCommandHandle__* commandHandle, double radius, double height); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddCylinder", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddCylinder(b3SharedMemoryCommandHandle__* commandHandle, double radius, double height); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddHeightfield", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddHeightfield(b3SharedMemoryCommandHandle__* commandHandle, byte* fileName, double* meshScale, double textureScaling); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddHeightfield2", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddHeightfield2(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, double* meshScale, double textureScaling, float* heightfieldData, int numHeightfieldRows, int numHeightfieldColumns, int replaceHeightfieldIndex); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddPlane", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddPlane(b3SharedMemoryCommandHandle__* commandHandle, double* planeNormal, double planeConstant); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddMesh", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddMesh(b3SharedMemoryCommandHandle__* commandHandle, byte* fileName, double* meshScale); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddConvexMesh", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddConvexMesh(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, double* meshScale, double* vertices, int numVertices); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeAddConcaveMesh", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateCollisionShapeAddConcaveMesh(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, double* meshScale, double* vertices, int numVertices, int* indices, int numIndices); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionSetFlag", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CreateCollisionSetFlag(b3SharedMemoryCommandHandle__* commandHandle, int shapeIndex, int flags); + + [DllImport(__DllName, EntryPoint = "b3CreateCollisionShapeSetChildTransform", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CreateCollisionShapeSetChildTransform(b3SharedMemoryCommandHandle__* commandHandle, int shapeIndex, double* childPosition, double* childOrientation); + + [DllImport(__DllName, EntryPoint = "b3GetStatusCollisionShapeUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusCollisionShapeUniqueId(b3SharedMemoryStatusHandle__* statusHandle); + + [DllImport(__DllName, EntryPoint = "b3InitRemoveCollisionShapeCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitRemoveCollisionShapeCommand(b3PhysicsClientHandle__* physClient, int collisionShapeId); + + [DllImport(__DllName, EntryPoint = "b3GetMeshDataCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3GetMeshDataCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int linkIndex); + + [DllImport(__DllName, EntryPoint = "b3GetTetraMeshDataCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3GetTetraMeshDataCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3GetMeshDataSimulationMesh", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetMeshDataSimulationMesh(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3MeshDataSimulationMeshVelocity", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3MeshDataSimulationMeshVelocity(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3GetMeshDataSetCollisionShapeIndex", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetMeshDataSetCollisionShapeIndex(b3SharedMemoryCommandHandle__* commandHandle, int shapeIndex); + + [DllImport(__DllName, EntryPoint = "b3GetMeshDataSetFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetMeshDataSetFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + [DllImport(__DllName, EntryPoint = "b3GetTetraMeshDataSetFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetTetraMeshDataSetFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + [DllImport(__DllName, EntryPoint = "b3GetMeshData", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetMeshData(b3PhysicsClientHandle__* physClient, b3MeshData* meshData); + + [DllImport(__DllName, EntryPoint = "b3GetTetraMeshData", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetTetraMeshData(b3PhysicsClientHandle__* physClient, b3TetraMeshData* meshData); + + [DllImport(__DllName, EntryPoint = "b3ResetMeshDataCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3ResetMeshDataCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId, int num_vertices, double* vertices); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreateVisualShapeCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeAddSphere", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateVisualShapeAddSphere(b3SharedMemoryCommandHandle__* commandHandle, double radius); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeAddBox", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateVisualShapeAddBox(b3SharedMemoryCommandHandle__* commandHandle, double* halfExtents); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeAddCapsule", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateVisualShapeAddCapsule(b3SharedMemoryCommandHandle__* commandHandle, double radius, double height); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeAddCylinder", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateVisualShapeAddCylinder(b3SharedMemoryCommandHandle__* commandHandle, double radius, double height); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeAddPlane", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateVisualShapeAddPlane(b3SharedMemoryCommandHandle__* commandHandle, double* planeNormal, double planeConstant); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeAddMesh", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateVisualShapeAddMesh(b3SharedMemoryCommandHandle__* commandHandle, byte* fileName, double* meshScale); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeAddMesh2", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateVisualShapeAddMesh2(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, double* meshScale, double* vertices, int numVertices, int* indices, int numIndices, double* normals, int numNormals, double* uvs, int numUVs); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualSetFlag", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CreateVisualSetFlag(b3SharedMemoryCommandHandle__* commandHandle, int shapeIndex, int flags); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeSetChildTransform", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CreateVisualShapeSetChildTransform(b3SharedMemoryCommandHandle__* commandHandle, int shapeIndex, double* childPosition, double* childOrientation); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeSetSpecularColor", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CreateVisualShapeSetSpecularColor(b3SharedMemoryCommandHandle__* commandHandle, int shapeIndex, double* specularColor); + + [DllImport(__DllName, EntryPoint = "b3CreateVisualShapeSetRGBAColor", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CreateVisualShapeSetRGBAColor(b3SharedMemoryCommandHandle__* commandHandle, int shapeIndex, double* rgbaColor); + + [DllImport(__DllName, EntryPoint = "b3GetStatusVisualShapeUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusVisualShapeUniqueId(b3SharedMemoryStatusHandle__* statusHandle); + + [DllImport(__DllName, EntryPoint = "b3CreateMultiBodyCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreateMultiBodyCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3CreateMultiBodyBase", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateMultiBodyBase(b3SharedMemoryCommandHandle__* commandHandle, double mass, int collisionShapeUnique, int visualShapeUniqueId, double* basePosition, double* baseOrientation, double* baseInertialFramePosition, double* baseInertialFrameOrientation); + + [DllImport(__DllName, EntryPoint = "b3CreateMultiBodyLink", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateMultiBodyLink(b3SharedMemoryCommandHandle__* commandHandle, double linkMass, double linkCollisionShapeIndex, double linkVisualShapeIndex, double* linkPosition, double* linkOrientation, double* linkInertialFramePosition, double* linkInertialFrameOrientation, int linkParentIndex, int linkJointType, double* linkJointAxis); + + [DllImport(__DllName, EntryPoint = "b3CreateMultiBodySetBatchPositions", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateMultiBodySetBatchPositions(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, double* batchPositions, int numBatchObjects); + + [DllImport(__DllName, EntryPoint = "b3CreateMultiBodyUseMaximalCoordinates", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CreateMultiBodyUseMaximalCoordinates(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3CreateMultiBodySetFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CreateMultiBodySetFlags(b3SharedMemoryCommandHandle__* commandHandle, int flags); + + /// create a box of size (1,1,1) at world origin (0,0,0) at orientation quat (0,0,0,1)after that, you can optionally adjust the initial position, orientation and size + [DllImport(__DllName, EntryPoint = "b3CreateBoxShapeCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreateBoxShapeCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3CreateBoxCommandSetStartPosition", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateBoxCommandSetStartPosition(b3SharedMemoryCommandHandle__* commandHandle, double startPosX, double startPosY, double startPosZ); + + [DllImport(__DllName, EntryPoint = "b3CreateBoxCommandSetStartOrientation", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateBoxCommandSetStartOrientation(b3SharedMemoryCommandHandle__* commandHandle, double startOrnX, double startOrnY, double startOrnZ, double startOrnW); + + [DllImport(__DllName, EntryPoint = "b3CreateBoxCommandSetHalfExtents", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateBoxCommandSetHalfExtents(b3SharedMemoryCommandHandle__* commandHandle, double halfExtentsX, double halfExtentsY, double halfExtentsZ); + + [DllImport(__DllName, EntryPoint = "b3CreateBoxCommandSetMass", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateBoxCommandSetMass(b3SharedMemoryCommandHandle__* commandHandle, double mass); + + [DllImport(__DllName, EntryPoint = "b3CreateBoxCommandSetCollisionShapeType", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateBoxCommandSetCollisionShapeType(b3SharedMemoryCommandHandle__* commandHandle, int collisionShapeType); + + [DllImport(__DllName, EntryPoint = "b3CreateBoxCommandSetColorRGBA", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateBoxCommandSetColorRGBA(b3SharedMemoryCommandHandle__* commandHandle, double red, double green, double blue, double alpha); + + /// b3CreatePoseCommandInit will initialize (teleport) the pose of a body/robot. You can individually set the base position,base orientation and joint angles. This will set all velocities of base and joints to zero.This is not a robot control command using actuators/joint motors, but manual repositioning the robot. + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreatePoseCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandInit2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreatePoseCommandInit2(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetBasePosition", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetBasePosition(b3SharedMemoryCommandHandle__* commandHandle, double startPosX, double startPosY, double startPosZ); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetBaseOrientation", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetBaseOrientation(b3SharedMemoryCommandHandle__* commandHandle, double startOrnX, double startOrnY, double startOrnZ, double startOrnW); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetBaseLinearVelocity", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetBaseLinearVelocity(b3SharedMemoryCommandHandle__* commandHandle, double* linVel); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetBaseAngularVelocity", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetBaseAngularVelocity(b3SharedMemoryCommandHandle__* commandHandle, double* angVel); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetBaseScaling", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetBaseScaling(b3SharedMemoryCommandHandle__* commandHandle, double* scaling); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetJointPositions", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetJointPositions(b3SharedMemoryCommandHandle__* commandHandle, int numJointPositions, double* jointPositions); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetJointPosition", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetJointPosition(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, int jointIndex, double jointPosition); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetJointPositionMultiDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetJointPositionMultiDof(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, int jointIndex, double* jointPosition, int posSize); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetQ", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetQ(b3SharedMemoryCommandHandle__* commandHandle, int numJointPositions, double* q, int* hasQ); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetQdots", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetQdots(b3SharedMemoryCommandHandle__* commandHandle, int numJointVelocities, double* qDots, int* hasQdots); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetJointVelocities", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetJointVelocities(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, int numJointVelocities, double* jointVelocities); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetJointVelocity", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetJointVelocity(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, int jointIndex, double jointVelocity); + + [DllImport(__DllName, EntryPoint = "b3CreatePoseCommandSetJointVelocityMultiDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreatePoseCommandSetJointVelocityMultiDof(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, int jointIndex, double* jointVelocity, int velSize); + + /// We are currently not reading the sensor information from the URDF file, and programmatically assign sensors.This is rather inconsistent, to mix programmatical creation with loading from file. + [DllImport(__DllName, EntryPoint = "b3CreateSensorCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreateSensorCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3CreateSensorEnable6DofJointForceTorqueSensor", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateSensorEnable6DofJointForceTorqueSensor(b3SharedMemoryCommandHandle__* commandHandle, int jointIndex, int enable); + + /// b3CreateSensorEnableIMUForLink is not implemented yet.For now, if the IMU is located in the root link, use the root world transform to mimic an IMU. + [DllImport(__DllName, EntryPoint = "b3CreateSensorEnableIMUForLink", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3CreateSensorEnableIMUForLink(b3SharedMemoryCommandHandle__* commandHandle, int linkIndex, int enable); + + [DllImport(__DllName, EntryPoint = "b3RequestActualStateCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3RequestActualStateCommandInit(b3PhysicsClientHandle__* physClient, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3RequestActualStateCommandInit2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3RequestActualStateCommandInit2(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId); + + [DllImport(__DllName, EntryPoint = "b3RequestActualStateCommandComputeLinkVelocity", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3RequestActualStateCommandComputeLinkVelocity(b3SharedMemoryCommandHandle__* commandHandle, int computeLinkVelocity); + + [DllImport(__DllName, EntryPoint = "b3RequestActualStateCommandComputeForwardKinematics", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3RequestActualStateCommandComputeForwardKinematics(b3SharedMemoryCommandHandle__* commandHandle, int computeForwardKinematics); + + [DllImport(__DllName, EntryPoint = "b3GetJointState", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetJointState(b3PhysicsClientHandle__* physClient, b3SharedMemoryStatusHandle__* statusHandle, int jointIndex, b3JointSensorState* state); + + [DllImport(__DllName, EntryPoint = "b3GetJointStateMultiDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetJointStateMultiDof(b3PhysicsClientHandle__* physClient, b3SharedMemoryStatusHandle__* statusHandle, int jointIndex, b3JointSensorState2* state); + + [DllImport(__DllName, EntryPoint = "b3GetLinkState", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetLinkState(b3PhysicsClientHandle__* physClient, b3SharedMemoryStatusHandle__* statusHandle, int linkIndex, b3LinkState* state); + + [DllImport(__DllName, EntryPoint = "b3PickBody", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3PickBody(b3PhysicsClientHandle__* physClient, double rayFromWorldX, double rayFromWorldY, double rayFromWorldZ, double rayToWorldX, double rayToWorldY, double rayToWorldZ); + + [DllImport(__DllName, EntryPoint = "b3MovePickedBody", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3MovePickedBody(b3PhysicsClientHandle__* physClient, double rayFromWorldX, double rayFromWorldY, double rayFromWorldZ, double rayToWorldX, double rayToWorldY, double rayToWorldZ); + + [DllImport(__DllName, EntryPoint = "b3RemovePickingConstraint", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3RemovePickingConstraint(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3CreateRaycastCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreateRaycastCommandInit(b3PhysicsClientHandle__* physClient, double rayFromWorldX, double rayFromWorldY, double rayFromWorldZ, double rayToWorldX, double rayToWorldY, double rayToWorldZ); + + [DllImport(__DllName, EntryPoint = "b3CreateRaycastBatchCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3CreateRaycastBatchCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3RaycastBatchSetNumThreads", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RaycastBatchSetNumThreads(b3SharedMemoryCommandHandle__* commandHandle, int numThreads); + + [DllImport(__DllName, EntryPoint = "b3RaycastBatchAddRay", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RaycastBatchAddRay(b3SharedMemoryCommandHandle__* commandHandle, double* rayFromWorld, double* rayToWorld); + + [DllImport(__DllName, EntryPoint = "b3RaycastBatchAddRays", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RaycastBatchAddRays(b3PhysicsClientHandle__* physClient, b3SharedMemoryCommandHandle__* commandHandle, double* rayFromWorld, double* rayToWorld, int numRays); + + [DllImport(__DllName, EntryPoint = "b3RaycastBatchSetParentObject", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RaycastBatchSetParentObject(b3SharedMemoryCommandHandle__* commandHandle, int parentObjectUniqueId, int parentLinkIndex); + + [DllImport(__DllName, EntryPoint = "b3RaycastBatchSetReportHitNumber", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RaycastBatchSetReportHitNumber(b3SharedMemoryCommandHandle__* commandHandle, int reportHitNumber); + + [DllImport(__DllName, EntryPoint = "b3RaycastBatchSetCollisionFilterMask", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RaycastBatchSetCollisionFilterMask(b3SharedMemoryCommandHandle__* commandHandle, int collisionFilterMask); + + [DllImport(__DllName, EntryPoint = "b3RaycastBatchSetFractionEpsilon", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RaycastBatchSetFractionEpsilon(b3SharedMemoryCommandHandle__* commandHandle, double fractionEpsilon); + + [DllImport(__DllName, EntryPoint = "b3GetRaycastInformation", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetRaycastInformation(b3PhysicsClientHandle__* physClient, b3RaycastInformation* raycastInfo); + + /// Apply external force at the body (or link) center of mass, in world space/Cartesian coordinates. + [DllImport(__DllName, EntryPoint = "b3ApplyExternalForceCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3ApplyExternalForceCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3ApplyExternalForce", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ApplyExternalForce(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkId, double* force, double* position, int flag); + + [DllImport(__DllName, EntryPoint = "b3ApplyExternalTorque", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3ApplyExternalTorque(b3SharedMemoryCommandHandle__* commandHandle, int bodyUniqueId, int linkId, double* torque, int flag); + + /// experiments of robots interacting with non-rigid objects (such as btSoftBody) + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodyCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3LoadSoftBodyCommandInit(b3PhysicsClientHandle__* physClient, byte* fileName); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodySetScale", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodySetScale(b3SharedMemoryCommandHandle__* commandHandle, double scale); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodySetMass", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodySetMass(b3SharedMemoryCommandHandle__* commandHandle, double mass); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodySetCollisionMargin", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodySetCollisionMargin(b3SharedMemoryCommandHandle__* commandHandle, double collisionMargin); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodySetStartPosition", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodySetStartPosition(b3SharedMemoryCommandHandle__* commandHandle, double startPosX, double startPosY, double startPosZ); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodySetStartOrientation", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodySetStartOrientation(b3SharedMemoryCommandHandle__* commandHandle, double startOrnX, double startOrnY, double startOrnZ, double startOrnW); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodyUpdateSimMesh", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodyUpdateSimMesh(b3SharedMemoryCommandHandle__* commandHandle, byte* filename); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodyAddCorotatedForce", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodyAddCorotatedForce(b3SharedMemoryCommandHandle__* commandHandle, double corotatedMu, double corotatedLambda); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodyAddNeoHookeanForce", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodyAddNeoHookeanForce(b3SharedMemoryCommandHandle__* commandHandle, double NeoHookeanMu, double NeoHookeanLambda, double NeoHookeanDamping); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodyAddMassSpringForce", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodyAddMassSpringForce(b3SharedMemoryCommandHandle__* commandHandle, double springElasticStiffness, double springDampingStiffness); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodyAddGravityForce", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodyAddGravityForce(b3SharedMemoryCommandHandle__* commandHandle, double gravityX, double gravityY, double gravityZ); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodySetCollisionHardness", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodySetCollisionHardness(b3SharedMemoryCommandHandle__* commandHandle, double collisionHardness); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodySetSelfCollision", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodySetSelfCollision(b3SharedMemoryCommandHandle__* commandHandle, int useSelfCollision); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodySetRepulsionStiffness", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodySetRepulsionStiffness(b3SharedMemoryCommandHandle__* commandHandle, double stiffness); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodyUseFaceContact", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodyUseFaceContact(b3SharedMemoryCommandHandle__* commandHandle, int useFaceContact); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodySetFrictionCoefficient", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodySetFrictionCoefficient(b3SharedMemoryCommandHandle__* commandHandle, double frictionCoefficient); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodyUseBendingSprings", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodyUseBendingSprings(b3SharedMemoryCommandHandle__* commandHandle, int useBendingSprings, double bendingStiffness); + + [DllImport(__DllName, EntryPoint = "b3LoadSoftBodyUseAllDirectionDampingSprings", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3LoadSoftBodyUseAllDirectionDampingSprings(b3SharedMemoryCommandHandle__* commandHandle, int useAllDirectionDamping); + + [DllImport(__DllName, EntryPoint = "b3InitCreateSoftBodyAnchorConstraintCommand", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3InitCreateSoftBodyAnchorConstraintCommand(b3PhysicsClientHandle__* physClient, int softBodyUniqueId, int nodeIndex, int bodyUniqueId, int linkIndex, double* bodyFramePosition); + + [DllImport(__DllName, EntryPoint = "b3RequestVREventsCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3RequestVREventsCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3VREventsSetDeviceTypeFilter", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3VREventsSetDeviceTypeFilter(b3SharedMemoryCommandHandle__* commandHandle, int deviceTypeFilter); + + [DllImport(__DllName, EntryPoint = "b3GetVREventsData", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetVREventsData(b3PhysicsClientHandle__* physClient, b3VREventsData* vrEventsData); + + [DllImport(__DllName, EntryPoint = "b3SetVRCameraStateCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3SetVRCameraStateCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3SetVRCameraRootPosition", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3SetVRCameraRootPosition(b3SharedMemoryCommandHandle__* commandHandle, double* rootPos); + + [DllImport(__DllName, EntryPoint = "b3SetVRCameraRootOrientation", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3SetVRCameraRootOrientation(b3SharedMemoryCommandHandle__* commandHandle, double* rootOrn); + + [DllImport(__DllName, EntryPoint = "b3SetVRCameraTrackingObject", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3SetVRCameraTrackingObject(b3SharedMemoryCommandHandle__* commandHandle, int objectUniqueId); + + [DllImport(__DllName, EntryPoint = "b3SetVRCameraTrackingObjectFlag", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3SetVRCameraTrackingObjectFlag(b3SharedMemoryCommandHandle__* commandHandle, int flag); + + [DllImport(__DllName, EntryPoint = "b3RequestKeyboardEventsCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3RequestKeyboardEventsCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3RequestKeyboardEventsCommandInit2", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3RequestKeyboardEventsCommandInit2(b3SharedMemoryCommandHandle__* commandHandle); + + [DllImport(__DllName, EntryPoint = "b3GetKeyboardEventsData", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetKeyboardEventsData(b3PhysicsClientHandle__* physClient, b3KeyboardEventsData* keyboardEventsData); + + [DllImport(__DllName, EntryPoint = "b3RequestMouseEventsCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3RequestMouseEventsCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3GetMouseEventsData", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetMouseEventsData(b3PhysicsClientHandle__* physClient, b3MouseEventsData* mouseEventsData); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3StateLoggingCommandInit(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingStart", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingStart(b3SharedMemoryCommandHandle__* commandHandle, int loggingType, byte* fileName); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingAddLoggingObjectUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingAddLoggingObjectUniqueId(b3SharedMemoryCommandHandle__* commandHandle, int objectUniqueId); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingSetMaxLogDof", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingSetMaxLogDof(b3SharedMemoryCommandHandle__* commandHandle, int maxLogDof); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingSetLinkIndexA", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingSetLinkIndexA(b3SharedMemoryCommandHandle__* commandHandle, int linkIndexA); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingSetLinkIndexB", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingSetLinkIndexB(b3SharedMemoryCommandHandle__* commandHandle, int linkIndexB); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingSetBodyAUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingSetBodyAUniqueId(b3SharedMemoryCommandHandle__* commandHandle, int bodyAUniqueId); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingSetBodyBUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingSetBodyBUniqueId(b3SharedMemoryCommandHandle__* commandHandle, int bodyBUniqueId); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingSetDeviceTypeFilter", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingSetDeviceTypeFilter(b3SharedMemoryCommandHandle__* commandHandle, int deviceTypeFilter); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingSetLogFlags", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingSetLogFlags(b3SharedMemoryCommandHandle__* commandHandle, int logFlags); + + [DllImport(__DllName, EntryPoint = "b3GetStatusLoggingUniqueId", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3GetStatusLoggingUniqueId(b3SharedMemoryStatusHandle__* statusHandle); + + [DllImport(__DllName, EntryPoint = "b3StateLoggingStop", CallingConvention = CallingConvention.Cdecl)] + public static extern int b3StateLoggingStop(b3SharedMemoryCommandHandle__* commandHandle, int loggingUid); + + [DllImport(__DllName, EntryPoint = "b3ProfileTimingCommandInit", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3ProfileTimingCommandInit(b3PhysicsClientHandle__* physClient, byte* name); + + [DllImport(__DllName, EntryPoint = "b3SetProfileTimingDuractionInMicroSeconds", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetProfileTimingDuractionInMicroSeconds(b3SharedMemoryCommandHandle__* commandHandle, int duration); + + [DllImport(__DllName, EntryPoint = "b3SetProfileTimingType", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetProfileTimingType(b3SharedMemoryCommandHandle__* commandHandle, int type_); + + [DllImport(__DllName, EntryPoint = "b3PushProfileTiming", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3PushProfileTiming(b3PhysicsClientHandle__* physClient, byte* timingName); + + [DllImport(__DllName, EntryPoint = "b3PopProfileTiming", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3PopProfileTiming(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3SetTimeOut", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3SetTimeOut(b3PhysicsClientHandle__* physClient, double timeOutInSeconds); + + [DllImport(__DllName, EntryPoint = "b3GetTimeOut", CallingConvention = CallingConvention.Cdecl)] + public static extern double b3GetTimeOut(b3PhysicsClientHandle__* physClient); + + [DllImport(__DllName, EntryPoint = "b3SetAdditionalSearchPath", CallingConvention = CallingConvention.Cdecl)] + public static extern b3SharedMemoryCommandHandle__* b3SetAdditionalSearchPath(b3PhysicsClientHandle__* physClient, byte* path); + + [DllImport(__DllName, EntryPoint = "b3MultiplyTransforms", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3MultiplyTransforms(double* posA, double* ornA, double* posB, double* ornB, double* outPos, double* outOrn); + + [DllImport(__DllName, EntryPoint = "b3InvertTransform", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3InvertTransform(double* pos, double* orn, double* outPos, double* outOrn); + + [DllImport(__DllName, EntryPoint = "b3QuaternionSlerp", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3QuaternionSlerp(double* startQuat, double* endQuat, double interpolationFraction, double* outOrn); + + [DllImport(__DllName, EntryPoint = "b3GetQuaternionFromAxisAngle", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetQuaternionFromAxisAngle(double* axis, double angle, double* outQuat); + + [DllImport(__DllName, EntryPoint = "b3GetAxisAngleFromQuaternion", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetAxisAngleFromQuaternion(double* quat, double* axis, double* angle); + + [DllImport(__DllName, EntryPoint = "b3GetQuaternionDifference", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetQuaternionDifference(double* startQuat, double* endQuat, double* outOrn); + + [DllImport(__DllName, EntryPoint = "b3GetAxisDifferenceQuaternion", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3GetAxisDifferenceQuaternion(double* startQuat, double* endQuat, double* axisOut); + + [DllImport(__DllName, EntryPoint = "b3CalculateVelocityQuaternion", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3CalculateVelocityQuaternion(double* startQuat, double* endQuat, double deltaTime, double* angVelOut); + + [DllImport(__DllName, EntryPoint = "b3RotateVector", CallingConvention = CallingConvention.Cdecl)] + public static extern void b3RotateVector(double* quat, double* vec, double* vecOut); + + + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3JointInfo + { + public fixed byte m_linkName[1024]; + public fixed byte m_jointName[1024]; + public int m_jointType; + public int m_qIndex; + public int m_uIndex; + public int m_jointIndex; + public int m_flags; + public double m_jointDamping; + public double m_jointFriction; + public double m_jointLowerLimit; + public double m_jointUpperLimit; + public double m_jointMaxForce; + public double m_jointMaxVelocity; + public fixed double m_parentFrame[7]; + public fixed double m_childFrame[7]; + public fixed double m_jointAxis[3]; + public int m_parentIndex; + public int m_qSize; + public int m_uSize; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3UserDataValue + { + public int m_type; + public int m_length; + public byte* m_data1; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3UserConstraint + { + public int m_parentBodyIndex; + public int m_parentJointIndex; + public int m_childBodyIndex; + public int m_childJointIndex; + public fixed double m_parentFrame[7]; + public fixed double m_childFrame[7]; + public fixed double m_jointAxis[3]; + public int m_jointType; + public double m_maxAppliedForce; + public int m_userConstraintUniqueId; + public double m_gearRatio; + public int m_gearAuxLink; + public double m_relativePositionTarget; + public double m_erp; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3BodyInfo + { + public fixed byte m_baseName[1024]; + public fixed byte m_bodyName[1024]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3DynamicsInfo + { + public double m_mass; + public fixed double m_localInertialDiagonal[3]; + public fixed double m_localInertialFrame[7]; + public double m_lateralFrictionCoeff; + public double m_rollingFrictionCoeff; + public double m_spinningFrictionCoeff; + public double m_restitution; + public double m_contactStiffness; + public double m_contactDamping; + public int m_activationState; + public int m_bodyType; + public double m_angularDamping; + public double m_linearDamping; + public double m_ccdSweptSphereRadius; + public double m_contactProcessingThreshold; + public int m_frictionAnchor; + public double m_collisionMargin; + public int m_dynamicType; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3JointSensorState + { + public double m_jointPosition; + public double m_jointVelocity; + public fixed double m_jointForceTorque[6]; + public double m_jointMotorTorque; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3JointSensorState2 + { + public fixed double m_jointPosition[4]; + public fixed double m_jointVelocity[3]; + public fixed double m_jointReactionForceTorque[6]; + public fixed double m_jointMotorTorqueMultiDof[3]; + public int m_qDofSize; + public int m_uDofSize; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3DebugLines + { + public int m_numDebugLines; + public float* m_linesFrom; + public float* m_linesTo; + public float* m_linesColor; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3OverlappingObject + { + public int m_objectUniqueId; + public int m_linkIndex; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3AABBOverlapData + { + public int m_numOverlappingObjects; + public b3OverlappingObject* m_overlappingObjects; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3CameraImageData + { + public int m_pixelWidth; + public int m_pixelHeight; + public byte* m_rgbColorData; + public float* m_depthValues; + public int* m_segmentationMaskValues; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3MeshVertex + { + public double x; + public double y; + public double z; + public double w; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3MeshData + { + public int m_numVertices; + public b3MeshVertex* m_vertices; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3TetraMeshData + { + public int m_numVertices; + public b3MeshVertex* m_vertices; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3OpenGLVisualizerCameraInfo + { + public int m_width; + public int m_height; + public fixed float m_viewMatrix[16]; + public fixed float m_projectionMatrix[16]; + public fixed float m_camUp[3]; + public fixed float m_camForward[3]; + public fixed float m_horizontal[3]; + public fixed float m_vertical[3]; + public float m_yaw; + public float m_pitch; + public float m_dist; + public fixed float m_target[3]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3UserConstraintState + { + public fixed double m_appliedConstraintForces[6]; + public int m_numDofs; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3VRControllerEvent + { + public int m_controllerId; + public int m_deviceType; + public int m_numMoveEvents; + public int m_numButtonEvents; + public fixed float m_pos[4]; + public fixed float m_orn[4]; + public float m_analogAxis; + public fixed float m_auxAnalogAxis[10]; + public fixed int m_buttons[64]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3VREventsData + { + public int m_numControllerEvents; + public b3VRControllerEvent* m_controllerEvents; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3KeyboardEvent + { + public int m_keyCode; + public int m_keyState; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3KeyboardEventsData + { + public int m_numKeyboardEvents; + public b3KeyboardEvent* m_keyboardEvents; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3MouseEvent + { + public int m_eventType; + public float m_mousePosX; + public float m_mousePosY; + public int m_buttonIndex; + public int m_buttonState; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3MouseEventsData + { + public int m_numMouseEvents; + public b3MouseEvent* m_mouseEvents; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3ContactPointData + { + public int m_contactFlags; + public int m_bodyUniqueIdA; + public int m_bodyUniqueIdB; + public int m_linkIndexA; + public int m_linkIndexB; + public fixed double m_positionOnAInWS[3]; + public fixed double m_positionOnBInWS[3]; + public fixed double m_contactNormalOnBInWS[3]; + public double m_contactDistance; + public double m_normalForce; + public double m_linearFrictionForce1; + public double m_linearFrictionForce2; + public fixed double m_linearFrictionDirection1[3]; + public fixed double m_linearFrictionDirection2[3]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3ContactInformation + { + public int m_numContactPoints; + public b3ContactPointData* m_contactPointData; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3RayHitInfo + { + public double m_hitFraction; + public int m_hitObjectUniqueId; + public int m_hitObjectLinkIndex; + public fixed double m_hitPositionWorld[3]; + public fixed double m_hitNormalWorld[3]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3RaycastInformation + { + public int m_numRayHits; + public b3RayHitInfo* m_rayHits; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3VisualShapeData + { + public int m_objectUniqueId; + public int m_linkIndex; + public int m_visualGeometryType; + public fixed double m_dimensions[3]; + public fixed byte m_meshAssetFileName[1024]; + public fixed double m_localVisualFrame[7]; + public fixed double m_rgbaColor[4]; + public int m_tinyRendererTextureId; + public int m_textureUniqueId; + public int m_openglTextureId; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3VisualShapeInformation + { + public int m_numVisualShapes; + public b3VisualShapeData* m_visualShapeData; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3CollisionShapeData + { + public int m_objectUniqueId; + public int m_linkIndex; + public int m_collisionGeometryType; + public fixed double m_dimensions[3]; + public fixed double m_localCollisionFrame[7]; + public fixed byte m_meshAssetFileName[1024]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3CollisionShapeInformation + { + public int m_numCollisionShapes; + public b3CollisionShapeData* m_collisionShapeData; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3LinkState + { + public fixed double m_worldPosition[3]; + public fixed double m_worldOrientation[4]; + public fixed double m_localInertialPosition[3]; + public fixed double m_localInertialOrientation[4]; + public fixed double m_worldLinkFramePosition[3]; + public fixed double m_worldLinkFrameOrientation[4]; + public fixed double m_worldLinearVelocity[3]; + public fixed double m_worldAngularVelocity[3]; + public fixed double m_worldAABBMin[3]; + public fixed double m_worldAABBMax[3]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3PhysicsSimulationParameters + { + public double m_deltaTime; + public double m_simulationTimestamp; + public fixed double m_gravityAcceleration[3]; + public int m_numSimulationSubSteps; + public int m_numSolverIterations; + public double m_warmStartingFactor; + public double m_articulatedWarmStartingFactor; + public int m_useRealTimeSimulation; + public int m_useSplitImpulse; + public double m_splitImpulsePenetrationThreshold; + public double m_contactBreakingThreshold; + public int m_internalSimFlags; + public double m_defaultContactERP; + public int m_collisionFilterMode; + public int m_enableFileCaching; + public double m_restitutionVelocityThreshold; + public double m_defaultNonContactERP; + public double m_frictionERP; + public double m_defaultGlobalCFM; + public double m_frictionCFM; + public int m_enableConeFriction; + public int m_deterministicOverlappingPairs; + public double m_allowedCcdPenetration; + public int m_jointFeedbackMode; + public double m_solverResidualThreshold; + public double m_contactSlop; + public int m_enableSAT; + public int m_constraintSolverType; + public int m_minimumSolverIslandSize; + public int m_reportSolverAnalytics; + public double m_sparseSdfVoxelSize; + public int m_numNonContactInnerIterations; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3ForwardDynamicsAnalyticsIslandData + { + public int m_islandId; + public int m_numBodies; + public int m_numContactManifolds; + public int m_numIterationsUsed; + public double m_remainingLeastSquaresResidual; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct b3ForwardDynamicsAnalyticsArgs + { + public int m_numSteps; + public int m_numIslands; + public int m_numSolverCalls; + public fixed byte/* b3ForwardDynamicsAnalyticsIslandData, this length is invalid so must keep pointer and can't edit from C# */ m_islandData[64]; + } + + + +} + \ No newline at end of file diff --git a/dotnet-sandbox/lz4_bindgen.cs b/dotnet-sandbox/lz4_bindgen.cs index 8ed0015..636dfd2 100644 --- a/dotnet-sandbox/lz4_bindgen.cs +++ b/dotnet-sandbox/lz4_bindgen.cs @@ -20,15 +20,15 @@ namespace CsBindgen public static extern int LZ4_versionNumber(); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_versionString", CallingConvention = CallingConvention.Cdecl)] - public static extern byte* LZ4_versionString(); + public static extern byte** LZ4_versionString(); /// LZ4_compress_default() : Compresses 'srcSize' bytes from buffer 'src' into already allocated 'dst' buffer of size 'dstCapacity'. Compression is guaranteed to succeed if 'dstCapacity' >= LZ4_compressBound(srcSize). It also runs faster, so it's a recommended setting. If the function cannot compress 'src' into a more limited 'dst' budget, compression stops *immediately*, and the function result is zero. In which case, 'dst' content is undefined (invalid). srcSize : max supported value is LZ4_MAX_INPUT_SIZE. dstCapacity : size of buffer 'dst' (which must be already allocated) @return : the number of bytes written into buffer 'dst' (necessarily <= dstCapacity) or 0 if compression fails Note : This function is protected against buffer overflow scenarios (never writes outside 'dst' buffer, nor read outside 'source' buffer). [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_default", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_default(byte* src, byte* dst, int srcSize, int dstCapacity); + public static extern int LZ4_compress_default(byte** src, byte** dst, int srcSize, int dstCapacity); /// LZ4_decompress_safe() : @compressedSize : is the exact complete size of the compressed block. @dstCapacity : is the size of destination buffer (which must be already allocated), is an upper bound of decompressed size. @return : the number of bytes decompressed into destination buffer (necessarily <= dstCapacity) If destination buffer is not large enough, decoding will stop and output an error code (negative value). If the source stream is detected malformed, the function will stop decoding and return a negative result. Note 1 : This function is protected against malicious data packets : it will never writes outside 'dst' buffer, nor read outside 'source' buffer, even if the compressed block is maliciously modified to order the decoder to do these actions. In such case, the decoder stops immediately, and considers the compressed block malformed. Note 2 : compressedSize and dstCapacity must be provided to the function, the compressed block does not contain them. The implementation is free to send / store / derive this information in whichever way is most beneficial. If there is a need for a different format which bundles together both compressed data and its metadata, consider looking at lz4frame.h instead. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_safe", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_safe(byte* src, byte* dst, int compressedSize, int dstCapacity); + public static extern int LZ4_decompress_safe(byte** src, byte** dst, int compressedSize, int dstCapacity); /// LZ4_compressBound() :Provides the maximum size that LZ4 compression may output in a \"worst case\" scenario (input data not compressible)This function is primarily useful for memory allocation purposes (destination buffer size).Macro LZ4_COMPRESSBOUND() is also provided for compilation-time evaluation (stack memory allocation for example).Note that LZ4_compress_default() compresses faster when dstCapacity is >= LZ4_compressBound(srcSize)inputSize : max supported value is LZ4_MAX_INPUT_SIZEreturn : maximum output size in a \"worst case\" scenarioor 0, if input size is incorrect (too large or negative) [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressBound", CallingConvention = CallingConvention.Cdecl)] @@ -36,22 +36,22 @@ namespace CsBindgen /// LZ4_compress_fast() :Same as LZ4_compress_default(), but allows selection of \"acceleration\" factor.The larger the acceleration value, the faster the algorithm, but also the lesser the compression.It's a trade-off. It can be fine tuned, with each successive value providing roughly +~3% to speed.An acceleration value of \"1\" is the same as regular LZ4_compress_default()Values <= 0 will be replaced by LZ4_ACCELERATION_DEFAULT (currently == 1, see lz4.c).Values > LZ4_ACCELERATION_MAX will be replaced by LZ4_ACCELERATION_MAX (currently == 65537, see lz4.c). [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_fast", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_fast(byte* src, byte* dst, int srcSize, int dstCapacity, int acceleration); + public static extern int LZ4_compress_fast(byte** src, byte** dst, int srcSize, int dstCapacity, int acceleration); /// LZ4_compress_fast_extState() : Same as LZ4_compress_fast(), using an externally allocated memory space for its state. Use LZ4_sizeofState() to know how much memory must be allocated, and allocate it on 8-bytes boundaries (using `malloc()` typically). Then, provide this buffer as `void* state` to compression function. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_sizeofState", CallingConvention = CallingConvention.Cdecl)] public static extern int LZ4_sizeofState(); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_fast_extState", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_fast_extState(void* state, byte* src, byte* dst, int srcSize, int dstCapacity, int acceleration); + public static extern int LZ4_compress_fast_extState(void* state, byte** src, byte** dst, int srcSize, int dstCapacity, int acceleration); /// LZ4_compress_destSize() : Reverse the logic : compresses as much data as possible from 'src' buffer into already allocated buffer 'dst', of size >= 'targetDestSize'. This function either compresses the entire 'src' content into 'dst' if it's large enough, or fill 'dst' buffer completely with as much data as possible from 'src'. note: acceleration parameter is fixed to \"default\". *srcSizePtr : will be modified to indicate how many bytes where read from 'src' to fill 'dst'. New value is necessarily <= input value. @return : Nb bytes written into 'dst' (necessarily <= targetDestSize) or 0 if compression fails. Note : from v1.8.2 to v1.9.1, this function had a bug (fixed un v1.9.2+): the produced compressed content could, in specific circumstances, require to be decompressed into a destination buffer larger by at least 1 byte than the content to decompress. If an application uses `LZ4_compress_destSize()`, it's highly recommended to update liblz4 to v1.9.2 or better. If this can't be done or ensured, the receiving decompression function should provide a dstCapacity which is > decompressedSize, by at least 1 byte. See https://github.com/lz4/lz4/issues/859 for details [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_destSize", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_destSize(byte* src, byte* dst, int* srcSizePtr, int targetDstSize); + public static extern int LZ4_compress_destSize(byte** src, byte** dst, int* srcSizePtr, int targetDstSize); /// LZ4_decompress_safe_partial() : Decompress an LZ4 compressed block, of size 'srcSize' at position 'src', into destination buffer 'dst' of size 'dstCapacity'. Up to 'targetOutputSize' bytes will be decoded. The function stops decoding on reaching this objective. This can be useful to boost performance whenever only the beginning of a block is required. @return : the number of bytes decoded in `dst` (necessarily <= targetOutputSize) If source stream is detected malformed, function returns a negative result. Note 1 : @return can be < targetOutputSize, if compressed block contains less data. Note 2 : targetOutputSize must be <= dstCapacity Note 3 : this function effectively stops decoding on reaching targetOutputSize, so dstCapacity is kind of redundant. This is because in older versions of this function, decoding operation would still write complete sequences. Therefore, there was no guarantee that it would stop writing at exactly targetOutputSize, it could write more bytes, though only up to dstCapacity. Some \"margin\" used to be required for this operation to work properly. Thankfully, this is no longer necessary. The function nonetheless keeps the same signature, in an effort to preserve API compatibility. Note 4 : If srcSize is the exact size of the block, then targetOutputSize can be any value, including larger than the block's decompressed size. The function will, at most, generate block's decompressed size. Note 5 : If srcSize is _larger_ than block's compressed size, then targetOutputSize **MUST** be <= block's decompressed size. Otherwise, *silent corruption will occur*. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_safe_partial", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_safe_partial(byte* src, byte* dst, int srcSize, int targetOutputSize, int dstCapacity); + public static extern int LZ4_decompress_safe_partial(byte** src, byte** dst, int srcSize, int targetOutputSize, int dstCapacity); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_createStream", CallingConvention = CallingConvention.Cdecl)] public static extern LZ4_stream_u* LZ4_createStream(); @@ -65,15 +65,15 @@ namespace CsBindgen /// LZ4_loadDict() : Use this function to reference a static dictionary into LZ4_stream_t. The dictionary must remain available during compression. LZ4_loadDict() triggers a reset, so any previous data will be forgotten. The same dictionary will have to be loaded on decompression side for successful decoding. Dictionary are useful for better compression of small data (KB range). While LZ4 accept any input as dictionary, results are generally better when using Zstandard's Dictionary Builder. Loading a size of 0 is allowed, and is the same as reset. @return : loaded dictionary size, in bytes (necessarily <= 64 KB) [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_loadDict", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_loadDict(LZ4_stream_u* streamPtr, byte* dictionary, int dictSize); + public static extern int LZ4_loadDict(LZ4_stream_u* streamPtr, byte** dictionary, int dictSize); /// LZ4_compress_fast_continue() : Compress 'src' content using data from previously compressed blocks, for better compression ratio. 'dst' buffer must be already allocated. If dstCapacity >= LZ4_compressBound(srcSize), compression is guaranteed to succeed, and runs faster. @return : size of compressed block or 0 if there is an error (typically, cannot fit into 'dst'). Note 1 : Each invocation to LZ4_compress_fast_continue() generates a new block. Each block has precise boundaries. Each block must be decompressed separately, calling LZ4_decompress_*() with relevant metadata. It's not possible to append blocks together and expect a single invocation of LZ4_decompress_*() to decompress them together. Note 2 : The previous 64KB of source data is __assumed__ to remain present, unmodified, at same address in memory ! Note 3 : When input is structured as a double-buffer, each buffer can have any size, including < 64 KB. Make sure that buffers are separated, by at least one byte. This construction ensures that each block only depends on previous block. Note 4 : If input buffer is a ring-buffer, it can have any size, including < 64 KB. Note 5 : After an error, the stream status is undefined (invalid), it can only be reset or freed. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_fast_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_fast_continue(LZ4_stream_u* streamPtr, byte* src, byte* dst, int srcSize, int dstCapacity, int acceleration); + public static extern int LZ4_compress_fast_continue(LZ4_stream_u* streamPtr, byte** src, byte** dst, int srcSize, int dstCapacity, int acceleration); /// LZ4_saveDict() : If last 64KB data cannot be guaranteed to remain available at its current memory location, save it into a safer place (char* safeBuffer). This is schematically equivalent to a memcpy() followed by LZ4_loadDict(), but is much faster, because LZ4_saveDict() doesn't need to rebuild tables. @return : saved dictionary size in bytes (necessarily <= maxDictSize), or 0 if error. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_saveDict", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_saveDict(LZ4_stream_u* streamPtr, byte* safeBuffer, int maxDictSize); + public static extern int LZ4_saveDict(LZ4_stream_u* streamPtr, byte** safeBuffer, int maxDictSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_createStreamDecode", CallingConvention = CallingConvention.Cdecl)] public static extern LZ4_streamDecode_u* LZ4_createStreamDecode(); @@ -83,7 +83,7 @@ namespace CsBindgen /// LZ4_setStreamDecode() : An LZ4_streamDecode_t context can be allocated once and re-used multiple times. Use this function to start decompression of a new stream of blocks. A dictionary can optionally be set. Use NULL or size 0 for a reset order. Dictionary is presumed stable : it must remain accessible and unmodified during next decompression. @return : 1 if OK, 0 if error [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_setStreamDecode", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_setStreamDecode(LZ4_streamDecode_u* LZ4_streamDecode, byte* dictionary, int dictSize); + public static extern int LZ4_setStreamDecode(LZ4_streamDecode_u* LZ4_streamDecode, byte** dictionary, int dictSize); /// LZ4_decoderRingBufferSize() : v1.8.2+ Note : in a ring buffer scenario (optional), blocks are presumed decompressed next to each other up to the moment there is not enough remaining space for next block (remainingSize < maxBlockSize), at which stage it resumes from beginning of ring buffer. When setting such a ring buffer for streaming decompression, provides the minimum size of this ring buffer to be compatible with any source respecting maxBlockSize condition. @return : minimum ring buffer size, or 0 if there is an error (invalid maxBlockSize). [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decoderRingBufferSize", CallingConvention = CallingConvention.Cdecl)] @@ -91,15 +91,15 @@ namespace CsBindgen /// LZ4_decompress_safe_continue() : This decoding function allows decompression of consecutive blocks in \"streaming\" mode. The difference with the usual independent blocks is that new blocks are allowed to find references into former blocks. A block is an unsplittable entity, and must be presented entirely to the decompression function. LZ4_decompress_safe_continue() only accepts one block at a time. It's modeled after `LZ4_decompress_safe()` and behaves similarly. @LZ4_streamDecode : decompression state, tracking the position in memory of past data @compressedSize : exact complete size of one compressed block. @dstCapacity : size of destination buffer (which must be already allocated), must be an upper bound of decompressed size. @return : number of bytes decompressed into destination buffer (necessarily <= dstCapacity) If destination buffer is not large enough, decoding will stop and output an error code (negative value). If the source stream is detected malformed, the function will stop decoding and return a negative result. The last 64KB of previously decoded data *must* remain available and unmodified at the memory position where they were previously decoded. If less than 64KB of data has been decoded, all the data must be present. Special : if decompression side sets a ring buffer, it must respect one of the following conditions : - Decompression buffer size is _at least_ LZ4_decoderRingBufferSize(maxBlockSize). maxBlockSize is the maximum size of any single block. It can have any value > 16 bytes. In which case, encoding and decoding buffers do not need to be synchronized. Actually, data can be produced by any source compliant with LZ4 format specification, and respecting maxBlockSize. - Synchronized mode : Decompression buffer size is _exactly_ the same as compression buffer size, and follows exactly same update rule (block boundaries at same positions), and decoding function is provided with exact decompressed size of each block (exception for last block of the stream), _then_ decoding & encoding ring buffer can have any size, including small ones ( < 64 KB). - Decompression buffer is larger than encoding buffer, by a minimum of maxBlockSize more bytes. In which case, encoding and decoding buffers do not need to be synchronized, and encoding ring buffer can have any size, including small ones ( < 64 KB). Whenever these conditions are not possible, save the last 64KB of decoded data into a safe buffer where it can't be modified during decompression, then indicate where this data is saved using LZ4_setStreamDecode(), before decompressing next block. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_safe_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_safe_continue(LZ4_streamDecode_u* LZ4_streamDecode, byte* src, byte* dst, int srcSize, int dstCapacity); + public static extern int LZ4_decompress_safe_continue(LZ4_streamDecode_u* LZ4_streamDecode, byte** src, byte** dst, int srcSize, int dstCapacity); /// LZ4_decompress_safe_usingDict() : Works the same as a combination of LZ4_setStreamDecode() followed by LZ4_decompress_safe_continue() However, it's stateless: it doesn't need any LZ4_streamDecode_t state. Dictionary is presumed stable : it must remain accessible and unmodified during decompression. Performance tip : Decompression speed can be substantially increased when dst == dictStart + dictSize. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_safe_usingDict", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_safe_usingDict(byte* src, byte* dst, int srcSize, int dstCapacity, byte* dictStart, int dictSize); + public static extern int LZ4_decompress_safe_usingDict(byte** src, byte** dst, int srcSize, int dstCapacity, byte** dictStart, int dictSize); /// LZ4_decompress_safe_partial_usingDict() : Behaves the same as LZ4_decompress_safe_partial() with the added ability to specify a memory segment for past data. Performance tip : Decompression speed can be substantially increased when dst == dictStart + dictSize. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_safe_partial_usingDict", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_safe_partial_usingDict(byte* src, byte* dst, int compressedSize, int targetOutputSize, int maxOutputSize, byte* dictStart, int dictSize); + public static extern int LZ4_decompress_safe_partial_usingDict(byte** src, byte** dst, int compressedSize, int targetOutputSize, int maxOutputSize, byte** dictStart, int dictSize); /// LZ4_initStream() : v1.9.0+ An LZ4_stream_t structure must be initialized at least once. This is automatically done when invoking LZ4_createStream(), but it's not when the structure is simply declared on stack (for example). Use LZ4_initStream() to properly initialize a newly declared LZ4_stream_t. It can also initialize any arbitrary buffer of sufficient size, and will @return a pointer of proper type upon initialization. Note : initialization fails if size and alignment conditions are not respected. In which case, the function will @return NULL. Note2: An LZ4_stream_t structure guarantees correct alignment and size. Note3: Before v1.9.0, use LZ4_resetStream() instead [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_initStream", CallingConvention = CallingConvention.Cdecl)] @@ -107,58 +107,58 @@ namespace CsBindgen /// Obsolete compression functions (since v1.7.3) [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress(byte* src, byte* dest, int srcSize); + public static extern int LZ4_compress(byte** src, byte** dest, int srcSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_limitedOutput", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_limitedOutput(byte* src, byte* dest, int srcSize, int maxOutputSize); + public static extern int LZ4_compress_limitedOutput(byte** src, byte** dest, int srcSize, int maxOutputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_withState", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_withState(void* state, byte* source, byte* dest, int inputSize); + public static extern int LZ4_compress_withState(void* state, byte** source, byte** dest, int inputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_limitedOutput_withState", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_limitedOutput_withState(void* state, byte* source, byte* dest, int inputSize, int maxOutputSize); + public static extern int LZ4_compress_limitedOutput_withState(void* state, byte** source, byte** dest, int inputSize, int maxOutputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_continue(LZ4_stream_u* LZ4_streamPtr, byte* source, byte* dest, int inputSize); + public static extern int LZ4_compress_continue(LZ4_stream_u* LZ4_streamPtr, byte** source, byte** dest, int inputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_limitedOutput_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_limitedOutput_continue(LZ4_stream_u* LZ4_streamPtr, byte* source, byte* dest, int inputSize, int maxOutputSize); + public static extern int LZ4_compress_limitedOutput_continue(LZ4_stream_u* LZ4_streamPtr, byte** source, byte** dest, int inputSize, int maxOutputSize); /// Obsolete decompression functions (since v1.8.0) [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_uncompress", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_uncompress(byte* source, byte* dest, int outputSize); + public static extern int LZ4_uncompress(byte** source, byte** dest, int outputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_uncompress_unknownOutputSize", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_uncompress_unknownOutputSize(byte* source, byte* dest, int isize_, int maxOutputSize); + public static extern int LZ4_uncompress_unknownOutputSize(byte** source, byte** dest, int isize_, int maxOutputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_create", CallingConvention = CallingConvention.Cdecl)] - public static extern void* LZ4_create(byte* inputBuffer); + public static extern void* LZ4_create(byte** inputBuffer); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_sizeofStreamState", CallingConvention = CallingConvention.Cdecl)] public static extern int LZ4_sizeofStreamState(); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_resetStreamState", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_resetStreamState(void* state, byte* inputBuffer); + public static extern int LZ4_resetStreamState(void* state, byte** inputBuffer); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_slideInputBuffer", CallingConvention = CallingConvention.Cdecl)] - public static extern byte* LZ4_slideInputBuffer(void* state); + public static extern byte** LZ4_slideInputBuffer(void* state); /// Obsolete streaming decoding functions (since v1.7.0) [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_safe_withPrefix64k", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_safe_withPrefix64k(byte* src, byte* dst, int compressedSize, int maxDstSize); + public static extern int LZ4_decompress_safe_withPrefix64k(byte** src, byte** dst, int compressedSize, int maxDstSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_fast_withPrefix64k", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_fast_withPrefix64k(byte* src, byte* dst, int originalSize); + public static extern int LZ4_decompress_fast_withPrefix64k(byte** src, byte** dst, int originalSize); /// Obsolete LZ4_decompress_fast variants (since v1.9.0) : These functions used to be faster than LZ4_decompress_safe(), but this is no longer the case. They are now slower. This is because LZ4_decompress_fast() doesn't know the input size, and therefore must progress more cautiously into the input buffer to not read beyond the end of block. On top of that `LZ4_decompress_fast()` is not protected vs malformed or malicious inputs, making it a security liability. As a consequence, LZ4_decompress_fast() is strongly discouraged, and deprecated. The last remaining LZ4_decompress_fast() specificity is that it can decompress a block without knowing its compressed size. Such functionality can be achieved in a more secure manner by employing LZ4_decompress_safe_partial(). Parameters: originalSize : is the uncompressed size to regenerate. `dst` must be already allocated, its size must be >= 'originalSize' bytes. @return : number of bytes read from source buffer (== compressed size). The function expects to finish at block's end exactly. If the source stream is detected malformed, the function stops decoding and returns a negative result. note : LZ4_decompress_fast*() requires originalSize. Thanks to this information, it never writes past the output buffer. However, since it doesn't know its 'src' size, it may read an unknown amount of input, past input buffer bounds. Also, since match offsets are not validated, match reads from 'src' may underflow too. These issues never happen if input (compressed) data is correct. But they may happen if input data is invalid (error or intentional tampering). As a consequence, use these functions in trusted environments with trusted data **only**. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_fast", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_fast(byte* src, byte* dst, int originalSize); + public static extern int LZ4_decompress_fast(byte** src, byte** dst, int originalSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_fast_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_fast_continue(LZ4_streamDecode_u* LZ4_streamDecode, byte* src, byte* dst, int originalSize); + public static extern int LZ4_decompress_fast_continue(LZ4_streamDecode_u* LZ4_streamDecode, byte** src, byte** dst, int originalSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_decompress_fast_usingDict", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_decompress_fast_usingDict(byte* src, byte* dst, int originalSize, byte* dictStart, int dictSize); + public static extern int LZ4_decompress_fast_usingDict(byte** src, byte** dst, int originalSize, byte** dictStart, int dictSize); /// LZ4_resetStream() : An LZ4_stream_t structure must be initialized at least once. This is done with LZ4_initStream(), or LZ4_resetStream(). Consider switching to LZ4_initStream(), invoking LZ4_resetStream() will trigger deprecation warnings in the future. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_resetStream", CallingConvention = CallingConvention.Cdecl)] @@ -166,18 +166,18 @@ namespace CsBindgen /// LZ4_compress_HC() : Compress data from `src` into `dst`, using the powerful but slower \"HC\" algorithm. `dst` must be already allocated. Compression is guaranteed to succeed if `dstCapacity >= LZ4_compressBound(srcSize)` (see \"lz4.h\") Max supported `srcSize` value is LZ4_MAX_INPUT_SIZE (see \"lz4.h\") `compressionLevel` : any value between 1 and LZ4HC_CLEVEL_MAX will work. Values > LZ4HC_CLEVEL_MAX behave the same as LZ4HC_CLEVEL_MAX. @return : the number of bytes written into 'dst' or 0 if compression fails. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_HC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_HC(byte* src, byte* dst, int srcSize, int dstCapacity, int compressionLevel); + public static extern int LZ4_compress_HC(byte** src, byte** dst, int srcSize, int dstCapacity, int compressionLevel); /// LZ4_compress_HC_extStateHC() : Same as LZ4_compress_HC(), but using an externally allocated memory segment for `state`. `state` size is provided by LZ4_sizeofStateHC(). Memory segment must be aligned on 8-bytes boundaries (which a normal malloc() should do properly). [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_sizeofStateHC", CallingConvention = CallingConvention.Cdecl)] public static extern int LZ4_sizeofStateHC(); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_HC_extStateHC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_HC_extStateHC(void* stateHC, byte* src, byte* dst, int srcSize, int maxDstSize, int compressionLevel); + public static extern int LZ4_compress_HC_extStateHC(void* stateHC, byte** src, byte** dst, int srcSize, int maxDstSize, int compressionLevel); /// LZ4_compress_HC_destSize() : v1.9.0+ Will compress as much data as possible from `src` to fit into `targetDstSize` budget. Result is provided in 2 parts : @return : the number of bytes written into 'dst' (necessarily <= targetDstSize) or 0 if compression fails. `srcSizePtr` : on success, *srcSizePtr is updated to indicate how much bytes were read from `src` [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_HC_destSize", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_HC_destSize(void* stateHC, byte* src, byte* dst, int* srcSizePtr, int targetDstSize, int compressionLevel); + public static extern int LZ4_compress_HC_destSize(void* stateHC, byte** src, byte** dst, int* srcSizePtr, int targetDstSize, int compressionLevel); /// LZ4_createStreamHC() and LZ4_freeStreamHC() : These functions create and release memory for LZ4 HC streaming state. Newly created states are automatically initialized. A same state can be used multiple times consecutively, starting with LZ4_resetStreamHC_fast() to start a new stream of blocks. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_createStreamHC", CallingConvention = CallingConvention.Cdecl)] @@ -190,71 +190,71 @@ namespace CsBindgen public static extern void LZ4_resetStreamHC_fast(LZ4_streamHC_u* streamHCPtr, int compressionLevel); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_loadDictHC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_loadDictHC(LZ4_streamHC_u* streamHCPtr, byte* dictionary, int dictSize); + public static extern int LZ4_loadDictHC(LZ4_streamHC_u* streamHCPtr, byte** dictionary, int dictSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_HC_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_HC_continue(LZ4_streamHC_u* streamHCPtr, byte* src, byte* dst, int srcSize, int maxDstSize); + public static extern int LZ4_compress_HC_continue(LZ4_streamHC_u* streamHCPtr, byte** src, byte** dst, int srcSize, int maxDstSize); /// LZ4_compress_HC_continue_destSize() : v1.9.0+ Similar to LZ4_compress_HC_continue(), but will read as much data as possible from `src` to fit into `targetDstSize` budget. Result is provided into 2 parts : @return : the number of bytes written into 'dst' (necessarily <= targetDstSize) or 0 if compression fails. `srcSizePtr` : on success, *srcSizePtr will be updated to indicate how much bytes were read from `src`. Note that this function may not consume the entire input. [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compress_HC_continue_destSize", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compress_HC_continue_destSize(LZ4_streamHC_u* LZ4_streamHCPtr, byte* src, byte* dst, int* srcSizePtr, int targetDstSize); + public static extern int LZ4_compress_HC_continue_destSize(LZ4_streamHC_u* LZ4_streamHCPtr, byte** src, byte** dst, int* srcSizePtr, int targetDstSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_saveDictHC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_saveDictHC(LZ4_streamHC_u* streamHCPtr, byte* safeBuffer, int maxDictSize); + public static extern int LZ4_saveDictHC(LZ4_streamHC_u* streamHCPtr, byte** safeBuffer, int maxDictSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_initStreamHC", CallingConvention = CallingConvention.Cdecl)] public static extern LZ4_streamHC_u* LZ4_initStreamHC(void* buffer, UIntPtr size); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC(byte* source, byte* dest, int inputSize); + public static extern int LZ4_compressHC(byte** source, byte** dest, int inputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC_limitedOutput", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC_limitedOutput(byte* source, byte* dest, int inputSize, int maxOutputSize); + public static extern int LZ4_compressHC_limitedOutput(byte** source, byte** dest, int inputSize, int maxOutputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC2", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC2(byte* source, byte* dest, int inputSize, int compressionLevel); + public static extern int LZ4_compressHC2(byte** source, byte** dest, int inputSize, int compressionLevel); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC2_limitedOutput", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC2_limitedOutput(byte* source, byte* dest, int inputSize, int maxOutputSize, int compressionLevel); + public static extern int LZ4_compressHC2_limitedOutput(byte** source, byte** dest, int inputSize, int maxOutputSize, int compressionLevel); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC_withStateHC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC_withStateHC(void* state, byte* source, byte* dest, int inputSize); + public static extern int LZ4_compressHC_withStateHC(void* state, byte** source, byte** dest, int inputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC_limitedOutput_withStateHC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC_limitedOutput_withStateHC(void* state, byte* source, byte* dest, int inputSize, int maxOutputSize); + public static extern int LZ4_compressHC_limitedOutput_withStateHC(void* state, byte** source, byte** dest, int inputSize, int maxOutputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC2_withStateHC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC2_withStateHC(void* state, byte* source, byte* dest, int inputSize, int compressionLevel); + public static extern int LZ4_compressHC2_withStateHC(void* state, byte** source, byte** dest, int inputSize, int compressionLevel); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC2_limitedOutput_withStateHC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC2_limitedOutput_withStateHC(void* state, byte* source, byte* dest, int inputSize, int maxOutputSize, int compressionLevel); + public static extern int LZ4_compressHC2_limitedOutput_withStateHC(void* state, byte** source, byte** dest, int inputSize, int maxOutputSize, int compressionLevel); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC_continue(LZ4_streamHC_u* LZ4_streamHCPtr, byte* source, byte* dest, int inputSize); + public static extern int LZ4_compressHC_continue(LZ4_streamHC_u* LZ4_streamHCPtr, byte** source, byte** dest, int inputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC_limitedOutput_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC_limitedOutput_continue(LZ4_streamHC_u* LZ4_streamHCPtr, byte* source, byte* dest, int inputSize, int maxOutputSize); + public static extern int LZ4_compressHC_limitedOutput_continue(LZ4_streamHC_u* LZ4_streamHCPtr, byte** source, byte** dest, int inputSize, int maxOutputSize); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_createHC", CallingConvention = CallingConvention.Cdecl)] - public static extern void* LZ4_createHC(byte* inputBuffer); + public static extern void* LZ4_createHC(byte** inputBuffer); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_freeHC", CallingConvention = CallingConvention.Cdecl)] public static extern int LZ4_freeHC(void* LZ4HC_Data); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_slideInputBufferHC", CallingConvention = CallingConvention.Cdecl)] - public static extern byte* LZ4_slideInputBufferHC(void* LZ4HC_Data); + public static extern byte** LZ4_slideInputBufferHC(void* LZ4HC_Data); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC2_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC2_continue(void* LZ4HC_Data, byte* source, byte* dest, int inputSize, int compressionLevel); + public static extern int LZ4_compressHC2_continue(void* LZ4HC_Data, byte** source, byte** dest, int inputSize, int compressionLevel); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_compressHC2_limitedOutput_continue", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_compressHC2_limitedOutput_continue(void* LZ4HC_Data, byte* source, byte* dest, int inputSize, int maxOutputSize, int compressionLevel); + public static extern int LZ4_compressHC2_limitedOutput_continue(void* LZ4HC_Data, byte** source, byte** dest, int inputSize, int maxOutputSize, int compressionLevel); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_sizeofStreamStateHC", CallingConvention = CallingConvention.Cdecl)] public static extern int LZ4_sizeofStreamStateHC(); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_resetStreamStateHC", CallingConvention = CallingConvention.Cdecl)] - public static extern int LZ4_resetStreamStateHC(void* state, byte* inputBuffer); + public static extern int LZ4_resetStreamStateHC(void* state, byte** inputBuffer); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4_resetStreamHC", CallingConvention = CallingConvention.Cdecl)] public static extern void LZ4_resetStreamHC(LZ4_streamHC_u* streamHCPtr, int compressionLevel); @@ -263,7 +263,7 @@ namespace CsBindgen public static extern uint LZ4F_isError(UIntPtr code); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4F_getErrorName", CallingConvention = CallingConvention.Cdecl)] - public static extern byte* LZ4F_getErrorName(UIntPtr code); + public static extern byte** LZ4F_getErrorName(UIntPtr code); [DllImport(__DllName, EntryPoint = "csbindgen_LZ4F_compressionLevel_max", CallingConvention = CallingConvention.Cdecl)] public static extern int LZ4F_compressionLevel_max(); @@ -332,70 +332,6 @@ namespace CsBindgen } - [StructLayout(LayoutKind.Sequential)] - public unsafe partial struct LZ4_stream_t_internal - { - public fixed uint hashTable[4096]; - public byte* dictionary; - public LZ4_stream_t_internal* dictCtx; - public uint currentOffset; - public uint tableType; - public uint dictSize; - } - - [StructLayout(LayoutKind.Explicit)] - public unsafe partial struct LZ4_stream_u - { - [FieldOffset(0)] - public fixed byte minStateSize[16416]; - [FieldOffset(0)] - public LZ4_stream_t_internal internal_donotuse; - } - - [StructLayout(LayoutKind.Sequential)] - public unsafe partial struct LZ4_streamDecode_t_internal - { - public byte* externalDict; - public byte* prefixEnd; - public UIntPtr extDictSize; - public UIntPtr prefixSize; - } - - [StructLayout(LayoutKind.Explicit)] - public unsafe partial struct LZ4_streamDecode_u - { - [FieldOffset(0)] - public fixed byte minStateSize[32]; - [FieldOffset(0)] - public LZ4_streamDecode_t_internal internal_donotuse; - } - - [StructLayout(LayoutKind.Sequential)] - public unsafe partial struct LZ4HC_CCtx_internal - { - public fixed uint hashTable[32768]; - public fixed ushort chainTable[65536]; - public byte* end; - public byte* prefixStart; - public byte* dictStart; - public uint dictLimit; - public uint lowLimit; - public uint nextToUpdate; - public short compressionLevel; - public sbyte favorDecSpeed; - public sbyte dirty; - public LZ4HC_CCtx_internal* dictCtx; - } - - [StructLayout(LayoutKind.Explicit)] - public unsafe partial struct LZ4_streamHC_u - { - [FieldOffset(0)] - public fixed byte minStateSize[262200]; - [FieldOffset(0)] - public LZ4HC_CCtx_internal internal_donotuse; - } - [StructLayout(LayoutKind.Sequential)] public unsafe partial struct LZ4F_frameInfo_t { @@ -418,12 +354,6 @@ namespace CsBindgen public fixed uint reserved[3]; } - [StructLayout(LayoutKind.Sequential)] - public unsafe partial struct LZ4F_cctx_s - { - public fixed byte _unused[1]; - } - [StructLayout(LayoutKind.Sequential)] public unsafe partial struct LZ4F_compressOptions_t { @@ -431,12 +361,6 @@ namespace CsBindgen public fixed uint reserved[3]; } - [StructLayout(LayoutKind.Sequential)] - public unsafe partial struct LZ4F_dctx_s - { - public fixed byte _unused[1]; - } - [StructLayout(LayoutKind.Sequential)] public unsafe partial struct LZ4F_decompressOptions_t { diff --git a/dotnet-sandbox/quiche_bindgen.cs b/dotnet-sandbox/quiche_bindgen.cs new file mode 100644 index 0000000..29de5ed --- /dev/null +++ b/dotnet-sandbox/quiche_bindgen.cs @@ -0,0 +1,560 @@ +// +// This code is generated by csbindgen. +// DON'T CHANGE THIS DIRECTLY. +// +using System; +using System.Runtime.InteropServices; + +namespace CsBindgen +{ + internal static unsafe partial class LibQuiche + { + const string __DllName = "libquiche"; + + [DllImport(__DllName, EntryPoint = "quiche_version", CallingConvention = CallingConvention.Cdecl)] + public static extern byte** quiche_version(); + + [DllImport(__DllName, EntryPoint = "quiche_enable_debug_logging", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_enable_debug_logging(delegate* unmanaged[Cdecl] cb, void** argp); + + [DllImport(__DllName, EntryPoint = "quiche_config_new", CallingConvention = CallingConvention.Cdecl)] + public static extern quiche_config* quiche_config_new(uint version); + + [DllImport(__DllName, EntryPoint = "quiche_config_load_cert_chain_from_pem_file", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_config_load_cert_chain_from_pem_file(quiche_config* config, byte** path); + + [DllImport(__DllName, EntryPoint = "quiche_config_load_priv_key_from_pem_file", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_config_load_priv_key_from_pem_file(quiche_config* config, byte** path); + + [DllImport(__DllName, EntryPoint = "quiche_config_load_verify_locations_from_file", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_config_load_verify_locations_from_file(quiche_config* config, byte** path); + + [DllImport(__DllName, EntryPoint = "quiche_config_load_verify_locations_from_directory", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_config_load_verify_locations_from_directory(quiche_config* config, byte** path); + + [DllImport(__DllName, EntryPoint = "quiche_config_verify_peer", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_verify_peer(quiche_config* config, [MarshalAs(UnmanagedType.U1)] bool v); + + [DllImport(__DllName, EntryPoint = "quiche_config_grease", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_grease(quiche_config* config, [MarshalAs(UnmanagedType.U1)] bool v); + + [DllImport(__DllName, EntryPoint = "quiche_config_log_keys", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_log_keys(quiche_config* config); + + [DllImport(__DllName, EntryPoint = "quiche_config_enable_early_data", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_enable_early_data(quiche_config* config); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_application_protos", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_config_set_application_protos(quiche_config* config, byte* protos, UIntPtr protos_len); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_max_idle_timeout", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_max_idle_timeout(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_max_recv_udp_payload_size", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_max_recv_udp_payload_size(quiche_config* config, UIntPtr v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_max_send_udp_payload_size", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_max_send_udp_payload_size(quiche_config* config, UIntPtr v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_initial_max_data", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_initial_max_data(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_initial_max_stream_data_bidi_local", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_initial_max_stream_data_bidi_local(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_initial_max_stream_data_bidi_remote", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_initial_max_stream_data_bidi_remote(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_initial_max_stream_data_uni", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_initial_max_stream_data_uni(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_initial_max_streams_bidi", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_initial_max_streams_bidi(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_initial_max_streams_uni", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_initial_max_streams_uni(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_ack_delay_exponent", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_ack_delay_exponent(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_max_ack_delay", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_max_ack_delay(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_disable_active_migration", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_disable_active_migration(quiche_config* config, [MarshalAs(UnmanagedType.U1)] bool v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_cc_algorithm", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_cc_algorithm(quiche_config* config, int algo); + + [DllImport(__DllName, EntryPoint = "quiche_config_enable_hystart", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_enable_hystart(quiche_config* config, [MarshalAs(UnmanagedType.U1)] bool v); + + [DllImport(__DllName, EntryPoint = "quiche_config_enable_pacing", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_enable_pacing(quiche_config* config, [MarshalAs(UnmanagedType.U1)] bool v); + + [DllImport(__DllName, EntryPoint = "quiche_config_enable_dgram", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_enable_dgram(quiche_config* config, [MarshalAs(UnmanagedType.U1)] bool enabled, UIntPtr recv_queue_len, UIntPtr send_queue_len); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_max_connection_window", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_max_connection_window(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_max_stream_window", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_max_stream_window(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_active_connection_id_limit", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_active_connection_id_limit(quiche_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_config_set_stateless_reset_token", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_set_stateless_reset_token(quiche_config* config, byte* v); + + [DllImport(__DllName, EntryPoint = "quiche_config_free", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_config_free(quiche_config* config); + + [DllImport(__DllName, EntryPoint = "quiche_header_info", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_header_info(byte* buf, UIntPtr buf_len, UIntPtr dcil, uint* version, byte* type_, byte* scid, UIntPtr* scid_len, byte* dcid, UIntPtr* dcid_len, byte* token, UIntPtr* token_len); + + [DllImport(__DllName, EntryPoint = "quiche_accept", CallingConvention = CallingConvention.Cdecl)] + public static extern quiche_conn* quiche_accept(byte* scid, UIntPtr scid_len, byte* odcid, UIntPtr odcid_len, sockaddr* local, UIntPtr local_len, sockaddr* peer, UIntPtr peer_len, quiche_config* config); + + [DllImport(__DllName, EntryPoint = "quiche_connect", CallingConvention = CallingConvention.Cdecl)] + public static extern quiche_conn* quiche_connect(byte** server_name, byte* scid, UIntPtr scid_len, sockaddr* local, UIntPtr local_len, sockaddr* peer, UIntPtr peer_len, quiche_config* config); + + [DllImport(__DllName, EntryPoint = "quiche_negotiate_version", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_negotiate_version(byte* scid, UIntPtr scid_len, byte* dcid, UIntPtr dcid_len, byte* @out, UIntPtr out_len); + + [DllImport(__DllName, EntryPoint = "quiche_retry", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_retry(byte* scid, UIntPtr scid_len, byte* dcid, UIntPtr dcid_len, byte* new_scid, UIntPtr new_scid_len, byte* token, UIntPtr token_len, uint version, byte* @out, UIntPtr out_len); + + [DllImport(__DllName, EntryPoint = "quiche_version_is_supported", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_version_is_supported(uint version); + + [DllImport(__DllName, EntryPoint = "quiche_conn_new_with_tls", CallingConvention = CallingConvention.Cdecl)] + public static extern quiche_conn* quiche_conn_new_with_tls(byte* scid, UIntPtr scid_len, byte* odcid, UIntPtr odcid_len, sockaddr* local, UIntPtr local_len, sockaddr* peer, UIntPtr peer_len, quiche_config* config, void** ssl, [MarshalAs(UnmanagedType.U1)] bool is_server); + + [DllImport(__DllName, EntryPoint = "quiche_conn_set_keylog_path", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_set_keylog_path(quiche_conn* conn, byte** path); + + [DllImport(__DllName, EntryPoint = "quiche_conn_set_keylog_fd", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_set_keylog_fd(quiche_conn* conn, int fd); + + [DllImport(__DllName, EntryPoint = "quiche_conn_set_qlog_path", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_set_qlog_path(quiche_conn* conn, byte** path, byte** log_title, byte** log_desc); + + [DllImport(__DllName, EntryPoint = "quiche_conn_set_qlog_fd", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_set_qlog_fd(quiche_conn* conn, int fd, byte** log_title, byte** log_desc); + + [DllImport(__DllName, EntryPoint = "quiche_conn_set_session", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_conn_set_session(quiche_conn* conn, byte* buf, UIntPtr buf_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_recv", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_recv(quiche_conn* conn, byte* buf, UIntPtr buf_len, quiche_recv_info* info); + + [DllImport(__DllName, EntryPoint = "quiche_conn_send", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_send(quiche_conn* conn, byte* @out, UIntPtr out_len, quiche_send_info* out_info); + + [DllImport(__DllName, EntryPoint = "quiche_conn_send_quantum", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr quiche_conn_send_quantum(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_recv", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_stream_recv(quiche_conn* conn, ulong stream_id, byte* @out, UIntPtr buf_len, bool* fin); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_send", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_stream_send(quiche_conn* conn, ulong stream_id, byte* buf, UIntPtr buf_len, [MarshalAs(UnmanagedType.U1)] bool fin); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_priority", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_conn_stream_priority(quiche_conn* conn, ulong stream_id, byte urgency, [MarshalAs(UnmanagedType.U1)] bool incremental); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_shutdown", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_conn_stream_shutdown(quiche_conn* conn, ulong stream_id, int direction, ulong err); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_capacity", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_stream_capacity(quiche_conn* conn, ulong stream_id); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_readable", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_stream_readable(quiche_conn* conn, ulong stream_id); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_readable_next", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_stream_readable_next(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_writable", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_conn_stream_writable(quiche_conn* conn, ulong stream_id, UIntPtr len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_writable_next", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_stream_writable_next(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_finished", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_stream_finished(quiche_conn* conn, ulong stream_id); + + [DllImport(__DllName, EntryPoint = "quiche_conn_readable", CallingConvention = CallingConvention.Cdecl)] + public static extern quiche_stream_iter* quiche_conn_readable(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_writable", CallingConvention = CallingConvention.Cdecl)] + public static extern quiche_stream_iter* quiche_conn_writable(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_max_send_udp_payload_size", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr quiche_conn_max_send_udp_payload_size(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_timeout_as_nanos", CallingConvention = CallingConvention.Cdecl)] + public static extern ulong quiche_conn_timeout_as_nanos(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_timeout_as_millis", CallingConvention = CallingConvention.Cdecl)] + public static extern ulong quiche_conn_timeout_as_millis(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_on_timeout", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_on_timeout(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_close", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_conn_close(quiche_conn* conn, [MarshalAs(UnmanagedType.U1)] bool app, ulong err, byte* reason, UIntPtr reason_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_trace_id", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_trace_id(quiche_conn* conn, byte** @out, UIntPtr* out_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_source_id", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_source_id(quiche_conn* conn, byte** @out, UIntPtr* out_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_destination_id", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_destination_id(quiche_conn* conn, byte** @out, UIntPtr* out_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_application_proto", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_application_proto(quiche_conn* conn, byte** @out, UIntPtr* out_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_peer_cert", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_peer_cert(quiche_conn* conn, byte** @out, UIntPtr* out_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_session", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_session(quiche_conn* conn, byte** @out, UIntPtr* out_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_is_established", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_is_established(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_is_in_early_data", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_is_in_early_data(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_is_readable", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_is_readable(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_is_draining", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_is_draining(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_peer_streams_left_bidi", CallingConvention = CallingConvention.Cdecl)] + public static extern ulong quiche_conn_peer_streams_left_bidi(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_peer_streams_left_uni", CallingConvention = CallingConvention.Cdecl)] + public static extern ulong quiche_conn_peer_streams_left_uni(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_is_closed", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_is_closed(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_is_timed_out", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_is_timed_out(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_peer_error", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_peer_error(quiche_conn* conn, bool* is_app, ulong* error_code, byte** reason, UIntPtr* reason_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_local_error", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_conn_local_error(quiche_conn* conn, bool* is_app, ulong* error_code, byte** reason, UIntPtr* reason_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_init_application_data", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_conn_stream_init_application_data(quiche_conn* conn, ulong stream_id, void** data); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stream_application_data", CallingConvention = CallingConvention.Cdecl)] + public static extern void** quiche_conn_stream_application_data(quiche_conn* conn, ulong stream_id); + + [DllImport(__DllName, EntryPoint = "quiche_stream_iter_next", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_stream_iter_next(quiche_stream_iter* iter, ulong* stream_id); + + [DllImport(__DllName, EntryPoint = "quiche_stream_iter_free", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_stream_iter_free(quiche_stream_iter* iter); + + [DllImport(__DllName, EntryPoint = "quiche_conn_stats", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_stats(quiche_conn* conn, quiche_stats* @out); + + [DllImport(__DllName, EntryPoint = "quiche_conn_path_stats", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_conn_path_stats(quiche_conn* conn, UIntPtr idx, quiche_path_stats* @out); + + [DllImport(__DllName, EntryPoint = "quiche_conn_dgram_max_writable_len", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_dgram_max_writable_len(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_dgram_recv_front_len", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_dgram_recv_front_len(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_dgram_recv_queue_len", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_dgram_recv_queue_len(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_dgram_recv_queue_byte_size", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_dgram_recv_queue_byte_size(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_dgram_send_queue_len", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_dgram_send_queue_len(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_dgram_send_queue_byte_size", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_dgram_send_queue_byte_size(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_dgram_recv", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_dgram_recv(quiche_conn* conn, byte* buf, UIntPtr buf_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_dgram_send", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_dgram_send(quiche_conn* conn, byte* buf, UIntPtr buf_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_dgram_purge_outgoing", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_dgram_purge_outgoing(quiche_conn* conn, delegate* unmanaged[Cdecl] f); + + [DllImport(__DllName, EntryPoint = "quiche_conn_send_ack_eliciting", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_send_ack_eliciting(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_conn_send_ack_eliciting_on_path", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_conn_send_ack_eliciting_on_path(quiche_conn* conn, sockaddr* local, UIntPtr local_len, sockaddr* peer, UIntPtr peer_len); + + [DllImport(__DllName, EntryPoint = "quiche_conn_free", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_conn_free(quiche_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_h3_config_new", CallingConvention = CallingConvention.Cdecl)] + public static extern quiche_h3_config* quiche_h3_config_new(); + + [DllImport(__DllName, EntryPoint = "quiche_h3_config_set_max_field_section_size", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_h3_config_set_max_field_section_size(quiche_h3_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_h3_config_set_qpack_max_table_capacity", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_h3_config_set_qpack_max_table_capacity(quiche_h3_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_h3_config_set_qpack_blocked_streams", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_h3_config_set_qpack_blocked_streams(quiche_h3_config* config, ulong v); + + [DllImport(__DllName, EntryPoint = "quiche_h3_config_enable_extended_connect", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_h3_config_enable_extended_connect(quiche_h3_config* config, [MarshalAs(UnmanagedType.U1)] bool enabled); + + [DllImport(__DllName, EntryPoint = "quiche_h3_config_free", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_h3_config_free(quiche_h3_config* config); + + [DllImport(__DllName, EntryPoint = "quiche_h3_accept", CallingConvention = CallingConvention.Cdecl)] + public static extern quiche_h3_conn* quiche_h3_accept(quiche_conn* quiche_conn, quiche_h3_config* config); + + [DllImport(__DllName, EntryPoint = "quiche_h3_conn_new_with_transport", CallingConvention = CallingConvention.Cdecl)] + public static extern quiche_h3_conn* quiche_h3_conn_new_with_transport(quiche_conn* quiche_conn, quiche_h3_config* config); + + [DllImport(__DllName, EntryPoint = "quiche_h3_conn_poll", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_h3_conn_poll(quiche_h3_conn* conn, quiche_conn* quic_conn, quiche_h3_event** ev); + + [DllImport(__DllName, EntryPoint = "quiche_h3_event_type", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_h3_event_type(quiche_h3_event* ev); + + [DllImport(__DllName, EntryPoint = "quiche_h3_event_for_each_header", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_h3_event_for_each_header(quiche_h3_event* ev, delegate* unmanaged[Cdecl] cb, void** argp); + + [DllImport(__DllName, EntryPoint = "quiche_h3_for_each_setting", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_h3_for_each_setting(quiche_h3_conn* conn, delegate* unmanaged[Cdecl] cb, void** argp); + + [DllImport(__DllName, EntryPoint = "quiche_h3_event_headers_has_body", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_h3_event_headers_has_body(quiche_h3_event* ev); + + [DllImport(__DllName, EntryPoint = "quiche_h3_extended_connect_enabled_by_peer", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_h3_extended_connect_enabled_by_peer(quiche_h3_conn* conn); + + [DllImport(__DllName, EntryPoint = "quiche_h3_event_free", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_h3_event_free(quiche_h3_event* ev); + + [DllImport(__DllName, EntryPoint = "quiche_h3_send_request", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_h3_send_request(quiche_h3_conn* conn, quiche_conn* quic_conn, quiche_h3_header* headers, UIntPtr headers_len, [MarshalAs(UnmanagedType.U1)] bool fin); + + [DllImport(__DllName, EntryPoint = "quiche_h3_send_response", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_h3_send_response(quiche_h3_conn* conn, quiche_conn* quic_conn, ulong stream_id, quiche_h3_header* headers, UIntPtr headers_len, [MarshalAs(UnmanagedType.U1)] bool fin); + + [DllImport(__DllName, EntryPoint = "quiche_h3_send_response_with_priority", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_h3_send_response_with_priority(quiche_h3_conn* conn, quiche_conn* quic_conn, ulong stream_id, quiche_h3_header* headers, UIntPtr headers_len, quiche_h3_priority* priority, [MarshalAs(UnmanagedType.U1)] bool fin); + + [DllImport(__DllName, EntryPoint = "quiche_h3_send_body", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_h3_send_body(quiche_h3_conn* conn, quiche_conn* quic_conn, ulong stream_id, byte* body, UIntPtr body_len, [MarshalAs(UnmanagedType.U1)] bool fin); + + [DllImport(__DllName, EntryPoint = "quiche_h3_recv_body", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_h3_recv_body(quiche_h3_conn* conn, quiche_conn* quic_conn, ulong stream_id, byte* @out, UIntPtr out_len); + + [DllImport(__DllName, EntryPoint = "quiche_h3_parse_extensible_priority", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_h3_parse_extensible_priority(byte* priority, UIntPtr priority_len, quiche_h3_priority* parsed); + + /// Sends a PRIORITY_UPDATE frame on the control stream with specified request stream ID and priority. + [DllImport(__DllName, EntryPoint = "quiche_h3_send_priority_update_for_request", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_h3_send_priority_update_for_request(quiche_h3_conn* conn, quiche_conn* quic_conn, ulong stream_id, quiche_h3_priority* priority); + + [DllImport(__DllName, EntryPoint = "quiche_h3_take_last_priority_update", CallingConvention = CallingConvention.Cdecl)] + public static extern int quiche_h3_take_last_priority_update(quiche_h3_conn* conn, ulong prioritized_element_id, delegate* unmanaged[Cdecl] cb, void** argp); + + [DllImport(__DllName, EntryPoint = "quiche_h3_dgram_enabled_by_peer", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.U1)] + public static extern bool quiche_h3_dgram_enabled_by_peer(quiche_h3_conn* conn, quiche_conn* quic_conn); + + [DllImport(__DllName, EntryPoint = "quiche_h3_send_dgram", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_h3_send_dgram(quiche_h3_conn* conn, quiche_conn* quic_conn, ulong flow_id, byte* data, UIntPtr data_len); + + [DllImport(__DllName, EntryPoint = "quiche_h3_recv_dgram", CallingConvention = CallingConvention.Cdecl)] + public static extern long quiche_h3_recv_dgram(quiche_h3_conn* conn, quiche_conn* quic_conn, ulong* flow_id, UIntPtr* flow_id_len, byte* @out, UIntPtr out_len); + + [DllImport(__DllName, EntryPoint = "quiche_h3_conn_free", CallingConvention = CallingConvention.Cdecl)] + public static extern void quiche_h3_conn_free(quiche_h3_conn* conn); + + + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct sockaddr + { + public ushort sa_family; + public fixed byte sa_data[14]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct sockaddr_storage + { + public ushort ss_family; + public fixed byte __ss_pad1[6]; + public long __ss_align; + public fixed byte __ss_pad2[112]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct timespec + { + public long tv_sec; + public int* tv_nsec; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_config + { + public fixed byte _unused[1]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_conn + { + public fixed byte _unused[1]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_recv_info + { + public sockaddr* from; + public int from_len; + public sockaddr* to; + public int to_len; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_send_info + { + public sockaddr_storage from; + public int from_len; + public sockaddr_storage to; + public int to_len; + public timespec at; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_stream_iter + { + public fixed byte _unused[1]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_stats + { + public UIntPtr recv; + public UIntPtr sent; + public UIntPtr lost; + public UIntPtr retrans; + public ulong sent_bytes; + public ulong recv_bytes; + public ulong lost_bytes; + public ulong stream_retrans_bytes; + public UIntPtr paths_count; + public ulong peer_max_idle_timeout; + public ulong peer_max_udp_payload_size; + public ulong peer_initial_max_data; + public ulong peer_initial_max_stream_data_bidi_local; + public ulong peer_initial_max_stream_data_bidi_remote; + public ulong peer_initial_max_stream_data_uni; + public ulong peer_initial_max_streams_bidi; + public ulong peer_initial_max_streams_uni; + public ulong peer_ack_delay_exponent; + public ulong peer_max_ack_delay; + [MarshalAs(UnmanagedType.U1)] public bool peer_disable_active_migration; + public ulong peer_active_conn_id_limit; + public long peer_max_datagram_frame_size; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_path_stats + { + public sockaddr_storage local_addr; + public int local_addr_len; + public sockaddr_storage peer_addr; + public int peer_addr_len; + public long validation_state; + [MarshalAs(UnmanagedType.U1)] public bool active; + public UIntPtr recv; + public UIntPtr sent; + public UIntPtr lost; + public UIntPtr retrans; + public ulong rtt; + public UIntPtr cwnd; + public ulong sent_bytes; + public ulong recv_bytes; + public ulong lost_bytes; + public ulong stream_retrans_bytes; + public UIntPtr pmtu; + public ulong delivery_rate; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_h3_config + { + public fixed byte _unused[1]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_h3_conn + { + public fixed byte _unused[1]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_h3_event + { + public fixed byte _unused[1]; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_h3_header + { + public byte* name; + public UIntPtr name_len; + public byte* value; + public UIntPtr value_len; + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct quiche_h3_priority + { + public byte urgency; + [MarshalAs(UnmanagedType.U1)] public bool incremental; + } + + + +} + \ No newline at end of file diff --git a/dotnet-sandbox/zstd_bindgen.cs b/dotnet-sandbox/zstd_bindgen.cs new file mode 100644 index 0000000..a55d2e6 --- /dev/null +++ b/dotnet-sandbox/zstd_bindgen.cs @@ -0,0 +1,268 @@ +// +// This code is generated by csbindgen. +// DON'T CHANGE THIS DIRECTLY. +// +using System; +using System.Runtime.InteropServices; + +namespace CsBindgen +{ + internal static unsafe partial class LibZstd + { + const string __DllName = "libzsd"; + + /// ZSTD_versionNumber() : Return runtime library version, the value is (MAJOR*100*100 + MINOR*100 + RELEASE). + [DllImport(__DllName, EntryPoint = "ZSTD_versionNumber", CallingConvention = CallingConvention.Cdecl)] + public static extern uint ZSTD_versionNumber(); + + /// ZSTD_versionString() : Return runtime library version, like \"1.4.5\". Requires v1.3.0+. + [DllImport(__DllName, EntryPoint = "ZSTD_versionString", CallingConvention = CallingConvention.Cdecl)] + public static extern byte** ZSTD_versionString(); + + /// Simple API//*! ZSTD_compress() : Compresses `src` content as a single zstd compressed frame into already allocated `dst`. Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`. @return : compressed size written into `dst` (<= `dstCapacity), or an error code if it fails (which can be tested using ZSTD_isError()). + [DllImport(__DllName, EntryPoint = "ZSTD_compress", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_compress(void* dst, UIntPtr dstCapacity, void* src, UIntPtr srcSize, int compressionLevel); + + /// ZSTD_decompress() : `compressedSize` : must be the _exact_ size of some number of compressed and/or skippable frames. `dstCapacity` is an upper bound of originalSize to regenerate. If user cannot imply a maximum upper bound, it's better to use streaming mode to decompress data. @return : the number of bytes decompressed into `dst` (<= `dstCapacity`), or an errorCode if it fails (which can be tested using ZSTD_isError()). + [DllImport(__DllName, EntryPoint = "ZSTD_decompress", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_decompress(void* dst, UIntPtr dstCapacity, void* src, UIntPtr compressedSize); + + [DllImport(__DllName, EntryPoint = "ZSTD_getFrameContentSize", CallingConvention = CallingConvention.Cdecl)] + public static extern ulong ZSTD_getFrameContentSize(void* src, UIntPtr srcSize); + + /// ZSTD_getDecompressedSize() : NOTE: This function is now obsolete, in favor of ZSTD_getFrameContentSize(). Both functions work the same way, but ZSTD_getDecompressedSize() blends \"empty\", \"unknown\" and \"error\" results to the same return value (0), while ZSTD_getFrameContentSize() gives them separate return values. @return : decompressed size of `src` frame content _if known and not empty_, 0 otherwise. + [DllImport(__DllName, EntryPoint = "ZSTD_getDecompressedSize", CallingConvention = CallingConvention.Cdecl)] + public static extern ulong ZSTD_getDecompressedSize(void* src, UIntPtr srcSize); + + /// ZSTD_findFrameCompressedSize() : Requires v1.4.0+ `src` should point to the start of a ZSTD frame or skippable frame. `srcSize` must be >= first frame size @return : the compressed size of the first frame starting at `src`, suitable to pass as `srcSize` to `ZSTD_decompress` or similar, or an error code if input is invalid + [DllImport(__DllName, EntryPoint = "ZSTD_findFrameCompressedSize", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_findFrameCompressedSize(void* src, UIntPtr srcSize); + + [DllImport(__DllName, EntryPoint = "ZSTD_compressBound", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_compressBound(UIntPtr srcSize); + + [DllImport(__DllName, EntryPoint = "ZSTD_isError", CallingConvention = CallingConvention.Cdecl)] + public static extern uint ZSTD_isError(UIntPtr code); + + [DllImport(__DllName, EntryPoint = "ZSTD_getErrorName", CallingConvention = CallingConvention.Cdecl)] + public static extern byte** ZSTD_getErrorName(UIntPtr code); + + [DllImport(__DllName, EntryPoint = "ZSTD_minCLevel", CallingConvention = CallingConvention.Cdecl)] + public static extern int ZSTD_minCLevel(); + + [DllImport(__DllName, EntryPoint = "ZSTD_maxCLevel", CallingConvention = CallingConvention.Cdecl)] + public static extern int ZSTD_maxCLevel(); + + [DllImport(__DllName, EntryPoint = "ZSTD_defaultCLevel", CallingConvention = CallingConvention.Cdecl)] + public static extern int ZSTD_defaultCLevel(); + + [DllImport(__DllName, EntryPoint = "ZSTD_createCCtx", CallingConvention = CallingConvention.Cdecl)] + public static extern ZSTD_CCtx_s* ZSTD_createCCtx(); + + [DllImport(__DllName, EntryPoint = "ZSTD_freeCCtx", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_freeCCtx(ZSTD_CCtx_s* cctx); + + /// ZSTD_compressCCtx() : Same as ZSTD_compress(), using an explicit ZSTD_CCtx. Important : in order to behave similarly to `ZSTD_compress()`, this function compresses at requested compression level, __ignoring any other parameter__ . If any advanced parameter was set using the advanced API, they will all be reset. Only `compressionLevel` remains. + [DllImport(__DllName, EntryPoint = "ZSTD_compressCCtx", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_compressCCtx(ZSTD_CCtx_s* cctx, void* dst, UIntPtr dstCapacity, void* src, UIntPtr srcSize, int compressionLevel); + + [DllImport(__DllName, EntryPoint = "ZSTD_createDCtx", CallingConvention = CallingConvention.Cdecl)] + public static extern ZSTD_DCtx_s* ZSTD_createDCtx(); + + [DllImport(__DllName, EntryPoint = "ZSTD_freeDCtx", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_freeDCtx(ZSTD_DCtx_s* dctx); + + /// ZSTD_decompressDCtx() : Same as ZSTD_decompress(), requires an allocated ZSTD_DCtx. Compatible with sticky parameters. + [DllImport(__DllName, EntryPoint = "ZSTD_decompressDCtx", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_decompressDCtx(ZSTD_DCtx_s* dctx, void* dst, UIntPtr dstCapacity, void* src, UIntPtr srcSize); + + /// ZSTD_cParam_getBounds() : All parameters must belong to an interval with lower and upper bounds, otherwise they will either trigger an error or be automatically clamped. @return : a structure, ZSTD_bounds, which contains - an error status field, which must be tested using ZSTD_isError() - lower and upper bounds, both inclusive + [DllImport(__DllName, EntryPoint = "ZSTD_cParam_getBounds", CallingConvention = CallingConvention.Cdecl)] + public static extern ZSTD_bounds ZSTD_cParam_getBounds(int cParam); + + /// ZSTD_CCtx_setParameter() : Set one compression parameter, selected by enum ZSTD_cParameter. All parameters have valid bounds. Bounds can be queried using ZSTD_cParam_getBounds(). Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter). Setting a parameter is generally only possible during frame initialization (before starting compression). Exception : when using multi-threading mode (nbWorkers >= 1), the following parameters can be updated _during_ compression (within same frame): => compressionLevel, hashLog, chainLog, searchLog, minMatch, targetLength and strategy. new parameters will be active for next job only (after a flush()). @return : an error code (which can be tested using ZSTD_isError()). + [DllImport(__DllName, EntryPoint = "ZSTD_CCtx_setParameter", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_CCtx_setParameter(ZSTD_CCtx_s* cctx, int param, int value); + + /// ZSTD_CCtx_setPledgedSrcSize() : Total input data size to be compressed as a single frame. Value will be written in frame header, unless if explicitly forbidden using ZSTD_c_contentSizeFlag. This value will also be controlled at end of frame, and trigger an error if not respected. @result : 0, or an error code (which can be tested with ZSTD_isError()). Note 1 : pledgedSrcSize==0 actually means zero, aka an empty frame. In order to mean \"unknown content size\", pass constant ZSTD_CONTENTSIZE_UNKNOWN. ZSTD_CONTENTSIZE_UNKNOWN is default value for any new frame. Note 2 : pledgedSrcSize is only valid once, for the next frame. It's discarded at the end of the frame, and replaced by ZSTD_CONTENTSIZE_UNKNOWN. Note 3 : Whenever all input data is provided and consumed in a single round, for example with ZSTD_compress2(), or invoking immediately ZSTD_compressStream2(,,,ZSTD_e_end), this value is automatically overridden by srcSize instead. + [DllImport(__DllName, EntryPoint = "ZSTD_CCtx_setPledgedSrcSize", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_CCtx_setPledgedSrcSize(ZSTD_CCtx_s* cctx, ulong pledgedSrcSize); + + /// ZSTD_CCtx_reset() : There are 2 different things that can be reset, independently or jointly : - The session : will stop compressing current frame, and make CCtx ready to start a new one. Useful after an error, or to interrupt any ongoing compression. Any internal data not yet flushed is cancelled. Compression parameters and dictionary remain unchanged. They will be used to compress next frame. Resetting session never fails. - The parameters : changes all parameters back to \"default\". This also removes any reference to any dictionary or external sequence producer. Parameters can only be changed between 2 sessions (i.e. no compression is currently ongoing) otherwise the reset fails, and function returns an error value (which can be tested using ZSTD_isError()) - Both : similar to resetting the session, followed by resetting parameters. + [DllImport(__DllName, EntryPoint = "ZSTD_CCtx_reset", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_CCtx_reset(ZSTD_CCtx_s* cctx, int reset); + + /// ZSTD_compress2() : Behave the same as ZSTD_compressCCtx(), but compression parameters are set using the advanced API. ZSTD_compress2() always starts a new frame. Should cctx hold data from a previously unfinished frame, everything about it is forgotten. - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*() - The function is always blocking, returns when compression is completed. Hint : compression runs faster if `dstCapacity` >= `ZSTD_compressBound(srcSize)`. @return : compressed size written into `dst` (<= `dstCapacity), or an error code if it fails (which can be tested using ZSTD_isError()). + [DllImport(__DllName, EntryPoint = "ZSTD_compress2", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_compress2(ZSTD_CCtx_s* cctx, void* dst, UIntPtr dstCapacity, void* src, UIntPtr srcSize); + + /// ZSTD_dParam_getBounds() : All parameters must belong to an interval with lower and upper bounds, otherwise they will either trigger an error or be automatically clamped. @return : a structure, ZSTD_bounds, which contains - an error status field, which must be tested using ZSTD_isError() - both lower and upper bounds, inclusive + [DllImport(__DllName, EntryPoint = "ZSTD_dParam_getBounds", CallingConvention = CallingConvention.Cdecl)] + public static extern ZSTD_bounds ZSTD_dParam_getBounds(int dParam); + + /// ZSTD_DCtx_setParameter() : Set one compression parameter, selected by enum ZSTD_dParameter. All parameters have valid bounds. Bounds can be queried using ZSTD_dParam_getBounds(). Providing a value beyond bound will either clamp it, or trigger an error (depending on parameter). Setting a parameter is only possible during frame initialization (before starting decompression). @return : 0, or an error code (which can be tested using ZSTD_isError()). + [DllImport(__DllName, EntryPoint = "ZSTD_DCtx_setParameter", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_DCtx_setParameter(ZSTD_DCtx_s* dctx, int param, int value); + + /// ZSTD_DCtx_reset() : Return a DCtx to clean state. Session and parameters can be reset jointly or separately. Parameters can only be reset when no active frame is being decompressed. @return : 0, or an error code, which can be tested with ZSTD_isError() + [DllImport(__DllName, EntryPoint = "ZSTD_DCtx_reset", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_DCtx_reset(ZSTD_DCtx_s* dctx, int reset); + + [DllImport(__DllName, EntryPoint = "ZSTD_createCStream", CallingConvention = CallingConvention.Cdecl)] + public static extern ZSTD_CCtx_s* ZSTD_createCStream(); + + [DllImport(__DllName, EntryPoint = "ZSTD_freeCStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_freeCStream(ZSTD_CCtx_s* zcs); + + /// ZSTD_compressStream2() : Requires v1.4.0+ Behaves about the same as ZSTD_compressStream, with additional control on end directive. - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*() - Compression parameters cannot be changed once compression is started (save a list of exceptions in multi-threading mode) - output->pos must be <= dstCapacity, input->pos must be <= srcSize - output->pos and input->pos will be updated. They are guaranteed to remain below their respective limit. - endOp must be a valid directive - When nbWorkers==0 (default), function is blocking : it completes its job before returning to caller. - When nbWorkers>=1, function is non-blocking : it copies a portion of input, distributes jobs to internal worker threads, flush to output whatever is available, and then immediately returns, just indicating that there is some data remaining to be flushed. The function nonetheless guarantees forward progress : it will return only after it reads or write at least 1+ byte. - Exception : if the first call requests a ZSTD_e_end directive and provides enough dstCapacity, the function delegates to ZSTD_compress2() which is always blocking. - @return provides a minimum amount of data remaining to be flushed from internal buffers or an error code, which can be tested using ZSTD_isError(). if @return != 0, flush is not fully completed, there is still some data left within internal buffers. This is useful for ZSTD_e_flush, since in this case more flushes are necessary to empty all buffers. For ZSTD_e_end, @return == 0 when internal buffers are fully flushed and frame is completed. - after a ZSTD_e_end directive, if internal buffer is not fully flushed (@return != 0), only ZSTD_e_end or ZSTD_e_flush operations are allowed. Before starting a new compression job, or changing compression parameters, it is required to fully flush internal buffers. + [DllImport(__DllName, EntryPoint = "ZSTD_compressStream2", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_compressStream2(ZSTD_CCtx_s* cctx, ZSTD_outBuffer_s* output, ZSTD_inBuffer_s* input, int endOp); + + [DllImport(__DllName, EntryPoint = "ZSTD_CStreamInSize", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_CStreamInSize(); + + [DllImport(__DllName, EntryPoint = "ZSTD_CStreamOutSize", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_CStreamOutSize(); + + /// Equivalent to: ZSTD_CCtx_reset(zcs, ZSTD_reset_session_only); ZSTD_CCtx_refCDict(zcs, NULL); // clear the dictionary (if any) ZSTD_CCtx_setParameter(zcs, ZSTD_c_compressionLevel, compressionLevel); Note that ZSTD_initCStream() clears any previously set dictionary. Use the new API to compress with a dictionary. + [DllImport(__DllName, EntryPoint = "ZSTD_initCStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_initCStream(ZSTD_CCtx_s* zcs, int compressionLevel); + + /// Alternative for ZSTD_compressStream2(zcs, output, input, ZSTD_e_continue). NOTE: The return value is different. ZSTD_compressStream() returns a hint for the next read size (if non-zero and not an error). ZSTD_compressStream2() returns the minimum nb of bytes left to flush (if non-zero and not an error). + [DllImport(__DllName, EntryPoint = "ZSTD_compressStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_compressStream(ZSTD_CCtx_s* zcs, ZSTD_outBuffer_s* output, ZSTD_inBuffer_s* input); + + /// Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_flush). + [DllImport(__DllName, EntryPoint = "ZSTD_flushStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_flushStream(ZSTD_CCtx_s* zcs, ZSTD_outBuffer_s* output); + + /// Equivalent to ZSTD_compressStream2(zcs, output, &emptyInput, ZSTD_e_end). + [DllImport(__DllName, EntryPoint = "ZSTD_endStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_endStream(ZSTD_CCtx_s* zcs, ZSTD_outBuffer_s* output); + + [DllImport(__DllName, EntryPoint = "ZSTD_createDStream", CallingConvention = CallingConvention.Cdecl)] + public static extern ZSTD_DCtx_s* ZSTD_createDStream(); + + [DllImport(__DllName, EntryPoint = "ZSTD_freeDStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_freeDStream(ZSTD_DCtx_s* zds); + + /// ZSTD_initDStream() : Initialize/reset DStream state for new decompression operation. Call before new decompression operation using same DStream. Note : This function is redundant with the advanced API and equivalent to: ZSTD_DCtx_reset(zds, ZSTD_reset_session_only); ZSTD_DCtx_refDDict(zds, NULL); + [DllImport(__DllName, EntryPoint = "ZSTD_initDStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_initDStream(ZSTD_DCtx_s* zds); + + /// ZSTD_decompressStream() : Streaming decompression function. Call repetitively to consume full input updating it as necessary. Function will update both input and output `pos` fields exposing current state via these fields: - `input.pos < input.size`, some input remaining and caller should provide remaining input on the next call. - `output.pos < output.size`, decoder finished and flushed all remaining buffers. - `output.pos == output.size`, potentially uncflushed data present in the internal buffers, call ZSTD_decompressStream() again to flush remaining data to output. Note : with no additional input, amount of data flushed <= ZSTD_BLOCKSIZE_MAX. @return : 0 when a frame is completely decoded and fully flushed, or an error code, which can be tested using ZSTD_isError(), or any other value > 0, which means there is some decoding or flushing to do to complete current frame. + [DllImport(__DllName, EntryPoint = "ZSTD_decompressStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_decompressStream(ZSTD_DCtx_s* zds, ZSTD_outBuffer_s* output, ZSTD_inBuffer_s* input); + + [DllImport(__DllName, EntryPoint = "ZSTD_DStreamInSize", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_DStreamInSize(); + + [DllImport(__DllName, EntryPoint = "ZSTD_DStreamOutSize", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_DStreamOutSize(); + + /// Simple dictionary API//*! ZSTD_compress_usingDict() : Compression at an explicit compression level using a Dictionary. A dictionary can be any arbitrary data segment (also called a prefix), or a buffer with specified information (see zdict.h). Note : This function loads the dictionary, resulting in significant startup delay. It's intended for a dictionary used only once. Note 2 : When `dict == NULL || dictSize < 8` no dictionary is used. + [DllImport(__DllName, EntryPoint = "ZSTD_compress_usingDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_compress_usingDict(ZSTD_CCtx_s* ctx, void* dst, UIntPtr dstCapacity, void* src, UIntPtr srcSize, void* dict, UIntPtr dictSize, int compressionLevel); + + /// ZSTD_decompress_usingDict() : Decompression using a known Dictionary. Dictionary must be identical to the one used during compression. Note : This function loads the dictionary, resulting in significant startup delay. It's intended for a dictionary used only once. Note : When `dict == NULL || dictSize < 8` no dictionary is used. + [DllImport(__DllName, EntryPoint = "ZSTD_decompress_usingDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_decompress_usingDict(ZSTD_DCtx_s* dctx, void* dst, UIntPtr dstCapacity, void* src, UIntPtr srcSize, void* dict, UIntPtr dictSize); + + /// ZSTD_createCDict() : When compressing multiple messages or blocks using the same dictionary, it's recommended to digest the dictionary only once, since it's a costly operation. ZSTD_createCDict() will create a state from digesting a dictionary. The resulting state can be used for future compression operations with very limited startup cost. ZSTD_CDict can be created once and shared by multiple threads concurrently, since its usage is read-only. @dictBuffer can be released after ZSTD_CDict creation, because its content is copied within CDict. Note 1 : Consider experimental function `ZSTD_createCDict_byReference()` if you prefer to not duplicate @dictBuffer content. Note 2 : A ZSTD_CDict can be created from an empty @dictBuffer, in which case the only thing that it transports is the @compressionLevel. This can be useful in a pipeline featuring ZSTD_compress_usingCDict() exclusively, expecting a ZSTD_CDict parameter with any data, including those without a known dictionary. + [DllImport(__DllName, EntryPoint = "ZSTD_createCDict", CallingConvention = CallingConvention.Cdecl)] + public static extern ZSTD_CDict_s* ZSTD_createCDict(void* dictBuffer, UIntPtr dictSize, int compressionLevel); + + /// ZSTD_freeCDict() : Function frees memory allocated by ZSTD_createCDict(). If a NULL pointer is passed, no operation is performed. + [DllImport(__DllName, EntryPoint = "ZSTD_freeCDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_freeCDict(ZSTD_CDict_s* CDict); + + /// ZSTD_compress_usingCDict() : Compression using a digested Dictionary. Recommended when same dictionary is used multiple times. Note : compression level is _decided at dictionary creation time_, and frame parameters are hardcoded (dictID=yes, contentSize=yes, checksum=no) + [DllImport(__DllName, EntryPoint = "ZSTD_compress_usingCDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_compress_usingCDict(ZSTD_CCtx_s* cctx, void* dst, UIntPtr dstCapacity, void* src, UIntPtr srcSize, ZSTD_CDict_s* cdict); + + /// ZSTD_createDDict() : Create a digested dictionary, ready to start decompression operation without startup delay. dictBuffer can be released after DDict creation, as its content is copied inside DDict. + [DllImport(__DllName, EntryPoint = "ZSTD_createDDict", CallingConvention = CallingConvention.Cdecl)] + public static extern ZSTD_DDict_s* ZSTD_createDDict(void* dictBuffer, UIntPtr dictSize); + + /// ZSTD_freeDDict() : Function frees memory allocated with ZSTD_createDDict() If a NULL pointer is passed, no operation is performed. + [DllImport(__DllName, EntryPoint = "ZSTD_freeDDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_freeDDict(ZSTD_DDict_s* ddict); + + /// ZSTD_decompress_usingDDict() : Decompression using a digested Dictionary. Recommended when same dictionary is used multiple times. + [DllImport(__DllName, EntryPoint = "ZSTD_decompress_usingDDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_decompress_usingDDict(ZSTD_DCtx_s* dctx, void* dst, UIntPtr dstCapacity, void* src, UIntPtr srcSize, ZSTD_DDict_s* ddict); + + /// ZSTD_getDictID_fromDict() : Requires v1.4.0+ Provides the dictID stored within dictionary. if @return == 0, the dictionary is not conformant with Zstandard specification. It can still be loaded, but as a content-only dictionary. + [DllImport(__DllName, EntryPoint = "ZSTD_getDictID_fromDict", CallingConvention = CallingConvention.Cdecl)] + public static extern uint ZSTD_getDictID_fromDict(void* dict, UIntPtr dictSize); + + /// ZSTD_getDictID_fromCDict() : Requires v1.5.0+ Provides the dictID of the dictionary loaded into `cdict`. If @return == 0, the dictionary is not conformant to Zstandard specification, or empty. Non-conformant dictionaries can still be loaded, but as content-only dictionaries. + [DllImport(__DllName, EntryPoint = "ZSTD_getDictID_fromCDict", CallingConvention = CallingConvention.Cdecl)] + public static extern uint ZSTD_getDictID_fromCDict(ZSTD_CDict_s* cdict); + + /// ZSTD_getDictID_fromDDict() : Requires v1.4.0+ Provides the dictID of the dictionary loaded into `ddict`. If @return == 0, the dictionary is not conformant to Zstandard specification, or empty. Non-conformant dictionaries can still be loaded, but as content-only dictionaries. + [DllImport(__DllName, EntryPoint = "ZSTD_getDictID_fromDDict", CallingConvention = CallingConvention.Cdecl)] + public static extern uint ZSTD_getDictID_fromDDict(ZSTD_DDict_s* ddict); + + /// ZSTD_getDictID_fromFrame() : Requires v1.4.0+ Provides the dictID required to decompressed the frame stored within `src`. If @return == 0, the dictID could not be decoded. This could for one of the following reasons : - The frame does not require a dictionary to be decoded (most common case). - The frame was built with dictID intentionally removed. Whatever dictionary is necessary is a hidden piece of information. Note : this use case also happens when using a non-conformant dictionary. - `srcSize` is too small, and as a result, the frame header could not be decoded (only possible if `srcSize < ZSTD_FRAMEHEADERSIZE_MAX`). - This is not a Zstandard frame. When identifying the exact failure cause, it's possible to use ZSTD_getFrameHeader(), which will provide a more precise error code. + [DllImport(__DllName, EntryPoint = "ZSTD_getDictID_fromFrame", CallingConvention = CallingConvention.Cdecl)] + public static extern uint ZSTD_getDictID_fromFrame(void* src, UIntPtr srcSize); + + /// ZSTD_CCtx_loadDictionary() : Requires v1.4.0+ Create an internal CDict from `dict` buffer. Decompression will have to use same dictionary. @result : 0, or an error code (which can be tested with ZSTD_isError()). Special: Loading a NULL (or 0-size) dictionary invalidates previous dictionary, meaning \"return to no-dictionary mode\". Note 1 : Dictionary is sticky, it will be used for all future compressed frames, until parameters are reset, a new dictionary is loaded, or the dictionary is explicitly invalidated by loading a NULL dictionary. Note 2 : Loading a dictionary involves building tables. It's also a CPU consuming operation, with non-negligible impact on latency. Tables are dependent on compression parameters, and for this reason, compression parameters can no longer be changed after loading a dictionary. Note 3 :`dict` content will be copied internally. Use experimental ZSTD_CCtx_loadDictionary_byReference() to reference content instead. In such a case, dictionary buffer must outlive its users. Note 4 : Use ZSTD_CCtx_loadDictionary_advanced() to precisely select how dictionary content must be interpreted. + [DllImport(__DllName, EntryPoint = "ZSTD_CCtx_loadDictionary", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_CCtx_loadDictionary(ZSTD_CCtx_s* cctx, void* dict, UIntPtr dictSize); + + /// ZSTD_CCtx_refCDict() : Requires v1.4.0+ Reference a prepared dictionary, to be used for all future compressed frames. Note that compression parameters are enforced from within CDict, and supersede any compression parameter previously set within CCtx. The parameters ignored are labelled as \"superseded-by-cdict\" in the ZSTD_cParameter enum docs. The ignored parameters will be used again if the CCtx is returned to no-dictionary mode. The dictionary will remain valid for future compressed frames using same CCtx. @result : 0, or an error code (which can be tested with ZSTD_isError()). Special : Referencing a NULL CDict means \"return to no-dictionary mode\". Note 1 : Currently, only one dictionary can be managed. Referencing a new dictionary effectively \"discards\" any previous one. Note 2 : CDict is just referenced, its lifetime must outlive its usage within CCtx. + [DllImport(__DllName, EntryPoint = "ZSTD_CCtx_refCDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_CCtx_refCDict(ZSTD_CCtx_s* cctx, ZSTD_CDict_s* cdict); + + /// ZSTD_CCtx_refPrefix() : Requires v1.4.0+ Reference a prefix (single-usage dictionary) for next compressed frame. A prefix is **only used once**. Tables are discarded at end of frame (ZSTD_e_end). Decompression will need same prefix to properly regenerate data. Compressing with a prefix is similar in outcome as performing a diff and compressing it, but performs much faster, especially during decompression (compression speed is tunable with compression level). @result : 0, or an error code (which can be tested with ZSTD_isError()). Special: Adding any prefix (including NULL) invalidates any previous prefix or dictionary Note 1 : Prefix buffer is referenced. It **must** outlive compression. Its content must remain unmodified during compression. Note 2 : If the intention is to diff some large src data blob with some prior version of itself, ensure that the window size is large enough to contain the entire source. See ZSTD_c_windowLog. Note 3 : Referencing a prefix involves building tables, which are dependent on compression parameters. It's a CPU consuming operation, with non-negligible impact on latency. If there is a need to use the same prefix multiple times, consider loadDictionary instead. Note 4 : By default, the prefix is interpreted as raw content (ZSTD_dct_rawContent). Use experimental ZSTD_CCtx_refPrefix_advanced() to alter dictionary interpretation. + [DllImport(__DllName, EntryPoint = "ZSTD_CCtx_refPrefix", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_CCtx_refPrefix(ZSTD_CCtx_s* cctx, void* prefix, UIntPtr prefixSize); + + /// ZSTD_DCtx_loadDictionary() : Requires v1.4.0+ Create an internal DDict from dict buffer, to be used to decompress all future frames. The dictionary remains valid for all future frames, until explicitly invalidated, or a new dictionary is loaded. @result : 0, or an error code (which can be tested with ZSTD_isError()). Special : Adding a NULL (or 0-size) dictionary invalidates any previous dictionary, meaning \"return to no-dictionary mode\". Note 1 : Loading a dictionary involves building tables, which has a non-negligible impact on CPU usage and latency. It's recommended to \"load once, use many times\", to amortize the cost Note 2 :`dict` content will be copied internally, so `dict` can be released after loading. Use ZSTD_DCtx_loadDictionary_byReference() to reference dictionary content instead. Note 3 : Use ZSTD_DCtx_loadDictionary_advanced() to take control of how dictionary content is loaded and interpreted. + [DllImport(__DllName, EntryPoint = "ZSTD_DCtx_loadDictionary", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_DCtx_loadDictionary(ZSTD_DCtx_s* dctx, void* dict, UIntPtr dictSize); + + /// ZSTD_DCtx_refDDict() : Requires v1.4.0+ Reference a prepared dictionary, to be used to decompress next frames. The dictionary remains active for decompression of future frames using same DCtx. If called with ZSTD_d_refMultipleDDicts enabled, repeated calls of this function will store the DDict references in a table, and the DDict used for decompression will be determined at decompression time, as per the dict ID in the frame. The memory for the table is allocated on the first call to refDDict, and can be freed with ZSTD_freeDCtx(). If called with ZSTD_d_refMultipleDDicts disabled (the default), only one dictionary will be managed, and referencing a dictionary effectively \"discards\" any previous one. @result : 0, or an error code (which can be tested with ZSTD_isError()). Special: referencing a NULL DDict means \"return to no-dictionary mode\". Note 2 : DDict is just referenced, its lifetime must outlive its usage from DCtx. + [DllImport(__DllName, EntryPoint = "ZSTD_DCtx_refDDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_DCtx_refDDict(ZSTD_DCtx_s* dctx, ZSTD_DDict_s* ddict); + + /// ZSTD_DCtx_refPrefix() : Requires v1.4.0+ Reference a prefix (single-usage dictionary) to decompress next frame. This is the reverse operation of ZSTD_CCtx_refPrefix(), and must use the same prefix as the one used during compression. Prefix is **only used once**. Reference is discarded at end of frame. End of frame is reached when ZSTD_decompressStream() returns 0. @result : 0, or an error code (which can be tested with ZSTD_isError()). Note 1 : Adding any prefix (including NULL) invalidates any previously set prefix or dictionary Note 2 : Prefix buffer is referenced. It **must** outlive decompression. Prefix buffer must remain unmodified up to the end of frame, reached when ZSTD_decompressStream() returns 0. Note 3 : By default, the prefix is treated as raw content (ZSTD_dct_rawContent). Use ZSTD_CCtx_refPrefix_advanced() to alter dictMode (Experimental section) Note 4 : Referencing a raw content prefix has almost no cpu nor memory cost. A full dictionary is more costly, as it requires building tables. + [DllImport(__DllName, EntryPoint = "ZSTD_DCtx_refPrefix", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_DCtx_refPrefix(ZSTD_DCtx_s* dctx, void* prefix, UIntPtr prefixSize); + + /// ZSTD_sizeof_*() : Requires v1.4.0+ These functions give the _current_ memory usage of selected object. Note that object memory usage can evolve (increase or decrease) over time. + [DllImport(__DllName, EntryPoint = "ZSTD_sizeof_CCtx", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_sizeof_CCtx(ZSTD_CCtx_s* cctx); + + [DllImport(__DllName, EntryPoint = "ZSTD_sizeof_DCtx", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_sizeof_DCtx(ZSTD_DCtx_s* dctx); + + [DllImport(__DllName, EntryPoint = "ZSTD_sizeof_CStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_sizeof_CStream(ZSTD_CCtx_s* zcs); + + [DllImport(__DllName, EntryPoint = "ZSTD_sizeof_DStream", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_sizeof_DStream(ZSTD_DCtx_s* zds); + + [DllImport(__DllName, EntryPoint = "ZSTD_sizeof_CDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_sizeof_CDict(ZSTD_CDict_s* cdict); + + [DllImport(__DllName, EntryPoint = "ZSTD_sizeof_DDict", CallingConvention = CallingConvention.Cdecl)] + public static extern UIntPtr ZSTD_sizeof_DDict(ZSTD_DDict_s* ddict); + + + } + + [StructLayout(LayoutKind.Sequential)] + internal unsafe partial struct ZSTD_bounds + { + public UIntPtr error; + public int lowerBound; + public int upperBound; + } + + + +} + \ No newline at end of file